本篇博客将使用gazebo对我们的机器人进行仿真。首先确保已经将上一篇博客所提到的代码拷贝到对应的文件夹下。
写在前面
首先介绍一个功能包:
ros_control
常见的四种控制器:
- 力控制
- 关节状态控制
- 位置控制
- 速度控制
gazebo物理仿真步骤
配置机器人模型
- 为每个link添加惯性参数以及碰撞参数
- 为每个link添加gazebo标签
- 为能动的joint添加传动和动力装置
-
添加控制器插件
相关设置可以在gazebo官网找到
创建仿真环境
需要关注的两个重点:
- 设置模型的路径
- 加载机器人模型的方法:spawn_model节点
运行下面的命令:
roslaunch mbot_gazebo view_mbot_gazebo_empty_world.launch
查看空环境中的机器人:
如果出现gazebo加载慢的情况,就事先下载好模型放进对应的文件夹中:模型下载
创建仿真环境的两种方法:
开始仿真
roslaunch mbot_gazebo view_mbot_gazebo_play_ground.launch
启动键盘控制:
roslaunch mbot_teleop mbot_teleop.launch
控制键位说明:
-
:前进i
-
:后退,
-
:左转j
-
:右转l
-
:急停k
-
:前进左转u
-
:前进右转o
-
:后退左转m
-
:后退右转.
看一下rostopic列表:
摄像头仿真
-
标签:描述传感器<sensor>
-
:传感器类型:cameratype
-
:摄像头命名,自由设置name
-
-
标签:描述摄像头参数<camera>
- 分辨率
- 编码格式
- 图像范围
- 噪音参数
-
标签:加载摄像头仿真插件<plugin>
libgazebo_ros_camera.so
- 设置插件的命名空间
- 发布图像的话题
- 参考坐标系
查看摄像头仿真图像
rqt_image_view
启动仿真环境:
roslaunch mbot_gazebo view_mbot_with_kinect_gazebo.launch
输入命令:
rviz
将Fixed Frame选为
kinect_link
用add添加:pointCloud2消息
启动仿真环境:
roslaunch mbot_gazebo view_mbot_with_laser_gazebo.launch
在rviz中查看激光雷达信息