Book Image

Learning Robotics using Python - Second Edition

By : Lentin Joseph
Book Image

Learning Robotics using Python - Second Edition

By: Lentin Joseph

Overview of this book

Robot Operating System (ROS) is one of the most popular robotics software frameworks in research and industry. It has various features for implementing different capabilities in a robot without implementing them from scratch. This book starts by showing you the fundamentals of ROS so you understand the basics of differential robots. Then, you'll learn about robot modeling and how to design and simulate it using ROS. Moving on, we'll design robot hardware and interfacing actuators. Then, you'll learn to configure and program depth sensors and LIDARs using ROS. Finally, you'll create a GUI for your robot using the Qt framework. By the end of this tutorial, you'll have a clear idea of how to integrate and assemble everything into a robot and how to bundle the software package.
Table of Contents (12 chapters)

Writing a ROS Python driver for ChefBot

After uploading the embedded code to LaunchPad, the next step is to handle the serial data from LaunchPad and convert it to ROS topics for further processing. The launchpad_node.py ROS Python driver node interfaces Tiva-C LaunchPad with ROS. The launchpad_node.py file is in the script folder, which is inside the ChefBot_bringup package. The following is an explanation of the important code sections of launchpad_node.py:

#ROS Python client 
import rospy 
import sys 
import time 
import math 
 
#This python module helps to receive values from serial port which execute in a thread 
from SerialDataGateway import SerialDataGateway 
#Importing required ROS data types for the code 
from std_msgs.msg import Int16,Int32, Int64, Float32, 
String, Header, UInt64 #Importing ROS data type for IMU from sensor_msgs.msg import Imu

The launchpad_node...