𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

A Concise Introduction to Robot Programming with ROS2

✍ Scribed by Francisco Martín Rico


Publisher
Chapman and Hall/CRC
Year
2022
Tongue
English
Leaves
265
Edition
1
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


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.

    ✦ Table of Contents


    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


    πŸ“œ SIMILAR VOLUMES


    A Concise Introduction to Robot Programm
    ✍ Francisco MartΓ­n Rico πŸ“‚ Library πŸ“… 2022 πŸ› CRC Press/Chapman & Hall 🌐 English

    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 previo

    Programming Robots with ROS: A Practical
    ✍ Morgan Quigley, Brian Gerkey, William D. Smart πŸ“‚ Library πŸ“… 2015 πŸ› O'Reilly Media 🌐 English

    <div><p>Want to develop novel robot applications, but don’t know how to write a mapping or object-recognition system? You’re not alone, but you’re certainly not without help. By combining real-world examples with valuable knowledge from the Robot Operating System (ROS) community, this practical book

    Programming Robots with ROS: A Practical
    ✍ Morgan Quigley, Brian Gerkey, William D. Smart πŸ“‚ Library πŸ“… 2015 πŸ› O'Reilly Media 🌐 English

    Want to develop novel robot applications, but don't know how to write a mapping or object-recognition system? You're not alone, but you're certainly not without help. By combining real-world examples with valuable knowledge from the Robot Operating System (ROS) community, this practical book provide

    Programming Robots with ROS: A Practical
    ✍ Morgan Quigley, Brian Gerkey, William D. Smart πŸ“‚ Library πŸ“… 2015 πŸ› O’Reilly Media 🌐 English

    <div><p>Want to develop novel robot applications, but don’t know how to write a mapping or object-recognition system? You’re not alone, but you’re certainly not without help. By combining real-world examples with valuable knowledge from the Robot Operating System (ROS) community, this practical book

    A Systematic Approach to Learning Robot
    ✍ Wyatt Newman πŸ“‚ Library πŸ“… 2017 πŸ› Chapman and Hall/CRC 🌐 English

    A Systematic Approach to Learning Robot Programming with ROS provides a comprehensive, introduction to the essential components of ROS through detailed explanations of simple code examples along with the corresponding theory of operation. The book explores the organization of ROS, how to understand

    A Systematic Approach to Learning Robot
    ✍ Wyatt Newman πŸ“‚ Library πŸ“… 2017 πŸ› CRC Press 🌐 English

    <P><STRONG>A Systematic Approach to Learning Robot Programming with ROS</STRONG> provides a comprehensive, introduction to the essential components of ROS through detailed explanations of simple code examples along with the corresponding theory of operation. The book explores the organization of ROS