清洁机器人
概述 / Overview
清洁机器人是 MDCS 在 商业清洁 / 工业清洁场景的应用:把自动驾驶 + 清洁工具(拖布、刷子、吸水扒、消毒喷雾)集成在一台 AGV 上,自动覆盖大面积地面。MDCS 提供其底盘 / 定位 / 调度的基础设施;清洁工具的协议是 厂商私有,通过 Medulla 适配。
A cleaning robot is the MDCS application in commercial / industrial cleaning: autonomous driving + cleaning tools (mop, brush, squeegee, disinfectant sprayer) on one AGV for large-area floor coverage. MDCS provides chassis / localisation / scheduling; cleaning-tool protocols are vendor-specific and adapted via Medulla.
业务场景 / Scenarios
- 大型仓库 / 工厂车间地面拖洗
- 商超 / 机场 / 地铁站清洁
- 食品厂 GMP 区域消毒
- 医院床下消毒
- 矿区粉尘清扫
与其它 AGV 的区别 / vs other AGV roles
| 项 / Item | 清洁机器人 / Cleaning | 仓储 AGV |
|---|---|---|
| 主要任务 / Primary task | 面覆盖 (full-coverage path) | 点对点 |
| 路径 / Path | 弓形 / 螺旋 / 边缘 | A* / 流场 |
| 速度 / Speed | 0.3–1 m/s | 1–2 m/s |
| 携带 / Payload | 水 / 化学品 | 货 |
| 清洁完成度 / Completeness | 决定客户验收 | N/A |
| 失效成本 / Failure cost | 漏清污染 | 任务延误 |
全覆盖规划 / Full-coverage planning
清洁机器人的核心是 覆盖路径而不是 最短路径。MDCS 在 SimpleCore 中支持几种覆盖策略:
The core problem is coverage planning, not shortest-path:
| 策略 / Strategy | 适用 / Suitable | 实现 / Implementation |
|---|---|---|
| Boustrophedon (弓形) | 矩形区 / rectangular zones | 分解为 cell + 每 cell 弓形 |
| 边缘 + 内填 / Wall-follow + fill | 边界复杂 | 先沿边走一圈,再做内填 |
| 螺旋 / Spiral | 圆形 / 自由场景 | 从中心向外螺旋 |
| 自适应 / Adaptive | 动态污染 | 用相机识别脏污点,热点优先 |
Medulla 适配清洁工具 / Adapting cleaning tools
清洁工具的典型 IO 表(以拖洗机为例): Typical IO map for a mop-and-scrub robot:
public class CleaningBot : CartDefinition
{
// 底盘 IO(同标准差速 / 全向车)
// 清洁工具 IO
[AsUpperIO] public bool mopOn; // 拖布旋转
[AsUpperIO] public bool sprayOn; // 喷水
[AsUpperIO] public bool squeegeeOn; // 吸水扒
[AsUpperIO] public bool vacuumOn; // 吸尘
[AsUpperIO] public bool disinfectantOn; // 消毒液
[AsUpperIO] public float brushDownPressure; // 刷盘压力
[AsLowerIO] public float cleanWaterL;
[AsLowerIO] public float dirtyWaterL;
[AsLowerIO] public bool filterOK; // 过滤器堵塞?
[AsLowerIO] public bool detergentLow;
[AsLowerIO] public int brushHours; // 刷盘运行小时
}
调度集成 / Scheduling integration
清洁机器人的任务通常是 区域型而非 点型。SimpleComposer 任务接口需要支持: Cleaning jobs are area-typed, not point-typed. SimpleComposer needs:
- ZoneMission — 指定要清洁的 多边形区域
- CoverageStrategy — 选择上面表中的策略
- ScheduleConstraints — 时间窗(如商超开门前清完)
- RechargeAndRefill — 自动充电 + 加水 + 倒污水
相关问题 / Related concerns
与人共用空间 / Sharing space with humans
清洁机器人 常在有人区域工作,激光雷达 + 视觉 必须有人员识别:
- 检测到人员 1.5 m 内 → 减速
- 检测到人员 0.5 m 内 → 停车 + 让行
- 完成任务后倒车回到工作面继续
Cleaning robots typically share space with humans. Lidar + vision MUST detect people: ≥ 1.5 m → slow; ≤ 0.5 m → stop and yield; resume after clear.
湿地面 / Wet floors
- 拖洗后地面湿,AGV 自身行驶时可能打滑;速度降至 0.3 m/s。
- 警告标识:在湿地面边缘自动放置 警示锥(高端机型)。
与电梯协同 / Elevator coordination
跨楼层清洁需要 呼梯协议(HTTP 调用电梯控制器)。属于 MDCS 之外的集成;SimpleComposer 提供 hook 点。 Multi-floor cleaning needs an elevator-calling protocol (HTTP to the lift controller). MDCS provides a hook; the actual protocol is integration-specific.