您当前的位置: 首页 >  3d

鱼香ROS

暂无认证

  • 0浏览

    0关注

    498博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

坐标转换&点云变换&姿态互转| 基于Eigen的坐标转换库-TransForms3d

鱼香ROS 发布时间:2022-08-10 12:51:52 ,浏览量:0

大家好,我是小鱼,最近因为工作上的需要,把自己一两年前做的开源库又进行了维护,新增了点云坐标转换功能,小鱼测试速度可以嗖嗖的.再次分享给大家.

这个库功能和ROS的TF相似,但完全基于Eigen实现,不用像ROS那样需要很多依赖,在自己开发机器人和导航系统的时候会派上用场.

开源地址1:https://gitee.com/ohhuo/transforms3d_cpp 开源地址2:https://github.com/fishros/transforms3d_cpp

基于Eigen的坐标转换库-TransForms3d
  • 实现一个更强大的坐标转换组,可以进行坐标关系推算,解放你的笔头和双手
  • 增加点云转换函数,可以将点云从一个坐标系转到任意一个关联坐标系
  • 实现欧拉角与旋转矩阵的互相转换,欧拉角到四元数的转换
  • 实现四元数与旋转矩阵的互相转换,四元数到欧拉角的转换
  • 实现通过齐次矩阵合成与转换

Git:仓库地址 | Wiki:函数列表

一、安装与使用 1.源码引入

复制trans_forms_group.cpp,trans_forms.cpp,transforms3d.h到你的工程即可

2.编译安装
git clone https://gitee.com/ohhuo/transforms3d_cpp.git
cd transforms3d_cpp
mkdir build && cd build
cmake ..
sudo make install
sudo ldconfig
3.使用样例

例子1:利用TransformsGroup进行手眼矩阵估算

/*
 * @Descripttion:
 * @Author: sangxin
 * @Date: 2021-05-01 21:04:19
 * @LastEditTime: 2021-05-02 23:39:20
 */
#include 
#include 
#include 
using namespace std;
using namespace Eigen;

#include "gtest/gtest.h"

TEST(TestTransFormGroup, BaseFindPath) {
  /* base@grapper  */
  Matrix4d Tbg =
      TransForms::ComposeEuler(-0.544, -0.203, -0.037, 180, 0.00000, 140);
  /*  camera@maker*/
  Matrix4d Tcw = TransForms::ComposeEuler(0.020, -0.040, 0.300, 0, 0, -45);
  /*  base@bottle  */
  Matrix4d Tbw = TransForms::ComposeEuler(-0.663, -0.193, -0.231, -180, 0, 140);

  TransFormsGroup tfg;
  tfg.pushTransForm("base", "grapper", Tbg);
  tfg.pushTransForm("camera", "bottle", Tcw);
  tfg.pushTransForm("base", "bottle", Tbw);

  cout             
关注
打赏
1666092100
查看更多评论
0.1597s