ROS 2 from Scratch: Get started with ROS 2 and create robotics applications with Python and C++
暫譯: 從零開始學習 ROS 2:使用 Python 和 C++ 創建機器人應用程式

Renard, Edouard

相關主題

商品描述

A comprehensive, step-by-step guide to understanding the basics of robotics and creating your own robotics applications within days, not months

Key Features:

- Build a strong foundation in ROS 2 and instill confidence for future robotics projects

- Leverage best practices to create scalable ROS 2 applications with Python and C++

- Follow a step-by-step process to create and simulate a custom robot using ROS 2

- Purchase of the print or Kindle book includes a free PDF eBook

Book Description:

ROS 2 from Scratch, written by the cofounder of a robotics company with years of experience in teaching and engineering, will equip you with the skills necessary to develop cutting-edge robotic systems efficiently.

This book will help you understand why you should use Robot Operating System (ROS), clarifying what ROS is and isn't. It focuses on applied learning-no unnecessary filler, no abstract theory, and no abrupt leaps into complex topics. You'll discover how to install ROS 2, set up your environment, and explore concepts through hands-on experiments, as well as create a ROS 2 application for a custom robot. The chapters expand upon core concepts such as nodes, communication via topics, client-server interactions with services, complex behaviors using actions, runtime configurations with parameters, and seamless node orchestration via launch files. Each concept is clearly explained with the help of real-life analogies and practical examples, using Python and C++. The book will also guide you through creating a real-world project that incorporates TFs, URDF, RViz, and Gazebo.

By the end of this book, you'll be able to create new software for any robot in no time and easily join existing projects for new job roles, research endeavors, and beyond.

What You Will Learn:

- Understand what ROS 2 is, when to use it, and how to use it

- Write ROS 2 programs using nodes, topics, services, actions, and custom interfaces

- Scale your application with parameters and launch files

- Get a complete overview of how TFs work for any ROS-powered robot

- Create a robot model (with URDF) and visualize TFs on RViz

- Adapt the URDF to spawn and control your robot in the Gazebo simulator

Who this book is for:

This book is for engineers, researchers, teachers, students, and hobbyists eager to learn ROS 2 from scratch and build real-world robotics applications efficiently. If you're struggling to get started with ROS 2 or find existing tutorials overwhelming, then this book is for you. This book teaches you all the basics you need to create your own ROS 2 apps, without prior ROS knowledge. Basic Linux command line and Python programming skills (C++ optional for following the C++ code examples) are necessary.

Table of Contents

- Introduction to ROS 2 - What Is ROS 2?

- Installing and Setting Up ROS 2

- Uncovering ROS 2 Core Concepts

- Writing and Building a ROS 2 Node

- Topics - Sending and Receiving Messages between Nodes

- Services - Client/Server Interaction between Nodes

- Actions - When Services Are Not Enough

- Parameters - Making Nodes More Dynamic

- Launch Files - Starting All Your Nodes at Once

- Discovering TFs with RViz

- Creating a URDF for a Robot

- Publishing TFs and Packaging the URDF

- Simulating a Robot in Gazebo

- Going Further - What to Do Next

商品描述(中文翻譯)

一個全面的逐步指南,幫助您在幾天內理解機器人學的基本概念並創建自己的機器人應用,而不是幾個月。

主要特點:
- 在 ROS 2 中建立堅實的基礎,並為未來的機器人專案增強信心
- 利用最佳實踐使用 Python 和 C++ 創建可擴展的 ROS 2 應用
- 按步驟過程創建和模擬自定義機器人,使用 ROS 2
- 購買印刷版或 Kindle 書籍包括免費的 PDF 電子書

書籍描述:
《從零開始學習 ROS 2》由一位擁有多年教學和工程經驗的機器人公司共同創辦人撰寫,將為您提供開發尖端機器人系統所需的技能。

本書將幫助您理解為什麼應該使用機器人操作系統(Robot Operating System, ROS),並澄清 ROS 是什麼以及不是什麼。它專注於應用學習——沒有不必要的填充內容,沒有抽象理論,也沒有突然跳入複雜主題。您將學會如何安裝 ROS 2、設置環境,並通過實驗探索概念,還有為自定義機器人創建 ROS 2 應用。各章節擴展了核心概念,如節點、通過主題進行的通信、使用服務的客戶端-伺服器互動、使用動作的複雜行為、使用參數的運行時配置,以及通過啟動檔無縫的節點編排。每個概念都通過現實生活的類比和實用範例清晰解釋,使用 Python 和 C++。本書還將指導您創建一個包含 TF、URDF、RViz 和 Gazebo 的實際專案。

在本書結束時,您將能夠迅速為任何機器人創建新軟體,並輕鬆加入現有專案,開展新的工作角色、研究工作等。

您將學到的內容:
- 理解什麼是 ROS 2,何時使用它,以及如何使用它
- 使用節點、主題、服務、動作和自定義介面編寫 ROS 2 程式
- 使用參數和啟動檔擴展您的應用
- 獲得有關 TF 如何運作的完整概述,適用於任何 ROS 驅動的機器人
- 創建機器人模型(使用 URDF)並在 RViz 上可視化 TF
- 調整 URDF 以在 Gazebo 模擬器中生成和控制您的機器人

本書適合對象:
本書適合工程師、研究人員、教師、學生和熱衷於從零開始學習 ROS 2 並高效構建實際機器人應用的愛好者。如果您在開始使用 ROS 2 時感到困難或發現現有教程令人不知所措,那麼這本書就是為您準備的。本書教您創建自己的 ROS 2 應用所需的所有基本知識,無需先前的 ROS 知識。基本的 Linux 命令行和 Python 程式設計技能(C++ 是可選的,用於跟隨 C++ 代碼範例)是必要的。

目錄:
- ROS 2 簡介 - 什麼是 ROS 2?
- 安裝和設置 ROS 2
- 揭示 ROS 2 核心概念
- 編寫和構建 ROS 2 節點
- 主題 - 在節點之間發送和接收消息
- 服務 - 節點之間的客戶端/伺服器互動
- 動作 - 當服務不足時
- 參數 - 使節點更具動態性
- 啟動檔 - 一次啟動所有節點
- 使用 RViz 探索 TF
- 為機器人創建 URDF
- 發佈 TF 和打包 URDF
- 在 Gazebo 中模擬機器人
- 更進一步 - 接下來該做什麼