Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Learn ROS2 as a ROS1 Developer and Migrate Your ROS Projects

Học ROS2 dành cho Lập trình viên ROS1 và Di chuyển Dự án ROS của Bạn

Học ROS2 dành cho Lập trình viên ROS1 và Di chuyển Dự án ROS của Bạn

So sánh ROS1 và ROS2, ros1_bridge, Hướng dẫn Di chuyển, Dự án Hoàn chỉnh - Khám phá Hệ điều hành Robot, Phiên bản 2

4.6
(120 đánh giá)
999 học viên
Giảng viên
Edouard Renard
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
7.0 giờ video
51 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Những điểm khác biệt quan trọng nhất giữa ROS1 và ROS2 dành cho Nhà phát triển
Cài đặt và thiết lập ROS2 trên Ubuntu
Viết ứng dụng hoàn chỉnh với ROS2
Giao tiếp giữa ROS1 và ROS2 sử dụng gói ros1_bridge
Di chuyển một dự án ROS1 sang ROS2
Thực hành với một dự án di chuyển hoàn chỉnh

Yêu cầu

Bạn đã có hiểu biết cơ bản về ROS1 và có thể viết các chương trình ROS1 đơn giản
Đã cài đặt Ubuntu 20.04 trên máy tính (khởi động kép hoặc máy ảo) + bạn biết cách sử dụng các lệnh cơ bản trong terminal
Kiến thức lập trình cơ bản bằng Python và/hoặc C++
Một số kiến thức cơ bản về Lập trình Hướng đối tượng (OOP) sẽ rất hữu ích, mặc dù không bắt buộc 100%

Đối tượng phù hợp

Dành cho Sinh viên, Kỹ sư, Nhà nghiên cứu, Giảng viên, Nhà phát triển, Người đam mê.
Lập trình viên ROS1 muốn học ROS2, không phải từ đầu, mà bằng cách so sánh ROS2 với ROS1
Lập trình viên ROS1/ROS2 muốn di chuyển mã nguồn ROS1 sang ROS2
Lập trình viên ROS muốn có khả năng làm việc với cả ROS1 và ROS2.

Nội dung khóa học

7 phần • 51 bài giảng
1 Chào mừng bạn!
2 Khi nào nên chuyển sang ROS2?
3 Cách tận dụng tối đa khóa học này
4 Thiết lập môi trường cho khóa học
1 Giới thiệu
2 Cài đặt ROS2 Foxy (Ubuntu 20.04) và Thiết lập Môi trường của Bạn
3 Khởi động một Node ROS2 và Làm quen với Các công cụ ROS2
4 ROS1 vs ROS2: Những Khác biệt Đầu tiên (tổng quan nhanh)
1 Giới thiệu
2 Cài đặt ROS1 Noetic để Kiểm tra Ứng dụng ROS1
3 Ứng dụng ROS1 Chúng ta sẽ Sử dụng
4 Cài đặt colcon
5 Tạo một Workspace ROS2
6 Tạo một Package (Python)
7 Tạo một Package (C++)
8 Tạo một Node (Python)
9 Tạo một Node (Python) với OOP
10 Tạo một Node (C++)
11 Tạo một Node (C++) với OOP
12 Mẫu cho Các Node OOP của Bạn
1 Viết Publisher/Subscriber cho Topic (Python)
2 Viết Publisher/Subscriber cho Topic (C++)
3 Tạo Interface Tùy chỉnh (Msg/Srv)
4 Viết một Service (Python)
5 Viết một Service (C++)
6 Remappings trong ROS2
7 Parameters ROS2 - Điều gì đã Thay đổi?
8 Khai báo Parameters của Bạn (Python/C++)
9 Lấy Parameters Từ Mã của Bạn (Python)
10 Lấy Parameters Từ Mã của Bạn (C++)
11 Tạo một Launch File
1 Giới thiệu
2 CẬP NHẬT - Lưu ý về ros1_bridge
3 Các bước Di chuyển Mã nguồn Sử dụng ros1_bridge
4 Cài đặt và Kiểm tra ros1_bridge
5 Bridge Thông điệp Tùy chỉnh [1/4] - Lý do + Thiết lập
6 Bridge Thông điệp Tùy chỉnh [2/4] - Quy trình Cài đặt
7 Bridge Thông điệp Tùy chỉnh [3/4] - Chạy Ứng dụng với ROS1 và ROS2
8 Bridge Thông điệp Tùy chỉnh [4/4] - Quy tắc Ánh xạ
9 Sử dụng ros1_bridge với Ứng dụng Number của chúng ta
1 Giới thiệu Dự án - Khám phá Ứng dụng ROS1
2 Giới thiệu Dự án - Các bước Dự án
3 Bước 0 - Chuyển đổi Mã sang ROS1 Noetic
4 [ĐỪNG BỎ QUA] Trước khi tiếp tục - Tải xuống mã khởi đầu cho dự án ROS2
5 Bước 1 - Di chuyển Thông điệp Tùy chỉnh và Thiết lập ros1_bridge
6 Bước 2 - Chuyển đổi Node Target Publisher
7 Bước 3 - Chuyển đổi Node Turtle Controller
8 Bước 4 - Tạo một Launch File
9 Kết luận Dự án + Các cải tiến
1 Những việc cần làm tiếp theo
2 Bài giảng Bổ sung

Giới thiệu khóa học

At the end of this course - starting from your ROS1 knowledge - you will be able to create complete ROS2 applications, and migrate a ROS1 code base in ROS2.

! IMPORTANT: If you’re a complete beginner and have no ROS1 knowledge at all, please don’t take this course. You must know how to work with core concepts (nodes, services, parameters, launch files) to understand the course.

! UPDATE - PLEASE READ: the ros1_bridge + migration part is not so relevant anymore, as the ros1_bridge project was not really completed, and it looks a bit abandoned (unfortunately, no alternative). I'm still leaving the course open for enrollments, because the first 4 sections are still very useful.


-- Why this course?


Well, if you already know ROS1, you might want to start learning ROS2, but not from scratch.

Or if you have to work with a ROS1 project, you might be looking into a way to port it to ROS2.

I myself was a ROS1 developer before learning ROS2. What I was looking for was simply some documentation of how I could quickly get up to speed with ROS2, as I already knew ROS1. I didn’t find any good resources, so I had to go through all of the beginner documentation for ROS2. After doing all that, I’m now using ROS2 and I can see the differences. In this course I won’t start from the very beginning of each ROS concept, since you already know them. I’ll just focus on the most important points that will allow you to write ROS2 applications in no time, thanks to your pre-existing ROS1 knowledge.

And I understand the need to know what to do with an existing ROS1 project, now that ROS2 is starting to get bigger and more stable. So, again, what I’ll teach you is what I personally do with my own projects. I don’t “invent” a method, I create it from real practical needs I have and other people have.


-- How do I teach?

My method is quite simple:

  • Step by step

  • Going to the point

  • Practice over theory, though a little bit of theory doesn’t hurt when combined with practice

My experience with Robot Operating System is very practical. I actually used it to build a robotic arm that is now on the market. So I had no other choice than being practical and going to the point. And that’s the way I want to teach you.


-- What will you do in the course?


This course is divided into 2 main parts.

1. First, you’re going to learn how to write ROS2 programs, using your ROS1 experience. We’ll start from an existing ROS1 application, and step by step, we’ll go through every core concept and see how to translate the app in ROS2. Note that we won’t dive into advanced functionalities, we’ll stick to the ROS2 core functionalities.

2. Then, it’s migration time! If you already have some basics in ROS2, you might go quickly with the first part, and then focus on this migration part.

I will explain to you:

  • When to switch to ROS2.

  • Which ROS1 and ROS2 distribution to use now and in the near future.

I will give you a step-by-step process to migrate your ROS1 code base in ROS2. Also you’ll see how to run a ROS1 application along with a ROS2 application, communicating between them thanks to the ros1_bridge package.

And finally: a complete project for you to practice on migrating a code base and writing ROS2 code. I’ll give you a project I made with Turtlesim in ROS1, and you’ll migrate it to ROS2.

Note: once again, for this 2nd part of the course, unfortunately the content starts to get outdated, as the ros1_bridge development didn't go through, and there is no alternative to that. The first part is still relevant.


This course is not for you if:

  • You don’t have any knowledge in ROS1

  • You’re already an expert in both ROS1 and ROS2.

  • You’re just getting started with programming and Linux.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Robotics
ROS Actions

ROS Actions

Edouard Renard

4.7 (149)
1,634
50.000đ -86%
Hiển thị tất cả khoá học Ros
Hiển thị tất cả khoá học Ros2
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊