ROS中坐标系转换浅谈--以点云全局化为例

之前用ros的时候,总是害怕用到tf,因为还要牵扯到frame_id, child_frame_id这些,总是让人傻傻分不清楚。

今天工程实践中研究了一下,发现其实tf还是很香的,尤其是利用它来结合里程计和点云信息在RVIZ中可视化,确实方便。

ros中tf的介绍总是涉及很多概念,让人困惑。那我决定以实例出手,来讨论tf的作用和使用方法。

工程需求:

我们需要根据很多单帧的点云信息以及每一帧的里程计信息,判断:

1.里程计的估计是否合理

2.点云在地图坐标系可视化

我们需要从rosbag中获取点云,里程计信息,生成新的rosbag,确保新的rosbag在播放时,可以在rviz中显示在全局坐标系中的点云。

方法一:

为了显示每一帧点云在地图坐标系的位置,其实最容易想到的,就是对每一帧的点云进行操作,对点云所有点进行坐标系转换,然后发布。

      Eigen::Affine3f transLidar2Cam = pcl::getTransformation(L_C_TX, L_C_TY, L_C_TZ, L_C_RX, L_C_RY, L_C_RZ);
      pcl::PointCloud<PointType>::Ptr laser_cloud_in_camera(new pcl::PointCloud<PointType>());
      pcl::transformPointCloud(*laser_cloud_in, *laser_cloud_in_camera, transLidar2Cam);
//pcl转化为ros msg

  • 0
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值