当前位置: 首页 > news >正文

「嵌入式->ROS2」为什么是MicroROS?关于选择的考虑。

·各位小伙伴大家好,我又来一边学习一边分享啦。接上一篇文章的设计,今天来分享的是为什么选用MicroROS?MicroROS是可以部署在ESP32、STM32等微控制器上的ROS。

现在能作为主机的板子实在价格昂贵,树莓派等一系列的板子的价格一直居高不下,甚至有人称之为“理财产品”,这是作为我们这些热爱者们不愿意看到的。MicroROS所使用微控制器价格就降低了很多很多了。 但是小小的芯片是没有办法承载整个ROS的结构和功能的,对此,MicroROS很好的规避了这个问题。MicroROS采用的是客户端-代理(Client-Agent)架构,是的,ROS的核心——通信,在MicroROS上依旧熠熠生辉!

MicroROS-Client:他是运行在MCU,也就是如ESP32等微控制器上的客户端。他不直接参与ROS2复杂的DDS通信,而是负责硬件的交互(比如读取IMU、控制电机),将数据通过串口或WiFi等方式发送给代理。

MicroROS-Agent:这是运行在主机(你的电脑、虚拟机、树莓派等板子)上的代理。主要作用是读取来自MCU的数据,翻译成ROS2的消息,与此同时,他也可以将ROS2的命令发送给MCU。

这样你或许还体会不到这有什么优势,我们来对比一下,请先想象以下场景:你是一个手搓机器人的爱好者,是的,你有点穷,但是好在技术高超,自己设计了ESP32的板子,上面涵盖了IMU,电机用的是编码器电器,里程计也有了,雷达你也决定手搓:不就是个激光和光学传感器再加个电机吗?好了,现在你有IMU、里程计、雷达、电机。

传统的方案:

你决定一星期每天只吃一顿饭,然后攒钱买一个树莓派。(现实中大家要认真吃饭,不然会得胃病哦!)对的,树莓派上是有Ubuntu系统的,他是一个主机。

现在你要去实现SLAM(同时定位与建图),由于你的东西都是手搓的,没有底层驱动的支持(以IMU为例),所以你第一步是:使用C语言编写IMU采集到的数据,包括读取引脚、数据接收等一系列的配置工作。现在你获取了原始的数值,你的这块ESP32的板子现在需要通过USB/TTL串口连接在树莓派上,你设计的板子变成了主从机中的从机了。

你发现你的数据好像不是ROS的那种消息类型,只是一些粗糙的,分不清哪个对哪个的数值,并且数据也只是在ESP32上的数据流,主机那边还是什么都没收到呢!第二步:你需要写一个发送数据的串口代码,你必须要设置好波特率、串口号等一系列的配置,除此之外还要约定好你和主机的协议,按照协议发送(从机),按照协议读取(主机)。

如图,这是官方的IMU的消息类型,包含了四元数、角速度、线速度。主机接收后需要填入这个标准的消息中(当然,消息类型可以自定义的)。

接下来, 接下来,为了变成SLAM一部分,你必须对IMU的数据进一步的处理。这通常包括以下几个关键步骤:

  1. 数据预处理:对原始IMU读数进行滤波(如低通滤波)以降低噪声,并进行单位转换(例如将原始ADC值转换为物理量)。
  2. 传感器标定:估计并补偿IMU的零偏(bias)、比例因子(scale factor)和非正交误差,以提高数据精度。
  3. 姿态解算:利用加速度计和陀螺仪数据,通过互补滤波、Mahony滤波或扩展卡尔曼滤波(EKF)等算法,实时计算载体的姿态(俯仰、横滚、偏航角)。
  4. 积分与状态估计:对处理后的角速度和线加速度进行积分,结合其他传感器(如轮式里程计、视觉)的数据,在SLAM框架(如EKF-SLAM、因子图优化)中进行融合,共同估计机器人的位姿和地图。
  5. 时间同步与插值:确保IMU数据与其他传感器(如相机、激光雷达)的时间戳严格对齐,必要时进行插值,为紧耦合的SLAM前端提供高频率的预测。

这样,你的IMU才能初步使用起来,后面还有一系列的步骤需要你去操作。

MicroROS:

现在你决定使用MicroROS的方法,你把电机、雷达等一系列的东西连接在ESP32上,下载了VM,安装了虚拟机。然后使用了WiFi进行通信,是的,不需要在时时刻刻用串口连着你的ESP32板子了。

虚拟机上安装并运行了ROS的环境和MicroROS的agent,而ESP32端也烧好了MicroROS的固件,你现在在ESP32上调用一下:

rcl_publish(&imu_msg)

即可。这时候装载了MicroROS的ESP32也是ROS的生态下,官方的消息格式也是包含的,而且内置了QoS机制,消息可靠、消息兼容。MicroROS的特点是上位机来处理复杂的算法,下位机持续地执行和控制。

传统的方式需要采集、自定义协议、串口发送、USB串口线连接、主机额外编写节点解析数据变成标准的消息格式。

MicroROS方式采集数据后直接填入标准消息格式,采用WiFi的方式给上位机,上位机采用Agent监听,代码量小、有线变成无线、可靠。

http://www.jsqmd.com/news/1243926/

相关文章:

  • Linus Torvalds谈开源技术:Linux、Git、Rust与AI,开源世界如何应对新技术浪潮?
  • 终极指南:如何快速上手OpenHGNN异构图神经网络工具包
  • 三步构建B站会员购自动化购票系统:biliTickerBuy技术解析与实战指南
  • 2026年7月劳力士杭州官方服务网点地址及客服热线权威发布 - 劳力士官方服务中心
  • 亲身到店探访石家庄亨得利**名表服务中心|维修地址及24小时电话(2026年7月更新) - 亨得利官方
  • 出海AIToken中国平台崛起,客易云从“产品输出”迈向“Token化智能输出”
  • Browser-Use:企业级AI浏览器自动化框架的技术架构与应用实践
  • 权威发布:天梭唐山官方2026年7月最新网点地址与全国统一热线电话,售后客服全天候服务 - 天梭服务中心
  • 拆解爆款视频文案怎么做?2026大马工具箱文案提取教程 - 科技大爆炸
  • 全明星阵容聚焦灵巧手!T-Rex如何解决触觉添加难题,推动具身智能发展?
  • PY32 定时器中断回调不执行的解决办法
  • 北京产业园哪家能挂靠注册地址:【博亚信诚】地址稳定 - MXyuyu
  • 2026年7月 口碑好的 济南保安公司加盟平台、保安公司挂靠平台口碑**全面梳理 - 起跑123
  • 熵权法结合层次分析法组合权重➕模糊综合评价根据体育教师胜任力作为案例
  • 自动Cookie刷新功能:Roblox Account Manager让账号永不过期
  • 别再手动开机启动!Systemd 一键搞定所有后台服务
  • extended_text核心功能详解:从特殊文本到自定义背景,一篇搞定所有高级用法
  • 武汉女生适合读什么中职专业 护理 / 高铁 / 美术设计稳定好就业 - 湖北升学规划
  • 深圳长途搬家公司:长途搬家+家电打包避坑指南,2026年跨省搬迁注意事项 - szxybj
  • 2026年保定赵掌柜回收黄金首饰,金条金币铂金回收,竞秀区向阳南大街489号赵掌柜二奢按实时金价结算到手不扣费(185-3117-2838) - 赵掌柜二奢
  • Skills3:如何通过智能技能系统提升开发者300%的工作效率
  • 2026年深圳搬运公司:精密设备搬运+实验室搬迁流程步骤,避免损坏的避坑技巧 - szxybj
  • 拒玩虚的!北京行贿罪案件辩护律师_北京受贿罪律师top5靠谱排行(2026年7月22日最新):专业能力与案例实绩对比 - 奋斗者888
  • Terraspace模块化开发实战:3个案例教你构建可复用的基础设施代码
  • 北京汽车养护服务行业2026 GEO优化公司新**丨生成式引擎优化服务商头部**深度解析 - 企业新闻快传
  • 终极指南:如何用700欧元打造你的智能割草机器人 - OpenMower完整教程
  • 格拉苏蒂中国**售后服务中心|全新热线和维修地址**信息公示(2026年7月更新) - 亨得利官方服务中心
  • stablecoin-evm在Celo网络的部署指南:Fee Adapter与特殊实现
  • NocoBase开发实战:从零构建你的第一个AI+无代码业务系统
  • AI生成商业摄影级图片的7个致命误区:90%设计师踩坑的隐藏雷区,现在规避还来得及