Gazebo仿真平台

  • Post author:
  • Post category:其他


本篇关于内容主要参照冰达机器人教程学习做的笔记:

https://b23.tv/qiFLhjj



理论部分

gazebo是3D仿真平台,是ROS官方指定的。gazebo适合仿真室内场景,对环节渲染或细节要求不是很高,主要是为了完成功能的仿真演示。

环节模型可导入(官方提供一些场景model)也可自己进行设计(自己设置围墙建筑,最后保存为world后缀文件)

与机器人相关可以人工修改的文件包括:urtf、xacro

urtf文件描述robot,可在rviz中有显示,urdf中的标签在Gazebo中无法显示

xacro文件描述gazobo中的标签,在urdf的基础上做改动,使机器人可以在gazebo中做显示

通过gazebo插件为robot增加功能(相机、IMU、激光雷达可以直接去官网找)

urdf的生成可以用soldworks,生成特殊3D机器人模型。图像化设置,会直接生成urdf文件夹

urdf文件夹目录下执行命令:check_urdf 文件名(用于检查urdf的编写是否正确)



实验部分


基本环节搭建



注意:环境模型网址改变



https://gitee.com/bingda-robot/gazebo_models


gazebo基本操作步骤:

1.导入预定场景模型(下载路径.gazebo/gazebo_models)

2.自制场景模型(编辑后保存为world文件,可放置于bingda_tutorial的world文件夹又launch文件调用)

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中键盘控制机器人在预定场景运动:


终端一:roslaunch bingda_tutorials simulation_robot.launch

终端二:rqt_image_view

订阅image_raw/compressed可以试试看到小车的监控画面

终端三: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

键盘控制可看到雷达变换


gazebo中键盘控制机器人在预定场景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键盘控制导航实验


终端一:roslaunch bingda_tutorials simulation_robot.launch

终端二:roslaunch robot_navigation navigation_stack.launch simulation:=true

终端三:roslaunch robot_navigation navigation_rviz.launch

可以在rviz中调整初始位姿和导航目标


注意首先在~/.bashrc中设置 export BASE_TYPE=NanoCar,可更改,更改目录为gezabo_test/src/robot_navigation/param



版权声明:本文为gls_nuaa原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。