ROS机器人学习(一)--URDF建模

本文最后更新于:2022年5月29日 上午

1、创建机器人建模功能包

1
catkin_create_pkg mbot_description urdf xacro

2、创建文件夹

urdf: 存放机器人模型的URDF或xacro文件

meshes:放置URDF中引用的模型渲染文件

launch:保存相关启动文件

config:保存rivz配置文件

V1zfht.png

3、mbot_base.urdf

在urdf文件夹下新建mbot_base.urdf文件,并输入一下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?xml version="1.0"?>
<robot name="mbot">

<link name="base_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<cylinder length="0.005" radius="0.16"/>
</geometry>
<material name="yellow">
<color rgba="1 0.4 0 1"/>
</material>
</visual>
</link>

<link name="left_wheel_link">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0" />
<geometry>
<cylinder radius="0.032" length="0.025" />
</geometry>
<material name="white">
<color rgba="1 1 1 0.9" />
</material>
</visual>
</link>
<joint name="left_wheel_joint" type="continuous">
<origin xyz="0.09 0.12 -0.01" rpy="0 0 0" />
<parent link="base_link" />
<child link="left_wheel_link" />
<axis xyz="0 1 0" />
</joint>

<link name="right_wheel_link">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0" />
<geometry>
<cylinder radius="0.032" length="0.025" />
</geometry>
<material name="white">
<color rgba="1 1 1 0.9" />
</material>
</visual>
</link>
<joint name="right_wheel_joint" type="continuous">
<origin xyz="0.09 -0.12 -0.01" rpy="0 0 0" />
<parent link="base_link" />
<child link="right_wheel_link" />
<axis xyz="0 1 0" />
</joint>

<link name="back_caster_link">
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<sphere radius="0.022" />
</geometry>
<material name="black">
<color rgba="0 0 0 0.95" />
</material>
</visual>
</link>
<joint name="back_caster_joint" type="continuous">
<origin xyz="-0.12 0 -0.018" rpy="0 0 0" />
<parent link="base_link" />
<child link="back_caster_link" />
<axis xyz="0 1 0" />
</joint>

<link name="laser_link">
<visual>
<origin xyz="0 0 0 " rpy="0 0 0" />
<geometry>
<cylinder length="0.05" radius="0.05" />
</geometry>
<material name="black"/>
</visual>
</link>
<joint name="laser_joint" type="fixed">
<origin xyz="0.08 0 0.03" rpy="0 0 0"/>
<parent link="base_link"/>
<child link="laser_link"/>
</joint>

</robot>

4、检查URDF模型整体结构

在urdf文件夹目录下执行命令:

1
urdf_to_graphiz mbot_base_with_laser.urdf

生成的pdf文件就是你的urdf文件的结构。

5、新建启动文件

在launch文件夹下新建display_mbot_with_laser_urdf.launch启动文件,并输入一下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<launch>
<param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_with_laser.urdf" />

<!-- 设置GUI参数,显示关节控制插件 -->
<param name="use_gui" value="true"/>

<!-- 运行joint_state_publisher节点,发布机器人的关节状态 -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />

<!-- 运行robot_state_publisher节点,发布tf -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />

<!-- 运行rviz可视化界面 -->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_with_laser_urdf.rviz" required="true" />
</launch>

6、查看机器人模型

运行launch文件,即可看到你的机器人模型

1
roslaunch mbot_description display_mbot_with_laser_urdf.launch

V1z49P.png


ROS机器人学习(一)--URDF建模
https://kevinloongc.github.io/posts/4133.html
作者
Kevin Loongc
发布于
2019年4月24日
许可协议