到目前位置,我们的机器人还没有颜色也没有一个漂亮的外观,下面介绍如何改变机器人的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文件