虚拟机运行Gazebo问题修复

2024-04-28 01:32

本文主要是介绍虚拟机运行Gazebo问题修复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自:http://blog.exbot.net/archives/3035

在虚拟机上运行Gazebo会遇到诸多问题,主要是显卡和硬件加速的问题,近期在虚拟机上安装了Ubuntu14.04 ROS(Indigo) Gazebo进行了测试,并把问题总结如下:

ROS Indigo的Gazebo是2.2.3 版本。对于完全集成的ROS系统,我们建议使用2.x版本的Gazebo。如果需要使用其他版本的Gazebo可能需要费一些周折,具体方法可参考:

  • Gazebo与ROS版本说明:

http://blog.csdn.net/ZhangRelay/article/details/52824812?locationNum=1

  • ROS(indigo) 安装和使用更新版本的Gazebo

http://blog.csdn.net/zhangrelay/article/details/53318991

通常默认indigo-desktop-full安装会自动安装好Gazebo,无需过多考虑。

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

1.  关闭虚拟机硬件加速

在虚拟机中的linux上运行Gazebo的时候,Gazebo窗口闪退,并提示问题:

VMware: vmw_ ioctl_command error Invalid argument.

 

运行如下ROS+Gazebo命令也会报错:

roscore & rosrun gazebo_ros gazebo

解决办法:

  • 关闭硬件加速(亲测可用)

echo " export SVGA_VGPU10=0" >> ~/.bashrc

source ~/.bashrc

  • 关闭虚拟机的3D图形加速(备选)

export LIBGL_ ALWAYS_SOFTWARE=0

  • 在虚拟机设置中关闭3D加速(备选)

2.  下载Gazebo模型

这时运行下面Gazebo命令,OK,错误没有了,但怎么是一抹黑啊!

roscore & rosrun gazebo_ros gazebo

首次运行Gazebo,加载模型会出现非常缓慢,原因可能是不能正确下载模型。

Warning [ModelDatabase.cc:356] Getting models from[http://gazebosim.org/models/]. This may take a few seconds.

因为http://gazebosim.org/models/地址已经变换http://models.gazebosim.org, 可能导致在访问时候无法自动转换地址。

解决方法:通过直接下载所有模型到用户的根目录下的.gazebo/models/下。

  • 方法1:在线下载

运行:

cd ~/.gazebo/

ls

mkdir -p models

ls

cd ~/.gazebo/models/

wget http://file.ncnynl.com/ros/gazebo_models.txt

ls

输出:

gazebo_models.txt

运行:

wget -i gazebo_models.txt

ls model.tar.g* | xargs -n1 tar xzvf

  • 方法2:直接下载包

全部模型有170M,但在线下载速度非常慢,我下了一天一夜才下完。不过现在小伙伴已经将其共享至网盘,可直接下载,然后将其解压至~/.gazebo/models里。

链接:http://pan.baidu.com/s/1pKaeg0F 密码:cmxc (来自rosclub.cn)

或是下载https://bitbucket.org/osrf/gazebo_models/downloads/ (ExBot ROS专区,网友提醒)

解压后如下图:

此时运行Gazebo,便可以显示物体了,并可在Insert选项卡里添加需要的物体(左键拖放,右键放置)。

roslaunch gazebo_ros empty_world.launch

Gazebo界面操作方法:左键单击拖动——平移,中键单击拖动——改变观察角度,滚轮缩放,右键单击拖动——缩放。

3.  运行仿真机器人了

下面就可以愉快运行机器人了,首先安装Turtlebot包。

安装Turtlebot,打开终端,运行如下命令:

sudo apt-get update

sudo apt-get install ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-rocon-qt-library ros-indigo-ar-track-alvar-msgs

新窗口运行:

roscore

新窗口,打开turtlebot_gazebo:

roslaunch turtlebot_gazebo turtlebot_world.launch

下面就可以用键盘控制turtlebot前后左右走了。

此时在终端单击右键打开一个标签页:

roslaunch turtlebot_teleop keyboard_teleop.launch

4.  清除Gazebo残留进程

当不正确关闭Gazebo时,再次启动Gazebo会遇到sever无法启动的问题。

Exception [Master.cc:50] Unable to start server[bind: Address already in use]. There is probably another Gazebo process running.

解决方法:

用ps命令查找gzserver进程,将其kill。或是干脆重启系统。

至此,就可以愉快地玩耍Gazebo啦!

 

这篇关于虚拟机运行Gazebo问题修复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/942019

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Java死锁问题解决方案及示例详解

《Java死锁问题解决方案及示例详解》死锁是指两个或多个线程因争夺资源而相互等待,导致所有线程都无法继续执行的一种状态,本文给大家详细介绍了Java死锁问题解决方案详解及实践样例,需要的朋友可以参考下... 目录1、简述死锁的四个必要条件:2、死锁示例代码3、如何检测死锁?3.1 使用 jstack3.2

解决JSONField、JsonProperty不生效的问题

《解决JSONField、JsonProperty不生效的问题》:本文主要介绍解决JSONField、JsonProperty不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录jsONField、JsonProperty不生效javascript问题排查总结JSONField

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos