ubuntu18.04 默认安装gazebo9.0,启动PX4的indoor1.launch会报错:
gzserver: symbol lookup error: /usr/lib/x86_64-linux-gnu/libsdformat.so.4: undefined symbol: _ZN8igniti
原因是gazebo9.0版本太低,需要升级到9.13 或者9.14 或者 9.15(我升级至9.19可以使用).升级方法:
1 卸载原有gazebo
sudo apt-get remove gazebo*
sudo apt-get remove libgazebo*
sudo apt-get remove ros-melodic-gazebo* #kinetic noetic对应修改
2 设置计算机以接受来自package.osrfoundation.org的软件
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
cat /etc/apt/sources.list.d/gazebo-stable.list
#如果出现deb http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial main表示没问题
xenial 应该是20.04 18.04 为 bio
3 设置密钥
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
4 安装gazebo9.1指令:
sudo apt-get install gazebo9=9.1*
//如果执行完sudo apt install ros-melodic-gazebo9-* sudo apt install ros-melodic-gazebo-*这两条命令后,启动gazebo报symbol之类的错误(如gzserver: symbol lookup error: /usr/lib/x86_64-linux-gnu/libsdformat.so.4: undefined symbol: _ZN8igniti).可以先执行sudo apt upgrade libignition-math2,可以解决该问题
5 sudo apt upgrade libignition-math2
安装之后终端输入gazebo若打开Gazebo说明安装成功
6 Gazebo本身是独立于ROS的,因此还需要安装ROS的Gazebo插件
sudo apt install ros-melodic-gazebo9-*
sudo apt install ros-melodic-gazebo-*
https://blog.csdn.net/qq_45067735/article/details/107303796
https://blog.csdn.net/abcwoabcwo/article/details/110471260
版权声明:本文为ZP470534738原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。