错误描述
gzserver: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/src/OgreRenderSystem.cpp:546: virtual void Ogre::RenderSystem::setDepthBufferFor(Ogre::RenderTarget*): Assertion bAttached && “A new DepthBuffer for a RenderTarget was created, but after creation” “it says it’s incompatible with that RT”’ failed.
错误原因
原因是gazebo的版本过低,与Rviz不兼容。ubuntu16.04匹配的ros版本是kinetic,kinetic安装过程中会自动下载低版本的gazebo,然后RViz又是新版本的。
通过下面指令可以看到gazebo版本是7.0.0
xx@ubuntu:~$ gazebo --version
Gazebo multi-robot simulator, version 7.0.0
解决方法1
主要是升级gazebo版本,具体步骤如下:
- 添加下载源
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
- 添加软件包密钥
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
- 更新系统下载源
sudo apt-get update
- 升级gazebo
安装gazebo7或以上的版本
sudo apt-get install gazebo7
或
sudo apt-get install gazebo8 或gazebo9
- 测试gazebo版本
xx@ubuntu:~$ gazebo --version
Gazebo multi-robot simulator, version 7.16.1
- gazebo升级后,gazebo可正常运行,而且可以加载模型
解决方法二
显卡驱动比较陈旧,需要更新,更新英伟达的驱动