A Concise Introduction to Robot Programming with ROS2
- Length: 252 pages
- Edition: 1
- Language: English
- Publisher: Chapman and Hall/CRC
- Publication Date: 2022-09-30
- ISBN-10: 1032264659
- ISBN-13: 9781032264653
- Sales Rank: #625356 (See Top 100 Books)
A Concise Introduction to Robot Programming with ROS2 provides the reader with the concepts and tools necessary to bring a robot to life through programming. It will equip the reader with the skills necessary to undertake projects with ROS2, the new version of ROS. It is not necessary to have previous experience with ROS2 as it will describe its concepts, tools, and methodologies from the beginning.
Key Features
- Uses the two programming languages officially supported in ROS2 (C++, mainly, and Python)
- Approaches ROS2 from three different but complementary dimensions: the Community, Computation Graph, and the Workspace
- Includes a complete simulated robot, development and testing strategies, Behavior Trees, and Nav2 description, setup, and use
- A GitHub repository with code to assist readers
It will appeal to motivated engineering students, engineers, and professionals working with robot programming.
Cover Half Title Title Page Copyright Page Contents List of Figures CHAPTER 1: Introduction 1.1. ROS2 OVERVIEW 1.1.1. The ROS Community 1.1.2. The Computation Graph 1.1.3. The Workspace 1.2. THE ROS2 DESIGN 1.3. ABOUT THIS BOOK CHAPTER 2: First Steps with ROS2 2.1. FIRST STEPS WITH ROS2 2.2. DEVELOPING THE FIRST NODE 2.3. ANALYZING THE BR2 BASICS PACKAGE 2.3.1. Controlling the Iterative Execution 2.3.2. Publishing and Subscribing 2.3.3. Launchers 2.3.4. Parameters 2.3.5. Executors 2.4. SIMULATED ROBOT SETUP CHAPTER 3: First Behavior: Avoiding Obstacles with Finite States Machines 3.1. PERCEPTION AND ACTUATION MODELS 3.2. COMPUTATION GRAPH 3.3. BUMP AND GO IN C++ 3.3.1. Execution Control 3.3.2. Implementing a FSM 3.3.3. Running the Code 3.4. BUMP AND GO BEHAVIOR IN PYTHON 3.4.1. Execution Control 3.4.2. Implementing the FSM 3.4.3. Running the Code CHAPTER 4: The TF Subsystem 4.1. AN OBSTACLE DETECTOR THAT USES TF2 4.2. COMPUTATION GRAPH 4.3. BASIC DETECTOR 4.3.1. Obstacle Detector Node 4.3.2. Obstacle Monitor Node 4.3.3. Running the Basic Detector 4.4. IMPROVED DETECTOR 4.4.1. Running the Improved Detector CHAPTER 5: Reactive Behaviors 5.1. AVOIDING OBSTACLES WITH VFF 5.1.1. The Computation Graph 5.1.2. Package Structure 5.1.3. Control Logic 5.1.4. Calculation of the VFF Vectors 5.1.5. Debugging with Visual Markers 5.1.6. Running the AvoidanceNode 5.1.7. Testing During Development 5.2. TRACKING OBJECTS 5.2.1. Perception and Actuation Models 5.2.2. Computation Graph 5.2.3. Lifecycle Nodes 5.2.4. Creating Custom Messages 5.2.5. Tracking Implementation 5.2.6. Executing the Tracker CHAPTER 6: Programming Robot Behaviors with Behavior Trees 6.1. BEHAVIOR TREES 6.2. BUMP AND GO WITH BEHAVIOR TREES 6.2.1. Using Groot to Create the Behavior Tree 6.2.2. BT Nodes Implementation 6.2.3. Running the Behavior Tree 6.2.4. Testing the BT Nodes 6.3. PATROLLING WITH BEHAVIOR TREES 6.3.1. Nav2 Description 6.3.2. Setup Nav2 6.3.3. Computation Graph and Behavior Tree 6.3.4. Patrolling Implementation 6.3.5. Running Patrolling APPENDIX A: Source Code A.1. PACKAGE BR2 BASICS A.2. PACKAGE BR2 FSM BUMPGO CPP A.3. PACKAGE BR2 FSM BUMPGO PY A.4. PACKAGE BR2 TF2 DETECTOR A.5. PACKAGE BR2 VFF AVOIDANCE A.6. PACKAGE BR2 TRACKING MSGS A.7. PACKAGE BR2 TRACKING A.8. PACKAGE BR2 BT BUMPGO A.9. PACKAGE BR2 BT PATROLLING Bibliography Index
Donate to keep this site alive
To access the Link, solve the captcha.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.