zoukankan      html  css  js  c++  java
  • SO3和SE3的使用

    SO3和SE3的使用

    代码:

    ///////////SO(3)的使用方法
    Matrix3d R=AngleAxisd(M_PI/2,Vector3d(0,0,0)).toRotationMatrix();
    Quaterniod q(R);
    Sophus::SO3d SO3_R(R);
    Sophus::SO3d SO3_q(q);
    //使用对数映射获得它的李代数
    Vector3d so3=SO3_R.log()
    //反对称矩阵
    Sophus::SO3d::hat(so3)
    Sophus::SO3d::vee(Sophus::SO3d::hat(so3))
    //增量扰动模型的更新  微小增量
    Vector3d update_so3(1e-4,0,0);
    Sophus::SO3d SO3_updated=Sophus::SO3d::exp(update_so3)*SO3_R;
    SO3_updated.matrix();
    
    //////////////SE(3)的使用方法
    Matrix3d R=AngleAxisd(M_PI/2,Vector3d(0,0,0)).toRotationMatrix();
    Quaterniod q(R);
    Vector3d t(1,0,0);
    Sophus::SE3d SE3_Rt(R,t);
    Sophus::SE3d SE3_qt(q,t);
    //log
    typedef Eigen::Matrix<double,6,1> Vector6d;
    Vector6d se3=SE_3Rt.log();
    //反对称矩阵
    Sophus::SE3d::hat(se3)
    Sophus::SE3d::vee(Sophus::SE3d::hat(se3))
    //增量扰动模型的更新  微小增量
    Vector6d update_se3;
    update_se3.setZero();
    update_se3(0,0)=1e-4d;
    
    Sophus::SE3d SE3_updated=Sophus::SE3d::exp(update_se3)*SE3_Rt;
    SE3_updated.matrix();
  • 相关阅读:
    C#移动及改变控件大小
    flutter学习(状态组件,组件)
    dart学习1
    rn的优化
    git命令
    Immutable
    树形数据结构的搜索功能
    promise
    js出场率极高的代码
    js浮点数计算精度解决方案
  • 原文地址:https://www.cnblogs.com/lovebay/p/15144086.html
Copyright © 2011-2022 走看看