学习视频:

17.ROS中的坐标系管理系统_哔哩哔哩_bilibili

 先要安装TF功能包:

要依据自己ROS版本来安装先查询ROS版本:rosversion -d

sudo apt-get install ros-noetic-turtle-tf            /*讲install后面第二个单词改为自己对应版本*/

因为版本与视频使用有所不同要增加一些指令:

 sudo apt install python-is-python3

再启动launch脚本文件:

roslaunch turtle_tf turtle_tf_demo.launch

再开一个终端输入rosrun turtlesim turtle_teleop_key打开键盘控制海龟指令;

 可视化查看TF之间关系指令:

rosrun tf view_frames

如果出现如下问题

解决方法依据此博客:
ROS学习笔记(四)-----参数的使用与编程方法、ROS中的坐标系管理系统、tf坐标系广播与监听的编程实现_ros坐标参数-CSDN博客

先依据显示的信息找到错误所在文件夹

 在tf文件夹下打开终端输入文本可修改指令:

sudo chmod 666 view_frames

再对view_frames文件报的错误行进行修改,删掉原来的改为并保存:

m = r.search(str(vstr))

退到tf文件夹下打开终端修改回只读权限:

sudo chmod 777 view_frames

退回原来终端再输入:
rosrun tf view_frames即可生成可视化PDF

 更直观的查询坐标系之间的变换方式:

 rosrun tf tf_echo turtle1 turtle2 使用后两个坐标系之间数据会发生实时变化;

Quaternion为四元数描述姿态;

RPY (radian)通过xyz三轴旋转通过弧度来描述;

RPY (degree)通过三个坐标系的角度来描述;

更可视化的指令:

rosrun rviz rviz -d `rospack find turtle_tf`/rviz/turtle_rviz.rviz

 非常可视化;