Normal view MARC view ISBD view

Learning Robotics using Python : Design, simulate, program, and prototype an autonomous mobile robot using ROS, OpenCV, PCL, and Python /

By: Joseph, Lentin.
Publisher: Birmingham : Packt publishing ltd., 2018Edition: 2nd ed.Description: v, 267 p. : ill. ; 24 cm.ISBN: 9781788623315.Subject(s): Python (Computer programme language)DDC classification: 005.133
Contents:
Getting Started with Robot Operating System Technical requirements Introduction to ROS ROS concepts The ROS filesystem The ROS Computation Graph The ROS community level Installing ROS on Ubuntu Introducing catkin Creating a ROS package Hello_world_publisher.py Hello_world_subscriber.py Introducing Gazebo Installing Gazebo Testing Gazebo with the ROS interface Summary Questions Understanding the Basics of Differential Robots Mathematical modeling of the robot Introduction to the differential drive system and robot kinematics Forward kinematics of a differential robot Explanations of the forward kinematics equation Inverse kinematics Summary Questions Further information Modeling the Differential Drive Robot Technical requirements Requirements of a service robot Robot drive mechanism Selection of motors and wheels Calculation of RPM of motors Calculation of motor torque The design summary The robot chassis design Installing LibreCAD, Blender, and MeshLab Installing LibreCAD Installing Blender Installing MeshLab Creating 2D CAD drawing of a robot using LibreCAD The base plate designs Base plate pole design Wheel, motor, and motor clamp design Caster wheel design Middle plate design Top plate design Working with a 3D model of the robot using Blender Python scripting in Blender Introduction to Blender Python APIs Python script of the robot model Creating a URDF model of the robot Creating a Chefbot description ROS package Summary Questions Further reading Simulating a Differential Drive Robot Using ROS Technical requirements Getting started with the Gazebo simulator The Gazebo's graphical user interface The Scene The Left Panel Right Panel Gazebo toolbars Upper toolbar Bottom toolbar Working with a TurtleBot 2 simulation Moving the robot Creating a simulation of Chefbot Depth image to laser scan conversion URDF tags and plugins for Gazebo simulation Cliff sensor plugin Contact sensor plugin Gyroscope plugin Differential drive plugin Depth camera plugin Visualizing the robot sensor data Getting started with Simultaneous Localization and Mapping Implementing SLAM in the Gazebo environment Creating a map using SLAM Getting started with Adaptive Monte Carlo Localization Implementing AMCL in the Gazebo environment Autonomous navigation of Chefbot in the hotel using Gazebo Summary Questions Further reading Designing ChefBot Hardware and Circuits Technical requirements Specifications of the ChefBot's hardware Block diagram of the robot Motor and encoder Selecting motors, encoders, and wheels for the robot Motor driver Selecting a motor driver/controller Input pins Output pins Power supply pins Embedded controller board Ultrasonic sensors Selecting an ultrasonic sensor Inertial measurement unit Kinect/Orbbec Astra Central processing unit Speakers/mic Power supply/battery How ChefBot’s hardware works’? Summary Questions Further reading Interfacing Actuators and Sensors to the Robot Controller Technical requirements Interfacing DC geared motor to Tiva C LaunchPad Differential wheeled robot Installing Energia IDE Motor interfacing code Interfacing quadrature encoder with Tiva C Launchpad Processing encoder data Quadrature encoder interfacing code Working with Dynamixel actuators Working with ultrasonic distance sensors Interfacing HC-SR04 to Tiva C LaunchPad Working of HC-SR04 Interfacing Code of Tiva C Launchpad Interfacing Tiva C LaunchPad with Python Working with the IR proximity sensor Working with Inertial Measurement Units Inertial navigation Interfacing MPU 6050 with Tiva C LaunchPad Setting the MPU 6050 library in Energia Interfacing code of Energia Summary Questions Further reading Interfacing Vision Sensors with ROS Technical requirements List of robotic vision sensors and image libraries Pixy2/CMUcam5 Logitech C920 webcam Kinect 360 Intel RealSense D400 series Orbbec Astra depth sensor Introduction to OpenCV, OpenNI, and PCL What is OpenCV? Installation of OpenCV from the source code in Ubuntu Reading and displaying an image using the Python-OpenCV interface Capturing from the web camera What is OpenNI? Installing OpenNI in Ubuntu What is PCL? Programming Kinect with Python using ROS, OpenCV, and OpenNI How to launch the OpenNI driver The ROS interface with OpenCV Creating a ROS package with OpenCV support Displaying Kinect images using Python, ROS, and cv_bridge Interfacing Orbbec Astra with ROS Installing the Astra–ROS driver Working with point clouds using Kinect, ROS, OpenNI, and PCL Opening the device and generating a point cloud Conversion of point cloud data to laser scan data Working with SLAM using ROS and Kinect Summary Questions Further reading Building ChefBot Hardware and the Integration of Software Technical requirements Building ChefBot hardware Configuring ChefBot PC and setting ChefBot ROS packages Interfacing ChefBot sensors to the Tiva-C LaunchPad Embedded code for ChefBot Writing a ROS Python driver for ChefBot Understanding ChefBot ROS launch files Working with ChefBot Python nodes and launch files Working with SLAM on ROS to build a map of the room Working with ROS localization and navigation Summary Questions Further reading Designing a GUI for a Robot Using Qt and Python Technical requirements Installing Qt on Ubuntu 16.04 LTS Working with Python bindings of Qt PyQt Installing PyQt in Ubuntu 16.04 LTS PySide Installing PySide on Ubuntu 16.04 LTS Working with PyQt and PySide Introducing Qt Designer Qt signals and slots Converting a UI file into Python code Adding a slot definition to PyQt code Operation of the Hello World GUI application Working with ChefBot's control GUI Installing and working with rqt in Ubuntu 16.04 LTS Summary Questions Further reading
List(s) this item appears in: New Arrivals book list
Tags from this library: No tags from this library for this title. Log in to add tags.
    average rating: 0.0 (0 votes)
Item type Current location Call number Status Date due Barcode
Books Books IMU Kolkata
Reference
005.133 J832 (Browse shelf) Available 14241

Getting Started with Robot Operating System
Technical requirements
Introduction to ROS
ROS concepts
The ROS filesystem
The ROS Computation Graph
The ROS community level
Installing ROS on Ubuntu
Introducing catkin
Creating a ROS package
Hello_world_publisher.py
Hello_world_subscriber.py
Introducing Gazebo
Installing Gazebo
Testing Gazebo with the ROS interface
Summary
Questions
Understanding the Basics of Differential Robots
Mathematical modeling of the robot
Introduction to the differential drive system and robot kinematics
Forward kinematics of a differential robot
Explanations of the forward kinematics equation
Inverse kinematics
Summary
Questions
Further information
Modeling the Differential Drive Robot
Technical requirements
Requirements of a service robot
Robot drive mechanism
Selection of motors and wheels
Calculation of RPM of motors
Calculation of motor torque
The design summary
The robot chassis design
Installing LibreCAD, Blender, and MeshLab
Installing LibreCAD
Installing Blender
Installing MeshLab
Creating 2D CAD drawing of a robot using LibreCAD
The base plate designs
Base plate pole design
Wheel, motor, and motor clamp design
Caster wheel design
Middle plate design
Top plate design
Working with a 3D model of the robot using Blender
Python scripting in Blender
Introduction to Blender Python APIs
Python script of the robot model
Creating a URDF model of the robot
Creating a Chefbot description ROS package
Summary
Questions
Further reading
Simulating a Differential Drive Robot Using ROS
Technical requirements
Getting started with the Gazebo simulator
The Gazebo's graphical user interface
The Scene
The Left Panel
Right Panel
Gazebo toolbars
Upper toolbar
Bottom toolbar
Working with a TurtleBot 2 simulation
Moving the robot
Creating a simulation of Chefbot
Depth image to laser scan conversion
URDF tags and plugins for Gazebo simulation
Cliff sensor plugin
Contact sensor plugin
Gyroscope plugin
Differential drive plugin
Depth camera plugin
Visualizing the robot sensor data
Getting started with Simultaneous Localization and Mapping
Implementing SLAM in the Gazebo environment
Creating a map using SLAM
Getting started with Adaptive Monte Carlo Localization
Implementing AMCL in the Gazebo environment
Autonomous navigation of Chefbot in the hotel using Gazebo
Summary
Questions
Further reading
Designing ChefBot Hardware and Circuits
Technical requirements
Specifications of the ChefBot's hardware
Block diagram of the robot
Motor and encoder
Selecting motors, encoders, and wheels for the robot
Motor driver
Selecting a motor driver/controller
Input pins
Output pins
Power supply pins
Embedded controller board
Ultrasonic sensors
Selecting an ultrasonic sensor
Inertial measurement unit
Kinect/Orbbec Astra
Central processing unit
Speakers/mic
Power supply/battery
How ChefBot’s hardware works’?
Summary
Questions
Further reading
Interfacing Actuators and Sensors to the Robot Controller
Technical requirements
Interfacing DC geared motor to Tiva C LaunchPad
Differential wheeled robot
Installing Energia IDE
Motor interfacing code
Interfacing quadrature encoder with Tiva C Launchpad
Processing encoder data
Quadrature encoder interfacing code
Working with Dynamixel actuators
Working with ultrasonic distance sensors
Interfacing HC-SR04 to Tiva C LaunchPad
Working of HC-SR04
Interfacing Code of Tiva C Launchpad
Interfacing Tiva C LaunchPad with Python
Working with the IR proximity sensor
Working with Inertial Measurement Units
Inertial navigation
Interfacing MPU 6050 with Tiva C LaunchPad
Setting the MPU 6050 library in Energia
Interfacing code of Energia
Summary
Questions
Further reading
Interfacing Vision Sensors with ROS
Technical requirements
List of robotic vision sensors and image libraries
Pixy2/CMUcam5
Logitech C920 webcam
Kinect 360
Intel RealSense D400 series
Orbbec Astra depth sensor
Introduction to OpenCV, OpenNI, and PCL
What is OpenCV?
Installation of OpenCV from the source code in Ubuntu
Reading and displaying an image using the Python-OpenCV interface
Capturing from the web camera
What is OpenNI?
Installing OpenNI in Ubuntu
What is PCL?
Programming Kinect with Python using ROS, OpenCV, and OpenNI
How to launch the OpenNI driver
The ROS interface with OpenCV
Creating a ROS package with OpenCV support
Displaying Kinect images using Python, ROS, and cv_bridge
Interfacing Orbbec Astra with ROS
Installing the Astra–ROS driver
Working with point clouds using Kinect, ROS, OpenNI, and PCL
Opening the device and generating a point cloud
Conversion of point cloud data to laser scan data
Working with SLAM using ROS and Kinect
Summary
Questions
Further reading
Building ChefBot Hardware and the Integration of Software
Technical requirements
Building ChefBot hardware
Configuring ChefBot PC and setting ChefBot ROS packages
Interfacing ChefBot sensors to the Tiva-C LaunchPad
Embedded code for ChefBot
Writing a ROS Python driver for ChefBot
Understanding ChefBot ROS launch files
Working with ChefBot Python nodes and launch files
Working with SLAM on ROS to build a map of the room
Working with ROS localization and navigation
Summary
Questions
Further reading
Designing a GUI for a Robot Using Qt and Python
Technical requirements
Installing Qt on Ubuntu 16.04 LTS
Working with Python bindings of Qt
PyQt
Installing PyQt in Ubuntu 16.04 LTS
PySide
Installing PySide on Ubuntu 16.04 LTS
Working with PyQt and PySide
Introducing Qt Designer
Qt signals and slots
Converting a UI file into Python code
Adding a slot definition to PyQt code
Operation of the Hello World GUI application
Working with ChefBot's control GUI
Installing and working with rqt in Ubuntu 16.04 LTS
Summary
Questions
Further reading

There are no comments for this item.

Log in to your account to post a comment.
Designed and Maintained by IMU-KC Library, Kolkata Campus © Copyright All Rights Reserved

webs counters

Powered by Koha