7. 采用ROS和Gazebo模拟机器人与环境

 

本节开始了解如何使用ROS和Gazebo模拟器模拟真实机器人。整个方法与控制真实的机器人基本相同,主要的不同点在于,对真实机器人的操控需要事先配置无线网络。

 

7.1. 关键的基本概念

 

URDF (Unified Robot Description Format): ROS 专用于描述机器人的XML格式脚本,但仅限于描述机器人的运动学等动态特性,无法描述机器人与外界互动的其他特性,如摩擦力等,也不能描述除了机器人的外部世界,如阳光、山丘等。

 

XACRO (XML Macros): ROS用于描述机器人的XML宏格式,简化了URDF,具有可重用性和模块化描述机器人的特点,更加适合描述大型机器人。例如,如果有六个机器人足部描述,采用XACRO可以像类一样可以采用不同的参数加以实例化,而不必如URDF一样必须重复6次。

 

SDF (Simulation Description Format): 是Gazebo模拟器使用的描述格式,不是ROS的格式。可用于构建环境和机器人等所有物体和其特性。ROS的URDF/XACRO描述的机器人在Gazebo中模拟时,将被转换为SDF格式(而SDF格式则无法被转换为URDF/XACRO格式)。

 

7.2. URDF简介

 

在合适的ROS 项目空间中,安装 urdf_tutorial 功能包:

git clone https://github.com/ros/urdf_tutorial.git

 

根据教程 http://wiki.ros.org/urdf/Tutorials, 学习“Learning URDF Step by Step", 了解URDF及XACRO脚本结构。

 

7.3. 采用gazebo_ros 功能包模拟机器人

 

下载教程

 

7.4. 采用roslaunch启动Gazebo, 环境及URDF模型

 

http://gazebosim.org/tutorials?tut=ros_roslaunch