在ROS中,URDF是一种 XML 格式,用于描述机器人的机械结构、关节属性和传感器布局等信息。在URDF文件中,<joint>标签是用来定义机器人模型中各个关节的,它是链接(link)之间的连接点,允许它们相对运动。
joint标签用于描述机器人关节的运动学和动力学属性,以及指定关节运动的安全极限。
一个joint标签通常需要连接两个link,即父部件(parent link)和子部件(child link)。这两个部件之间的相对位置是由父部件的origin确定。
不同的关节有不同的运动形式: 旋转、滑动、固定等等,例如:安装在底座上的轮子可以360度旋转,而摄像头完全固定在底座上。
1.属性:
name ---> 为关节命名
type ---> 关节运动形式??
continuous: 旋转关节,可以绕单轴无限旋转
fixed: 固定关节,不允许运动的特殊关节
revolute: 旋转关节,类似于 continues,但是有旋转角度限制
prismatic: 滑动关节,沿某一轴线移动的关节,有位置极限
planer: 平面关节,允许在平面正交方向上平移或旋转
floating: 浮动关节,允许进行平移、旋转运动
2、子标签:
parent(必需的)
parent link的名字是一个强制的属性:
link:父级连杆的名字
child(必需的)
child link的名字是一个强制的属性:
link:子级连杆的名字
origin
属性: xyz=各轴线上的偏移量 rpy=各轴线上的偏移弧度。
父部件的原点位置,通常用一个三元组表示(x, y, z)。
axis
属性: xyz用于设置围绕哪个关节轴运动。
关节的旋转轴,通常用一个三元组表示(x, y, z)。
与人的关节一样,机器人关节的主要作用是连接两个刚体link,这两个link分别称为parent link 和child link,如图所示。
实例演示:
创建机器人模型,底盘为长方体,在长方体的前面添加一摄像头,摄像头可以沿着 Z 轴 360 度旋转
注意:在ROS中,base_footprint是机器人底部的中心点,通常被认为是机器人的基准点。它是机器人运动学中的一个重要坐标系,用于描述机器人在地图中的位置和姿态。