ROS之动态坐标发布

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

概念描述

启动 turtlesim_node,该节点中窗体有一个世界坐标系(左下角为坐标系原点),乌龟是另一个坐标系,键盘控制乌龟运动,将两个坐标系的相对位置动态发布。

结果演示:

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

  • 乌龟本身不但可以看作坐标系,也是世界坐标系中的一个坐标点

  • 订阅 turtle1/pose,可以获取乌龟在世界坐标系的 x坐标、y坐标、偏移量以及线速度和角速度

  • 将 pose 信息转换成 坐标系相对信息并发布

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

  • 新建功能包,添加依赖

  • 创建坐标相对关系发布方(同时需要订阅乌龟位姿信息)

  • 创建坐标相对关系订阅方

  • 执行

C++实现

1.创建功能包

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

2.发布方

/*  
    动态的坐标系相对姿态发布(一个坐标系相对于另一个坐标系的相对姿态是不断变动的)

    需

猜你喜欢

转载自blog.csdn.net/weixin_42990464/article/details/128573286