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

发布时间:2026/7/22 22:09:37

「嵌入式->ROS2」为什么是MicroROS?关于选择的考虑。
·各位小伙伴大家好我又来一边学习一边分享啦。接上一篇文章的设计今天来分享的是为什么选用MicroROSMicroROS是可以部署在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的数据进一步的处理。这通常包括以下几个关键步骤数据预处理对原始IMU读数进行滤波如低通滤波以降低噪声并进行单位转换例如将原始ADC值转换为物理量。传感器标定估计并补偿IMU的零偏bias、比例因子scale factor和非正交误差以提高数据精度。姿态解算利用加速度计和陀螺仪数据通过互补滤波、Mahony滤波或扩展卡尔曼滤波EKF等算法实时计算载体的姿态俯仰、横滚、偏航角。积分与状态估计对处理后的角速度和线加速度进行积分结合其他传感器如轮式里程计、视觉的数据在SLAM框架如EKF-SLAM、因子图优化中进行融合共同估计机器人的位姿和地图。时间同步与插值确保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监听代码量小、有线变成无线、可靠。

相关新闻

戴德梁行在五大行里排第几?10大维度拆解实力差距

戴德梁行在五大行里排第几?10大维度拆解实力差距

2026/7/22 22:09:37

导读房地产顾问「五大行」通常指戴德梁行、CBRE世邦魏理仕、JLL仲量联行、Savills第一太平戴维斯、高力国际这五家外资商业地产咨询机构。本文基于跨境投资、资产证券化与REITs、城市更新与政府顾问、估价顾问、工程项目管理、商业地产租赁、工业与物流地产、大宗交易撮合、物业…

Django毕业设计-基于 Django 的线上租房信息发布与预约系统的设计与实现 智慧租房房源信息智能匹配平台设计(源码+LW+部署文档+全bao+远程调试+代码讲解等)

Django毕业设计-基于 Django 的线上租房信息发布与预约系统的设计与实现 智慧租房房源信息智能匹配平台设计(源码+LW+部署文档+全bao+远程调试+代码讲解等)

2026/7/22 21:59:36

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Windows下Robot Framework自动化测试框架部署与优化指南

Windows下Robot Framework自动化测试框架部署与优化指南

2026/7/22 21:59:36

1. Windows系统下Robot Framework自动化测试框架部署指南作为一款基于Python的关键字驱动测试框架,Robot Framework在Web自动化、接口测试和移动端测试领域有着广泛应用。我在过去三年中为7个不同规模的项目部署过这套框架,发现Windows平台下的环境配置存…

一个人只能有一个梦想?

一个人只能有一个梦想?

2026/7/23 0:49:58

一个人不一定只有一个梦想,但需要有一个核心方向,把多个梦想连接起来。很多人困惑: “我到底应该追求哪个?” “我喜欢很多东西怎么办?” “是不是必须找到唯一使命?”其实: 人生不是一条单线任…

Kimi K3大模型API接入实战:成本优化与长文本处理应用指南

Kimi K3大模型API接入实战:成本优化与长文本处理应用指南

2026/7/23 0:49:58

最近在AI工具选型时,很多团队都在关注国内外大模型的应用成本差异。特别是Kimi这类国产模型在国际市场上的表现,确实给开发者提供了更多性价比选择。本文将围绕Kimi K3的技术特性、API接入方式、成本对比分析以及实际应用方案展开,为有跨国业…

kafka幂等详解

kafka幂等详解

2026/7/23 0:49:58

在Apache Kafka中,实现消息的幂等性(Idempotence)通常涉及到确保消息只被处理一次,即使在发生网络分区、重启或重复发送时也是如此。Kafka提供了几种机制来帮助实现这一目标,特别是在生产者端。下面是一些关键步骤和技…

zookeeper 节点leader选举逻辑

zookeeper 节点leader选举逻辑

2026/7/23 0:49:58

ZooKeeper 三节点集群中“第二个节点成为 Leader"并非固定规则,而是‌按顺序冷启动且初始数据为空时‌,因‌myid 较大且率先满足过半票数‌导致的选举结果 。‌‌核心原因‌启动时机关键‌:仅当节点 1 先启动(无法选举&#…

DolphinX 实测:当 AI Agent 真正读懂你的时序数据,事情开始变得不一样

DolphinX 实测:当 AI Agent 真正读懂你的时序数据,事情开始变得不一样

2026/7/23 0:49:58

DolphinX 实测:当 AI Agent 真正读懂你的时序数据,事情开始变得不一样 "DolphinDB 有了自己的 AI Agent 平台?"这是我看完 DolphinX 资料后的第一反应。坦白说,在 2026 年这个时间点,“数据库 AI” 已经算不…

「中医养生智能时钟」—— 融合传统智慧与现代科技的健康助手软件

「中医养生智能时钟」—— 融合传统智慧与现代科技的健康助手软件

2026/7/23 0:39:57

大家好,我是大飞哥。在快节奏的现代生活中,我们常常忙于工作而忽略了身体与自然节律的呼应——明明到了子时该入睡养胆,却还在熬夜加班;午时心经当令,却因事务缠身错过小憩养神的最佳时机。传统中医强调“顺时而养”&a…

微服务进阶:服务网格与Istio

微服务进阶:服务网格与Istio

2026/7/21 5:45:57

541|微服务进阶:服务网格与Istio 上篇文章我们聊了微服务的基本概念和拆分方法。 但微服务多了,问题也多了: 服务之间怎么通信? 怎么监控每个服务的调用链路? 熔断、限流、重试怎么做? 安全认证怎么统一? 以前这些都靠SDK库(比如Hystrix、Feign),每个服务都要集成…

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

零售超级终端全域协同:ShareKit 碰一碰商品流转业务落地案例

2026/7/21 9:56:14

一、零售门店全域协同业务背景与行业痛点 1.1 门店超级终端设备矩阵(连锁便利店/商超标准配置) 自助收银Kiosk一体机:顾客结算、自助核销优惠券、商品素材预览;运营折叠平板:店长后台商品上新、图片录入、活动配置、…

噗叽短视频界面分析

噗叽短视频界面分析

2026/7/21 3:09:32

1 和小红书类似,可以采用类似判断方法------------其实他比小红书好判断,因为他没有图片,控件位置几乎是固定的,都不用判断------------2 因为他没有点赞按钮------------而且几乎所有控件位置都是完全一样的,所以我就…

企业级AI搜索落地选型实战手册(含LLM+RAG+Hybrid架构对比矩阵与ROI测算模板)

企业级AI搜索落地选型实战手册(含LLM+RAG+Hybrid架构对比矩阵与ROI测算模板)

2026/7/23 0:09:56

更多请点击: https://kaifayun.com 第一章:企业级AI搜索落地选型实战手册(含LLMRAGHybrid架构对比矩阵与ROI测算模板) 企业级AI搜索系统落地成败,核心在于技术选型与业务价值的精准对齐。盲目堆砌大模型能力或过度依赖…

TM4C129LNCZAD外设实战:LCD、比较器与PWM寄存器配置详解

TM4C129LNCZAD外设实战:LCD、比较器与PWM寄存器配置详解

2026/7/23 0:09:56

1. 项目概述与核心价值在嵌入式系统开发,尤其是基于ARM Cortex-M内核的微控制器项目中,深入理解并熟练配置芯片的片上外设,是从“点亮LED”迈向“实现复杂系统功能”的关键一步。Tiva™ TM4C129LNCZAD作为TI公司Cortex-M4F家族中的高性能成员…

AtomCode `fmt_dur` 争议溯源:两个函数、三段演进、四个事实

AtomCode `fmt_dur` 争议溯源:两个函数、三段演进、四个事实

2026/7/23 0:09:56

一、快速声明与争议背景本文是对 AtomCode 终端 spinner 时长显示 fmt_dur 相关说法的事实性核验。2026 年 7 月 CSDN 上出现两篇互相矛盾的博文,近期又有 AI 在对话中输出格式描述 XhYm / YmZs / Zs。本文基于 AtomCode 仓库 main4677ddfa 及全分支 Git 历史给出可…