ROS Robotics By Example
eBook - ePub

ROS Robotics By Example

  1. 428 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

ROS Robotics By Example

Book details
Book preview
Table of contents
Citations

About This Book

Bring life to your robot using ROS robotic applications

About This Book

  • This book will help you boost your knowledge of ROS and give you advanced practical experience you can apply to your ROS robot platforms
  • This is the only book that offers you step-by-step instructions to solidify your ROS understanding and gain experience using ROS tools
  • From eminent authors, this book offers you a plethora of fun-filled examples to make your own quadcopter, turtlebot, and two-armed robots

Who This Book Is For

If you are a robotics developer, whether a hobbyist, researchers or professional, and are interested in learning about ROS through a hands-on approach, then this book is for you. You are encouraged to have a working knowledge of GNU/Linux systems and Python.

What You Will Learn

  • Get to know the fundamentals of ROS and apply its concepts to real robot examples
  • Control a mobile robot to navigate autonomously in an environment
  • Model your robot designs using URDF and Xacro, and operate them in a ROS Gazebo simulation
  • Control a 7 degree-of-freedom robot arm for visual servoing
  • Fly a quadcopter to autonomous waypoints
  • Gain working knowledge of ROS tools such as Gazebo, rviz, rqt, and Move-It
  • Control robots with mobile devices and controller boards

In Detail

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.

Style and approach

This is an easy-to-follow guide with hands-on examples of ROS robots, both real and in simulation.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access ROS Robotics By Example by Carol Fairchild, Dr. Thomas L. Harman in PDF and/or ePUB format, as well as other popular books in Computer Science & Computer Engineering. We have over one million books available in our catalogue for you to explore.

Information

Year
2016
ISBN
9781782175193
Edition
1

ROS Robotics By Example


Table of Contents

ROS Robotics By Example
Credits
About the Authors
About the Reviewer
www.PacktPub.com
eBooks, discount offers, and more
Why subscribe?
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
1. Getting Started with ROS
What does ROS do and what are the benefits of learning ROS?
Who controls ROS?
Which robots are using ROS?
Installing and launching ROS
Configuring your Ubuntu repositories
Setting up your sources.list
Setting up your keys
Installing ROS Indigo
Initialize rosdep
Environment setup
Getting rosinstall
Troubleshooting – examining your ROS environment
Creating a catkin workspace
ROS packages and manifest
ROS manifest
Exploring the ROS packages
rospack find packages
rospack list
ROS nodes and ROS Master
ROS nodes
Nodes can publish and nodes can subscribe
ROS Master
Invoking the ROS Master using roscore
Parameter Server
ROS commands to determine the nodes and topics
Turtlesim, the first ROS robot simulation
Starting turtlesim nodes
rosrun command
Turtlesim nodes
Turtlesim topics and messages
rostopic list
rostopic type
rosmsg list
rosmsg show
rostopic echo
Parameter Server of turtlesim
rosparam help
rosparam list for /turtlesim node
Change parameters for the color of the turtle's background
rosparam get
rosparam set
ROS services to move turtle
rosservice call
ROS commands summary
Summary
2. Creating Your First Two-Wheeled ROS Robot (in Simulation)
Rviz
Installing and launching rviz
Using rviz
Displays panel
Views and Time panels
Mouse control
Toolbar
Main window menu bar
Creating and building a ROS package
Building a differential drive robot URDF
Creating a robot chassis
Using roslaunch
Adding wheels
Adding a caster
Adding color
Adding collisions
Moving the wheels
A word about tf and robot_state_publisher
Adding physical properties
Trying URDF tools
check_urdf
urdf_to_graphiz
Gazebo
Installing and launching Gazebo
Using roslaunch with Gazebo
Using Gazebo
Environment toolbar
World and Insert panels
Joints panel
Main window menu bar
Simulation panel
Modifications to the robot URDF
Adding the Gazebo tag
Specifying color in Gazebo
A word about <visual> and <collision> elements in Gazebo
Verifying a Gazebo model
Viewing the URDF in Gazebo
Tweaking your model
Moving your model around
Other ROS simulation environments
Summary
3. Driving Around with TurtleBot
Introducing TurtleBot
Loading TurtleBot simulator software
Launching TurtleBot simulator in Gazebo
Problems and troubleshooting
ROS commands and Gazebo
Keyboard teleoperation of TurtleBot in simulation
Setting up to control a real TurtleBot
TurtleBot standalone test
Networking the netbook and remote computer
Types of networks
Network addresses
Remote computer network setup
Netbook network setup
Secure Shell (SSH) connection
Summary of network setup
Troubleshooting your network connection
Testing the TurtleBot system
TurtleBot hardware specifications
TurtleBot dashboard
Move the real TurtleBot
Using keyboard teleoperation to move TurtleBot
Using ROS commands to move TurtleBot around
Writing your first Python script to control TurtleBot
Introducing rqt tools
rqt_graph
rqt message publisher and topic monitor
TurtleBot's odometry
Odom for the simulated TurtleBot
Real TurtleBot's odometry display in rviz
TurtleBot automatic docking
Summary
4. Navigating the World with TurtleBot
3D vision systems for TurtleBot
How these 3D vision sensors work
Comparison of 3D sensors
Microsoft Kinect
ASUS
Obstacle avoidance drawbacks
Configuring TurtleBot and installing the 3D sensor software
Kinect
ASUS and PrimeSense
Camera software structure
Defining terms
Testing the 3D sensor in standalone mode
Running ROS nodes for visualization
Visual data using Image Viewer
Visual data using rviz
Navigating with TurtleBot
Mapping a room with TurtleBot
Defining terms
Building a map
How does TurtleBot accomplish this mapping task?
Autonomous navigation with TurtleBot
Defining terms
Driving without steering TurtleBot
rviz control
How does TurtleBot accomplish this navigation task?
rqt_reconfigure
Exploring ROS navigation further
Summary
5. Creating Your First Robot Arm (in Simulation)
Features of Xacro
Expanding Xacro
Building an articulated robot arm URDF using Xacro
Using the Xacro property tag
Using roslaunch for rrbot
Using Xacro include and macro tags
Adding mesh to the robot arm
Controlling an articulated robot arm in Gazebo
Adding Gazebo-specific elements
Fixing the robot arm to the world
Viewing the robot arm in Gazebo
Adding controls to the Xacro
Defining transmission elements for joints
Adding a Gazebo ROS control plugin
Creating a YAML configuration file
Creating a control launch file
Controlling your robot arm with the ROS command line
Controlling your robot arm with rqt
Trying more things in rqt
Summary
6. Wobbling Robot Arms Using Joint Control
I...

Table of contents

  1. ROS Robotics By Example