天天看点

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

本篇博客将使用gazebo对我们的机器人进行仿真。首先确保已经将上一篇博客所提到的代码拷贝到对应的文件夹下。

写在前面

首先介绍一个功能包:

ros_control

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

常见的四种控制器:

  • 力控制
  • 关节状态控制
  • 位置控制
  • 速度控制
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

gazebo物理仿真步骤

配置机器人模型

  • 为每个link添加惯性参数以及碰撞参数
    ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
  • 为每个link添加gazebo标签
    ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
  • 为能动的joint添加传动和动力装置
    ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
  • 添加控制器插件

    相关设置可以在gazebo官网找到

    ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

创建仿真环境

需要关注的两个重点:

  • 设置模型的路径
  • 加载机器人模型的方法:spawn_model节点
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

运行下面的命令:

roslaunch mbot_gazebo view_mbot_gazebo_empty_world.launch 
           

查看空环境中的机器人:

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

如果出现gazebo加载慢的情况,就事先下载好模型放进对应的文件夹中:模型下载

创建仿真环境的两种方法:

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

开始仿真

roslaunch mbot_gazebo  view_mbot_gazebo_play_ground.launch
           
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

启动键盘控制:

roslaunch mbot_teleop mbot_teleop.launch 
           
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

控制键位说明:

  • i

    :前进
  • ,

    :后退
  • j

    :左转
  • l

    :右转
  • k

    :急停
  • u

    :前进左转
  • o

    :前进右转
  • m

    :后退左转
  • .

    :后退右转

看一下rostopic列表:

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

摄像头仿真

  • <sensor>

    标签:描述传感器
    • type

      :传感器类型:camera
    • name

      :摄像头命名,自由设置
  • <camera>

    标签:描述摄像头参数
    • 分辨率
    • 编码格式
    • 图像范围
    • 噪音参数
  • <plugin>

    标签:加载摄像头仿真插件

    libgazebo_ros_camera.so

    • 设置插件的命名空间
    • 发布图像的话题
    • 参考坐标系
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

查看摄像头仿真图像

rqt_image_view

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

启动仿真环境:

roslaunch mbot_gazebo view_mbot_with_kinect_gazebo.launch

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

输入命令:

rviz

将Fixed Frame选为

kinect_link

用add添加:pointCloud2消息

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建
ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

启动仿真环境:

roslaunch mbot_gazebo view_mbot_with_laser_gazebo.launch

在rviz中查看激光雷达信息

ROS机器人建模与仿真(三)--Gazebo物理仿真环境搭建

继续阅读