用 Gazebo 仿真器進行模型搭建並用Rviz進行圖像顯示
首先啓動gazebo(如果安裝的是ros-full的話就自帶有),否則需要自己安裝。
注意:
gazebo最好是在版本7以上(7.xx),我的版本是7.0的時候用rviz查看圖像會報錯,所以強烈建議將其更新到7.0以上。
在7.0的基礎上升級gazebo的步驟如下:
①
sudo sh -c 'echo "deb
http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
②
②wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
③
sudo apt-get update
④
sudo apt-get install gazebo7 gazebo7-common
下面開始搭建模型
有兩種方法:
①使用模型庫,這個需要在官網下載,之後導入到你的工作空間的models文件夾下
https://bitbucket.org/osrf/gazebo_models/downloads/
當然網上有別人提供的網盤連接,那個快一點
②在gazebo界面使用Ctrl+B或者菜單欄找到Building Editor出現自主編輯界面,可以自己做出你想要的模型。
下面顯示的是利用gazebo自帶的模型進行的操作(做這個之前有三個文件夾是必須要有的)
命令行輸入:
roslaunch mbot_gazebo view_mbot_with_camera_gazebo.launch
會出現如下界面:
這個是自帶攝像頭的模型,爲了方便結合rviz進行圖像查看,這個模型再好不過。
如果想要在自己建造的模型中添加攝像頭等則需要自己編寫代碼了。下面是我將攝像頭與激光結合的代碼。
編寫完成之後需要catkin_make
,之後再source ./devel/setup.bash
如果catkin_make沒有成功,解決方式可能是如下:
缺少控制,所以需要增加控制:
sudo apt-get install ros-kinetic-gazebo-ros-control
還有就是缺少導航:
sudo apt-get install ros-kinetic-navigation
下面的機器人就是運行成功之後將兩種結合的樣子。
rviz查看圖像:
rosrun rviz rviz
第一個kinetic的位置應該會有下拉框供你選擇,可能是camera_link,如果是lasar就是laser_link
然後需要add一個話題(image/laserscan),將下圖所示位置修改,一般也會有下拉框,如果沒有則需要根據rostopic list
查看話題信息。
上述的話題輸進去之後gazebo報錯的話一般就是gazebo的版本低了,參考文章開頭位置說的更新gazebo。
接着就會出現攝像頭或者激光的圖像:
激光就不用在意了,參數可能沒設對就只有這麼一點。
此外:如果想要移動小車則需另開一個終端:
roslaunch mbot_teleop mbot_teleop.launch
如果第一次沒有成功則需要進行
source ./devel/setup.bash
然後點擊鍵盤的進行移動和轉向。