ROS中的坐标系管理系统

  • Post author:
  • Post category:其他

在这里插入图片描述
在这里插入图片描述
TF有一个时间属性,默认会记录10s之内,机器人所有坐标之间的位置关系

机器人中的坐标变换

sudo apt-get install ros-noetic-turtle-tf
roslaunch turtle_tf turtle_tf_demo.launch
rosrun turtlesim turtle_teleop_key
rosrun tf view_frames
  • 运行roslaunch turtle_tf turtle_tf_demo.launch时有一个错误:
    ImportError: No module name rospkg

之前编译python文件的时候,也有类似报错ImportError: No module name rospkg,大概编译时产生错误大概是因为python解释器还是默认为python2
解决:
进入usr.bin目录
cd /usr/bin/
删除原默认编译器文件
rm -r python
复制python3编译器设置为原编译器文件
cp python3 python

最后,便成功地产生了2个海龟
一个海龟跟着另一个海龟

  • 可视化小工具
    再运行rosrun tf view_frames
    TypeError: cannot use a string pattern on a bytes-like object文件夹
    解决:把89行改成:m = r.search(str(vstr))

成功了:在当前终端下生成PDF
在这里插入图片描述
三个坐标系:world全局坐标系,坐标原点;turtle1,turtle2,位于2个海龟上,turtle1、turtle2,不断重合

  • 查询在树当中,任意两坐标系之间的关系

在这里插入图片描述
键盘使海龟动,数据不断刷新

  • 可视化工具
rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz

FixedFrame改为world
add->TF:显示位置关系
在这里插入图片描述
键盘使海龟移动
𝑇𝑡𝑢𝑟𝑡𝑙𝑒1_𝑡𝑢𝑟𝑡𝑙𝑒2 = 𝑇𝑡𝑢𝑟𝑡𝑙𝑒1_𝑤𝑜𝑟𝑙𝑑 ∗ 𝑇𝑤𝑜𝑟𝑙𝑑_𝑡𝑢𝑟𝑡𝑙𝑒2

在这里插入图片描述


版权声明:本文为m0_51055743原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。