Cargando…

Learning Robotics Using Python : Design, Simulate, Program, and Prototype an Autonomous Mobile Robot Using ROS, OpenCV, PCL, and Python, 2nd Edition.

Learning about robotics will become an essential skill as it will be a ubiquitous part of life. Even though robotics is a complex subject, several other tools along with Python can help you design a project to create an easy-to-use interface. The main aim of the book is to teach you how to build an...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Joseph, Lentin
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham : Packt Publishing Ltd, 2018.
Edición:2nd ed.
Temas:
Acceso en línea:Texto completo
Tabla de Contenidos:
  • Cover; Title Page; Copyright and Credits; Dedication; Packt Upsell; Contributors; Table of Contents; Preface; Chapter 1: 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; Chapter 2: Understanding the Basics of Differential Robots.
  • Mathematical modeling of the robotIntroduction 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; Chapter 3 : 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 BlenderInstalling 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; Chapter 4: Simulating a Differential Drive Robot Using ROS; Technical requirements.
  • Getting started with the Gazebo simulatorThe 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 SLAMGetting 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; Chapter 5: 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.