??本篇关于内容主要参照冰达机器人教程学习做的笔记: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
|