建模实践2 —— 手写装有kinova机械臂的husky地面无人车的xacro模型
在上篇博客基础上,添加kinova机械臂
17.将kinova底座固定到husky上
<!--/// j2n6s300_link_base //-->
<link name="j2n6s300_link_base" >
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/base.dae"/>
</geometry>
<material name="carbon_fiber">
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
</link>
<joint name="j2n6s300_joint_base" type="fixed">
<parent link="top_plate_link"/>
<child link="j2n6s300_link_base"/>
<axis xyz="0 0 0"/>
<limit effort="0" velocity="0" lower="0" upper="0"/>
<origin xyz="0.3058 0 0.0065" rpy="0 0 0"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
18.添加kinova的link1
<!--/// j2n6s300_link_1 //-->
<link name="j2n6s300_link_1" >
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/shoulder.dae"/>
</geometry>
<material name="carbon_fiber">
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/ring_big.dae"/>
</geometry>
</visual>
</link>
<joint name="j2n6s300_joint_1" type="continuous">
<parent link="j2n6s300_link_base"/>
<child link="j2n6s300_link_1"/>
<axis xyz="0 0 1"/>
<limit effort="40" velocity="0.62831853" lower="-6.2831853072" upper="6.2831853072"/>
<origin xyz="0 0 0.15675" rpy="0 3.1415926535897931 0"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
19.添加kinova的link2
<!--/// j2n6s300_link_2 //-->
<link name="j2n6s300_link_2" >
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/arm.dae"/>
</geometry>
<material name="carbon_fiber">
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/ring_big.dae"/>
</geometry>
</visual>
</link>
<joint name="j2n6s300_joint_2" type="revolute">
<parent link="j2n6s300_link_1"/>
<child link="j2n6s300_link_2"/>
<axis xyz="0 0 1"/>
<limit effort="80" velocity="0.62831853" lower="0.8203047484" upper="5.4628805587"/>
<origin xyz="0 0.0016 -0.11875" rpy="-1.5707963268 0 3.1415926535897931"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
20.添加kinova的link3
<!--/// j2n6s300_link_3 //-->
<link name="j2n6s300_link_3" >
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/forearm.dae"/>
</geometry>
<material name="carbon_fiber">
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/ring_big.dae"/>
</geometry>
</visual>
</link>
<joint name="j2n6s300_joint_3" type="revolute">
<parent link="j2n6s300_link_2"/>
<child link="j2n6s300_link_3"/>
<axis xyz="0 0 1"/>
<limit effort="40" velocity="0.62831853" lower="0.3316125579" upper="5.9515727493"/>
<origin xyz="0 -0.410 0" rpy="0 3.1415926535897931 0"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
21.添加kinova的link4
<!--/// j2n6s300_link_4 //-->
<link name="j2n6s300_link_4" >
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/wrist.dae"/>
</geometry>
<material name="carbon_fiber">
<color rgba="0.792156862745098 0.819607843137255 0.933333333333333 1" />
</material>
</visual>
<visual>
<geometry>
<mesh
filename="package://my_description/meshes/ring_small.dae"/>
</geometry>
</visual>
</link>
<joint name="j2n6s300_joint_4" type="continuous">
<parent link="j2n6s300_link_3"/>
<child link="j2n6s300_link_4"/>
<axis xyz="0 0 1"/>
<limit effort="20" velocity="0.837758041" lower="-6.2831853072" upper="6.2831853072"/>
<origin xyz="0 0.2073 -0.0114" rpy="-1.5707963268 0 3.1415926535897931"/>
<dynamics damping="0.0" friction="0.0"/>
</joint>
22.添加kinova的link5
23.添加kinova的link6
24.添加kinova的虚拟坐标系
25.添加kinova的第一个手指
26.添加kinova的第二个手指
27.添加kinova的第三个手指
28.小结
至此,装有kinova j2n6s300机械臂的husky地面无人车模型已经搭建完毕,emmm甚至觉得TF树都很漂亮(如下图)。
另外,本来是想写机器人的xacro模型的,可是却解析不了写的属性代码、macro、包含文件等,所以只好写的和URDF没什么区别,导致代码重复率高、篇幅长,不过对于初学者理解很友善。可能是因为哪里设置的不对,有待以后的学习中发现问题所在。