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案例源代码,描绘一个由数学公式到代码复现再到具体应用的奇妙机器人世界。

ROS2零基础快速入门相关推荐

  1. 零基础快速入门web学习路线(含视频教程)

    下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利 ...

  2. python海龟教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 7. 条件循环...

    条件循环能够让程序在条件成立时(即为真时)重复执行循环体中的语句.如果条件一直成立(即永远不会为假),则循环会一直进行下去,不会停止.如果初始时,条件不成立,则循环 1 次也不会执行.Python 中 ...

  3. 【Python零基础快速入门系列 | 03】AI数据容器底层核心之Python列表

    • 这是机器未来的第7篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/124957520 <Python零基础快速入门 ...

  4. 【Python零基础快速入门系列 | 07】浪漫的数据容器:成双成对之字典

    这是机器未来的第11篇文章 原文首发链接:https://blog.csdn.net/RobotFutures/article/details/125038890 <Python零基础快速入门系 ...

  5. 零基础快速入门SpringBoot2.0教程 (三)

    一.SpringBoot Starter讲解 简介:介绍什么是SpringBoot Starter和主要作用 1.官网地址:https://docs.spring.io/spring-boot/doc ...

  6. 【PR】零基础快速入门教程

    [PR]零基础快速入门教程 PR(Premiere)能做什么? PR欢迎界面及新建项目 工作区及窗口说明 导入文件 建立序列 视频剪辑 添加字幕 导出视频 使用软件:Premiere2020 新年卷起 ...

  7. 《Kubernetes零基础快速入门》简介

    容器技术快速入门书<Kubernetes零基础快速入门>,京东当当天猫都有发售.定价59元,打折一下更合适. Kubernetes为容器化的应用提供了资源调度.部署.运行.服务发现.扩容和 ...

  8. Linux零基础快速入门篇

    推荐教程:Linux零基础快速入门到精通 操作系统概述 操作系统是计算机软件的一种,它主要负责:作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作而计算机,如果没有操作系统,就是一堆无法使用 ...

  9. python爬虫实践——零基础快速入门(四)爬取小猪租房信息

    上篇文章我们讲到python爬虫实践--零基础快速入门(三)爬取豆瓣电影 接下来我们爬取小猪短租租房信息.进入主页后选择深圳地区的位置.地址如下: http://sz.xiaozhu.com/ 一,标 ...

最新文章

  1. CTF的一道安卓逆向
  2. matlab火箭升空问题,困扰火箭的三大问题终于要解决了!球迷:我都要膨胀了!...
  3. 从P560小型机B181201B故障代码识别手把手详解
  4. 数据结构之并查集:UF-Tree优化并查集——19
  5. 国盾量子等参与中国量子通信行业首批标准编制 量子通信商用再加速
  6. jquery实现复选框checkbox全选,取消全选
  7. (二)生成深度伪造的方法
  8. 3dmax shift用来复制对象
  9. linux 开发板模拟u盘,ARM-Linux开发 - USB Gadget Storage 制作模拟U盘
  10. Android内存泄露测试
  11. 代码管理学:凡事养成登记的做法,比如依赖库
  12. PCSCHEMATIC ELAUTOMATION.V19.0.1.69中文正式单机版
  13. RTSP视频流开发经验总结
  14. App Extension应用扩展
  15. [已解决]Could not create connection to database server.错误的解决方法
  16. Python爬虫入门教程【7】: 蜂鸟网图片爬取之二
  17. Visio画拓扑图随记
  18. linux查询数据库归档日志,关于 Oracle 归档日志
  19. 2_Gui_Tkinter(python标准库)
  20. html5指南针,HTML5指北针(指南针)网页应用示例

热门文章

  1. 学完计算机网络基础及应用的感想,学习《计算机网络基础知识》心得体会
  2. 有源医疗器械的开发过程和各阶段的注意事项(一)
  3. 三只松鼠、盐津铺子:战略相似,命运迥异
  4. android调用在线天气服务,android通过google api获取天气信息示例
  5. 光标怎么设置sap_设置placeholder光标
  6. 哈尔滨计算机动漫游戏学校,动漫设计_哈尔滨双星计算机职业技术学校
  7. [ECCV 2020] Distribution-balanced loss for multi-label classification in long-tailed datasets
  8. surfacepro3运行C语言,终于等来USB-C接口!微软 发布 Surface Pro 7 与 Surface Laptop 3 笔记本电脑...
  9. 使用python在雅虎财经提取数据的创捷有效边界
  10. 报告发布|“双轮驱动”重磅升级,天猫联合瓴羊、罗兰贝格发布《天猫DTC企业经营指南 :以人为本,品牌致胜》