问题解决-----ROS中Gazebo学习的问题解决合集(初次运行黑屏、运行launch文件后闪退、黑屏;gazebo联合rviz出现process has died等的解决办法)


经过上一周的嵌入式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上面就是滥杀无辜,点个赞吧,解决不易!
遇到问题的小伙伴评论区留言,林君学长看到会为大家解答的,这个学长不太冷!
陈一月的又一天编程岁月^ _ ^

ROS2(Robot Operating System Version 2),如果你想通过launch文件启动Gazebo并加载URDF(Unified Robot Description Format)模型,你需要确保你的工作空间包含了必要的依赖包,并且已经配置了相关的设置。以下是关键步骤: 1. **依赖包**: - `gazebo_ros`:这是基本的Gazebo支持包,包含用于控制Gazebo环境和模型的API。 - `gazebo_ros_control`:如果你打算使用控制仿真,这个包很重要,它提供与Gazebo交互的控制工具。 - ` gazebo_plugins`:可能需要特定的插件来处理URDF模型的模拟,比如关节动力学。 - `xacro`: 这个包用于解析Xacro语言,常用来简化URDF文件的管理。 2. **添加依赖到manifest.xml**: 在你的项目`package.xml`或`manifest.yaml`文件,添加上述包作为build和run依赖。 ```yaml dependencies: - gazebo_ros - gazebo_ros_control - gazebo_plugins - xacro ``` 3. **URDF文件加载**: - 将URDF文件放在你的package内的`models`目录下。 - 在`launch`文件,使用`gazebo_ros_launch`提供的节点,如`spawn_entity.py`或`model_loader.launch.py`,指定URDF文件路径。 ```xml <arg name="model_description" value="$(find <your_package_name>/models/<urdf_file.urdf>)"/> <node package="gazebo_ros" executable="spawn_entity.py" name="load_robot" output="screen"> <remap from="/gazebo/spawn_sdf_model" to="/${robot_name}/spawn_model"/> <param name="entity_xml" command="$(find xacro)/xacro --inorder $(arg model_description)" /> </node> ``` 4. **启动launch文件**: 使用`ros2 launch`命令启动你的launch文件,例如: ```bash ros2 launch your_package_name your_launch_file.launch.py ```
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈一月的编程岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值