扫地机器人 DP 及交互逻辑

更新时间:2025-12-22 07:17:57下载pdf

概述

本文档旨在规范扫地机器人设备与控制面板(全能基站公版小程序)之间部分重要的功能点(Data Point,DP)交互逻辑,确保设备功能的正确实现和用户体验的一致性。

核心功能模块

基础控制功能

  • 清扫控制:启动/停止清扫,暂停/继续操作。
  • 回充管理:自动回充控制和状态监控。
  • 模式切换:支持多种清扫模式的无缝切换。
  • 状态监控:多种设备状态的实时上报。

清扫模式支持

  • 快速建图:智能路径规划,全覆盖建图。
  • 全屋清扫:智能路径规划,全覆盖清扫。
  • 选区清扫:基于房间的精准清扫。
  • 划区清扫:矩形区域自定义清扫。
  • 定点清扫:指哪扫哪,精确定位。
  • 其他模式:遥控模式等扩展功能。

智能监控功能

  • 故障诊断:多故障同时上报和识别。
  • 实时视频:音视频监控开关控制。

基础功能 DP 定义

DP ID 功能点名称 标识符 数据传输类型 数据类型 功能点属性
1 清扫开关 switch_go 可下发可上报(rw) Bool
  • true:清扫启动
  • false:清扫停止
2 暂停/继续 pause 可下发可上报(rw) Bool
  • true:暂停当前工作状态
  • false:继续当前工作状态
3 回充开关 switch_charge 可下发可上报(rw) Bool
  • true:回充启动
  • false:回充停止
4 模式 mode 可下发可上报(rw) Enum 默认值(不可修改删除,否则影响控制面板逻辑):
  • smart:自动清扫模式/全屋清扫模式
  • chargego:自动回充模式(需要兼容:goto_charge)
  • zone:划区清扫模式/矩形清扫模式
  • pose:指哪扫哪模式/定点清扫模式
  • select_room:选区清扫模式
  • manual:遥控模式
  • quick_mapping:快速建图模式
5 状态 status 只上报(ro) Enum 默认值(不可修改删除,否则影响控制面板逻辑):
  • standby:待机中
  • smart:自动清扫中
  • zone_clean:划区清扫中
  • part_clean:局部清扫中
  • cleaning:清扫中 (备选)
  • paused:已暂停
  • goto_pos:前往目标点中
  • pos_arrived:目标点已到达
  • pos_unarrive:目标点不可达
  • goto_charge:寻找充电座中
  • charging:充电中
  • charge_done:充电完成
  • sleep:休眠
  • select_room:选区清扫中
  • seek_dust_bucket:寻找集尘桶中
  • mapping:建图中
  • relocation:清扫中重定位
  • breakpoint_charging:断点续扫充电中
  • manual_control:遥控中
  • mapping_done:建图完成
  • relocation_recharge:回充中重定位
  • collecting_dust:集尘中,可在后面增加其他状态值
28 故障上报 total_error 可下发可上报(rw) Raw 全部故障采用 Raw 类型,不区分机器故障或者基站故障,每一种故障为 1 Byte;
如果同时发生 1、2、3 号故障,则为:010203,需要面板端自行判断分割每个故障 Byte;如果没有故障,则为 00
45 实时视频开关 live_video_switch 可下发可上报(rw) Bool
  • true:开启
  • false:关闭

基础 DP 与面板交互逻辑

复杂协议控制命令详细说明

  • COMPLEX_CMD_E 命令枚举:

    命令标识 功能描述 使用场景
    ROOM_CLEAN_SET 房间清扫设置 选区清扫模式启动时
    ROOM_CLEAN_QUERY 房间清扫查询 选区清扫暂停后继续时
    ZONE_CLEAN_SET 区域清扫设置 划区清扫模式启动时
    ZONE_CLEAN_QUERY 区域清扫查询 划区清扫暂停后继续时
    SPOT_CLEAN_SET 定点清扫设置 定点清扫模式启动时
    SPOT_CLEAN_QUERY 定点清扫查询 定点清扫暂停后继续时
  • 接口回复详情:

    • ty_rvc_room_clean_data_response:选区清扫数据响应接口
    • ty_rvc_zone_clean_data_response:划区清扫数据响应接口
    • ty_rvc_spot_clean_data_response:定点清扫数据响应接口

以上复杂协议控制命令的具体内容,请参考 复杂协议控制

快速建图模式

操作场景 交互逻辑
启动建图 点击开始:
  • 下发:DP1 switch_go = true & DP4 mode = quick_mapping
  • 上报:DP1 switch_go = true & DP4 mode = quick_mapping & DP5 status = mapping
暂停建图 点击暂停:
  • 下发:DP2 pause = true
  • 上报:DP2 pause = true & DP5 status = paused
继续建图 点击继续:
  • 下发:DP2 pause = false
  • 上报:DP2 pause = false & DP5 status = mapping
建图中回充 DP5 status = mapping/paused 时,点击回充:
  • 下发:DP3 switch_charge = true & DP2 pause = false
  • 上报:DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
回充中取消 DP5 status = goto_charge 时,点击回充:
  • 下发:DP3 switch_charge = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
切换模式 DP5 status = mapping/paused 时,切换其他模式,弹窗提示:此操作将会结束当前任务,是否确定结束?
  • 下发:DP1 switch_go = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false & DP5 status = standby

全屋清扫模式

操作场景 交互逻辑
启动清扫 点击开始:
  • 下发:DP1 switch_go = true & DP4 mode = smart
  • 上报:DP1 switch_go = true & DP4 mode = smart & DP5 status = smart
暂停清扫 点击暂停:
  • 下发:DP2 pause = true
  • 上报:DP2 pause = true & DP5 status = paused
继续清扫 点击继续:
  • 下发:DP2 pause = false
  • 上报:DP2 pause = false & DP5 status = smart
清扫中回充 DP5 status = smart/paused 时,点击回充:
  • 下发:DP3 switch_charge = true & DP2 pause = false
  • 上报:DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
回充中取消 DP5 status = goto_charge 时,点击回充:
  • 下发:DP3 switch_charge = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
切换模式 DP5 status = smart/paused 时,切换其他模式,弹窗提示:此操作将会结束当前任务,是否确定结束?
  • 下发:DP1 switch_go = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false & DP5 status = standby

选区清扫模式

操作场景 交互逻辑
启动清扫 点击开始:
  • 下发:DP1=true & DP4=select_room & COMPLEX_CMD_E=ROOM_CLEAN_SET
  • 上报:DP1=true & DP2=false & DP3=false & DP4=select_room & DP5=select_room & ty_rvc_room_clean_data_response
暂停清扫 点击暂停:
  • 下发:DP2 pause = true
  • 上报:DP2 pause = true& DP5 status = paused
继续清扫 点击继续:
  • 下发:DP2 pause = false & COMPLEX_CMD_E = ROOM_CLEAN_QUERY
  • 上报:DP2 pause = false & DP5 status = select_room & ty_rvc_room_clean_data_response
清扫中回充 点击回充:
  • 下发:DP3 switch_charge = true & DP2 pause = false
  • 上报:DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
回充中取消 DP5 status = goto_charge时,点击回充:
  • 下发:DP3 switch_charge = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
切换模式 DP5 status = select_room/paused时,切换其他模式:弹窗提示:此操作将会结束当前任务,是否确定结束?
  • 下发:DP1 switch_go = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby

划区清扫模式

操作场景 交互逻辑
启动清扫 点击开始:
  • 下发:DP1 switch_go = true & DP4 mode = zone & COMPLEX_CMD_E = ZONE_CLEAN_SET
  • 上报:DP1 switch_go = true & DP2 pause = false & DP3 switch_char= false & DP4 mode = zone & DP5 status = zone_clean & ty_rvc_zone_clean_data_response
暂停清扫 点击暂停:
  • 下发:DP2 pause = true
  • 上报:DP2 pause = true & DP5 status = paused
继续清扫 点击继续:
  • 下发:DP2 pause = false & COMPLEX_CMD_E = ZONE_CLEAN_QUERY
  • 上报:DP2 pause = false & DP5 status = zone_clean & ty_rvc_zone_clean_data_response
清扫中回充 DP5 status = zone_clean /paused时,点击回充:
  • 下发:DP3 switch_charge = true & DP2 pause = false
  • 上报:DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
回充中取消 DP5 status = goto_charge时,点击回充:
  • 下发:DP3 switch_charge = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
切换模式 DP5 status = zone_clean /paused时,切换其他模式:弹窗提示:此操作将会结束当前任务,是否确定结束?
  • 下发:DP1 switch_go = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby

定点清扫(指哪扫哪)模式

操作场景 交互逻辑
启动清扫 点击开始:
  • 下发:DP1 switch_go = true & DP4 mode = pose & COMPLEX_CMD_E = SPOT_CLEAN_SET
  • 上报:DP1 switch_go = true & DP2 pause = false & DP3 switch_char= false & DP4 mode = pose & DP5 status = goto_pos/pos_arrived & ty_rvc_spot_clean_data_response
暂停清扫 点击暂停:
  • 下发:DP2 pause = true
  • 上报:DP2 pause = true & DP5 status = paused
继续清扫 点击继续:
  • 下发:DP2 pause = false & COMPLEX_CMD_E = SPOT_CLEAN_QUERY
  • 上报:DP2 pause = false & DP5 status = goto_pos/pos_arrived & ty_rvc_spot_clean_data_response
清扫中回充 DP5 status = goto_pos/pos_arrived /paused 时,点击回充:
  • 下发:DP3 switch_charge = true & DP2 pause = false
  • 上报:DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
回充中取消 DP5 status = goto_charge 时,点击回充:
  • 下发:DP3 switch_charge = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
切换模式 DP5 status = goto_pos/pos_arrived/paused 时,切换其他模式,弹窗提示:此操作将会结束当前任务,是否确定结束?
  • 下发:DP1 switch_go = false
  • 上报:DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false & DP5 status = standby

回充功能

操作场景 交互逻辑
主动回充
  • 下发:DP3 switch_charge = true & DP2 pause = false
  • 上报:DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done

故障报告

功能 交互逻辑
故障上报 上报:DP28 total_error
数据格式:Raw 类型,一个字节代表一个错误示例
  • 无故障:00
  • 1 号故障:01
  • 10 号故障:0a
  • 1 号+10 号故障:010a

音视频功能

功能 交互逻辑
音视频开关 开始推送音视频流数据:
  • 下发:DP45=true
    上报:DP45=true,此时设备端可以开始推流,将数据放入 ring buffer 中,具体可参考 音视频环形缓存
结束推送音视频流数据:
  • 下发:DP45=false
  • 上报:DP45=false ,停止将数据放入 ring buffer
视频监控逻辑 条件判断:
  • 当 DP45=false 时:弹窗提示 实时视频未开启
  • 当 DP45=true 时:
  • 有密码:进行密码验证
  • 无密码:直接打开视频监控

注意事项

  • 以上只基于公版全能基站小程序,对机器移动相关的 DP 交互做了说明,其它的 DP 交互可以参考 SDK 对应的 Demo 实现。
  • 故障码需要面板端自行解析,支持多故障同时存在。
  • 默认枚举值不可修改或删除,以保证控制面板逻辑正常运行。
  • 状态和模式枚举支持后续扩展(需要与涂鸦产品经理对齐),但需保持向后兼容。