商用建筑清洁机器人跨层调度架构:非侵入式梯控状态机与平层校验

摘要: 商用清洁机器人(洗地机、尘推车)在跨层调度时,作为典型的 OT(操作技术)与 IT(信息技术)融合场景,其底层硬件的通信安全性直接决定了整栋建筑保洁任务的连贯性。本文从架构师视角,深度拆解如何在不触碰电梯主板、不破坏原生平衡的前提下,构建一套高可用的机器人梯控 系统。重点探讨非侵入式信号采集逻辑、针对重载底盘的平层校验流程,并分享用于处理防卡轮状态机的底层 Python 代码。

导语: 真正的全自动立体保洁,要求机器人在垂直空间内拥有与平地一样的机动性。在构建跨层通信架构时,必须通过边缘计算节点,实现物理感知与逻辑调度的解耦,规避底盘卡滞的安全风险。

基于边缘计算的非侵入式清洁机器人乘梯架构

一、 流程解构:非侵入式旁路采集与物理隔离 在商用楼宇电梯改造中,改动经过安检认证的电气核心回路是行业禁忌。架构设计宜采用旁路采集模式。 标准交互流程如下:

  1. 调度层:清洁机器人通过局域网或 MQTT 向云端发起乘梯请求。
  2. 边缘层:部署在机房的边缘设备接收指令,通过数字输出(DO)通道闭合电梯外呼干接点。
  3. 感知层:梯控设备严禁读取主板协议,通过外接独立传感器或旁路数字输入(DI)通道,实时监听楼层状态与门禁状态。 这种设计确保了电梯的安全回路独立运行,实现了物理层面的容错。

二、 核心校验:克服水箱液体晃动与精准平层 商用清洁机器人搭载大容量水箱,加减速时会产生液体晃动(Sloshing effect),对底盘平衡造成考验。同时,小尺寸承重轮对地面平整度容忍度较低。如果电梯存在平层误差,机器人的车轮易卡在电梯地坎缝隙中,导致污水溢出或设备受损。 因此,必须在边缘侧加入双重物理硬校验:

  1. 采集加装的独立传感器传回的物理精准平层 到位信号。
  2. 采集门机系统的旁路门锁彻底断开信号。

三、 核心代码实战:清洁机器人乘梯防卡滞状态机 以下 Python 代码模拟了边缘梯控设备如何通过软件滤波过滤杂波,并响应清洁机器人的跨层通信请求:

Python

复制代码
import time
import logging

logging.basicConfig(level=logging.INFO, format='%(asctime)s - [CLEANING_EDGE_CONTROLLER] - %(message)s')

class CleaningRobotElevatorFSM:
    def __init__(self):
        self.state = "STANDBY"
        self.filter_window = 0.08  # 80毫秒软件抗干扰采样窗
        self.signal_stable_time = 0
        self.door_hold_active = False

    def get_non_invasive_signals(self):
        """模拟读取外围独立传感器的物理电平(严禁采集核心主板)"""
        # 返回值:precise_leveling(精准平层对齐), door_fully_open(门禁开启)
        return {"precise_leveling": 1, "door_fully_open": 1}

    def trigger_physical_door_hold(self):
        """触发底层继电器,维持电梯门开启,防止夹碰重载机器人"""
        self.door_hold_active = True
        logging.info("Hardware Relay Active: Door locked open for cleaning robot.")

    def run_security_logic(self, robot_id, target_floor):
        signals = self.get_non_invasive_signals()
        
        # 针对精准平层的双重物理校验,保障满载水箱底盘不卡滞
        if signals["precise_leveling"] == 1 and signals["door_fully_open"] == 1:
            if self.signal_stable_time == 0:
                self.signal_stable_time = time.time()
            elif (time.time() - self.signal_stable_time) > self.filter_window:
                if self.state != "READY_FOR_ROBOT":
                    logging.info(f"Alignment strictly verified. Vehicle {robot_id} enter floor {target_floor}.")
                    self.trigger_physical_door_hold()
                    self.state = "READY_FOR_ROBOT"
        else:
            self.signal_stable_time = 0
            if self.state == "READY_FOR_ROBOT":
                logging.warning("Physical misalignment detected. Revoking access to prevent sloshing or stuck wheels.")
                self.door_hold_active = False
                self.state = "STANDBY"

# 模拟夜间清洁排班中的逻辑轮询
if __name__ == "__main__":
    controller = CleaningRobotElevatorFSM()
    for _ in range(4):
        controller.run_security_logic(robot_id="SCRUBBER_001", target_floor=3)
        time.sleep(0.04)

常见问题解答 (FAQ)

问题 1、为什么不能通过电梯主板协议直接获取楼层状态?

回答 1、电梯主板协议通常是封闭的。未经授权的对接不仅稳定性难以保障,更会带来法律与安全合规风险。采用非侵入式外围采集是稳妥的技术路径。

问题 2、如果商场局域网断开,维持开门的指令会失效吗?

回答 2、不会。边缘梯控设备支持本地逻辑托管。一旦确认机器人开始进出,维持指令由本地硬件定时器和边缘状态机共同接管,确保动作闭环。

问题 3、多台清洁设备同时乘梯时如何防死锁?

回答 3、边缘节点需引入基于时间戳的互斥锁与优先级队列。在电梯被一台设备独占的运行周期内,其他请求将被挂起并反馈等待状态。

总结: 跨楼层调度需要对物理特性的尊重。通过非侵入式的边缘架构设计,能够在保障设备完整性的前提下,为商用清洁机器人的立体跨越筑起可靠的数字通道。

相关推荐
cxr8283 小时前
DNA纳米机器人:体内药物递送与病毒追踪
机器人
Deepoch4 小时前
Deepoc 具身模型开发板升级康复助行机器人自主随行能力
机器人·开发板·具身模型·deepoc·智能轮椅
才兄说10 小时前
机器人二次开发机器狗巡检?异常识别近100%
人工智能·机器人
Techblog of HaoWANG11 小时前
目标检测与跟踪(15)-- conda 环境与 roslaunch 节点解释器不一致问题的排查与工程化修复
人工智能·目标检测·计算机视觉·机器人·conda
2501_9479082011 小时前
2026钢铁冶金重载机器人怎么选?五大品牌深度对比与焊接应用方案
人工智能·机器人
鲁邦通物联网13 小时前
架构实战:无API接口老旧电梯的机器人梯控非侵入式调度设计与状态机实现
机器人·巡检机器人·机器人梯控·agv梯控·机器人乘梯·机器人自主乘梯·agv机器人梯控
ZPC821014 小时前
MoveGroup 规划轨迹 → 直接交给 MoveIt2 Servo 执行
人工智能·算法·计算机视觉·机器人
VBsemi-专注于MOSFET研发定制16 小时前
高端意念驱动外骨骼机器人功率 MOSFET 选型方案:高动态、高可靠关节驱动系统适配指南
机器人
dc_young16 小时前
【具身任务规划】REVER 与 RoboFarseer:用“可验证奖励”把VLM训练成机器人闭环长任务规划器
人工智能·语言模型·机器人
沫儿笙16 小时前
库卡焊接机器人白车身焊接节气装置
人工智能·机器人