ROS2新书推荐-从ROS2入门下一代机器人操作系统编程

书籍介绍:

ROS2ではじめよう 次世代ロボットプログラミング


封面


作者

近藤 丰

近藤 豊 (こんどう ゆたか、 @youtalk )

株式会社Preferred Networks エンジニア。ROS Japan Users Group を主宰。奈良先端科学技術大学院大学 情報科学研究科 博士後期課程 修了 博士 (工学)。


概述

下一代机器人操作系统ROS2是用于机器人应用程序开发的中间件。ROS2与ROS1不直接兼容,因为基于ROS1的经验已经在很大程度上重新实现了ROS2。就安全性而言,ROS1不适合商用机器人开发,因为通信内容未加密并且没有身份验证功能。从安全性、可维护性、许可和商业支持等多个角度对ROS2进行了重构完善,并且从开发开始就对其进行了重新设计,目的是将ROS2集成到产品中。

本书是ROS2的简介和入门,它将成为未来机器人应用程序开发的事实上的标准。它涵盖了从基本操作到连接方法以利用ROS1资源和程序包开发方法的所有内容。本书中的示例代码是C++,但它也使用其他编程语言实现客户端库(如Python)。ROS1仅在Ubuntu上可用(改,ROS1Melodic适用于Linux、Windows和MacOS),但是ROS2将在Windows和macOS上可用,并且预计用户数量会增加。还说明了主要OS开发环境的设置。这本书不仅对那些想开始机器人开发的人有用,而且对ROS1用户也很有用。

本书的纲要

引言

这是ROS的概述。

  • 什么是ROS
  • 为什么使用ROS2
  • 为什么写这本书
  • 本书的结构
  • 本书的读者
  • 必备知识
  • 在线资源

第1章 ROS1之旅

对于不了解或使用过ROS1的人,本节将介绍ROS1所具有的功能。如果使用过ROS1,则可以跳过它。

  • 1-1 ROS的历史
  • 1-2 ROS1开发环境设置
  • 1-3 世界您好!
  • 1-4 传感器
  • 1-5 Gazebo模拟
  • 1-6 导航Navigation
  • 1-7 操作MoveIt!
  • 1-8 没有ROS1的世界

第2章 ROS2开发环境设置

设置ROS2开发环境。将继续使用Ubuntu 18.04,这是ROS最容易设置的操作系统,但是ROS2与Windows 10和macOS兼容。请参阅附录以在其他操作系统上进行安装。

  • 2-1 安装Ubuntu 18.04
  • 2-2 禁用ROS1设置
  • 2-3 安装ROS2
  • 2-4 示例代码设置

第三章 ROS2的基本功能

首先,比较ROS1和ROS2以了解为什么需要ROS2。之后,将介绍ROS2的改进的消息通信功能。它还介绍了支持消息通信的DDS(数据分发服务)技术,ROS2命令行界面和构建工具。

  • 3-1 ROS1和ROS2的区别
  • 3-2 内部架构与ROS1的比较
  • 3-3 数据分发服务(DDS)
  • 3-4 ROS2前端工具ros2
  • 3-5 ROS1/2发行版编译工具colcon
  • 3-6 主题
  • 3-7 服务
  • 3-8 参数

第4章 ROS2应用功能

在ROS2中引入新功能和改进功能。如果能够理解和使用这些概念,那么可以说已经掌握了ROS2吗?

扫描二维码关注公众号,回复: 9590349 查看本文章
  • 4-1 启动系统launch
  • 4-2 行动action
  • 4-3 生命周期
  • 4-4 服务质量(QoS)
  • 4-5 DDS供应商实施更改
  • 4-6 安全
  • 4-7 与ROS1节点的互连
  • 4-8 实时控制

第5章 ROS2的工具/软件包

尽管ROS2已经使用了两年多,但并非所有ROS1软件包都已迁移到ROS2。这里介绍了当前正在迁移的软件包中最重要的软件包。

  • 5-1 ROS2的进展
  • 5-2 rosbag2主题记录/播放工具
  • 5-3 rviz2可视化工具
  • 5-4 RealSense驱动程序ros2_intel_realsense
  • 5-5 导航包navigation2
  • 5-6 运动计划软件包moveit2
  • 5-7 Gazebo模拟协作

第6章 将Roomba的ROS1驱动程序迁移到ROS2

经验丰富的ROS1软件包开发人员在学习了ROS2的基本功能,应用功能和现有软件包之后,将希望使其ROS1软件包与ROS2兼容。在本章中,将通过迁移工作学习实用的ROS2编程,以使iRobot的Roomba ROS1驱动程序与ROS2兼容。

  • 6-1 Roomba和ROS的历史
  • 6-2 获取串行通讯电缆
  • 6-3 Roomba /创建ROS1驱动程序create_autonomy
  • 6-4 my_ROS2_create_autonomy
  • 6-5 更新package.xml
  • 6-6 更新消息,服务和操作定义
  • 6-7 更改编译系统
  • 6-8 更新源代码
  • 6-9 小结

第7章 Python客户端库rclpy

本书使用C++ 14作为源代码示例的编程语言。维护最广泛的官方ROS2客户端库是客户端库的C ++版本〜rclcpp〜。在本章中,除了其他编程语言之外,本章还介绍了脚本语言Python3客户端库〜rclpy〜,并说明其编程方法。

  • 7-1 ROS2客户端库
  • 7-2 软件包配置
  • 7-3 主题示例
  • 7-4 服务示例
  • 7-5 行动示例

结论

最后,总结一下对本书的热爱。致谢读完本书的读者以及帮助编写本书的朋友伙伴。

  • ROS2技术指导委员会
  • 问卷调查
  • 出版
  • 致谢

附录

本节介绍了Ubuntu 18.04以外的OS的安装过程,以及本文未涵盖的示例代码的许可条款。此外,将为高级用户介绍ROS2编程技术,其内容将比第3章和第4章介绍的内容更多。

  • A-1面向组件的ROS2节点编程
  • Windows 10上的A-2开发环境设置
  • 在macOS Mojave上设置A-3开发环境
  • A-4示例代码的许可条款

其他更多详细资料参考文前书籍介绍中的两个链接。


发布了472 篇原创文章 · 获赞 1300 · 访问量 214万+

猜你喜欢

转载自blog.csdn.net/ZhangRelay/article/details/104296980