一、概念
坐标变换简单来说就是归一化,即把测得的其他物体和机器人身上传感器之间的位置信息都换为物体和机器人的原点之间的信息。
根据我们高中学习的知识,只要明确了不同坐标系之间的的相对关系,就可以实现任何坐标点在不同坐标系之间的转换,但是该计算实现是较为常用的,且算法也有点复杂,因此在 ROS 中直接封装了相关的模块: 坐标变换(TF)。TF坐标变换用于在ROS中实现不同坐标系之间的点或向量的转换。
TF坐标变换通过广播TF变换和监听TF变换来实现的
二、查看系统中当前各个坐标系是否连通
rosrun tf view_frames
运行上述指定会在主目录下生成.gv和.pdf2个文件,用来显示当前系统中各个坐标系的连通关系
例如运行ros中的turtle_tf_demo,该例程的中分别定义了三个坐标系:坐标原点,turtle1,turtle2.turtle2会监听turtle1d相对于world的位置变换,进而改变自己的位置。以实时跟随turtle1。
在此之前先安装包:
sudo apt-get install ros-melodic-turtle-tf
运行例程代码如下:
roslaunch turtle_tf turtle_tf_