在今天学习Xacro语言编写机器人模型时候,需要将其集成到Gazebo仿真环境当中。但是在过程中遇到了一个小小的问题(不是WARN和ERROR)。在b站学习频道的弹幕中也发现了类似的问题,因此来阐述下自己的看法(不一定对)。
首先,完成Launch文件的集成,多节点启动、参数服务器去解析Xacro文件的内容。由于该轮式机器人是由多部分组成的,因此我们只展示其中一部分的代码(其余类似)。
要在Gazebo中显示机器人颜色,和在Rviz中显示不同(rviz是在visual标签的子标签material中设置)但是在Gazebo中显示颜色的话,则是另一种方式。
</link> <!--Content above-->
<gazebo reference="camera">
<material>Gazebo/Yellow</material>
</gazebo>
</link>上面的内容和图一样,reference指代的是摄像头的link名,只有这样运行后,才会将camera的颜色显示出来:
如图所示,camera变成黄色。
下面来讲讲我遇到的问题:因为camera部分的颜色属性应该是属于该link下的?所以我在定义camera的颜色时,讲其标签放在link下做为子标签之一。但是这样roslaunch后,在Gazebo中并不会显示出黄色,camera会处于原始的灰色状态。但我把设置颜色的标签放在link外,变成和link同级的标签后,却能正常显示。。。(这是为什么我也不太理解,可能要深究)