建模实践2 —— 手写装有kinova机械臂的husky地面无人车的xacro模型
17.将kinova底座固定到husky上18.添加kinova的link119.添加kinova的link220.添加kinova的link321.添加kinova的link422.添加kinova的link523.添加kinova的link624.添加kinova的虚拟坐标系25.添加kinova的第一个手指26.添加kinova的第二个手指27.添加kinova的第三个手指28.小结
在上篇博客基础上,添加kinova机械臂
17.将kinova底座固定到husky上
<!--
<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
<!--
<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
<!--
<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
<!--
<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
<!--
<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没什么区别,导致代码重复率高、篇幅长,不过对于初学者理解很友善。可能是因为哪里设置的不对,有待以后的学习中发现问题所在。