我正在尝试在Google合作实验室上运行Gym-凉亭。
在Colab上运行凉亭服务器(没有gui的凉亭)存在问题。
屏幕上显示警告:Unable to create X window. Rendering will be disabled
,但我想我已解决它。
也有关于声卡的警告。不确定是否与Unable to open audio device
相关,
还有关于转换Conversion of sensor type[depth] not supported
的警告
这是example
你能帮忙吗?
答案 0 :(得分:0)
为了以无头模式运行凉亭,您需要运行gserver
可执行文件,而不是gazebo
。不知道健身房凉亭工具包使用的是哪个。
为了仍然在凉亭服务器中进行渲染(例如,摄像机视图),您需要使用Xvfb(X虚拟帧缓冲区)。它是X服务器,可以在没有显示硬件和物理输入设备的机器上运行。它使用虚拟内存模拟哑帧缓冲区。
对于您的特定colab笔记本,我通过添加
更改了最后一个单元格get_ipython().system_raw('Xvfb :1 -screen 0 1600x1200x16 &')
为了创建虚拟显示并将DISPLAY =:1.0添加到最后一行的开头,因此其外观如下
DISPLAY=:1.0 python gym-gazebo/examples/turtlebot/circuit2c_turtlebot_camera_dqn.py
DISPLAY=:1.0
告诉凉亭使用的X Window客户端使用我们创建的虚拟显示,而不是默认的:0
。
可以通过以下方式在Galab上完整安装Gazebo并在具有渲染功能的无头服务器模式下运行它:
!curl -sSL http://get.gazebosim.org | sh # Install gazebo
!apt-get install -y xvfb # Install X Virtual Frame Buffer
get_ipython().system_raw('Xvfb :1 -screen 0 1600x1200x16 &') # create virtual display with size 1600x1200 and 16 bit color. Color can be changed to 24 or 8
!source /usr/share/gazebo-9/setup.sh && DISPLAY=:1.0 gzserver --verbose # Run gazebo and tell X client to use our virtual DISPLAY :1.0
还有一种方法可以在模拟器中以gzweb为头运行完整的凉亭,并使用ngrok.io(在此将其作为完全正常工作的笔记本)链接到它。 https://colab.research.google.com/drive/1A-miW8cTRKzs7B0m1m4enfiFySzBhsgN
您需要使用可以在ngrok.com上创建的auth令牌对ngrok进行身份验证才能进行连接,因为它是作为午餐的背景并且不会打印到单元格
!./ngrok authtoken <token>