Repo symbol

ros2_for_beginners_code repository

tutorials ros2
Repo symbol

ros2_for_beginners_code repository

tutorials ros2
Repo symbol

ros2_for_beginners_code repository

tutorials ros2
Repo symbol

ros2_for_beginners_code repository

tutorials ros2

Repository Summary

Description Code for the book "ROS 2 Programming - Based on Modern C++ and Python 3" 《ROS 2机器人编程实战——基于现代C++和Python 3》配套代码及相关内容维护
Checkout URI https://github.com/homalozoa/ros2_for_beginners_code.git
VCS Type git
VCS Version main
Last Updated 2024-10-24
Dev Status UNKNOWN
Released UNRELEASED
Tags tutorials ros2
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

ros2_for_beginners_code

cover

一、简介

本项目囊括了书籍《ROS 2机器人编程实战——基于现代C++和Python 3》的各章节配套代码,意在将书中例程完整呈现,以便帮助读者更好地理解书中内容。

二、开发环境配置

为保证能够将项目代码顺利编译、运行、修改及调试,读者需要根据自身当前的软硬件开发环境,对ROS 2进行部署。

由于不同操作系统的软件管理机制不同,ROS 2的开发环境搭建需要根据不同的操作系统(Linux、Windows和macOS)进行相应的配置。

ROS 2相关软件发行分为源码发行与二进制发行两种方式。需要注意的是,源码发行是面向全平台的(Windows,Linux,macOS)且不约束其版本;而二进制发行为了保障适配性,基于不同的操作系统版本,发行了相应的ROS 2的版本,如ROS 2的Foxy发行版首要支持Ubuntu Focal(20.04),macOS Mojave(10.14)和Windows 10。这就要求基于二进制发行版本安装的读者进行版本的对应。

二进制安装参考说明

  • https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html
  • https://docs.ros.org/en/humble/Installation/Alternatives/RHEL-Install-Binary.html

以上网址给出的是Ubuntu下Debian的安装说明,及Humble版本的RPM安装说明。读者需要根据自己的操作系统及ROS 2软件版本需求,在 https://docs.ros.org/ 找到合适的安装说明。

源码安装参考说明

  • https://docs.ros.org/en/humble/Installation/Ubuntu-Development-Setup.html

此部分可结合书中1.1.3~1.1.4完成.

三、示例代码简介

1.功能包的构建与测试

本节对应书中2.1.2节的内容,在此项目中目录结构如下图,学习的关键点为以下几点:

  • 通过ros2 pkg生成功能包ch2_pkg_cpp以及ch2_pkg_py的过程

  • 如何配置并修改package.xml、setup.py及CmakeLists.txt

  • 尝试merge以及symlink两种构建指令,比较构建结果的不同,以及构建指令与test指令的关系

ros2_for_beginners_code
         |
         |-ch2
            |
            |-package
                 |-ch2_pkg_cpp
                 |-ch2_pkg_py

2.节点与节点执行器

本节对应书中2.2.1节的内容,在此项目中目录结构如下图,学习的关键点为以下几点:

  • 节点的创建方法

  • 节点与线程、进程的关系

  • 节点执行器的配置,包括线程配置和回调操作配置

  • 节点的package.xml及CmakeLists.txt配置

  • 节点的简单调试

ros2_for_beginners_code
         |
         |-ch2
            |-node
               |-ch2_node_cpp
               |-ch2_node_py

3. 日志的基本分类

本节对应书中3.1.1节的内容,在此项目中目录结构如下图,学习的关键点为以下几点:

  • 日志的分类,rclcpp和rclpy的日志接口设计

  • 收集和查阅历史日志的方法

  • 日志使用的技巧

ros2_for_beginners_code
         |
         |-ch3
            |-logging
               |-ch3_logging_cpp
               |-ch3_logging_py

4. 使用启动脚本

本节对应书中3.2节的内容,在此项目中目录结构如下图,学习的关键点为以下几点:

  • 使用ros2launch启动单个/多个进程

  • 使用colcon进行构建并部署

File truncated at 100 lines see the full file

Repo symbol

ros2_for_beginners_code repository

tutorials ros2
Repo symbol

ros2_for_beginners_code repository

tutorials ros2
Repo symbol

ros2_for_beginners_code repository

tutorials ros2
Repo symbol

ros2_for_beginners_code repository

tutorials ros2