用ROS做机器人仿真一、为ROS创建仿真模型

第一节   在Gazebo和rviz中显示机器人模型

英文链接(附视频教程,不过个人觉得视频教程说的不详细,要是想理解这个仿真过程到底是怎么回事,还要自己摸索)

前提:

1、如何通过URDF文件创建机器人模型并在rviz中显示。

2、在Gazebo中使用URDF文件。

3、用ros_control packages控制Gazebo中的机器人。

4、Gazebo中添加传感器和电机插件。

5、Gazebo中的Topics和Services.

 

本文主要参考gazebo_ros_demo和turtlebot_simulator提供的模板修改得到的。

一、安装kinetic-turtlebot包

sudo apt install ros-kinetic-turtlebot-*

在最新的ros源中已经更新到了turtlebot3-* 的所有包,不过我们这里不需要,本文安装turtlebot包的目的是学习turtlebot的demo,为建图和存图做个示范。

 

二、下载例程源码

git clone -b base https://github.com/richardw05/mybot_ws.git

下载完成之后默认进入的是base分支,本文只使用base分支,后文会使用其他分支。

mybot_ws目录树结构:

fc@fc-msi:~/ROSWorkspace/src/mybot_ws$ tree
.
├── README.md
├── run_gazebo.sh
├── run_nav.sh
├── run_rviz.sh
├── run_teleop.sh
└── src
    ├── mybot_control
    │   ├── CMakeLists.txt
    │   ├── config
    │   │   └── mybot_control.yaml
    │   ├── launch
    │   │   └── myrobot_control.launch
    │   └── package.xml
    ├── mybot_description
    │   ├── CMakeLists.txt
    │   ├── launch
    │   │   ├── mybot_rviz_amcl.launch
    │   │   ├── mybot_rviz_gmapping.launch
    │   │   └── mybot_rviz.launch
    │   ├── meshes
    │   │   └── hokuyo.dae
    │   ├── package.xml
    │   ├── rviz
    │   │   ├── amcl.rviz
    │   │   └── mapping.rviz
    │   └── urdf
    │       ├── macros.xacro
    │       ├── materials.xacro
    │       ├── mybot.gazebo
    │       └── mybot.xacro
    ├── mybot_gazebo
    │   ├── CMakeLists.txt
    │   ├── launch
    │   │   └── mybot_world.launch
    │   ├── package.xml
    │   └── worlds
    │       ├── mybot.world
    │       └── turtlebot_playground.world
    └── mybot_navigation
        ├── CMakeLists.txt
        ├── config
        │   ├── base_local_planner_params.yaml
        │   ├── costmap_common_params.yaml
        │   ├── global_costmap_params.yaml
        │   └── local_costmap_params.yaml
        ├── launch
        │   ├── amcl_demo.launch
        │   ├── gmapping_demo.launch
        │   └── mybot_teleop.launch
        ├── maps
        │   ├── test_map.pgm
        │   └── test_map.yaml
        └── package.xml

16 directories, 37 files

三、运行模型

  源码里提供了几个脚本文件可以直接运行,也可用下列roslaunch命令来运行launch文件。

  启动一个terminal

cd /path/to/yourWorkSpace/
catkin_make
. devel/setup.sh
roslaunch mybot_gazebo mybot_world.launch

在另一个terminal中启动rviz

roslaunch mybot_description mybot_rviz.launch

再启动一个terminal发布运动消息

rostopic pub /cmd_vel geometry_msgs/Twist "linear:
  x: 0.2
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.1"

 

接下来你会看到gazebo和rviz中的小车模型在转圈圈!关于模型文件mybot.xacro和mybot.gazebo的写法,记事本打开两个文件一看就明白了。

你可能感兴趣的:(机器人技术)