万本电子书0元读

万本电子书0元读

顶部广告

Learning Robotics using Python电子书

售       价:¥

1人正在读 | 0人评论 9.8

作       者:Lentin Joseph

出  版  社:Packt Publishing

出版时间:2018-06-27

字       数:28.4万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Design, simulate, and program interactive robots About This Book ? 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 Who This Book Is For This book is for those who are conducting research in mobile robotics and autonomous navigation. As well as the robotics research domain, this book is also for the robot hobbyist community. You’re expected to have a basic understanding of Linux commands and Python. 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 ? Implement autonomous navigation in ChefBot ? Create a GUI for robot control In Detail 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. Style and approach A step-by-step guide which will help you to create an autonomous mobile robot with the help of ROS and Python. It will help you to understand and implement the fundamental concepts of differential robots and teach you to create differential robot’s simulation using Gazebo.
目录展开

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

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

Assessments

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

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部