使用gazebo在ROS中仿真

@TOC參考鏈接

一、準備
本文是基於《Learning_ROS_for_Robotics_Programming_2nd_edition》中chapter7_tutorials功能包學習gazebo仿真,因此需要首先下載代碼包到已經建立的ROS工作空間ros_ws/src文件夾下

二、在gazebo中添加機器人模型

$ cd chapter7_tutorials/robot1_description/urdf
$ check_urdf robot1.urdf   		#檢查urdf語法

在這裏插入圖片描述

$ urdf_to_graphiz robot1.urdf 

在這裏插入圖片描述

$ evince origins.pdf 

在這裏插入圖片描述
在gazebo中使用urdf模型:
重新打開一個終端窗口,啓動ros

$ roscore

打開一個新的終端窗口,運行launch文件,model指向display.launch文件路徑,可將文件直接拖入終端,即可自動顯示文件路徑

$  roslaunch robot1_description display.launch model:="../ros_ws/src/learning_gazebo/chapter7_tutorials/robot1_description/urdf/robot1.urdf"

可以看到已經打開了rviz,但是場景中並沒有任何東西
在這裏插入圖片描述
點擊左下角Add按鈕,在 by display type中添加RobotModel,點擊OK;然後左上Fixed Frame中map改爲base_link:
在這裏插入圖片描述
可以看到rviz中已經成功顯示機器人模型
在這裏插入圖片描述
三、添加傳感器

$ roslaunch robot1_gazebo gazebo.launch model:="../ros_ws/src/learning_gazebo/chapter7_tutorials/robot1_description/urdf/robot1_base_04.xacro"

在這裏插入圖片描述

$ rostopic list
$ rostopic echo /robot/laser/scan

在這裏插入圖片描述

$ rosrun image_view image_view image:=robot/camera1/image_raw

在這裏插入圖片描述
四、添加地圖

$ roslaunch gazebo_ros willowgarage_world.launch 

gazebo顯示一個空的辦公室:
在這裏插入圖片描述
代碼包中已經創建了加載機器人和地圖的文件,運行launch文件:

$ roslaunch robot1_gazebo gazebo_wg.launch 

機器人已經出現在辦公室場景中:
在這裏插入圖片描述
五、控制機器人移動

$ sudo apt-get install ros-melodic-teleop-twist-keyboard
$ rosstack profile
$ rospack profile
$ rosrun teleop_twist_keyboard teleop_twist_keyboard.py

在這裏插入圖片描述
u-加速 j-左轉 k-減速/停止 l-右轉 i-前進 ,-後退
打開rviz

$ rviz

在rviz中訂閱傳感器topic即可看到模擬傳感器發送的數據
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章