在RViz中显示多个机器人模型需要设置好几个关键的参数
首先点击Add,找到RobotModel,添加进来
Fixed Frame:选择TF树最上层的坐标系,一般是世界坐标系,即固定不动的全局坐标系
Robot Description:/robot1/robot_description,要在robot_description前加上对应的命名空间
TF Prefix:robot1,机器人名称
这三个参数设置好,如果坐标变换关系没有问题,就会正常显示出机器人模型。
在设置好参数后,机器人能够显示出来,但是遇到了一个问题,机器人的左右轮无法显示出来,并且在RobotModel里报错“No transform from [robot1/wheel_left_link] to [world]”。
先说解决办法:
在xacro模型文件中,将gazebo插件中的
<publishWheelTF>false</publishWheelTF>
<publishWheelJointState>false</publishWheelJointState>
改为
<publishWheelTF>true</publishWheelTF>
<publishWheelJointState>false</publishWheelJointState>
publishWheelTF设置为true表示发布轮子的TF转化信息。接着我们查看TF树的变化
报错的TF树:
修改后的TF树:
在base_footprint下的子坐标系中多了wheel_right_link和wheel_left_link。
并且RViz中能够正常显示机器人模型。