轉載自:http://blog.exbot.net/archives/3035html
在虛擬機上運行Gazebo會遇到諸多問題,主要是顯卡和硬件加速的問題,近期在虛擬機上安裝了Ubuntu14.04 ROS(Indigo) Gazebo進行了測試,並把問題總結以下:linux
ROS Indigo的Gazebo是2.2.3 版本。對於徹底集成的ROS系統,咱們建議使用2.x版本的Gazebo。若是須要使用其餘版本的Gazebo可能須要費一些周折,具體方法可參考:bash
http://blog.csdn.net/ZhangRelay/article/details/52824812?locationNum=1app
http://blog.csdn.net/zhangrelay/article/details/53318991post
一般默認indigo-desktop-full安裝會自動安裝好Gazebo,無需過多考慮。測試
sudo apt-get install ros-indigo-desktop-full
.net
在虛擬機中的linux上運行Gazebo的時候,Gazebo窗口閃退,並提示問題:3d
VMware: vmw_ ioctl_command error Invalid argument.code
運行以下ROS+Gazebo命令也會報錯:server
roscore & rosrun gazebo_ros gazebo
解決辦法:
echo " export SVGA_VGPU10=0" >> ~/.bashrc
source ~/.bashrc
export LIBGL_ ALWAYS_SOFTWARE=0
這時運行下面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/下。
運行:
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
所有模型有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界面操做方法:左鍵單擊拖動——平移,中鍵單擊拖動——改變觀察角度,滾輪縮放,右鍵單擊拖動——縮放。
下面就能夠愉快運行機器人了,首先安裝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
當不正確關閉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啦!