OM1 四足机器人导航:让 Go2 自主避障走到目标点的 3 个机制

OM1 四足机器人导航:让 Go2 自主避障走到目标点的 3 个机制

【免费下载链接】OM1Modular AI HAL (Hardware Abstraction Layer) for Robots项目地址: https://gitcode.com/GitHub_Trending/om/OM1

做四足机器人导航(让机器狗自己走到目标点、路上绕开障碍、还能跟你说话)到底要写多少代码?OM1 给出的答案是:跑一条make命令就动起来了。OM1是一个面向机器人的模块化 AI 运行时,把激光雷达、麦克风、相机统一接进「感知 → LLM 决策 → 运动指令」这条流水线。

🧭 项目速览:一个能装在狗身上的"大脑"

OM1 的核心是一个编排循环:传感器数据(视觉、声音、里程计、三维环境)先被翻译成自然语言,作为上下文喂给 Cortex LLM,LLM 的输出再分发给硬件抽象层(HAL),执行移动、发声、表情命令。机器人用文字思考、用指令行动,任何一层都能换掉——换 LLM、换麦克风、换动作执行器,改配置文件就行,整个运行时编译成单个 Go 二进制,连 Zenoh C 库一起打包。

在 Unitree Go2 上,四足机器人导航分成两层:一种是全向避障式游走,由 RPLidar 扫描数据实时驱动;另一种是点到点导航,由 ROS2 的 Nav2 栈在地图上规划路径。两层共用同一套配置。

⚙️ 原理链路:从"听见"到"走起"的三跳

整条链路是 输入 → 处理 → 输出,展开 3 个关键模块。

模块一:把激光雷达翻译成"哪些方向能走"

运动驱动会从机器人位置投影出 9 条候选方向(左 4、正前 1、右 4,外加 1 条后退)。每条方向都检查是否会靠近已检测物体到机器人半宽(0.20 米,机器狗约 40 厘米宽)以内,安全阈值是 1.1 米:1.1 米内有物体就算"挡路"。存活的方向在internal/providers/paths.go里被分类成左转、前进、右转、后退四桶,然后转成 LLM 能读的话:方向都通就说 "you can turn left / move forwards / turn right";全被堵死则直接写一句 "You are surrounded by objects... DO NOT MOVE"。这句话就是整个系统的硬刹车。

for _, path := range paths { switch { case path < 3: turnLeft = append(turnLeft, path) case path <= 5: advance = append(advance, path) case path < 9: turnRight = append(turnRight, path) case path == 9: retreat = true } }

模块二:LLM 只决定"下一步干什么"

cortex_llm配的是 Gemini,LLM 每轮能看到的输入有四个:里程计、ASR 转写的话、VLM 的画面描述、上面那句安全方向。系统提示词把它的输出限定成 5 种指令之一:turn left、turn right、move forwards、move back、stand still。也就是说大脑只负责意图,具体的路怎么走由运动系统兜底,LLM 选的方向如果雷达判定不安全,指令会在执行层被直接丢掉。

模块三:两阶段执行 + AI 接管开关

连接器 plugins/actions/unitree/go2/autonomy/move.go 把每条指令拆成「先转向对准、再直线前进」两个阶段,每 50 毫秒一次 tick 对照里程计:前进固定 0.5 m/s、转向 0.8 rad/s,角度差小于 5° 算对准,距离差小于 0.05 米算到达;卡住 2 秒没有进展就自停,15 秒超时强制放弃。若目标是"去厨房",navigation 动作(见 plugins/actions/navigation/navigation.go)会查地图里保存的地点、向 Nav2 发goal_pose,同时把 AI 随机游走关掉,防止两个运动源抢身体。它订阅的状态流里,code 4(succeeded)会重新打开 AI 控制并让狗用 TTS 说 "Yaaay! I have reached the kitchen";被取消或 ABORTED 时AI 控制保持禁用,属于故障安全默认值。

🚀 跑通它:一条命令启动 Go2 自主配置

环境要求:Go 1.25.0+、make、系统装好 portaudio 和 ffmpeg;硬件是 Go2 加装在狗头的 RPLidar A1M8,也可以在配置里开use_sim: true走仿真。

git clone https://gitcode.com/GitHub_Trending/om/OM1 cd OM1 export OM_API_KEY="<你的 API key>" make run CONFIG=unitree_go2_autonomy

make deps会自动下载 Zenoh C 库并整理 Go 依赖。行为调整都集中在 config/unitree_go2_autonomy.json5:换 LLM 改cortex_llm.type,换麦克风改agent_inputs,狗的性格由system_prompt_base和 "Three Laws" 治理条款决定。雷达的安装角度、盲区参数(angles_blanked)怎么标定,看 docs/robotics/motion_planning_lidarA1M8.md。

🔍 效果与验证:怎么确认它真的在走

  • 终端日志里cmd_vel vx=0.50 vturn=0.000每 50 毫秒刷一次,说明速度指令真在发往机器狗
  • 看到 "turn complete, starting advance" 和 "advance complete",两阶段执行闭环走通
  • 发导航目标后,状态码按 1(accepted)→ 2(executing)→ 4(succeeded)流转,到达会触发 TTS 播报
  • 2D 导航地图上能看到占用栅格、机器人实时位姿(0.05 m/pixel),还能把当前点存成命名地点
  • 进阶:docker-compose up -d grafana prometheus打开看板,看 LLM 和 ASR 的实时延迟

⚙️ 排障清单

现象原因处理
启动日志zenoh unavailable, movement disabledZenoh 会话没建立,发布器全部置空先在本机把 Zenoh broker 跑起来,确认make deps装好了 libzenohc
LLM 下令前进但不动,日志cannot advance due to barrier1.1 米内正前方被雷达判为阻挡清障;确认无遮挡时检查雷达安装角与angles_blanked盲区配置
日志一直打waiting for location data还没收到里程计(OdomX 为 0),且只在站立姿态执行运动确认 Go2 里程计 topic 已通过 Zenoh 发布,机器人处于站立状态
导航中语音指令全部失效,日志AI control disabled - ignoring command导航开始后 AI 游走被设计性接管,仅 SUCCEEDED 后恢复等状态码 4 自动恢复;若 canceled/ABORTED 则 AI 保持禁用,需手动重发启用

OM1 最有价值的设计,是把机器人学里最难的安全逻辑(路径校验、卡死自停、故障安全接管)全部压进了动作层,LLM 只做它擅长的意图选择。手里有 Go2 或 Nav2 环境、想快速给机器狗接上对话大脑的工程师,这是最短路径;下一步可以看 Nav2 全自主导航文档 docs/full_autonomy_guidelines/features/navigation.md,把地图导航接全。

【免费下载链接】OM1Modular AI HAL (Hardware Abstraction Layer) for Robots项目地址: https://gitcode.com/GitHub_Trending/om/OM1

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

UFCS认证芯片落地:快充协议统一背后的技术关键

UFCS认证芯片落地:快充协议统一背后的技术关键

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:05:16 阅读更多 →
巫月神刀放进 ABAP 世界,会是一件怎样的装备

巫月神刀放进 ABAP 世界,会是一件怎样的装备

一张销售订单卡在审批流程里,业务人员看到的是金额、客户和交货日期,开发人员看到的却是另一幅画面,权限、定价、库存、信用检查、数据读取和事务保存,每一处都可能影响订单能否顺利走下去。碰到这种问题,我常会想到《仙剑奇侠传 1》里的巫月神刀。它是阿奴可以装备的后期…

2026/10/20 2:05:16 阅读更多 →
CCF CSP门禁系统题解:数组越界与哈希表选型实战

CCF CSP门禁系统题解:数组越界与哈希表选型实战

我参加CCF CSP认证的次数不算少&#xff0c;每次考完都有个感觉&#xff1a;第一题就是专门用来筛粗心人的。201412-1门禁系统&#xff0c;题目描述看着像某单位访客登记&#xff0c;实际上是一个典型的序列处理问题——按顺序统计每个编号已经出现过几次。这道题拿到满分很容易…

2026/10/20 2:05:16 阅读更多 →

最新新闻

MCP协议:AI工具互联互通的“普通话”与最小Server实践

MCP协议:AI工具互联互通的“普通话”与最小Server实践

最近一直在做智能体项目&#xff0c;最大的感受不是模型不够聪明&#xff0c;而是工具接入这件事实在太碎了。各家AI客户端和开发框架对工具的描述方式都不一样&#xff0c;今天要写一套JSON Schema&#xff0c;明天又要一种函数定义&#xff0c;换一个平台就要重写一遍对接逻辑…

2026/10/20 2:47:43 阅读更多 →
Qt+Snap7实现西门子PLC通信的工程实践方案

Qt+Snap7实现西门子PLC通信的工程实践方案

简介&#xff1a;本资源是一份面向工业自动化领域Qt开发者的西门子PLC通信实战工程包&#xff0c;聚焦于使用开源Snap7库在Qt C环境中实现与S7-1200/S7-1500等主流西门子PLC的稳定数据交互&#xff0c;解决上位机界面开发中协议对接难、配置门槛高、示例不完整等痛点。压缩包共…

2026/10/20 2:47:43 阅读更多 →
视频孪生与镜像孪生:空间计算驱动的库区主动防控

视频孪生与镜像孪生:空间计算驱动的库区主动防控

视频孪生、镜像孪生、空间计算、主动防控——这几个词放一起&#xff0c;如果没在项目里滚过一遍&#xff0c;第一反应多半是“又一套重型系统集成”。我在接手这类场景之前也这么想&#xff0c;直到真把一套“高安全等级物资库区 危化品库区”的联动防控方案从蓝图推到实弹测…

2026/10/20 2:47:43 阅读更多 →
可解释深度学习与基因组图谱:从病理切片预测前列腺癌转移风险

可解释深度学习与基因组图谱:从病理切片预测前列腺癌转移风险

一份前列腺癌病理报告上&#xff0c;Gleason评分7分、PSA中等水平&#xff0c;医生其实很难判断这位患者究竟会安安稳稳随访十年&#xff0c;还是术后两年就出现骨转移。同一个风险分组里&#xff0c;个体的结局差异可能极大。这种差异的背后&#xff0c;是肿瘤组织在分子水平上…

2026/10/20 2:47:43 阅读更多 →
传媒行业AI Agent落地实战:内容创作与用户运营的效率革命

传媒行业AI Agent落地实战:内容创作与用户运营的效率革命

传媒行业这两年被AI Agent这个词刷屏的频率&#xff0c;比我预想中高得多。内容创作、用户运营这两个长期靠人肉堆量的部门&#xff0c;成了最先感受到变化的位置。我过去一年陆续参与了几个传媒方向的项目改造&#xff0c;说实话&#xff0c;真正的AI Agent落地并没有宣传里那…

2026/10/20 2:47:43 阅读更多 →
AI辅助论文写作全流程指南:9款工具搭配实测

AI辅助论文写作全流程指南:9款工具搭配实测

论文写作这事儿&#xff0c;卡过的人都知道有多折磨。尤其是开题报告和初稿&#xff0c;一个需要把模糊的想法变成逻辑清晰的方案&#xff0c;一个需要把方案变成几千上万字的正文&#xff0c;任何一个环节卡住&#xff0c;轻则熬夜&#xff0c;重则焦虑到自我怀疑。我自己读硕…

2026/10/20 2:46:42 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →