VMware虚拟机无法运行Gazebo,Gazebo闪退打不开,报错[Err] [REST.cc:205] Error in REST request的一种解决办法

  • Post author:
  • Post category:其他




前言

在VMware上使用ROS Gazebo的时候,碰到了Gazebo打不开或者打开就闪退的情况,也没有任何报错,初始化页面运行一秒之后就会退出的问题。经过在Gazebo论坛上和开发者的询问之后,找到了解决方案。




开发环境

VMware版本 :VMware Workstation 16.0 Pro

ubuntu版本:ubuntu-18.04.3-desktop-amd

ROS版本: ROS Melodic

Gazebo版本: Gazebo 9


我遇到的第一个问题如下:

  1. 从图形化窗口无法打开Gazebo,或者刚打开一秒钟就闪退
  2. 从命令行输入Gazebo没有任何反应
  3. 输入gzclient或者gzserver会报错:显示:

    [Err] [REST.cc:205] Error in REST request
  4. 无法通过运行以下命令打开演示教程
 gazebo worlds/pioneer2dx.world



STEP 1

在这里插入图片描述

我们可以看到它提示无法找到对应的网页,这是因为gazebo官网的网址发生了更改而我们本机的存储的还是旧网址,因此就无法找到host,解决该问题的方法如下:

在这里插入图片描述

Github上面有关于这个问题的完整探讨,传送门在此[^1]:


gazebo issue



STEP 2

如果第一步之后你就可以正常打开Gazebo了,那么可以忽略第二步。

我本人是第一步操作之后,还会碰到一个VMware的报错:

运行gazebo

mroscoe@ubuntu:~$ gazebo

会报错:

VMware: vmw_ioctl_command error Invalid argument.

但是却可以正常运行

gazebo的一个小例程:

mroscoe@ubuntu:~$ glxgears 
6223 frames in 5.0 seconds = 1244.564 FPS
4971 frames in 5.0 seconds = 993.205 FPS
6041 frames in 5.0 seconds = 1208.158 FPS
5833 frames in 5.0 seconds = 1166.566 FPS
5299 frames in 5.0 seconds = 1059.721 FPS

这是由于虚拟机在解析图形的时候,可能与gazebo的指令存在一些冲突,可能的解决方案如下:

  1. 关闭虚拟机,在上方的“ 编辑虚拟机设置 ”中, 打开 “ 显示器 ” 选项,并且将其中的 “加速3D图形 ” 选项关闭,然后重启虚拟机即可
  2. 在同样的显示器选项,增大图形内存到大于2GB

经过上述两种操作之后,重新打开虚拟机,再次输入gazebo即可完成运行,

参考方案链接如下:


VMware issue



参考方案

  1. https://github.com/ros-industrial/universal_robot/issues/412
  2. https://answers.gazebosim.org//question/13214/virtual-machine-not-launching-gazebo/



版权声明:本文为weixin_45367061原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。