首页 > 编程知识 正文

ROS机器人编程:原理与应用,ros ros2

时间:2023-05-06 13:57:01 阅读:274668 作者:3414

书籍介绍: https://www.youtalk.jp/get-started-ros2/https://github.com/youtalk/get-started-ros2ROS2ではじめよう 次世代ロボットプログラミング

封面 作者

近藤 丰

近藤 豊 (こんどう ゆたか、 @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 导航Navigation1-7 操作MoveIt!1-8 没有ROS1的世界第2章 ROS2开发环境设置

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

2-1 安装Ubuntu 18.042-2 禁用ROS1设置2-3 安装ROS22-4 示例代码设置第三章 ROS2的基本功能

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

3-1 ROS1和ROS2的区别3-2 内部架构与ROS1的比较3-3 数据分发服务(DDS)3-4 ROS2前端工具ros23-5 ROS1/2发行版编译工具colcon3-6 主题3-7 服务3-8 参数第4章 ROS2应用功能

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

4-1 启动系统launch4-2 行动action4-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_realsense5-5 导航包navigation25-6 运动计划软件包moveit25-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_autonomy6-4 my_ROS2_create_autonomy6-5 更新package.xml6-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示例代码的许可条款

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

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。