Sophus库的使用及李群与李代数
本例程使用模板类Sophus库(从旋转向量构造SO(3)有些问题,有待继续学习),和上一篇博客一样,使用CMake编译:
cd build
cmake ..
make
CMakeList.txt源码如下:
cmake_minimum_required(VERSION 2.8)
project (Sophus)
include_directories("/usr/include/eigen3")
include_directories("/usr/include/Sophus")
find_package(Sophus REQUIRED)
add_executable(sophus src/sophus.cpp)
target_link_libraries(sophus Sophus::Sophus)
sophus.cpp源码如下(在Sophus模板类中需要定义数据类型):
#include <iostream>
#include <cmath>
using namespace std;
#include <Eigen/Core>
#include <Eigen/Geometry>
#include <sophus/so3.hpp>
#include "sophus/se3.hpp"
int main (int argc, char** argv)
{
/*********************************SO(3)操作***********************************************/
//沿Z轴转90度的旋转矩阵
Eigen::Matrix3d R = Eigen::A