问题解决-----ROS中gazebo环境搭建学习的问题解决合集目录
经过上一周的嵌入式ROS中的Gazebo的学习,遇到了ROS中的很多问题,和BUG,在经过林君学长一次次的排查,一次次的修复之后,终于解决了我所遇到的问题,本次博客,林君学长就把gazebo学习中遇到的问题给小伙伴们分享一下,并解决这些问题,下面就一起来看看吧!
ubuntu系统:ubuntu16.04
学习软件:Gazebo7.0.0 升级后 Gazebo7.1.6
工作环境:ROS
一、初次运行Gazebo出现黑屏
1、问题描述:
在终端输入gazebo之后,系统打开gazebo,但在图形界面一直处于黑屏状态,长时间无法无法改变,如下所示:
2、问题原因
出现该问题是由于在安装ROS的时候,ROS会自动为我们下载gazebo,但是没有把gazebo的硬件配置文件写进相应的地方,所以,硬件加速找不到对应的位置,这时候,我们需要做的就是关闭硬件加速!
3、解决方法
1)、新建终端,打开 .bashrc配置文件
gedit ~/.bashrc
2)、在文件底部添加如下关闭硬件加速的代码
export SVGA_VGPU10=0
3)、在终端使刚才的代码生效
source ~/.bashrc
二、编译gazebo的功能包出现编译错误
1、问题描述
1)、在进行gazebo的使用时候,我们需要在ros下新建或者导入我们的功能包、例如mbot_gazebo,上面步骤完成后,在ROS中进行程序编译的时候,出现错误,使得编译不成功,如下所示:
2、问题原因
1)、出现以上的错误是因为有的ubuntu16.04版本在安装ROS的时候,不会下载相应的控制依赖包,因为每个人安装ROS使用的命令不一样,所以安装的依赖也不一样,出现该错误主要就是因为没有所需要的控制依赖包
3、解决方法
1)、新建终端,进行该依赖包的下载:
sudo apt-get install ros-kinetic-gazebo-ros-control
2)在上面步骤之后,我们就可以成功编译了,如下所示:
三、运行launch文件后,gazebo出现闪退
1、问题描述
1)、在确定我们的launch文件没有问题的时候,在终端运行我们的launch文件,系统打开gazebo后会立即闪退,并且在运行的终端出现如下错误:
2、问题原因
1)、在之前,该终端中运行过gazebo进程没有终止,上次的进程还没有杀死,所以运行会出现该错误,这个错误可以很轻松的解决掉,不用慌张
3、解决方法
1)、在当前终端按Ctrl+C中断该进程,等待完全中断后,关闭该终端,并且新开一个终端再次运行就可以解决,如下所示:
四、模型搭建完成,运行launch文件时,gazebo出现黑屏
1、问题描述
1)、在导入相应的gazebo功能包之后,发现在运行一个传感器模型、或者其他模型的时候、gazebo出现黑屏,我们想要的模型一直不出来,等待许久还是这个结果;但是运行空环境却可以显示,如下所示:
2、问题原因
1)、因为在之前没有把需要的模型库放置在我们gazebo的路径下面;gazebo在寻找这些模型的时候,发现本地没有,所以将会通过网络进远程模型数据库的访问,之所以这么慢,是因为访问的过程非常的慢,因为该模型数据库是在国外网站的,访问速度可想而知,所以模型一直加载不过来,就会出现长时间的黑屏!
3、解决方法
1)、打开终端,进入gazebo的隐藏文件夹
cd ~/.gazebo/
2)、在该文件目录下创建我们的models文件夹
mkdir -p models
3)、进入该文件夹
cd ~/.gazebo/models/
4)、进行模型文件的下载
wget http://file.ncnynl.com/ros/gazebo_models.txt
wget -i gazebo_models.txt
5)、解压文件到我们的模型文件夹目录下
ls model.tar.g* | xargs -n1 tar xzvf
以上下载过程十分缓慢,建议通过其他方式下载,也可以私聊林君学长,我可以通过邮箱发给你该模型的压缩包,你解压到该路径下就可以了!
6)、有该模型后,我们再次运行launch文件,就可以发现模型很快就加载出来了,如下所示:
五、gazebo与Rviz进行联合仿真时,配置Rviz的image,出现gazebo终端挂掉错误:[gazebo-1]process has died
1、问题描述
1)、在做gazebo摄像头传感器的时候,需要通过RViz进行图像现实,或者通过rqt_image_view进行图像显示。在运行gazebo时候,可以完美运行,但只要运行rqt_image_view命令,或者终端打开Rviz配置image的时候,运行gazebo的终端就会挂掉,出现如下图所示错误:
并且在图像中没有图像显示:
2、问题原因
1)、gazebo的版本过低,与Rviz不兼容了,ubuntu16.04在安装ROS的时候,我们安装的ROS版本是kinetic(然而ubuntu18的同学不会遇到这个问题,因为他们的ROS版本是indigo),kinetic版本的ROS在安装时候,会自动下载低版本的gazebo,然后RViz又是新版本的,所以这会导致二者不兼容!这就是问题的原因!
3、解决方法
1)、打开终端,下载aptitude下载器,这会帮你升级的时候卸载掉旧版本
sudo apt-get install aptitude
2)、升级gazebo版本
sudo aptitude install gazebo7
上面的命令,会将gazebo的版本从7.0.0升级到7.1.6
3)、升级版本后,我们再次进行上面的实验,发现就可以完美兼容了,如下所示:
以上内容,就是林君学长在进行gazebo机器人仿真时候遇到的五大问题,也是本次博客的内容了啦,希望小伙伴们对本次博客的阅读,可以帮助你们解决困扰你们的gazebo的问题哦!时间就是生命、浪费时间在修复BUG上面就是滥杀无辜,点个赞吧,解决不易!
遇到问题的小伙伴评论区留言,林君学长看到会为大家解答的,这个学长不太冷!
陈一月的又一天编程岁月^ _ ^