动手学ROS2-Foxy
各位同学大家好,我是小鱼,很高兴能和你一起学习机器人,学习ROS2。
1.为什么要学习ROS2?
随着智能制造2025的到来,国内机器人行业也随之兴起,越来越多的小伙伴接触并学习了ROS,国内关于ROS的教程也越来越多。
ROS2作为第二代机器人操作系统,比ROS更加的强大,有一些在ROS中不好实现或者无法实现的功能,在ROS2中就可以找到方法。
虽然ROS2很强大,但国内相关教程较少,影响大家对ROS2的了解和学习。所以本课程从基础开始讲起,带大家一起动手学ROS2。
本教程文字版课程还在随着ROS2的更新,不断的更新中,大家可以关注小鱼个人的微信公众号《鱼香ROS》,加入技术交流群第一时间获取更新通知
2.学了本课程能够做什么?
本课程为机器人学习实践基础课程,可以为您进一步学习机器人技术奠定基础,比如:
-
基于ROS2的移动机器人导航仿真 动手学ROS2-RO2机器人建图导航仿真demo_哔哩哔哩_bilibili
-
基于ROS2的Moveit2的机械臂运动规划《动手学Moveit2-探索篇1》Ubuntu20安装ROS2和Moveit2-编译例程,运动规划
-
基于ROS2的多机器人协同研究 Introduction - Programming Multiple Robots with ROS 2 等
在本课程中你可以收获以下知识:
-
掌握ROS2的概念,了解ROS2和ROS1之间的异同
-
掌握安装Ubuntu系统和ROS2
-
掌握ROS2节点和工作空间概念及编译工具的使用
-
学会编写ROS2的C++和Python节点
-
掌握ROS2话题和服务通信机制以及Python和C++实现
-
掌握ROS2参数通信机制并了解Action通信机制
-
掌握ROS2常用工具如RQT、ROS2bag、ROS2launch等
3.本教程适合学习对象有哪些?
本教程会从最基础的部分开始讲起,章节中会穿插扩展阅读部分,帮助大家学习掌握,本教程主要适合人群有:
-
机器人相关的大学生和的研究生们
-
已有ROS基础想要了解ROS2的在职工程师
-
想要转行从事机器人的小伙伴
-
其他想要学习了解机器人技术的同学们
3.1 没有机器人基础可以学习吗?
没有任何问题,即使你不是机器人相关专业也没事,小鱼会在教程中给大家讲解。
3.2 没有编程基础可以学习吗?
本教程使用Python和C++编程语言实现,大家只需要掌握其中之一即可。
如果没有任何编程基础的小伙伴,可以简单的学习一下Python语言,两三天就可以上岗了。
4.课程介绍
4.1 课程规划
4.1.1 一期课程
本教程一期为1到6章为基础环节,主要介绍了ROS2的基本使用
-
第 1 章 ROS2介绍
-
第 2 章 准备环境与安装ROS2
-
第 3 章 ROS2基础知识
-
第 4 章 ROS2通信机制(话题与服务)
-
第 5 章 ROS2通信机制(参数与Action)
-
第 6 章 ROS2工具介绍
4.1.2 二期课程安排
机器人进阶环节
-
第 7 章 机器人基础
-
第 8 章 机器人建模
-
第 9 章 机器人仿真
10到11章为实战环节
-
第 10 章 综合案例一:SLAM导航仿真
-
第 11 章 综合案例二:MoveIt机械臂建模
4.2 软件版本
-
ROS2版本:foxy
-
系统版本:Ubuntu20.04
5.关于小鱼
小鱼目前主要在做基于ROS的复合机器人相关的工作,坐标深圳,有时间的小伙伴周末一起来喝个茶。
同时这也是小鱼第一次录制系列性的课程,有不足之处还请大家多多包涵!
因为制作时间仓促和作者个人能力有限,教程之中难免有错误之处,如果你有发现请联系小鱼,小鱼将第一时间修正。
最后欢迎关注小鱼的微信公众号《鱼香ROS》,和小鱼一起学习ROS2。公众号下方有小鱼的个人微信和机器人技术交流群,有问题可以联系。
参考资料
-
ROS2官方文档:ROS 2 Documentation — ROS 2 Documentation: Foxy documentation
-
ROS2教学视频:ROS2基础入门教程_哔哩哔哩_bilibili
-
项目源码地址:GitHub - fishros/ros2_town: ROS2镇长和他可爱的村民们的生活故事