rotors_simulator与sitl_gazebo冲突导致报错“gzserver…”
创建时间2021-04-14
报错图片详见2021-04-14屏幕截图!
总是出现gzserver: symbol lookup error: /home/zy/ws/devel/lib/librotors_gazebo_multirotor_base_plugin.so: undefined symbol: _ZN14gz_sensor_msgs9ActuatorsC1Ev
所以尝试此链接中的方法,其实这篇文章我看过好几遍了,但是都没有仔仔细细分析尝试,因为我花了很久在徘徊搜索类似一条语句解决所有问题的方法,但认真先看完这篇教程后,感觉讲的非常有道理,觉得如果这个方法都不行,那我就没辙了,所以试了试,很成功。
该文是报错gzserver: symbol lookup error: ~/Firmware/build/px4_sitl_default/build_gazebo/libgazebo_multirotor_base_plugin.so: undefined symbol: _ZN8mav_msgs4msgs10MotorSpeedC1Ev
作者定位为mav_mags有关,我先尝试同样的操作,另外我发现使用locate libsensor_msgs,显示只有px4中有,会不会是我的ws文件夹中缺少该文件(第二次尝试成功后发现跟这个无关)。
先尝试与链接中同样的操作:
稍微不同的是,我使用locate libmav_msgs命令显示libmav_mags.so文件在build文件夹中,如下
/home/zy/PX4/Firmware/build/posix_sitl_default/build_gazebo/libmav_msgs.so
/home/zy/ws/build/rotors_gazebo_plugins/libmav_msgs.so
第一次尝试:
将ws/devel/build/rotors_gazebo_pligins目录下的libmav_msgs.so文件剪切到data中,重命名为ws_libmav_msgs.so
无用则粘贴回来
尝试后发现catkin build会在ws/devel/build/rotors_gazebo_pligins目录下重新生成libmav_msgs.so文件
so pass this solution
第二次尝试:
删除PX4/Firmware/build/posix_sitl_default/build_gazebo/libmav_msgs.so(为了不破坏后续使用,粘贴到data中,重命名为px4_libmav_msgs.so)
这个方法可以,无人机出来了。congratulations!