frame指的是坐标系,不同的frame之间联通都通过boardcaster(相当于nodes,publisher)来向/tf topic发送消息
向/tf 发送消息的格式
header定义了 序列 时间 坐标系名称 还有子坐标系的id,
父坐标系和子坐标系的的变化格式就是transform
两部分:一个三维向量表示平移,一个四元数表示旋转,这只是一个坐标变换,相当于一个node向tf topic发送数据,topic可以接受很多个节点,这样所有的坐标变换都发给tf topic 构成了tf tree
定义:把多个transformStamp 变成一个数组 就构成了tf tree 【】可变长数组
tf in C++
pass
tf in python
import tf tf库里面有很多转换函数
注意 :
lookup Transform中
time 填rospy Time(0)
tf常用命令:
发送方式:
第一个订阅5秒
第二个动态显示
urdf
一部分是link ,每个link都有3个轴(xyz)
一部分是joint 就是连接2个link的关节,描述的是两个link之间的关系,其实joint和tf是对应的
link和joint的属性都要定义在urdf文件中
jiont和link都有各自的属性:
例子:
只定义joint
加上 坐标变换的信息
<origin rpy=‘0 0 0’ (旋转) xyz=“0 -0.2 0.07(平移)”
想让urdf文件更详细