Learning Robotics using Python

Námskeið
- T-411-MECH Mechatronics I
Lýsing:
Design, simulate, and program interactive robots Key Features Design, simulate, build, and program an interactive autonomous mobile robot Leverage the power of ROS, Gazebo, and Python to enhance your robotic skills A hands-on guide to creating an autonomous mobile robot with the help of ROS and Python Book Description 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. What you will learn Design a differential robot from scratch Model a differential robot using ROS and URDF Simulate a differential robot using ROS and Gazebo Design robot hardware electronics Interface robot actuators with embedded boards Explore the interfacing of different 3D depth cameras in ROS Create a GUI for robot control Who this book is for This book is for those who are conducting research in mobile robotics and autonomous navigation.
Annað
- Höfundur: Lentin Joseph
- Útgáfa:2
- Útgáfudagur: 06-2018
- Hægt að prenta út 10 bls.
- Hægt að afrita 10 bls.
- Format:ePub
- ISBN 13: 9781788629973
- Print ISBN: 9781788623315
- ISBN 10: 1788629973
Efnisyfirlit
- Title Page
- Copyright and Credits
- Learning Robotics using Python Second Edition
- Dedication
- Packt Upsell
- Why subscribe?
- PacktPub.com
- Contributors
- About the author
- About the reviewer
- Packt is searching for authors like you
- Preface
- Who this book is for
- What this book covers
- To get the most out of this book
- Download the example code files
- Download the color images
- Conventions used
- Get in touch
- Reviews
- 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
- ROS concepts
- 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
- 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
- Selection of motors and wheels
- 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
- 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
- The Gazebo's graphical user interface
- Moving the robot
- 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
- 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
- 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
- Selecting a motor driver/controller
- Motor and encoder
- Embedded controller board
- Ultrasonic sensors
- Selecting an ultrasonic sensor
- Inertial measurement unit
- Kinect/Orbbec Astra
- Central processing unit
- Speakers/mic
- Power supply/battery
- 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
- Interfacing HC-SR04 to Tiva C LaunchPad
- Inertial navigation
- Interfacing MPU 6050 with Tiva C LaunchPad
- Setting the MPU 6050 library in Energia
- Interfacing code of Energia
- 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?
- What is OpenCV?
- 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
- Installing the Astra–ROS driver
- Opening the device and generating a point cloud
- 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
- 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
- PyQt
- 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
- Chapter 1, Getting Started with the Robot Operating System
- Chapter 2, Understanding the Basics of Differential Robots
- Chapter 3, Modeling the Differential Drive Robot
- Chapter 4, Simulating a Differential Drive Robot Using ROS
- Chapter 5, Designing ChefBot Hardware and Circuits
- Chapter 6, Interfacing Actuators and Sensors to the Robot Controller
- Chapter 7, Interfacing Vision Sensors with ROS
- Chapter 8, Building ChefBot Hardware and Integration of Software
- Chapter 9, Designing a GUI for a Robot Using Qt and Python
- Leave a review - let other readers know what you think
UM RAFBÆKUR Á HEIMKAUP.IS
Bókahillan þín er þitt svæði og þar eru bækurnar þínar geymdar. Þú kemst í bókahilluna þína hvar og hvenær sem er í tölvu eða snjalltæki. Einfalt og þægilegt!Rafbók til eignar
Rafbók til eignar þarf að hlaða niður á þau tæki sem þú vilt nota innan eins árs frá því bókin er keypt.
Þú kemst í bækurnar hvar sem er
Þú getur nálgast allar raf(skóla)bækurnar þínar á einu augabragði, hvar og hvenær sem er í bókahillunni þinni. Engin taska, enginn kyndill og ekkert vesen (hvað þá yfirvigt).
Auðvelt að fletta og leita
Þú getur flakkað milli síðna og kafla eins og þér hentar best og farið beint í ákveðna kafla úr efnisyfirlitinu. Í leitinni finnur þú orð, kafla eða síður í einum smelli.
Glósur og yfirstrikanir
Þú getur auðkennt textabrot með mismunandi litum og skrifað glósur að vild í rafbókina. Þú getur jafnvel séð glósur og yfirstrikanir hjá bekkjarsystkinum og kennara ef þeir leyfa það. Allt á einum stað.
Hvað viltu sjá? / Þú ræður hvernig síðan lítur út
Þú lagar síðuna að þínum þörfum. Stækkaðu eða minnkaðu myndir og texta með multi-level zoom til að sjá síðuna eins og þér hentar best í þínu námi.
Fleiri góðir kostir
- Þú getur prentað síður úr bókinni (innan þeirra marka sem útgefandinn setur)
- Möguleiki á tengingu við annað stafrænt og gagnvirkt efni, svo sem myndbönd eða spurningar úr efninu
- Auðvelt að afrita og líma efni/texta fyrir t.d. heimaverkefni eða ritgerðir
- Styður tækni sem hjálpar nemendum með sjón- eða heyrnarskerðingu
- Gerð : 208
- Höfundur : 17070
- Útgáfuár : 2018
- Leyfi : 379