makerspet/oomwoo · 上手攻略

  • 仓库:makerspet/oomwoo
  • 链接:https://github.com/makerspet/oomwoo
  • 分类:robotics · ros2 · hardware
  • 作者:Tom
  • 更新:2026-07-05

这是什么

OOMWOO 是一个完全开源的自制扫地机器人项目,目标是用树莓派(Raspberry Pi 5)、ROS2、Home Assistant 和 3D 打印技术,打造一台价格亲民、支持 2D LiDAR 地图构建与自主导航的家用清洁机器人。Apache License 2.0(代码),Stars 3.4k,当前版本 v0(bare-bones 阶段)

项目核心特点: - 完全开源:硬件(3D 打印文件)、软件(ROS2)、固件(ESP32/Arduino)全部开放 - 本地运行:常规功能无需云端,不依赖厂商服务器 - Home Assistant 原生集成:本地智能家居控制 - 2D LiDAR 导航:用实惠的 2D 激光雷达做 SLAM 和路径规划(ROS2 / Nav2) - 模块化社区共建:各功能模块由社区并行开发贡献,PR 制的模块化架构

名字 "OOMWOO" 是一个旋转180度不变形的字体图案(ambigram),象征机器人在地板上朝任意方向漫游。


解决什么问题

市面主流扫地机器人(石头、科沃斯、云鲸等)体验不错,但有三个根本问题:

痛点 OOMWOO 解法
数据上云 本地 ROS2 运行,无需账号、云服务、隐私上报
厂商锁定 所有硬件规格、固件、CAD 文件开放,可自由改装
维修/扩容困难 3D 打印替换件,开源固件,不怕厂商倒闭
价格高/功能封闭 零件自行采购,kit 可选(方便而非必须),全功能开源

注意:v0 阶段硬件还在设计中,当前可以先用 Gazebo 仿真和占位真机(Proscenic M6 Pro)跑通 ROS2 软件栈。


快速安装(软件仿真)

环境要求

  • Ubuntu 22.04+(ROS2 推荐系统)
  • ROS2(humble 或 jazzy)
  • Raspberry Pi OS 或 Ubuntu(实机部署时)

安装步骤

# 1. 安装 ROS2(以 humble 为例)
# 参考 https://docs.ros.org/en/humble/Installation.html

# 2. 安装 OOMWOO 软件开发环境
git clone https://github.com/makerspet/oomwoo-install.git
cd oomwoo-install
./install.sh   # 或按 README 手动分步安装

# 3. 安装机器人描述包
git clone https://github.com/makerspet/oomwoo-one.git
cd oomwoo-one

# 4. 启动 Gazebo 仿真
# 参考官方教程:https://makerspet.com/blog/simulate-oomwoo-one-robot-vacuum-in-gazebo-with-ros-2/
ros2 launch oomwoo_one gazebo.launch.py

# 5. 若用占位真机(Proscenic M6 Pro)连接 ROS2
# 参考:https://makerspet.com/blog/tutorial-connect-robot-vacuum-cleaner-to-ros-2-proscenic-m6-pro/

连接 Home Assistant

# Home Assistant 通过 MQTT 或 native ROS2 integration 发现和控制
# 具体配置参考 BUILD_INSTRUCTIONS.md

核心模块与贡献机会

OOMWOO 将机器人拆成多个独立贡献模块,社区并行开发,降低个人上手门槛:

模块 状态 说明
urdf-gazebo-sim 进行中 ROS2 URDF + Gazebo 仿真,placeholder 状态
clean-and-map 可开始 覆盖率清洁 + SLAM 建图 + 探索
nav-localize 可开始 已知地图定位导航(Nav2 / AMCL)
dock-cycle 可开始 离座、回充座、精确定位对接
recovery-safety 可开始 脱困策略、安全传感器、状态上报
floor-care 可开始 地板类型识别(地毯/硬木)、沿边清洁
cleaning-jobs 可开始 清扫模式(常规/定点)、虚拟墙、房间分割
live-robot-bringup 可开始 占位机(Proscenic M6 Pro)ROS2 连接调试
io-pcb 可开始 I/O 驱动 PCB(KiCad,STM32 方案)
source-3d-models 进行中 采购零件的 STEP 模型

参与贡献流程

# 1. 从上述列表选一个模块
# 2. 在 GitHub Discussions 告知你在做哪个模块
# 3. 针对 Gazebo 仿真(oomwoo-one) 或占位真机开发
# 4. PR 提交到 contributions/<module-name>/ 目录

典型适用场景

  1. DIY 机器人学习项目:从 3D 打印到 ROS2 导航全链路,适合有一定树莓派/嵌入式基础的maker
  2. Home Assistant 智能家居集成:本地控制扫地机器人,无需第三方云
  3. ROS2 导航学习:Nav2、SLAM、AMCL 实战项目,带仿真环境
  4. 开源硬件定制:基于 OOMWOO 改出自己的特种机器人(送物、检查等)
  5. 厂商扫地机 ROS2 改装:占位机 Proscenic M6 Pro 已有人做了 ROS2 bridge(remakeai/vacuum_ros2_bridge),可参考

坑与注意

说明
v0 阶段,硬件未就绪 当前用 Gazebo 仿真 + 占位真机跑软件,真实 3D 打印机体还在设计中
3D 打印零件需自备 BOM 文档在推进中,但还未完成;需要自己采购电机、LiDAR 等零件
LiDAR 盲区 2D LiDAR 对 10cm 以下障碍物(电线、袜子)"视而不见",v1 靠碰撞传感器应对,视觉避障是后续目标
套件非开源 makerspet.com 提供的 kit 是方便选项而非开源;所有零件规格已列 BOM,不买 kit 也能做
ROS2 门槛 需要 Linux + ROS2 基础,纯小白上手较难;建议先看官方 Crash Course
不跑真实清洁 v0 软件栈验证阶段,仿真里不执行真实吸尘/拖地动作
并发模块协调风险 多人并行 PR 各模块,存在接口对齐问题;ARCHITECTURE.md 定义的接口文档是关键依赖

与同类对比

项目 类型 核心差异
Valetudo 云替代固件 为商业机型(石头等)提供本地固件,不开源硬件;OOMWOO 从零开源硬件+软件
Open Mower 开源户外割草机 同作者团队,户外场景;OOMWOO 室内扫地,针对不同需求
DIY 3D Printed Vacuum(AlieksieievYurii) 陀螺仪导航 基础款,无 LiDAR、无 ROS2;OOMWOO 定位更完整
Eufy/Dreame/云鲸 商业产品 功能完整开箱即用,但闭源、有云依赖、维修困难;OOMWOO 完全开源本地
OOMWOO 全栈开源机器人 硬件+ROS2+Nav2+Home Assistant+3D打印,全链路开源,但成熟度远不及商业产品

一句话推荐结论

如果你有一定 ROS2 / 嵌入式开发经验,想从头造一台本地可控、不依赖云服务的智能扫地机器人,OOMWOO 是目前最完整的开源全栈方案,值得关注但需注意 v0 阶段软硬件都在建设中,建议先用 Gazebo 仿真和 Proscenic M6 Pro 占位机练手;如果是纯小白或需要立刻能用的扫地机,主流商业产品(石头/Dreame)和 Valetudo 越狱固件更适合你。