ros indigo版本下gazebo的升级与恢复

gazebo的升级

         正常情况下,安装ros indigo时,默认安装的是gazebo2,但是因为这个版本太老了,最新的gazebo版本新加入了许多功能,因此,在indigo下,可以将gazebo2升级到最新的gazebo7.9,升级的安装教程可以参考以下链接:

https://blog.****.net/abcwoabcwo/article/details/85258324

https://www.jianshu.com/p/c268e6e25b3f

通过上面两篇博客,升级应该就解决了

gazebo的恢复

       下面重点要讲的是如果gazebo升级到7了,想要恢复怎么办?

        这里首先讲一下为什么又需要恢复到gazebo2呢,因为我在使用gazebo7仿真自己的模型的时候,有些手臂或者手抓会在仿真环境里晃动,这个问题最先是在ros kinetic下面仿真的时候遇到的,之前谷歌很多,一直没有找到有效的解决办法,但是我在ros indigo下面用的时候就没有问题,这里kinetic下面用的就是gazebo7。所以升级了gazebo以后我又遇到了这个问题,不得不还要弄回去试试看我的模型是不是有问题。

       另外因为升级到gazebo以后,如果你需要重装ros的话,直接卸载,是没有办法把gazebo卸载干净的,因为这时你安装的gazebo不是从ros仓库中下载(大致是这个意思,另外你添加的源下载的),所以你如果重装ros。一般会显示这样的而错误,

 The following packages have unmet dependencies: gazebo2 : Depends: libsdformat-dev (< 2.0.0) but 3.6.0-1~201512071 is to be installed E: Unable to correct problems, you have held broken packages.

导致你的ros完全没有办法使用,

The following packages have unmet dependencies: ros-indigo-desktop-full : Depends: ros-indigo-simulators but it is not going to be installed E: Unable to correct problems, you have held broken packages.
之前我的办法时重装系统,,,,,,,,,,,,,,,,

现在讲一下重点,怎么卸载升级到gazebo7

通过 “dpkg -l | grep gazebo”命令查找当前安装的gazebo包,然后通过“sudo apt-get remove gazebo7 gazebo7-common gazebo7-plugin-base libgazebo7:amd64 libgazebo7-dev:amd64”卸载。

ros indigo版本下gazebo的升级与恢复

这个时候如果安装gazebo2的话就会遇到我刚才提到的错误,有未满足的依赖项,导致你不能安装。

这个时候需要在你的计算机中找到 libsdformat-dev这个文件夹,我找到的时候是有一个 libsdformat4这个文件夹,需要把它删掉

sudo apt-get remove  libsdformat4
sudo apt-get install libsdformat1

这时候发现 libsdformat-dev这个文件夹也被删除了,之前不能正常安装可能就是因为gazebo7和gazebo2需要的依赖项不一样啊,之前把gazebo7删掉的时候这个没有卸载啊,在试试能不能安装gazebo2,这时候下载很慢啊,omg

ros indigo版本下gazebo的升级与恢复

把没有的源统统取消,服务器选择USTC

ros indigo版本下gazebo的升级与恢复

这时候就可以安装gazebo2了,但是不要这么干啊大兄弟,执行下面的命令

sudo apt-get install ros-indigo-desktop-full

这时候就会把你缺少的东西都一起装了,当然也包括gazebo2了啊

https://answers.ros.org/question/243034/ubuntu1404-indigo-desktop-full-install-problem/这个是相关方面的回答,

检查一下,少了什么,安装完全,

一之后我又碰上了这个问题,首先因为我启动的模型里有我自己新建的模型,所以这个问题并不一定大家都有,但是如果你遇到了,可以参考一下下面几个链接:

https://answers.ros.org/question/199401/problem-with-indigo-and-gazebo-22/

ros indigo版本下gazebo的升级与恢复