修改机器人外观
Kong Liangqian Lv6

到目前位置,我们的机器人还没有颜色也没有一个漂亮的外观,下面介绍如何改变机器人的link颜色,以及如何使用dae文件改变机器人的外观

添加颜色

在xacro中,添加对应的link颜色, 例如:

1
2
3
<gazebo reference="my_link">
<material>Gazebo/Gray</material>
</gazebo>

在此,我们使用了SDF文件的语法,添加了<gazebo>标签,如果里面没有reference,属性将会默认全局使用,在这里特指对my_link添加颜色

可用的选项有

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
Pre-defined materials:

material Gazebo/Grey

material Gazebo/DarkGrey

material Gazebo/White

material Gazebo/FlatBlack

material Gazebo/Black

material Gazebo/Red

material Gazebo/RedBright

material Gazebo/Green

material Gazebo/Blue

material Gazebo/SkyBlue

material Gazebo/Yellow

material Gazebo/ZincYellow

material Gazebo/DarkYellow

material Gazebo/Purple

material Gazebo/Turquoise

material Gazebo/Orange

material Gazebo/Indigo

material Gazebo/WhiteGlow

material Gazebo/RedGlow

material Gazebo/GreenGlow

...

等等,具体的可以查看 http://wiki.ros.org/simulator_gazebo/Tutorials/ListOfMaterials

打开我们的机器人基本模型文件my_robot_base.xacro文件

1
2
cd ~/dev_ws
vi src/robot_description/urdf/my_robot_base.xacro

base_link的下面,为base_link添加上颜色属性

1
2
3
<gazebo reference="base_link">
<material>Gazebo/Orange</material>
</gazebo>

编译运行

1
2
3
cd ~/dev_ws
colcon build --packages-select robot_description
ros2 launch robot_description gazebo_empty_world.launch.py

会有一个橘黄色的机器人机身显示在gazebo场景中

添加宏颜色

在宏wheel和宏caster中也记得改变一下颜色

例如在宏wheel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<xacro:macro name="wheel" params="prefix reflect">
<joint name="${prefix}_wheel_joint" type="continuous">
...
</joint>

<link name="${prefix}_wheel_link">
...
</link>

...

<gazebo reference="${prefix}_wheel_link">
<material>Gazebo/DarkGrey</material>
</gazebo>

注意这里修改reference。这样每一个生成的wheel都有此颜色

添加dae文件

 Comments