作为 ROS1 开发人员学习 ROS2 并迁移您的 ROS 项目
ROS1 与 ROS2、ros1_bridge、迁移指南、完整项目 – 发现机器人操作系统,版本 2
讲师:Edouard Renard
口袋资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
你将学到什么
- 对于开发人员来说,ROS1 和 ROS2 之间最重要的区别
- 在 Ubuntu 上安装和设置 ROS2
- 使用 ROS2 编写完整的应用程序
- 使用ros1_bridge包在ROS1和ROS2之间进行通信
- 将 ROS1 项目迁移到 ROS2
- 练习完整的迁移项目
本课程包括:
- 6.5小时点播视频
- 1 篇文章
- 9个可下载资源
- 通过手机和电视访问
- 结业证书
要求
- 您对 ROS1 有一定的了解,能够编写简单的 ROS1 程序
- Ubuntu 20.04 安装在您的计算机上(双启动或虚拟机)+您知道如何在终端中使用基本命令
- Python 和/或 C++ 编程基础知识
- 欢迎了解一些面向对象编程 (OOP) 的基础知识,尽管不是 100% 强制
描述
在本课程结束时 – 从您的 ROS1 知识开始 – 您将能够创建完整的 ROS2 应用程序,并将 ROS1 代码库迁移到 ROS2 中。
!!!重要的 !!!如果您是一个完全的初学者并且完全没有 ROS1 知识,请不要参加本课程。您必须知道如何使用核心概念(节点、服务、参数、启动文件)才能理解课程。
请阅读完整的描述以了解本课程的期望:)
→ 为什么选择这门课程?
好吧,如果您已经了解 ROS1,您可能想开始学习 ROS2,但不是从头开始。
或者,如果您必须使用 ROS1 项目,您可能正在寻找将其移植到 ROS2 的方法。
在学习 ROS2 之前,我本人是一名 ROS1 开发人员。我所寻找的只是一些关于如何快速掌握 ROS2 的文档,因为我已经了解 ROS1。我没有找到任何好的资源,所以我不得不浏览 ROS2 的所有初学者文档。完成所有这些后,我现在正在使用 ROS2,我可以看到差异。在本课程中,我不会从每个 ROS 概念的最开始开始,因为您已经了解它们。我将只关注最重要的几点,这将使您能够立即编写 ROS2 应用程序,这要归功于您预先具备的 ROS1 知识。
我明白现在 ROS2 开始变得更大、更稳定,因此需要知道如何处理现有的 ROS1 项目。所以,再一次,我将教你的是我个人对自己的项目所做的事情。我不会“发明”一种方法,而是根据我和其他人的实际需求来创建它。
→ 课程结构:您可以从课程中获得什么。
本课程分为 2 个主要部分。
1. 首先,您将学习如何利用您的 ROS1 经验编写 ROS2 程序。我们将从现有的 ROS1 应用程序开始,逐步了解每个核心概念,并了解如何在 ROS2 中翻译该应用程序。请注意,我们不会深入研究高级功能,我们将坚持 ROS2 核心功能。
2. 然后,就是迁移时间了!如果您已经具备 ROS2 的一些基础知识,您可能会快速完成第一部分,然后专注于迁移部分。
我向你解释一下:
- 何时切换到 ROS2。
- 现在和不久的将来使用哪个 ROS1 和 ROS2 发行版。
我将为您提供将 ROS1 代码库迁移到 ROS2 的分步过程。此外,您还将看到如何运行 ROS1 应用程序和 ROS2 应用程序,并通过 ros1_bridge 包在它们之间进行通信。
最后:一个完整的项目,供您练习迁移代码库和编写 ROS2 代码。我将给您一个我在 ROS1 中使用 Turtlesim 制作的项目,您将其迁移到 ROS2。
→ 如果您已经了解 ROS1 和一些 ROS2 基础知识怎么办?
好吧,您仍然可以从该课程中受益。您可以浏览第一部分(作为复习),然后转到第二部分,它本身可以被视为一门完整的迷你课程。
第二部分 + 最终项目将为您提供开始使用 ROS1 和 ROS2 以及迁移您自己的代码库所需的答案。
→ 我该如何教学?
我的方法很简单:
- 一步步
- 进入正题
- 实践胜于理论,尽管理论与实践相结合并没有什么坏处
我在机器人操作系统方面的经验非常实用。我实际上用它来构建了一个机械臂,现在已经上市了。所以我别无选择,只能务实、开门见山。这就是我想教你的方式。
如果出现以下情况,本课程不适合您:
- 你对ROS1没有任何了解
- 您已经是 ROS1 和 ROS2 方面的专家了。
- 您刚刚开始接触编程和 Linux。
本课程适合谁:
- 学生、工程师、研究人员、教师、开发人员、爱好者。
- 想要学习ROS2的ROS1开发人员,不是从头开始,而是通过ROS2与ROS1的比较
- 想要将 ROS1 代码库迁移到 ROS2 的 ROS1/ROS2 开发人员
- 希望能够同时使用 ROS1 和 ROS2 的 ROS 开发人员。