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吗?
- 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示例代码的许可条款
其他更多详细资料参考文前书籍介绍中的两个链接。
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/104296980
- 点赞
- 收藏
- 关注作者
评论(0)