ROS2零基础快速入门

举报
zhangrelay 发表于 2021/07/15 03:00:13 2021/07/15
【摘要】 ROS2入门最快需要多少时间?3天; ROS2开发一款基础机器人需要多久?3个星期; ROS2怎么才能算“精通”?不可能,3年也不行…… 如何判断一款通用性软件成熟并可以投入精力去学习呢? 一个最简洁的标准就是全平台(Windows、MacOS、Linux……) +全语言支持(C++、Python、Java……) 有句毒鸡汤不知道该不该讲…… 叫做合格的程...

ROS2入门最快需要多少时间?3天;

ROS2开发一款基础机器人需要多久?3个星期;

ROS2怎么才能算“精通”?不可能,3年也不行……

如何判断一款通用性软件成熟并可以投入精力去学习呢?

  • 一个最简洁的标准就是全平台(Windows、MacOS、Linux……)

  • +全语言支持(C++、Python、Java……)

有句毒鸡汤不知道该不该讲…… 叫做合格的程序员都该会点Linux,我不赞同。 不论是理论还是应用,都不依托系统平台实现,或者说好的软件是跨平台的。

那么,ROS2符合这样标准吗?2019年5月之后的ROS1和2都符合。

为什么要学习ROS2?

  • 如果喜欢钻研机器人,推荐

  • 如果对机器人无感,不推荐

  • 不要试图通过学习ROS入门或者研究机器人(学)

  • 先有机器人(学)……然后才有ROS……

如何避免入门后无方向感?

  • ROS本来就没有方向,“通讯架构平台”何来方向一说?

  • 学ROS之前,如果没有明确目标,学完后依然不会有

  • 这个问题和ROS无关,不要通过学习一门工具,去探索人生的方向性……

目前github上:

  1. ROS1(1.2k star):https://github.com/ros/ros

  2. ROS2(1.4k star):https://github.com/ros2/ros2

ROS1和2官网入门教程已经趋于一致,不要通过学习ROS1掌握ROS2,如果之前没有接触过ROS,可以直接了解一下ROS2,有需要再学习,“ROS不是万能的”。

这里给出课程中提供的两个ROS2资料:

  1. ROS2 190912:链接:https://share.weiyun.com/5P5Z4HP 密码:hxdnvx

  2. 机器人操作系统ROS2浅析:链接:https://share.weiyun.com/5ma4aPa 密码:xaacrd

零基础快速入门ROS2的基础知识点:

  • 节点:ROS中的每个节点用于实现单个模块功能(例如,一个节点用于控制电机,一个节点用于控制激光测距仪等)。每个节点都可以通过主题topic,服务service,行动action或参数param向其他节点发送和接收数据。一个完整的机器人系统由许多协同工作的节点组成。在ROS 2中,单个可执行文件(C ++程序或Python程序等)可以包含一个或多个节点。(https://blog.csdn.net/ZhangRelay/article/details/103476650

  • 主题:ROS 2将复杂的系统分解为许多模块化的节点。主题是ROS图(ROS graph)的重要元素,功能为节点交换消息的总线。节点可以将数据发布到任意数量的主题,与此同时,可以实现对任意数量主题的订阅。主题是节点间数据交互的重要方式,同样也适用于系统各种不同模块之间的交互。(https://blog.csdn.net/ZhangRelay/article/details/103477891

  • 服务:服务是ROS图中节点通信的另一种方法。 服务基于调用-响应模型,不同于主题的发布-订阅模型。 主题实现节点订阅数据流并获得连续更新,但是服务仅在客户端专门调用它们时才提供数据。(https://blog.csdn.net/ZhangRelay/article/details/103493612

  • 参数:参数是节点的配置值。 可以将参数视为节点设置。 节点可以将参数存储为整数、浮点数、布尔值、字符串和列表。 在ROS 2中,每个节点都维护自己的参数。 所有参数都是可以动态重新配置的,并且是基于ROS 2服务构建的。(https://blog.csdn.net/ZhangRelay/article/details/103495888

  • 行动:行动action是ROS 2中用于长时间运行任务的通信类型之一。 它由三部分组成:目标,结果和反馈。行动基于主题和服务。 它们的功能与服务相似,但行动是可抢占的模式(即,可以在执行时将其取消)。 与返回单个响应的服务不同,它们还提供稳定的反馈(过程状态反馈)。行动使用客户端-服务器端模型,类似于发布者-订阅者模型(已经在主题教程中进行了介绍)。 “行动客户端”节点将目标发送到“行动服务器”节点,该节点确认目标并返回反馈流和一个结果。(https://blog.csdn.net/ZhangRelay/article/details/103496999

  • 启动:启动文件launch可以同时启动和配置许多包含ROS 2节点的可执行文件。(https://blog.csdn.net/ZhangRelay/article/details/103498784

  • 工具:rqt、logger、bag和doctor等。(https://blog.csdn.net/ZhangRelay/article/details/103500469

很多朋友留言建议使我受益匪浅,后续内容将以源码分析为主,戏说那些有趣又实用的ROS案例源代码,描绘一个由数学公式到代码复现再到具体应用的奇妙机器人世界。

文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。

原文链接:zhangrelay.blog.csdn.net/article/details/103508738

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。