最近跑<<ROS机器人开发实践>>中的代码时,由于各种原因手头机器装的为Ubuntu20+ROS noetic+Gazebo11,需要对书中代码进行修改。
noetic版本对xacro文件的修改参考这篇帖子 ROS(Noetic)学习笔记 xacro模型报错问题解决
在RVIZ中显示没有问题,但是在gazebo中显示两个轮子没有了?
就像这样:
开始以为是gazebo差速控制插件有问题,对
<plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so">
这部分内容倒腾了很久,纠结了半天,但是没有任何报错信息,不知道问题出在哪里,于是找了GitHub上turtlebot3的noetic版本的仿真文件看看,最后发现是轮子的惯性矩阵忘记改了。
古月老师书里面的代码的轮子的惯性矩阵是调运写好的宏,所以在97行,156行,240行处添加惯性矩阵调用宏时的
cylinder_inertial_matrix
要变成
xacro:cylinder_inertial_matrix
。
然后就正常了。