ROS之静态坐标变换

所谓静态坐标变换,是指两个坐标系之间的相对位置是固定的。

概念描述

现有一机器人模型,核心构成包含主体与雷达,各对应一坐标系,坐标系的原点分别位于主体与雷达的物理中心,已知雷达原点相对于主体原点位移关系如下: x 0.2 y0.0 z0.5。当前雷达检测到一障碍物,在雷达坐标系中障碍物的坐标为 (2.0 3.0 5.0),请问,该障碍物相对于主体的坐标是多少?

结果演示:

在这里插入图片描述
实现分析:

  • 坐标系相对关系,可以通过发布方发布
  • 订阅方,订阅到发布的坐标系相对关系,再传入坐标点信息(可以写死),然后借助于 tf 实现坐标变换,并将结果输出

实现流程:C++ 与 Python 实现流程一致

  • 新建功能包,添加依赖
  • 编写发布方实现
  • 编写订阅方实现
  • 执行并查看结果

C++实现

1.创建功能包

创建项目功能包依赖于 tf2、tf2_ros、tf2_geometry_msgs、roscpp rospy std_msgs geometry_msgs

2.发布方

/* 
    静态坐标变换发布方:
        发布关于 laser 坐标系的位置信息 

    实现流程:
        1.包

猜你喜欢

转载自blog.csdn.net/weixin_42990464/article/details/128573087
今日推荐