Book Image

ROS Robotics By Example

Book Image

ROS Robotics By Example

Overview of this book

The visionaries who created ROS developed a framework for robotics centered on the commonality of robotic systems and exploited this commonality in ROS to expedite the development of future robotic systems. From the fundamental concepts to advanced practical experience, this book will provide you with an incremental knowledge of the ROS framework, the backbone of the robotics evolution. ROS standardizes many layers of robotics functionality from low-level device drivers to process control to message passing to software package management. This book provides step-by-step examples of mobile, armed, and flying robots, describing the ROS implementation as the basic model for other robots of these types. By controlling these robots, whether in simulation or in reality, you will use ROS to drive, move, and fly robots using ROS control.
Table of Contents (17 chapters)
ROS Robotics By Example
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Controlling an articulated robot arm in Gazebo


The Modifications to the robot URDF section in Chapter 2, Creating Your First Two-Wheeled Robot (in Simulation) describes changes that need to be made to the URDF model so that Gazebo recognizes it as an SDF. The next section identifies the changes needed for our robot arm, rrbot.

Adding Gazebo-specific elements

Specific elements unique to the Gazebo simulation environment are grouped in the following areas:

  • The <material> tags are used to specify the Gazebo color or texture for each link

  • The <mu1> and <mu2> tags are used to define friction coefficients for the contact surfaces for four of the robot's links

  • Plugin to control the revolute joints of rrbot (included here but described in the Adding a Gazebo ROS control plugin section)

These specific Gazebo XML elements needed for simulation are split into a separate file, labeled rrbot.gazebo, and an Xacro <include> statement is used in the main rrbot4.xacro file:

<xacro:include...