ROS2 | 实战


1 ROS2概述

  ROS2是ROS的进阶版本,ROS的全称为机器人操作系统(Robot Operating System),但它本身并不是一个操作系统。它只是一个由很多独立软件和工具集合而成的库,可以将它类比于openCV,它是需要被安装在已有的操作系统上(Linux、Windows、Mac)才能使用的。

  对于能落地的机器人项目而言,使用最频繁的只是ROS的三大通信机制,包括话题、服务和action。其它的功能只是作为一种快速调试和验证的方案。例如:rviz2用来显示与验证雷达点云、地图效果等信息;gzabe是快速验证方案可行性及调试逻辑策略的模拟器。故此,掌握了三大通信机制就可以快速的融入机器人开发中,将更多精力深入slam和navigation等算法中。

  为何在落地的机器人项目中需要使用ROS的通信机制呢?因为ROS采用节点化的设计方式,每个节点是可以独立运行、开发和调试的。不同节点之间通过多种通信机制进行交互。这满足了机器人项目的基础需求,因为一个完整的机器人项目是复杂的,它需要由很多模块组成,模块之间是需要各种交互且由多人同时开发。若只有独立的一个进程,即影响了开发进度,在遇到问题时也无法立马追查到问题出现的模块。
  以下形象的描述了三个节点(进程)进行交互的过程[摘自ROS2官网]。
在这里插入图片描述
  本专栏将重点实用ROS2的通信机制,将采用工程上最常用的C++语言对其进行实现。本专栏是一类实用的教程,而非理论介绍与描述。毕竟最终目的是项目落地实现商业化而非学术性质。为了照顾从零开始学习的同学,本专栏的实战教程分为基础和进阶教程。

2 ROS2实战教程

2.1 基础教程

  教程源码:gorilla_ros_tutorials

2.2 进阶教程

  • ROS2进阶 | 封装topic发布器
  • ROS2进阶 | 封装topic订阅器
  • ROS2进阶 | 执行器Executor
  • ROS2进阶 | 重新封装topic订阅器
  • ROS2进阶 | 封装service客户端
  • ROS2进阶 | 封装service服务端
  • ROS2进阶 | 封装action客户端
  • ROS2进阶 | 封装action服务端
  • ROS2进阶 | 多机与单机通信

3 ROS2高阶教程

  高阶教程不会对外公布,有需求请私信

  • ROS2高阶 | ROS2源码下载
  • ROS2高阶 | ROS2源码编译
  • ROS2高阶 | 源码裁剪 …
  • ROS2高阶 | x86平台与ARM平台一键编译与应用
  • ROS2高阶 | logger的时间戳修改
  • ROS2高阶 | 性能(CPU与内存)优化

4 加入我们

  目前博主正在组建机器人技术交流群,囊括ROS、SLAM、NAVIGATION。技术人以技术为主,大家互相学习,互相监督,共同成长。有兴趣的小伙伴请加入我们(Job_roy)。让我们从理论出发,回归于实践中。

5 订阅须知

  上面给出的实战教程内容为大致大纲,后面可能会有顺序和内容的调整,但可以保证内容质量只增不减。
  基础教程部分会免费开放,其它基础部分和进阶部分会进行付费订阅,望理解。
  更新频率大致为一周两篇,篇篇都是精品。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值