环境说明

  • ubuntu 16.04
  • osrf/ros:kinetic-desktop-full-xenial
  • gazebo 7.0.0

问题

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.
Aborted (core dumped)

原因

gazebo 版本太低,不兼容

解决

  1. 卸载 gazebo 相关
    $ sudo apt-get remove ros-kinetic-desktop-full
    $ sudo apt-get remove ros-kinetic-gazebo*
    $ sudo apt-get upgrade

    1.1 方法一:参照官方 Overview and Installation 安装 gazebo

  2. 本 case 的解决方式
    sudo apt-get install ros-kinetic-joy ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard ros-kinetic-laser-proc ros-kinetic-rgbd-launch ros-kinetic-depthimage-to-laserscan ros-kinetic-rosserial-arduino ros-kinetic-rosserial-python ros-kinetic-rosserial-server ros-kinetic-rosserial-client ros-kinetic-rosserial-msgs ros-kinetic-amcl ros-kinetic-map-server ros-kinetic-move-base ros-kinetic-urdf ros-kinetic-xacro ros-kinetic-compressed-image-transport ros-kinetic-rqt-image-view ros-kinetic-gmapping ros-kinetic-navigation

    pdf 书本上拷贝下来的软件包

  3. 紧接着更新仓库源&升级
    sudo apt-get update && sudo apt-get upgrade
  4. 最后 gazebo 升级到了 7.16.0

参考:
Setting up ROS Kinetic and Gazebo 8 or 9
How To Uninstall gazebo7 on xenial