base_link的定义
base_link是所有的其他关节的基础,也就是基坐标系所在的link。
这里他的几何图形我们直接引用他的dae文件,至于如何用Solidworks绘制模型然后制作成dae文件。
后续找机会专门写一篇博客进行介绍,下面的gazebo句段是为了我们的模型在gazebo环境中仿真用的。
注意,base_link 只是定义了“机械臂的基座” 它本身是不包含 joint 的。
< !-- BASE LINK AND -- >
< link name="base_link" >
< visual >
< !-- < origin xyz="-0.22 -0.15 0.00" rpy="0 0 0" / > -- >
< origin xyz="0.1 -0.11 0.13" rpy="0 0 1.570796" / >
< geometry >
< mesh filename="package://rob_description/meshes/body_link_humanoid.dae"/ >
< /geometry >
< material name="green" / >
< /visual >
< collision >
< origin xyz="0.0 0.0 0.0" rpy="0 0 0" / > < !-- -- >
< geometry >
< mesh filename="package://rob_description/meshes/body_link_humanoid.dae"/ >
< /geometry >
< /collision >
< /link >
< gazebo reference="base_link" >
< material >Gazebo/green< /material >
< /gazebo >
其他关节的定义
至于其他关节的定义,一个 Link 就对应一个 Joint ,示例如下,这里定义的是 l_shoulder_joint 和 l_shoulder_link。
在Joint 的定义中,有一个limit 的程序段,这里规定的是关节的力限制、速度限制和关节运动范围限制。
速度限制的单位是m/s(移动关节)或rad/s(转动关节),详细的说面看:这里。
代码中间:就是引用上文中我们定义的关于传动参数的宏定义。
如果在xacro 代码中想用数学表达式,使用的格式是:${ 数学表达式 } ,如下面代码中所示。
其余关节的定义详见源代码。
< !-- left shoulder link and joint -- >
< joint name="l_shoulder_joint" type="revolute" >
< parent link="base_link"/ >
< child link="l_shoulder_link"/ >
< origin xyz="0 0.11 0.74" rpy="0 0 3.14159" / >
< axis xyz="0 1 0" / >
< limit effort="300" velocity="${0.2*0.6981}" lower="-0.43633" upper="3.0543"/ >< !-- (-25 +175)=(-25 175) -- >
< !-- velocity: m/s for prismatic, rad/s for revolute -- >
< dynamics damping="50" friction="1"/ >
< /joint >
< xacro:transmission_block joint_name="l_shoulder_joint"/ >
< link name="l_shoulder_link" >
< visual >
< origin xyz="-0.04 0.02 0.04" rpy="1.5708 1.5708 0" / >
< geometry >
< mesh filename="package://rob_description/meshes/l_shoulder_link.dae"/ >
< /geometry >
< material name="green" / >
< /visual >
< collision >
< origin xyz="-0.04 0.02 0.04" rpy="1.5708 1.5708 0" / >
< geometry >
< mesh filename="package://rob_description/meshes/l_shoulder_link.dae"/ >
< /geometry >
< /collision > >
< xacro:inertial_matrix mass="1"/ >
< /link >
< gazebo reference="l_shoulder_link" >
< material >Gazebo/green< /material >
< /gazebo >
全部0条评论
快来发表一下你的评论吧 !