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
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

Converting IMU data into twist messages


If you are able to the visualization in Rviz, you are done with the interfacing. The next step is to convert IMU orientation into command velocity as ROS twist messages. For this, we have to create a ROS package and a Python script. You can get this package from chapter_5_codes/gesture_teleop; look for a script called gesture_teleop.py from the gesture_teleop/scripts folder.

If you want to create the package from scratch, here is the command:

$ catkin_create_pkg gesture_teleop rospy roscpp std_msgs sensor_msgs geometry_msgs

Now let's look at the explanation of gesture_teleop.py, which is performing the conversion from IMU orientation values to twist commands.

In this code, what we basically do is subscribe to the /imu_data topic and extract only the yaw and pitch values. When these values change in the positive or negative direction, a step value is added or subtracted from the linear and angular velocity variable. The resultant velocity is sent using...

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