Gazebo仿真平台
??本篇關(guān)于內(nèi)容主要參照冰達(dá)機(jī)器人教程學(xué)習(xí)做的筆記:https://b23.tv/qiFLhjj
理論部分
??gazebo是3D仿真平臺(tái),是ROS官方指定的。gazebo適合仿真室內(nèi)場景,對環(huán)節(jié)渲染或細(xì)節(jié)要求不是很高,主要是為了完成功能的仿真演示。
??環(huán)節(jié)模型可導(dǎo)入(官方提供一些場景model)也可自己進(jìn)行設(shè)計(jì)(自己設(shè)置圍墻建筑,最后保存為world后綴文件)
??與機(jī)器人相關(guān)可以人工修改的文件包括:urtf、xacro
??urtf文件描述robot,可在rviz中有顯示,urdf中的標(biāo)簽在Gazebo中無法顯示
??xacro文件描述gazobo中的標(biāo)簽,在urdf的基礎(chǔ)上做改動(dòng),使機(jī)器人可以在gazebo中做顯示
??通過gazebo插件為robot增加功能(相機(jī)、IMU、激光雷達(dá)可以直接去官網(wǎng)找)
??urdf的生成可以用soldworks,生成特殊3D機(jī)器人模型。圖像化設(shè)置,會(huì)直接生成urdf文件夾
??urdf文件夾目錄下執(zhí)行命令:check_urdf 文件名(用于檢查urdf的編寫是否正確)
實(shí)驗(yàn)部分
基本環(huán)節(jié)搭建
注意:環(huán)境模型網(wǎng)址改變:https://gitee.com/bingda-robot/gazebo_models
gazebo基本操作步驟:
??1.導(dǎo)入預(yù)定場景模型(下載路徑.gazebo/gazebo_models)
??2.自制場景模型(編輯后保存為world文件,可放置于bingda_tutorial的world文件夾又launch文件調(diào)用)
??roslaunch bingda_tutorials gazabe_world.launch
??3.自制robot用rviz顯示
??roslaunch bingda_tutorials display_robot.launch
??4.自制robot+自制場景用gazebo顯示
??roslaunch bingda_tuorials gazebo_robot.launch
gazebo中鍵盤控制機(jī)器人在預(yù)定場景運(yùn)動(dòng):
??終端一:roslaunch bingda_tutorials simulation_robot.launch
??終端二:rqt_image_view
??訂閱image_raw/compressed可以試試看到小車的監(jiān)控畫面
??終端三:rosrun teleop_twist_keyboard teleop_twist_keyboard.py
??使用u,i,o,j,k,l,m,<,>鍵盤控制完成
??rviz顯示:
??1. Fixed Frame換成odom
??2. 增加TF, RobotModel,LaserScan
注意:LaserScan的Topic要變成/scan
???鍵盤控制可看到雷達(dá)變換
gazebo中鍵盤控制機(jī)器人在預(yù)定場景SLAM建圖(2D,激光)
??終端一:roslaunch bingda_tutorials simulation_robot.launch
??終端二:roslaunch robot_navigation gmapping.launch simulation:=true
??終端三:roslaunch robot_navigation slam_rviz.launch
??終端四:rosrun teleop_twist_keyboard teleop_twist_keyboard.py
??使用鍵盤控制形成地圖,保存地圖命令為:
??roscd robot_navigation/maps/
??roscd map_server map_server -f map
gabebo鍵盤控制導(dǎo)航實(shí)驗(yàn)
??終端一:roslaunch bingda_tutorials simulation_robot.launch
??終端二:roslaunch robot_navigation navigation_stack.launch simulation:=true
??終端三:roslaunch robot_navigation navigation_rviz.launch
??可以在rviz中調(diào)整初始位姿和導(dǎo)航目標(biāo)
??注意首先在~/.bashrc中設(shè)置 export BASE_TYPE=NanoCar,可更改,更改目錄為gezabo_test/src/robot_navigation/param
總結(jié)
以上是生活随笔為你收集整理的Gazebo仿真平台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++虚继承的实现原理、内存分布、作用
- 下一篇: BIOS中断大全