舉報(bào)

會員
Learning Robotics using Python
RobotOperatingSystem(ROS)isoneofthemostpopularroboticssoftwareframeworksinresearchandindustry.Ithasvariousfeaturesforimplementdifferentcapabilitiesinarobotwithoutimplementingthemfromscratch.ThisbookstartsbyshowingyouthefundamentalsofROSsoyouunderstandthebasicsofdifferentialrobots.Then,you'lllearnaboutrobotmodelingandhowtodesignandsimulateitusingROS.Movingon,we'lldesignrobothardwareandinterfacingactuators.Then,you'lllearntoconfigureandprogramdepthsensorsandLIDARsusingROS.Finally,you'llcreateaGUIforyourrobotusingtheQtframework.Bytheendofthistutorial,you'llhaveaclearideaofhowtointegrateandassembleeverythingintoarobotandhowtobundlethesoftwarepackage.
最新章節(jié)
- Leave a review - let other readers know what you think
- Other Books You May Enjoy
- Chapter 9 Designing a GUI for a Robot Using Qt and Python
- Chapter 8 Building ChefBot Hardware and Integration of Software
- Chapter 7 Interfacing Vision Sensors with ROS
- Chapter 6 Interfacing Actuators and Sensors to the Robot Controller
品牌:中圖公司
上架時(shí)間:2021-06-25 20:44:04
出版社:Packt Publishing
本書數(shù)字版權(quán)由中圖公司提供,并由其授權(quán)上海閱文信息技術(shù)有限公司制作發(fā)行
- Leave a review - let other readers know what you think 更新時(shí)間:2021-06-25 21:04:43
- Other Books You May Enjoy
- Chapter 9 Designing a GUI for a Robot Using Qt and Python
- Chapter 8 Building ChefBot Hardware and Integration of Software
- Chapter 7 Interfacing Vision Sensors with ROS
- Chapter 6 Interfacing Actuators and Sensors to the Robot Controller
- Chapter 5 Designing ChefBot Hardware and Circuits
- Chapter 4 Simulating a Differential Drive Robot Using ROS
- Chapter 3 Modeling the Differential Drive Robot
- Chapter 2 Understanding the Basics of Differential Robots
- Chapter 1 Getting Started with the Robot Operating System
- Assessments
- Further reading
- Questions
- Summary
- Installing and working with rqt in Ubuntu 16.04 LTS
- Working with ChefBot's control GUI
- Operation of the Hello World GUI application
- Adding a slot definition to PyQt code
- Converting a UI file into Python code
- Qt signals and slots
- Introducing Qt Designer
- Working with PyQt and PySide
- Installing PySide on Ubuntu 16.04 LTS
- PySide
- Installing PyQt in Ubuntu 16.04 LTS
- PyQt
- Working with Python bindings of Qt
- Installing Qt on Ubuntu 16.04 LTS
- Technical requirements
- Designing a GUI for a Robot Using Qt and Python
- Further reading
- Questions
- Summary
- Working with ROS localization and navigation
- Working with SLAM on ROS to build a map of the room
- Working with ChefBot Python nodes and launch files
- Understanding ChefBot ROS launch files
- Writing a ROS Python driver for ChefBot
- Embedded code for ChefBot
- Interfacing ChefBot sensors to the Tiva-C LaunchPad
- Configuring ChefBot PC and setting ChefBot ROS packages
- Building ChefBot hardware
- Technical requirements
- Building ChefBot Hardware and the Integration of Software
- Further reading
- Questions
- Summary
- Working with SLAM using ROS and Kinect
- Conversion of point cloud data to laser scan data
- Opening the device and generating a point cloud
- Working with point clouds using Kinect ROS OpenNI and PCL
- Installing the Astra–ROS driver
- Interfacing Orbbec Astra with ROS
- Displaying Kinect images using Python ROS and cv_bridge
- Creating a ROS package with OpenCV support
- The ROS interface with OpenCV
- How to launch the OpenNI driver
- Programming Kinect with Python using ROS OpenCV and OpenNI
- What is PCL?
- Installing OpenNI in Ubuntu
- What is OpenNI?
- Capturing from the web camera
- Reading and displaying an image using the Python-OpenCV interface
- Installation of OpenCV from the source code in Ubuntu
- What is OpenCV?
- Introduction to OpenCV OpenNI and PCL
- Orbbec Astra depth sensor
- Intel RealSense D400 series
- Kinect 360
- Logitech C920 webcam
- Pixy2/CMUcam5
- List of robotic vision sensors and image libraries
- Technical requirements
- Interfacing Vision Sensors with ROS
- Further reading
- Questions
- Summary
- Interfacing code of Energia
- Setting the MPU 6050 library in Energia
- Interfacing MPU 6050 with Tiva C LaunchPad
- Inertial navigation
- Working with Inertial Measurement Units
- Working with the IR proximity sensor
- Interfacing Tiva C LaunchPad with Python
- Interfacing Code of Tiva C Launchpad
- Working of HC-SR04
- Interfacing HC-SR04 to Tiva C LaunchPad
- Working with ultrasonic distance sensors
- Working with Dynamixel actuators
- Quadrature encoder interfacing code
- Processing encoder data
- Interfacing quadrature encoder with Tiva C Launchpad
- Motor interfacing code
- Installing Energia IDE
- Differential wheeled robot
- Interfacing DC geared motor to Tiva C LaunchPad
- Technical requirements
- Interfacing Actuators and Sensors to the Robot Controller
- Further reading
- Questions
- Summary
- How ChefBot’s hardware works’?
- Power supply/battery
- Speakers/mic
- Central processing unit
- Kinect/Orbbec Astra
- Inertial measurement unit
- Selecting an ultrasonic sensor
- Ultrasonic sensors
- Embedded controller board
- Power supply pins
- Output pins
- Input pins
- Selecting a motor driver/controller
- Motor driver
- Selecting motors encoders and wheels for the robot
- Motor and encoder
- Block diagram of the robot
- Specifications of the ChefBot's hardware
- Technical requirements
- Designing ChefBot Hardware and Circuits
- Further reading
- Questions
- Summary
- Autonomous navigation of Chefbot in the hotel using Gazebo
- Implementing AMCL in the Gazebo environment
- Getting started with Adaptive Monte Carlo Localization
- Creating a map using SLAM
- Implementing SLAM in the Gazebo environment
- Getting started with Simultaneous Localization and Mapping
- Visualizing the robot sensor data
- Depth camera plugin
- Differential drive plugin
- Gyroscope plugin
- Contact sensor plugin
- Cliff sensor plugin
- URDF tags and plugins for Gazebo simulation
- Depth image to laser scan conversion
- Creating a simulation of Chefbot
- Moving the robot
- Working with a TurtleBot 2 simulation
- Bottom toolbar
- Upper toolbar
- Gazebo toolbars
- Right Panel
- The Left Panel
- The Scene
- The Gazebo's graphical user interface
- Getting started with the Gazebo simulator
- Technical requirements
- Simulating a Differential Drive Robot Using ROS
- Further reading
- Questions
- Summary
- Creating a Chefbot description ROS package
- Creating a URDF model of the robot
- Python script of the robot model
- Introduction to Blender Python APIs
- Python scripting in Blender
- Working with a 3D model of the robot using Blender
- Top plate design
- Middle plate design
- Caster wheel design
- Wheel motor and motor clamp design
- Base plate pole design
- The base plate designs
- Creating 2D CAD drawing of a robot using LibreCAD
- Installing MeshLab
- Installing Blender
- Installing LibreCAD
- Installing LibreCAD Blender and MeshLab
- The robot chassis design
- The design summary
- Calculation of motor torque
- Calculation of RPM of motors
- Selection of motors and wheels
- Robot drive mechanism
- Requirements of a service robot
- Technical requirements
- Modeling the Differential Drive Robot
- Further information
- Questions
- Summary
- Inverse kinematics
- Explanations of the forward kinematics equation
- Forward kinematics of a differential robot
- Introduction to the differential drive system and robot kinematics
- Mathematical modeling of the robot
- Understanding the Basics of Differential Robots
- Questions
- Summary
- Testing Gazebo with the ROS interface
- Installing Gazebo
- Introducing Gazebo
- Hello_world_subscriber.py
- Hello_world_publisher.py
- Creating a ROS package
- Introducing catkin
- Installing ROS on Ubuntu
- The ROS community level
- The ROS Computation Graph
- The ROS filesystem
- ROS concepts
- Introduction to ROS
- Technical requirements
- Getting Started with Robot Operating System
- Reviews
- Get in touch
- Conventions used
- Download the color images
- Download the example code files
- To get the most out of this book
- What this book covers
- Who this book is for
- Preface
- Packt is searching for authors like you
- About the reviewer
- About the author
- Contributors
- PacktPub.com
- Why subscribe?
- Packt Upsell
- Dedication
- 版權(quán)信息
- 封面
- 封面
- 版權(quán)信息
- 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 更新時(shí)間:2021-06-25 21:04:43