Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
ROS Robotics Projects

You're reading from   ROS Robotics Projects Make your robots see, sense, and interact with cool and engaging projects with Robotic Operating System

Arrow left icon
Product type Paperback
Published in Mar 2017
Publisher Packt
ISBN-13 9781783554713
Length 452 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Lentin Joseph Lentin Joseph
Author Profile Icon Lentin Joseph
Lentin Joseph
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Getting Started with ROS Robotics Application Development 2. Face Detection and Tracking Using ROS, OpenCV and Dynamixel Servos FREE CHAPTER 3. Building a Siri-Like Chatbot in ROS 4. Controlling Embedded Boards Using ROS 5. Teleoperate a Robot Using Hand Gestures 6. Object Detection and Recognition 7. Deep Learning Using ROS and TensorFlow 8. ROS on MATLAB and Android 9. Building an Autonomous Mobile Robot 10. Creating a Self-Driving Car Using ROS 11. Teleoperating a Robot Using a VR Headset and Leap Motion 12. Controlling Your Robots over the Web

Interfacing robot hardware with ROS

In this section, we will see how we can interface a robot's embedded controller with ROS. The embedded controller can send speed commands to the motors and obtain speed commands from robot controller nodes. The ROS robot controller nodes receive linear and angular Twist command from the ROS navigation stack. The Twist command will be subscribed to by the robot controller node and converted into equivalent motor velocity, that is Vl and Vr.

The robot controller nodes also receive encoder ticks from the embedded controller and calculate the distance traveled by each wheel. Let's take a look at the robot controller nodes.

The Chefbot robot controller nodes are placed in chefbot_bringup/scripts. You can check out each node; they're all written in Python.

  • launchpad_node.py: This is the ROS driver node for handling Launchpad boards. This node will receive serial data from Launchpad and also send data to the board. After running this node, we will...
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 €18.99/month. Cancel anytime