Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering ROS for Robotics Programming

You're reading from   Mastering ROS for Robotics Programming Design, build, and simulate complex robots using the Robot Operating System

Arrow left icon
Product type Paperback
Published in Feb 2018
Publisher Packt
ISBN-13 9781788478953
Length 580 pages
Edition 2nd Edition
Languages
Tools
Concepts
Arrow right icon
Authors (2):
Arrow left icon
Lentin Joseph Lentin Joseph
Author Profile Icon Lentin Joseph
Lentin Joseph
Jonathan Cacace Jonathan Cacace
Author Profile Icon Jonathan Cacace
Jonathan Cacace
Arrow right icon
View More author details
Toc

Table of Contents (17) Chapters Close

Preface 1. Introduction to ROS FREE CHAPTER 2. Getting Started with ROS Programming 3. Working with 3D Robot Modeling in ROS 4. Simulating Robots Using ROS and Gazebo 5. Simulating Robots Using ROS and V-REP 6. Using the ROS MoveIt! and Navigation Stack 7. Working with pluginlib, Nodelets, and Gazebo Plugins 8. Writing ROS Controllers and Visualization Plugins 9. Interfacing I/O Boards, Sensors, and Actuators to ROS 10. Programming Vision Sensors Using ROS, Open CV, and PCL 11. Building and Interfacing Differential Drive Mobile Robot Hardware in ROS 12. Exploring the Advanced Capabilities of ROS-MoveIt! 13. Using ROS in MATLAB and Simulink 14. ROS for Industrial Robots 15. Troubleshooting and Best Practices in ROS 16. Other Books You May Enjoy

Writing a basic joint controller in ROS


The basic prerequisites for writing an ROS controller are already installed. We have discussed the underlying concepts of controllers. Now we can start creating a package for our own controller.

We are going to develop a controller that can access a joint of the robot and move the robot in a sinusoidal fashion. In particular, the first joint of the seven_dof_arm will follow a sinusoidal motion.

The procedure of building a controller is similar to other plugins development that we have seen earlier. The list of procedures to create an ROS controller is given as follows:

  1. Create an ROS package with the necessary dependencies.
  2. Write controller code in C++.
  3. Register or export the C++ class as a plugin.
  4. Define the plugin definition in an XML file.
  5. Edit the  CMakeLists.txt  and package.xml files for exporting the plugin.
  6. Write the configuration for our controller.
  7. Load the controller using the controller manager.

Step 1 - Creating the controller package

The first step...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image