CN105388896B - 基于can总线的分布式清洁机器人控制系统及控制方法 - Google Patents

基于can总线的分布式清洁机器人控制系统及控制方法 Download PDF

Info

Publication number
CN105388896B
CN105388896B CN201510631007.8A CN201510631007A CN105388896B CN 105388896 B CN105388896 B CN 105388896B CN 201510631007 A CN201510631007 A CN 201510631007A CN 105388896 B CN105388896 B CN 105388896B
Authority
CN
China
Prior art keywords
module
bus
message
clean robot
cleaning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510631007.8A
Other languages
English (en)
Other versions
CN105388896A (zh
Inventor
翟雨
张小*
章征贵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MENGYIN JINHUA MACHINERY Co.,Ltd.
Original Assignee
Shanghai View Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai View Technologies Co Ltd filed Critical Shanghai View Technologies Co Ltd
Priority to CN201510631007.8A priority Critical patent/CN105388896B/zh
Publication of CN105388896A publication Critical patent/CN105388896A/zh
Application granted granted Critical
Publication of CN105388896B publication Critical patent/CN105388896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers

Abstract

本发明提供了一种基于CAN总线的分布式清洁机器人控制系统及其控方法,控制系统中包括:监控模块,从CAN总线中接收所有的总线消息,以完成各个模块的初始化和工作状态的监控;人机交互模块,获取电源开启指令和目标清洁区域指令;定位模块,用于定位分布式清洁机器人的位置;导航模块,计算出分布式清洁机器人的清洁路线,并将导航消息发送至CAN总线;电机驱动模块,从CAN总线中获取导航消息并计算出电机转速,进而根据电机转速控制电机运行;清洁模块,从CAN总线中获取开始清洁消息进而控制分布式机器人开始清洁作业;电源管理模块实现对分布式清洁机器人的供电控制。该控制系统具备耦合度低、容错性强、可靠性高等优点。

Description

基于CAN总线的分布式清洁机器人控制系统及控制方法
技术领域
[0001]本发明涉及机器人控制领域,尤其涉及一种针对分布式清洁机器人的控制系统。
背景技术 t0002]随着传感器、控制、驱动及材料等领域的技术进步,机器人逐步广泛应用于各个领 域的工作中,其中,对室内地面的清洁也是机器人的一项重要应用。清洁机器人是能够在房 间自动清洁地面的一种新型的服务机器人,它集机械、电子技术、传感技术、计算机技术、控 制技术、机器人技术、人工智能等诸多学科为一体。清洁机器人作为智能移动机器人实用化 发展的先行者,其带动了家庭服务机器人行业的发展,同时促进了移动机器人技术、传感器 等相关技术的发展,其小巧轻便、操作简单、自主性强、具有很强的操作性。
[0003]目前市面上已有的一些清洁机器人,其控制系统一般来说都是建立在一块嵌入式 控制板上,由一个主控芯片做整体调度,自动控制清扫机器人实现各种功能。但是,这种控 制方式使得整个控制系统在运行的过程中各个部件之间会产生严重的耦合,这样,一旦某 一功能发生异常很有可能会导致整个系统崩溃;且这种控制板维护难度较大,延展性较差, 通常来说,一套系统仅能适应一到两个机型,各个机型的清洁机器人都需要设计相应的控 制系统才能运行,耗费了大量的人力物力。
发明内容
[0004] 针对上述问题,本发明旨在提供一种基于CAN总线的分布式清洁机器人控制系统 及控制方法,其采用模块化结构搭建该控制系统,与现有技术相比,具有耦合度低、容错性 强、可靠性高等优点,同时降低了清洁机器人维护难度等。
[0005] 本发明提供的技术方案如下:
[0006] —种基于CAN总线的分布式清洁机器人控制系统,
[0007]所述分布式清洁机器人控制系统中包括:监控模块、人机交互模块、定位模块、导 航模块、至少一个电机驱动模块、至少一个清洁模块以及电源管理模块;其中,
[0008] 所述监控模块,与CAN总线连接,所述监控模块从所述CAN总线中接收所有的总线 消息,以完成对所述人机交互模块、定位模块、导航模块、电机驱动模块、清洁模块以及电源 管理模块的初始化和工作状态的监控;
[0009] 人机交互模块,与CAN总线连接,所述人机交互模块获取用户的电源开启指令和目 标清洁区域指令,并分别将电源开启消息和目标清洁区域消息发送至CAN总线;
[0010] 定位模块,与CAN总线连接,所述定位模块用于定位分布式清洁机器人的位置,并 将位置消息发送至CAN总线;再有,所述定位模块从CAN总线中获取所述目标清洁区域消息, 当检测到分布式清洁机器人达到目标清洁区域时,所述定位模块发送开始清洁消息发送至 CAN总线;
[0011] 所述导航模块,与CAN总线连接,所述导航模块从CAN总线上获取所述目标清洁区 域消息和位置消息进而计算出分布式清洁机器人的清洁路线,并将导航消息发送至CANS 线;另外,所述导航模块从CAN总线上获取开始清洁消息,进而根据所述清洁路线导航所述 分布式清洁机器人;当所述导航模块根据所述目标清洁区域消息定位到分布式清洁机器人 到达导航终点时,发送停止清洁消息至CAN总线;
[0012] 所述电机驱动模块,与CAN总线连接,所述电机驱动模块从CAN总线中获取所述导 航消息并计算出电机转速,进而根据所述电机转速控制电机运行;
[0013] 所述清洁模块,与CAN总线连接,所述清洁模块从CAN总线中获取所述开始清洁消 息进而开启清洁开关,控制分布式机器人开始清洁作业;所述清洁模块从CAN总线获取停止 清洁消息进而关闭清洁开关,并发送电源关闭消息至CAN总线;
[0014] 所述电源管理模块,与CAN总线连接,所述电源管理模块从CAN总线上获取所述电 源开启消息和电源关闭消息,实现对分布式清洁机器人的供电控制;当分布式清洁机器人 不工作时,自动调控各个模块的供电,使得分布式清洁机器人处于低功耗工作状态。
[0015] 在本技术方案中,电源管理模块控制整个清洁机器人的供电,包括开启和关闭。另 夕卜,当分布式清洁机器人不工作时,为了节约电量,电源管理模块会自动关闭一些部分模块 的供电,如清洁模块、电机驱动模块、导航模块、定位模块、人机交互模块等。
[0016] 优选地,所述分布式清洁机器人控制系统中还包括至少一个与CAN总线连接的速 度检测模块,所述速度检测模块获取车轮转速,并将车轮转速消息发送至CAN总线;
[0017] 电机驱动模块以第一预设频率从CAN总线获取所述车轮转速消息进而调控电机转 速。
[0018] 优选地,所述分布式清洁机器人控制系统中还包括:避障模块和/或防跌落模块, 其中,
[0019] 所述避障模块,与CAN总线连接,所述避障模块实现对分布式清洁机器人四周障碍 物的监控,并发送障碍物消息至CAN总线;同时,所述避障模块从CAN总线中获取所述车轮转 速消息,进而判定分布式清洁机器人是否会与四周障碍物发生碰撞;当避障模块判定存在 近距离障碍物,则发送第一预警消息至CAN总线;
[0020] 所述防跌落模块,与CAN总线连接,所述防跌落模块用于探测分布式清洁机器人底 部至地面的距离,并将探测到的距离与预设阈值进行比对;当判定探测到的距离大于预设 阈值,则计算出与该探测角度相反的危险速度消息并发送至CAN总线。
[0021] 在本技术方案中,这里说的近距离障碍物即可能与清洁机器人发生碰撞的障碍 物,这里的第一预警消息里面包括了该近距离障碍物的距离、方位等,进而电机驱动模块控 制电机运转,避开该近距离障碍物。
[0022] 优选地,所述分布式清洁机器人控制系统中还包括与CAN总线连接的用量检测模 块,所述用量检测模块用于检测所述分布式清洁机器人自身的电量和/或水量和/或垃圾 量;当所述用量检测模块检测到电量低于电量阈值和/或水量低于水量阈值和/或垃圾量高 于预设垃圾量时,则发送第二预警消息至CAN总线;
[0023] 导航模块从CAN总线中获取所述第二预警消息,并将分布式清洁机器人导航至充 电站和/或蓄水处和/或垃圾回收处。
[0024] 在本技术方案中,当分布式清洁机器人达到充电站时,则电源管理模块可以切断 清洁模块、电机驱动模块等模块的供电;同样的,当分布式清洁机器人到达蓄水处或垃圾回 收站时,电源管理模块也切断其他一些没有必要的模块的供电,以智能控制清洁机器人中 各个模块的供电,节约电量。 、
[0025] 优选地,所述监控模块中包括无线通信单元和/或通信接口单元,所述监控模块通 过所述无线通信单元和/或通信接口单元实现与外界通信。
[0026] 一种基于CAN总线的分布式清洁机器人控制方法,应用于上述分布式清洁机器人 控制系统,所述分布式清洁机器人控制方法包括以下步骤: 、
[0027] 人机交互模块分别获取用户的电源开启指令和目标清洁区域指令,并分别将电源 开启消息和目标清洁区域消息发送至CAN总线;
[0028] 电源管理模块从CAN总线上获取所述电源开启消息,进而开始为清洁机器人供电;
[0029] 定位模块定位分布式清洁机器人的位置,并将位置消息发送至CAN总线;
[0030] 导航模块从CAN总线上获取所述目标清洁区域消息和位置消息进而计算出分布式 清洁机器人的清洁路线,并将导航消息发送至CAN总线;
[0031] 电机驱动模块从CAN总线中获取所述导航消息并计算出电机转速,进而根据所述 电机转速控制电机运行;
[0032]所述定位模块从CAN总线中获取所述目标清洁区域消息,并检测所述分布式清洁 机器人是否达到目标清洁区域;若检测到到达目标清洁区域,则所述定位模块发送开始清 洁消息发送至CAN总线;
[0033] 清洁模块从CAN总线中获取所述开始清洁消息进而开启清洁开关,控制分布式机 器人开始清洁作业;
[0034]所述导航模块从CAN总线上获取开始清洁消息,进而根据所述清洁路线导航所述 分布式清洁机器人;当所述导航模块根据所述目标清洁区域消息定位到分布式清洁机器人 到达导航终点时,发送停止清洁消息至CAN总线;
[0035]所述清洁模块从CAN总线获取停止清洁消息进而关闭清洁开关,并发送电源关闭 消息至CAN总线;
[0036]所述电源管理模块从CAN总线上获取所述电源关闭消息,进而切断清洁机器人的 供电。
[0037] 优选地,所述分布式清洁机器人控制方法中还包括以下步骤:
[0038]速度检测模块获取车轮转速,并将车轮转速消息发送至CAN总线;
[0039]电机驱动模块以第一预设频率从CAN总线获取所述车轮转速消息进而调控电机转 速。
[0040] 优选地,所述分布式清洁机器人控制方法中还包括以下步骤:
[0041] 避障模块监控分布式清洁机器人四周障碍物,并发送障碍物消息至CAN总线;
[0042]所述避障模块从CAN总线中获取所述车轮转速消息,进而判定分布式清洁机器人 是否会与四周障碍物发生碰撞;
[0043]当避障模块判定存在近距离障碍物,则发送第一预警消息至CAN总线;
[0044]和/或,
[0045]防跌落模块探测分布式清洁机器人底部至地面的距离,并将探测到的距离与预设 阈值进行比对; '
[0046]当判定探测到的距离大于预设阈值,则计算出与该探测角度相反的危险速度消息 并发送至CAN总线; 』、
[0047]电机驱动模块从CAN总线中获取所述速度消息,进而控制电机运行。
[0048]优选地,所述分布式清洁机器人控制方法中还包括以下步骤:
[0049]用量检测模块检测检测分布式清洁机器人自身的电量和/或水量和/或垃圾量; [0050]当所述用量检测模块检测到电量低于电量阈值和/或水量低于水量阈值和/或垃 圾量高于预设垃圾量时,则发送第二预警消息至CAN总线;
[0051]导航模块从CAN总线中获取所述第二预警消息,进而将分布式清洁机器人导航至 充电站和/或蓄水处和/或垃圾回收处。
[0052]优选地,在定位模块定位分布式清洁机器人的位置,并将位置消息发送至CAN总线 之前,还包括以下步骤:
[0053]人机交互模块、定位模块、导航模块、电机驱动模块、清洁模块、电源管理模块、速 度检测模块、避障模块、防跌落模块以及用量检测模块分别发送初始化请求消息至CAN总 线;
[0054]监控模块接收各个受控模块发送的初始化请求消息并进行处理,若初始化成功, 则发送初始化完成消息至CAN总线中;若初始化出错,则发送初始化出错消息至CAN总线中, 将相应受控模块挂起;
[0055]监控模块以第二预设频率发送各个受控模块的状态反馈消息至CAN总线中,若监 控模块未收到状态反馈消息,则判定该受控模块处于脱离状态,并将脱离消息发送至CAN总 线中,以调整其他受控模块的工作状态。
[0056]在本技术方案中,这里说的各个受控模块即为上面描述的受到监控模块监控的人 机交互模块、定位模块、导航模块、电机驱动模块、清洁模块、电源管理模块、速度检测模块、 避障模块、防跌落模块以及用量检测模块。
[0057]通过本发明提供的基于CAN总线的分布式清洁机器人控制系统及控制方法,能够 带来以下至少一种有益效果:
[0058]在本发明中,对分布式清洁机器人的各个功能进行模块化,包括监控模块、定位模 块等,且各个模块分别通过CAN进行连接和通信,这样,降低了各个模块之间的耦合性,在实 际应用中,可根据不同机型配置相应模块,进而可以兼容多种类型的清洁机器人,提高系统 的兼容性;
[0059] 再有,在本发明中,监控模块通过CAN总线实时监控各个受控模块,可以及时判断 出发生异常的模块及其异常内容;又由于各个受控模块间的低耦合,这样,任何一个受控模 块出现异常都不会波及其他的受控模块的正常运作,从而提高清洁机器人的容错性、使用 安全性和运行的稳定性;
[0060] 另外,在本发明中,所有受控模块并行运作,因而可以通过分别提高单个受控模块 的运行效率从而提高整套系统的运行效率,进而提高整个系统实时性,同时降低其对硬件 性能的依赖;且基于分布式系统的独特优点,根据CAN总线对其中一个受控模块进行升级维 护时其他受控模块仍能保持正常的工作状态;
[0061] 最后,在本发明中,系统中部分受控模块可以存在多个,可以根据不同的需求和功 能进行增加,如,速度检测模块、电机驱动模块、避障模块、防跌落模块、用量检测模块等,使 得系统具有很好的可扩展性。
附图说明
[0062]下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、 优点及其实现方式予以进一步说明。 ' ' 、
[0063]图1为本发明中分布式清洁机器人控制系统第一种实施方式结构示意图.
[0064]图2为本发明中CAN总线连接端口结构示意图; ^ ’
[0065]图3为本发明中分布式清洁机器人控制系统第二种实施方式结构示意图;
[0066]图4为本发明中分布式清洁机器人控制系统第三种实施方式结构示;J图1 [0067]图5为本发明中分布式清洁机器人控制系统第四种实施方式结构示^图|
[0068]图6为本发明中分布式清洁机器人控制方法流程示意图;— ^ ’
[0069] 图7为本发明中CAN总线网络节点工作流程图。
[0070] 附图标号说明:
[0071 ] 1 -监控模块,2-人机交互模块,3-定位模块,4-导航模块,
[0072] 5_电机驱动模块。e-清洁模块,7_电源管理模块,8-速度检测模块,
[0073] 9-避障模块,10-防跌落模块,11-用量检测模块。 ’
具体实施方式
[0074]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明 本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于 本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他 的附图,并获得其他的实施方式。
[0075]如图1所示为本发明提供的基于CAN总线的分布式清洁机器人控制系统第一种实 施方式结构示意图,从图中可以看出,该分布式清洁机器人控制系统中包括:监控模块〖、人 机交互模块2、定位模块3、导航模块4、至少一个电机驱动模块5、至少一个清洁模块6以及电 源管理模块7,且每个模块分别与CAN总线连接,其中监控模块1可实现对其他各个模块的监 控,以下受到监控模块1监控的其他模块我们定义为受控模块。在使用该控制系统对目标清 洁区域进行清洁之前,对清洁机器人进行配置,具体来说,首先将清洁机器人中能够完成一 个功能需要的至少一个模块定义为该功能的最小模块组,如一个人机交互模块2、一个定位 模块3、一个清洁模块6等都是一个最小模块组;相对应的,在监控模块1中配置清洁机器人 中各最小模块组对应的功能小组,以实现监控模块1对受控模块进行定期检查,若最小模块 组不满足运行条件则禁用相应功能;另外,为了实现与CAN总线中的通信,清洁机器人中每 个最小模块组中都配置一个CAN总线连接端口,如图2所示,从图中可以看出,在该CAN总线 连接端口包括4个接线口,分别为电源端VCC、接地端GND、CAN高电平端CAN_H和CAN低电平端 CAN_L,即采用4线制连接方式,标准CAN总线电平,这样,各个最小模块组通过CAN总线收发 消息;且除了监控模块1外,其他的受控模块接收到CAN总线发送的消息之后均需要给出应 答。在具体实施例中,监控模块1、定位模块3和导航模块4三个管理型模块主要负责运算和 调度其他模块(人机交互模块2、电机驱动模块5、清洁模块6和电源管理模块7等)的工作,采 用ARM9系列芯片实现;人机交互模块2、电机驱动模块5、清洁模块6和电源管理模块7等驱动 型模块负责驱动清洁机器人硬件,采用STM32f072系列芯片实现,当然,在其他实施例中,可 以采用其他系列芯片,只要能实现本实施例的目的,都包括在本发明的内容中。
[0076] 具体来说,监控模块1,与CAN总线连接,监控模块1从CAN总线中接收所有的总线消 息,以完成对人机交互模块2、定位模块3、导航模块4、电机驱动模块5、清洁模块6以及电源 管理模块7的初始化和工作状态的监控,且分别记录各个受控模块的工作情况和异常情况, 并将接收到的所有总线消息保存在Flash中。再有,为了使清洁机器人能够与外界进行通 信,在监控模块1中我们设置了无线通信单元和/或通信接口单元,这样,监控模块1就可以 将获取来的监控数据、异常数据等发布至云端。
[0077]在具体实施例中,监控模块1对各个模块进行初始化的过程具体为:首先,除监控 模块1外其他各个受控模块(包括人机交互模块2、定位模块3、导航模块4、电机驱动模块5、 清洁模块6以及电源管理模块7)均向CAN总想发送初始化请求消息M0DULE_INIT;随后,监控 模块1从CAN总线中接收该初始化请求消息M0DULE_INIT并进行处理。若监控模块1处理的结 果为初始化成功,则发送初始化成功消息MODULE_INIT_ACK至CAN总线中,相应的受控模块 接收到该初始化成功消息M0DULE_INH_ACK之后即完成了对该受控模块的初始化;随即,监 控模块1将初始化成功的受控模块加入控制系统中运行和监控;相应地,若处理的结果为初 始化出错,则发送初始化出错消息MODULE_INIT_ERR_ACK至CAN总线中,则相应受控模块接 收到该初始化出错消息MODULE_INIT_ERR_ACK之后挂起,即在清洁机器人工作的过程中不 运行。
[0078]在具体实施例中,监控模块1对各个受控模块工作状态的进行监控的具体过程为: 各个受控模块以第二预设频率(间隔时间HANDLE_T I ME)向CAN总线中发送状态反馈消息 M0DULE_STAT;监控模块1以同样的频率从CAN总线中获取该状态反馈消息M0DULE_STAT,若 监控模块1在一定时间(如,2*HANDLE_TIME)内未收到状态反馈消息M0DULE_STAT,则判定该 受控模块处于脱离状态,并将脱离消息M0DULE_REM0VE发送至CAN总线中,这样,其他受控模 块从CAN总线中接收到脱离消息M0DULE_REM0VE,根据该处于脱离状态的受控模块及时调整 自身的工作状态;相应地,若监控模块1在时间内接收到了状态反馈消息M0DULE_STAT,则监 控模块1开始处理状态反馈消息M0DULE_STAT中的信息,控制系统根据处理的结果进行响 应。
[0079] 具体来说,监控模块1在对处理状态反馈消息M0DULE_STAT进行处理的过程中,若 处理的结果为该受控模块存在严重异常,则发送严重异常消息至CAN总线中,其他受控模块 从CAN总线中接收上述严重异常消息并作出相应调整,同时电源管理模块7从CAN总线中接 收上述严重异常消息,切断相应受控模块的供电;若处理的结果为该受控模块存在一般异 常,则监控模块1记录或上报该异常,并发送模块正常消息至CAN总线中;若处理的结果为该 受控模块正常工作,则监控模块1直接发送模块正常消息至CAN总线中。当然,在清洁机器人 运行的过程中,若某一受控模块出现严重异常,甚至会影响整个控制系统的工作,则该受控 模块会主动发送模块异常消息C〇MM_ERR至CAN总线中,监控模块1从CAN总线中获取该模块 异常消息C0MM_ERR并进行处理,处理出来的结果与状态反馈消息M0DULE_STAT的处理结果 采用相同的方式处理;若处理的结果为一般异常,则监控模块1记录或上报该异常,并发送 模块正常消息C0MM_ERR_ERR至CAN总线中;若处理的结果为严重异常,则发送严重异常消息 至CAN总线中,其他受控模块从CAN总线中接收上述严重异常消息并作出相应调整,同时电 源管理模块7从CAN总线中接收上述严重异常消息,切断相应受控模块的供电。
[0080] 人机交互模块2,与CAN总线连接,人机交互模块2获取用户的电源开启指令和目标 清洁区域指令,并分别将电源开启消息P〇WER_ON和目标清洁区域消息TARGET_AREA发送至 CAN总线。具体来说,人机交互模块2用于方便清洁机器人与人之间进行交互、发出警告等, 用户通过人机交互模块2发送电源开启指令P〇WER_ON并发送至CAN总线中;随后,人机交互 模块2采集用户指定到目标清洁区域指令后,向CAN总线发送目标清洁区域消息TARGET_ AREA。在具体实施例中,包括两个人机交互模块2,分别为人机交互模块1和人机交互模块2, 其中,人机交互模块1用于用户通过一显示屏输入指令、选择清洁区域等功能,人机交互模 块2用于指示灯切换,警报语音等功能。当然,在其他实施例中,我们对人机交互模块2的数 量不做限定,可以根据实际情况进行设定。
[0081] 定位模块3,与CAN总线连接,定位模块3用于定位分布式清洁机器人的位置,并将 位置消息发送至CAN总线,以提高导航模块4的精度;再有,定位模块3从CAN总线中获取目标 清洁区域消息TARGET_AREA,当检测到分布式清洁机器人达到目标清洁区域时,定位模块3 发送开始清洁消息CLEANER_START发送至CAN总线。
[0082]导航模块4,与CAN总线连接,导航模块4从CAN总线上获取目标清洁区域消息 TARGET_AREA和位置消息进而计算出分布式清洁机器人的清洁路线(包括清洁机器人清洁 过程中的移动方向和移动速度),并将导航消息NAV_VEL0CITY发送至CAN总线;另外,导航模 块4从CAN总线上获取开始清洁消息CLEANER_START,进而根据清洁路线导航分布式清洁机 器人;当导航模块4根据目标清洁区域消息TARGET_AREA定位到分布式清洁机器人到达导航 终点时,发送停止清洁消息CLEANER_COMPLT至CAN总线。
[0083]电机驱动模块5,与CAN总线连接,电机驱动模块5从CAN总线中获取导航消息NAV_ VELOCITY并计算出电机转速,进而根据电机转速控制电机运行。在具体实施中,电机驱动模 块5通过使能信号、反向信号、PWM (Pulse Width Modulation,脉冲宽度调制)值控制直流电 机运动,并定期获取该车轮的实时速度通过计算PID (Proportion,比例;Integration,积 分;Differentiation,微分)调整电机PWM值,且在该实施例中,清洁机器人中包括两个电极 驱动模块,分别为电机驱动模块1和电机驱动模块2,其分别对应清洁机器人的左轮和右轮, 实现对左轮和右轮的转动控制。
[0084] 清洁模块6,与CAN总线连接,清洁模块6从CAN总线中获取开始清洁消息CLEANER_ START进而开启清洁开关,控制分布式机器人开始清洁作业;清洁模块6从CAN总线获取停止 清洁消息CLEANER_C0MPLT进而关闭清洁开关,并发送电源关闭消息P0WER_0FF至CAN总线。 在具体实施例中,包括两个清洁模块6,清洁模块1用于控制清洁机器人清洁刷电机、升降电 机,清洁模块2控制机器人喷水等功能。当然,在其他实施例中,我们对清洁模块6的数量不 做限定,可以根据实际情况进行设定。另外,在其他实施例中,可以通过人机交互模块2发送 电源关闭消息P0WERJFF至CAN总线,而后电源管理模块7从CAN总线中获取该电源关闭消息 P0WER_0FF,关闭清洁机器人的供电。
[0085]电源管理模块7,与CAN总线连接,电源管理模块7从CAN总线上获取电源开启消息 P0ffER_0N和电源关闭消息powerjff,实现对分布式清洁机器人的供电控制;当分布式清洁 机器人不工作时,自动调控各个模块的供电,使得分布式清洁机器人处于低功耗工作状态。 [0086]如图3所示为本发明提供的基于CAN总线的分布式清洁机器人控制系统第二种实 施方式结构示意图,从图中可以看出,在第一实施方式的基础上,该分布式清洁机器人控制 系统中还包括至少一个与CAN总线连接的速度检测模块8,速度检测模块8获取车轮转速,并 将车轮转速消息ODOM_ENC发送至CAN总线。更进一步来说,电机驱动模块5以第一预设频率 从CAN总线获取车轮转速消息ODOM_ENC和危险车速消息EMERG_VELOCITY进而调控电机转 速,实现响应;再有,定位模块3也会定期从CAN总线中获取该车轮转速消息〇DOM_ENC,以精 确计算出清洁机器人所处位置。上面描述中,电机驱动模块5获取车轮转速消息〇D〇M_ENC的 频率、定位模块3获取车轮转速消息ODOM_ENC的频率可以相同也可以不同,根据实际情况进 行设定。在该具体实施例中,在清洁机器人车轮上安装差分式增量编码器,这样,速度检测 模块8就能通过读取该差分式增量编码器中的数据,进而根据清洁机器人的车轮半径及计 时电路计算出车轮速度。且在该实施例中,清洁机器人中包括两个速度检测模块8,具体为 速度检测模块1和速度检测模块2,分别对应清洁机器人的左轮和右轮。当然,在其他实施例 中,我们对速度检测模块8的数量不做限定,根据实际情况进行设定。
[0087]如图4所示为本发明提供的基于CAN总线的分布式清洁机器人控制系统第三种实 施方式结构示意图,从图中可以看出,在第二实施方式的基础上,该分布式清洁机器人控制 系统中还包括:避障模块9和/或防跌落模块10,其中,避障模块9,与CAN总线连接,避障模块 9实现对分布式清洁机器人四周障碍物的监控,并发送障碍物消息〇BSTACLE_PCL至CAN总 线;同时,避障模块9从CAN总线中获取车轮转速消息〇DOM_ENC,进而判定分布式清洁机器人 是否会与四周障碍物发生碰撞;当避障模块9判定存在近距离障碍物(可能发生碰撞的障碍 物),则发送第一预警消息(即上述的危险车速消息EMERG_VELOCITY)至CAN总线,进而实现 对清洁机器人周边环境的监控同时根据周边情况及时作出预警,此时,电机驱动模块5从 CAN总线中获取该第一预警消息,从而控制电机运转。在具体实施例中,避障模块9通过激光 雷达传感器探测清洁机器人前方的障碍物、通过超声波雷达传感器探测清洁机器人处前方 以外的障碍物,随后,将探测到的障碍物消息〇BSTACLE_PCL整合成点云发布到总线上,进而 从CAN总线中获取清洁机器人移动速度和移动方向对清洁机器人运动轨迹做近距离预测, 若机器人行驶路线上存在近距离障碍物则将第一预警消息发布到总线上。另外,定位模块3 和导航模块4也会定期从CAN总线中获取该障碍物消息〇BSTACLE_PCL,以精确定位清洁机器 人的位置信息。
[0088]防跌落模块10,与CAN总线连接,跌落模块通过设置在清洁机器人底部的传感器对 距离地面的距离进行探测,并将探测到的距离与预设阈值做比较;若探测到的距离超过预 设阈值,则方跌落模块主动向CAN总线发布传感器安装角度,并计算得到运行的清洁机器人 与该安装角度相反方向的危险速度消息EffiRG_VELOCITY并发布到CAN总线,以便让清洁机 器人朝向与传感器相反的方向进行逃离。在具体实施例中,在清洁机器人底部安装至少一 个红外测距传感器实现地面距离的探测,将这些红外测距传感器根据实际情况分设在清洁 机器人的底部,且分别根据安装位置距地面的距离设置一个预设阈值,若探测到的距离超 过该预设阈值,则认为探测到一个悬崖,此时发布一个与悬崖位置相反的危险速度消息 EMERG_VELOCITY至CAN总线中,这样,电机驱动模块5从CAN总线中获取该危险速度消息 EMERG_VELOCITY控制电机朝向安全的方向逃离。另外要说明的是,在本实施例中,该危险速 度消息EMERG_VELOCITY优先级高于清洁机器人正常移动的速度,这样,使电机驱动模块5能 更快的响应该消息促使清洁机器人逃离。
[0089]如图5所示为本发明提供的基于CAN总线的分布式清洁机器人控制系统第四种实 施方式结构示意图,从图中可以看出,在第三实施方式的基础上,该分布式清洁机器人控制 系统中还包括与CAN总线连接的用量检测模块11,用量检测模块11用于检测分布式清洁机 器人自身的电量和/或水量和/或垃圾量;当用量检测模块11检测到电量低于电量阈值和/ 或水量低于水量阈值和/或垃圾量高于预设垃圾量时,则发送第二预警消息STAT-WARN至 CAN总线;此时导航模块4从CAN总线中获取第二预警消息STAT_WARN,并发布暂停清洁消息 CLEANER_SUSPEND至CAN总线,再将分布式清洁机器人导航至充电站和/或蓄水处和/或垃圾 回收处。在具体实施例中,清洁机器人中可以配置3个用量检测模块11,分别为水量检测模 块、电量检测模块和垃圾量检测模块,同时实现对水量、电量和垃圾量的监测。另外,在该实 施例中,当分布式清洁机器人达到充电站时,则电源管理模块7可以切断清洁模块6、电机驱 动模块5等模块的供电;同样的,当分布式清洁机器人到达蓄水处或垃圾回收站时,电源管 理模块7也切断其他一些没有必要的模块的供电,以智能控制清洁机器人中各个模块的供 电,节约电量。当然,在其他实施例中,对用量检测模块11的数量不做限定,可以根据实际情 况进行设置。
[0090] 如图6所示为本发明中提供的分布式清洁机器人控制方法流程示意图,该分布式 清洁机器人控制方法应用于上述分布式清洁机器人控制系统,具体来说,该分布式清洁机 器人控制方法包括以下步骤:
[0091] S1人机交互模块2分别获取用户的电源开启指令和目标清洁区域指令,并分别将 电源开启消息P〇WER_ON和目标清洁区域消息TARGET_AREA发送至CAN总线;
[0092] S2电源管理模块7从CAN总线上获取电源开启消息P0WER_0N,进而开始为清洁机器 人供电;
[0093] S3定位模块3定位分布式清洁机器人的位置,并将位置消息发送至CAN总线;
[0094] S4导航模块4从CAN总线上获取目标清洁区域消息TARGET_AREA和位置消息进而计 算出分布式清洁机器人的清洁路线,并将导航消息NAV_VELOCITY发送至CAN总线;
[0095] S5电机驱动模块5从CAN总线中获取导航消息NAV_VEL0CITY并计算出电机转速,进 而根据电机转速控制电机运行;
[0096] S6定位模块3从CAN总线中获取目标清洁区域消息TARGET_AREA,并检测分布式清 洁机器人是否达到目标清洁区域;若检测到到达目标清洁区域,则定位模块3发送开始清洁 消息发CLEANER_START送至CAN总线;
[0097] S7清洁模块6从CAN总线中获取开始清洁消息CLEANER_START进而开启清洁开关, 控制分布式机器人开始清洁作业;
[0098] S8导航模块4从CAN总线上获取开始清洁消息CLEANER_START,进而根据清洁路线 导航分布式清洁机器人;当导航模块4根据目标清洁区域消息CLEANER_START定位到分布式 清洁机器人到达导航终点时,发送停止清洁消息CLEANER_COMPLT至CAN总线;
[0099] S9清洁模块6从CAN总线获取停止清洁消息CLEANER_COMPLT进而关闭清洁开关,并 发送电源关闭消息P〇WER_OFF至CAN总线;
[0100] S10电源管理模块7从CAN总线上获取电源关闭消息P0WERJFF,进而切断清洁机器 人的供电。
[0101]通过以上描述的步骤S1〜S10,即实现了清洁机器人对目标清洁区域的清洁,对于 以上描述的人机交互模块2、电源管理模块7、定位模块3、导航模块4、清洁模块6等在控制系 统中已经描述,在此不作赘述。
[0102] 进一步来说,该分布式清洁机器人控制方法中还包括以下步骤:
[0103] 速度检测模块8获取车轮转速,并将车轮转速消息㈤0M_VEL0CITY发送至CAN总线; 电机驱动模块5以第一预设频率从CAN总线获取车轮转速消息㈤0M_VEL0CITY进而调控电机 转速。更进一步来说,电机驱动模块5以第一预设频率从CAN总线获取车轮转速消息〇DOM_ ENC和危险车速消息EMERG_VELOCITY进而调控电机转速,实现响应;再有,定位模块3也会定 期从CAN总线中获取该车轮转速消息㈤〇M_ENC,以精确计算出清洁机器人所处位置。上面描 述中,电机驱动模块5获取车轮转速消息0D0M_ENC的频率、定位模块3获取车轮转速消息 ㈤0M_ENC的频率可以相同也可以不同,根据实际情况进行设定。在该具体实施例中,在清洁 机器人车轮上安装差分式增量编码器,这样,速度检测模块8就能通过读取该差分式增量编 码器中的数据,进而根据清洁机器人的车轮半径及计时电路计算出车轮速度。且在该实施 例中,清洁机器人中包括两个速度检测模块8,具体为速度检测模块1和速度检测模块2,分 别对应清洁机器人的左轮和右轮。当然,在其他实施例中,我们对速度检测模块8的数量不 做限定,根据实际情况进行设定。
[0104] 更进一步来说,分布式清洁机器人控制方法中还包括以下步骤:
[0105] 避障模块9监控分布式清洁机器人四周障碍物,并发送障碍物消息〇BSTACLE_PCL 至CAN总线;避障模块9从CAN总线中获取车轮转速消息0D0M_VEL0CITY,进而判定分布式清 洁机器人是否会与四周障碍物发生碰撞;当避障模块9判定存在近距离障碍物,则发送第一 预警消息至CAN总线。在具体实施例中,避障模块9通过激光雷达传感器探测清洁机器人前 方的障碍物、通过超声波雷达传感器探测清洁机器人处前方以外的障碍物,随后,将探测到 的障碍物消息〇BSTACLE_PCL整合成点云发布到总线上,进而从CAN总线中获取清洁机器人 移动速度和移动方向对清洁机器人运动轨迹做近距离预测,若机器人行驶路线上存在近距 离障碍物则将第一预警消息发布到总线上。另外,定位模块3和导航模块4也会定期从CAN总 线中获取该障碍物消息〇BSTACLE_PCL,以精确定位清洁机器人的位置信息。
[0106] 和/或,防跌落模块10探测分布式清洁机器人底部至地面的距离,并将探测到的距 离与预设阈值进行比对;当判定探测到的距离大于预设阈值,则计算出与该探测角度相反 的速度消息并发送至CAN总线;电机驱动模块5从CAN总线中获取速度消息,进而控制电机运 行。在具体实施例中,在清洁机器人底部安装至少一个红外测距传感器实现地面距离的探 测,将这些红外测距传感器根据实际情况分设在清洁机器人的底部,且分别根据安装位置 距地面的距离设置一个预设阈值,若探测到的距离超过该预设阈值,则认为探测到一个悬 崖,此时发布一个与悬崖位置相反的危险速度消息EMERGJELOCITY至CAN总线中,这样,电 机驱动模块5从CAN总线中获取该危险速度消息EffiRG_VELOCITY控制电机朝向安全的方向 逃离。另外要说明的是,在本实施例中,该危险速度消息EMERGJELOCITY优先级高于清洁机 器人正常移动的速度,这样,使电机驱动模块5能更快的响应该消息促使清洁机器人逃离。
[0107] 更进一步来说,分布式清洁机器人控制方法中还包括以下步骤:
[0108] 用量检测模块11检测检测分布式清洁机器人自身的电量和/或水量和/或垃圾量; 当用量检测模块11检测到电量低于电量阈值和/或水量低于水量阈值和/或垃圾量高于预 设垃圾量时,则发送第二预警消息至CAN总线;导航模块4从CAN总线中获取第二预警消息, 进而将分布式清洁机器人导航至充电站和/或蓄水处和/或垃圾回收处。在具体实施例中, 清洁机器人中可以配置3个用量检测模块11,分别为水量检测模块、电量检测模块和垃圾量 检测模块,同时实现对水量、电量和垃圾量的监测。
[0109] 更进一步来说,在定位模块3定位分布式清洁机器人的位置,并将位置消息发送至 CAN总线之前,还包括以下步骤:
[0110] 人机交互模块2、定位模块3、导航模块4、电机驱动模块5、清洁模块6、电源管理模 块7、速度检测模块8、避障模块9、防跌落模块1〇以及用量检测模块11分别发送初始化请求 消息M0DULE_INIT至CAN总线; 监控模块1接收各个受控模块发送的初始化请求消息M0DULE_INIT并进行处理,若 初始化成功,则发送初始化完成消息至CAN总线中;若初始化出错,则发送初始化出错消息 至CAN总线中,将相应受控模块挂起,如图7所示,为CAN总线中网络节点的工作流程图,从图 中可以看出,CAN总线中网络节点(即各个受控模块)在工作过程中,各个网络节点向CAN总 线发送初始化消息,CAN总线接收到之后会返回一个应答消息,以确保总线和节点均获取当 前加入状态,具体来说,整个过程中,网络节点向CAN总线中发送初始化消息,随后CAN总线 给与应答;若该网络节点接收到应答,则可以进行后续的数据通信,否则挂起不工作;随后, 该网络节点与CAN总线进行数据通信的过程中,首先向CAN总线发送数据,CAN总线同样会给 与应答,若接收到应答,则通信结束,相反,若没有接收到应答,则发送报错处理至CAN总线 中,此时,CAN总线接收到该网络节点发送的报错处理同样会给与应答;若该网路节点接收 到该报错应答,则结束通信,否则该网路节点挂起不工作,这样就能实现对各个网络节点的 实时监控。
[0112]在具体实施例中,监控模块1对各个模块进行初始化的过程具体为:首先,除监控 模块1外其他各个受控模块(包括人机交互模块2、定位模块3、导航模块4、电机驱动模块5、 清洁模块6以及电源管理模块7)均向CAN总想发送初始化请求消息M0DULE_INIT;随后,监控 模块1从CAN总线中接收该初始化请求消息M0DULE_INI T并进行处理。若监控模块1处理的结 果为初始化成功,则发送初始化成功消息MODULE_INIT_ACK至CAN总线中,相应的受控模块 接收到该初始化成功消息MODULE_INIT_ACK之后即完成了对该受控模块的初始化;随即,监 控模块1将初始化成功的受控模块加入控制系统中运行和监控;相应地,若处理的结果为初 始化出错,则发送初始化出错消息M0DULE_INIT_ERR_ACK至CAN总线中,则相应受控模块接 收到该初始化出错消息M0DULE_ INI T_ERR_ACK之后挂起,即在清洁机器人工作的过程中不 运行。更进一步来说,初始化过程中监控模块1从CAN总线中获取到初始化消息M0DULE_INIT 时,并作出以下判断:1) CAN总线下不能两个受控模块的类型编号和节点编号完全相同;2) CAN总线下不能有多个同类型的管理型模块(即在该控制系统中,不能同时包括多个定位模 块3和多个导航模块4) ;3) CAN总线下可以存在多个同类型的驱动型模块(S卩,可以同时包括 多个人机交互模块2、电机驱动模块5、清洁模块6、电源管理模块7、速度检测模块8、避障模 块9、防跌落模块10以及用量检测模块11),但节点编号不能相同,若出现以上问题,则相应 模块初始化失败,并在人机交互模块2中进行显示,提示用户。
[0113] 监控模块1以第二预设频率发送各个受控模块的状态反馈消息M0DULE_STAT至CAN 总线中,若监控模块1未收到状态反馈消息M0DULE_STAT,则判定该受控模块处于脱离状态, 并将脱离消息M0DULE_REM0VE发送至CAN总线中,以调整其他受控模块的工作状态。在具体 实施例中,监控模块1对各个受控模块工作状态的进行监控的具体过程为:各个受控模块以 第二预设频率(间隔时间HANDLE_TIME)向CAN总线中发送状态反馈消息MODULE_STAT;监控 模块1以同样的频率从CAN总线中获取该状态反馈消息MODULE_STAT,若监控模块1在一定时 间(如,2*HANDLE_TIME)内未收到状态反馈消息MODULE_STAT,则判定该受控模块处于脱离 状态,并将脱离消息MODULE_REMOVE发送至CAN总线中,这样,其他受控模块从CAN总线中接 收到脱离消息MODULE_REMOVE,根据该处于脱离状态的受控模块及时调整自身的工作状态; 相应地,若监控模块1在时间内接收到了状态反馈消息MODULE_STAT,则监控模块1开始处理 状态反馈消息MODULE_STAT中的信息,控制系统根据处理的结果进行响应。具体来说,监控 模块1在对处理状态反馈消息MODULE_STAT进行处理的过程中,若处理的结果为该受控模块 存在严重异常,则发送严重异常消息至CAN总线中,其他受控模块从CAN总线中接收上述严 重异常消息并作出相应调整,同时电源管理模块7从CAN总线中接收上述严重异常消息,切 断相应受控模块的供电;若处理的结果为该受控模块存在一般异常,则监控模块1记录或上 报该异常,并发送模块正常消息至CAN总线中;若处理的结果为该受控模块正常工作,则监 控模块1直接发送模块正常消息至CAN总线中。当然,在清洁机器人运行的过程中,若某一受 控模块出现严重异常,甚至会影响整个控制系统的工作,则该受控模块会主动发送模块异 常消息COMM_ERR至CAN总线中,监控模块1从CAN总线中获取该模块异常消息COMM_ERR并进 行处理,处理出来的结果与状态反馈消息M0DULE_STAT的处理结果采用相同的方式处理;若 处理的结果为一般异常,则监控模块i记录或上报该异常,并发送模块正常消息C〇MM_ERR_ ERR至CAN总线中;若处理的结果为严重异常,则发送严重异常消息至CAN总线中,其他受控 模块从CAN总线中接收上述严重异常消息并作出相应调整,同时电源管理模块7uCAN总线 中接收上述严重异常消息,切断相应受控模块的供电。 ^114]应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选 实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提 下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (9)

1. 一种基于CAN总线的分布式清洁机器人控制系统,其特征在于, 所述分布式清洁机器人控制系统采用模块化结构搭建该控制系统,包括:监控模块、人 机交互模块、定位模块、导航模块、至少一个电机驱动模块、至少一个清洁模块以及至少一 个电源管理模块;其中, 所述监控模块,与CAN总线连接,所述监控模块从所述CAN总线中接收所有的总线消息, 以完成对所述人机交互模块、定位模块、导航模块、电机驱动模块、清洁模块以及电源管理 模块的初始化和工作状态的监控;所述监控模块依据各个模块初始化的结果向所述CAN总 线发送各个模块的初始化成功消息或初始化出错消息;所述监控模块接收各个模块发送的 状态反馈消息,并依据所述状态反馈消息的接收结果向所述CAN总线发送各个模块的脱离 消息或严重异常消息; 人机交互模块,与CAN总线连接,所述人机交互模块获取用户的电源开启指令和目标清 洁区域指令,并分别将电源开启消息和目标清洁区域消息发送至CAN总线; 定位模块,与CAN总线连接,所述定位模块用于定位分布式清洁机器人的位置,并将位 置消息发送至CAN总线;再有,所述定位模块从CAN总线中获取所述目标清洁区域消息,当检 测到分布式清洁机器人达到目标清洁区域时,所述定位模块发送开始清洁消息发送至CAN 总线; 所述导航模块,与CAN总线连接,所述导航模块从CAN总线上获取所述目标清洁区域消 息和位置消息进而计算出分布式清洁机器人的清洁路线,并将导航消息发送至CAN总线;另 夕卜,所述导航模块从CAN总线上获取开始清洁消息,进而根据所述清洁路线导航所述分布式 清洁机器人;当所述导航模块根据所述目标清洁区域消息定位到分布式清洁机器人到达导 航终点时,发送停止清洁消息至CAN总线; 所述电机驱动模块,与CAN总线连接,所述电机驱动模块从CAN总线中获取所述导航消 息并计算出电机转速,进而根据所述电机转速控制电机运行; 所述清洁模块,与CAN总线连接,所述清洁模块从CAN总线中获取所述开始清洁消息进 而开启清洁开关,控制分布式机器人开始清洁作业;所述清洁模块从CAN总线获取停止清洁 消息进而关闭清洁开关,并发送电源关闭消息至CAN总线; 所述电源管理模块,与CAN总线连接,所述电源管理模块从CAN总线上获取所述电源开 启消息和电源关闭消息,实现对分布式清洁机器人的供电控制;所述电源管理模块从所述 CAN总线接收所述严重异常消息,切断相应各个模块的供电;当分布式清洁机器人不工作 时,自动调控各个模块的供电,使得分布式清洁机器人处于低功耗工作状态。
2. 如权利要求1所述的分布式清洁机器人控制系统,其特征在于:所述分布式清洁机器 人控制系统中还包括至少一个与CAN总线连接的速度检测模块,所述速度检测模块获取车 轮转速,并将车轮转速消息发送至CAN总线; 电机驱动模块以第一预设频率从CAN总线获取所述车轮转速消息进而调控电机转速。
3. 如权利要求2所述的分布式清洁机器人控制系统,其特征在于,所述分布式清洁机器 人控制系统中还包括:避障模块和/或防跌落模块,其中, 所述避障模块,与CAN总线连接,所述避障模块实现对分布式清洁机器人四周障碍物的 监控,并发送障碍物消息至CAN总线;同时,所述避障模块从CAN总线中获取所述车轮转速消 息,进而判定分布式清洁机器人是否会与四周障碍物发生碰撞;当避障模块判定存在近距 离障碍物,则发送第一预警消息至CAN总线; 所述防跌落模块,与CAN总线连接,所述防跌落模块用于探测分布式清洁机器人底部至 地面的距离,并将探测到的距离与预设阈值进行比对;当判定探测到的距离大于预设阈值, 则计算出与探测角度相反的危险速度消息并发送至CAN总线。
4. 如权利要求1或2或3所述的分布式清洁机器人控制系统,其特征在于:所述分布式清 洁机器人控制系统中还包括与CAN总线连接的用量检测模块,所述用量检测模块用于检测 所述分布式清洁机器人自身的电量和/或水量和/或垃圾量;当所述用量检测模块检测到电 量低于电量阈值和/或水量低于水量阈值和/或垃圾量尚于预设垃圾量时,则发送第一预警 消息至CAN总线; 导航模块从CAN总线中获取所述第二预警消息,并将分布式清洁机器人导航至充电站 和/或蓄水处和/或垃圾回收处。
5. 如权利要求4所述的分布式清洁机器人控制系统,其特征在于:所述监控模块中包括 无线通信单元和/或通信接口单元,所述监控模块通过所述无线通信单元和/或通信接口单 元实现与外界通信。
6. —种基于CAN总线的分布式清洁机器人控制方法,其特征在于,所述分布式清洁机器 人控制方法应用于如权利要求5所述的分布式清洁机器人控制系统,所述分布式清洁机器 人控制方法包括以下步骤: 人机交互模块分别获取用户的电源开启指令和目标清洁区域指令,并分别将电源开启 消息和目标清洁区域消息发送至CAN总线; 电源管理模块从CAN总线上获取所述电源开启消息,进而开始为清洁机器人供电; 人机交互模块、定位模块、导航模块、电机驱动模块、清洁模块、电源管理模块、速度检 测模块、避障模块、防跌落模块以及用量检测模块分别发送初始化请求消息至CAN总线; 监控模块接收各个受控模块发送的初始化请求消息并进行处理,若初始化成功,则发 送初始化完成消息至CAN总线中;若初始化出错,则发送初始化出错消息至CAN总线中,将相 应受控模块挂起; 监控模块以第二预设频率发送各个受控模块的状态反馈消息至CAN总线中,若监控模 块未收到状态反馈消息,则判定该受控模块处于脱离状态,并将脱离消息发送至CAN总线 中,以调整其他受控模块的工作状态; 定位模块定位分布式清洁机器人的位置,并将位置消息发送至CAN总线; 导航模块从CAN总线上获取所述目标清洁区域消息和位置消息进而计算出分布式清洁 机器人的清洁路线,并将导航消息发送至CAN总线; 电机驱动模块从CAN总线中获取所述导航消息并计算出电机转速,进而根据所述电机 转速控制电机运行; 所述定位模块从CAN总线中获取所述目标清洁区域消息,并检测所述分布式清洁机器 人是否达到目标清洁区域;若检测到到达目标清洁区域,则所述定位模块发送开始清洁消 息发送至CAN总线; 清洁模块从CAN总线中获取所述开始清洁消息进而开启清洁开关,控制分布式机器人 开始清洁作业; 所述导航模块从CAN总线上获取开始清洁消息,进而根据所述清洁路线导航所述分布 式清洁机器人;当所述导航模块根据所述目标清洁区域消息定位到分布式清洁机器人到达 导航终点时,发送停止清洁消息至CAN总线; 所述清洁模块从CAN总线获取停止清洁消息进而关闭清洁开关,并发送电源关闭消息 至CAN总线; 所述电源管理模块从CAN总线上获取所述电源关闭消息,进而切断清洁机器人的供电。
7. 如权利要求6所述的分布式清洁机器人控制方法,其特征在于,所述分布式清洁机器 人控制方法中还包括以下步骤: 速度检测模块获取车轮转速,并将车轮转速消息发送至CAN总线; 电机驱动模块以第一预设频率从CAN总线获取所述车轮转速消息进而调控电机转速。
8. 如权利要求7所述的分布式清洁机器人控制方法,其特征在于,所述分布式清洁机器 人控制方法中还包括以下步骤: 避障模块监控分布式清洁机器人四周障碍物,并发送障碍物消息至CAN总线; 所述避障模块从CAN总线中获取所述车轮转速消息,进而判定分布式清洁机器人是否 会与四周障碍物发生碰撞; 当避障模块判定存在近距离障碍物,则发送第一预警消息至CAN总线; 和/或, 防跌落模块探测分布式清洁机器人底部至地面的距离,并将探测到的距离与预设阈值 进行比对; 当判定探测到的距离大于预设阈值,则计算出与探测角度相反的危险速度消息并发送 至CAN总线; 电机驱动模块从CAN总线中获取所述速度消息,进而控制电机运行。
9. 如权利要求8所述的分布式清洁机器人控制方法,其特征在于,所述分布式清洁机器 人控制方法中还包括以下步骤: 用量检测模块检测检测分布式清洁机器人自身的电量和/或水量和/或垃圾量; 当所述用量检测模块检测到电量低于电量阈值和/或水量低于水量阈值和/或垃圾量 高于预设垃圾量时,则发送第二预警消息至CAN总线; 导航模块从CAN总线中获取所述第二预警消息,进而将分布式清洁机器人导航至充电 站和/或蓄水处和/或垃圾回收处。
CN201510631007.8A 2015-09-23 2015-09-23 基于can总线的分布式清洁机器人控制系统及控制方法 Active CN105388896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510631007.8A CN105388896B (zh) 2015-09-23 2015-09-23 基于can总线的分布式清洁机器人控制系统及控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510631007.8A CN105388896B (zh) 2015-09-23 2015-09-23 基于can总线的分布式清洁机器人控制系统及控制方法

Publications (2)

Publication Number Publication Date
CN105388896A CN105388896A (zh) 2016-03-09
CN105388896B true CN105388896B (zh) 2018-12-04

Family

ID=55421269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510631007.8A Active CN105388896B (zh) 2015-09-23 2015-09-23 基于can总线的分布式清洁机器人控制系统及控制方法

Country Status (1)

Country Link
CN (1) CN105388896B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106166048A (zh) * 2016-04-15 2016-11-30 西安科技大学 一种基于arm7微处理器技术的智能清洁机器人
CN105974915A (zh) * 2016-05-10 2016-09-28 广西升禾环保科技股份有限公司 具有指纹检测功能的扫地机械人控制系统
CN105786002A (zh) * 2016-05-10 2016-07-20 广西升禾环保科技股份有限公司 道路检测和指纹检测功能的用于扫地机械人的控制系统
CN105974913A (zh) * 2016-05-10 2016-09-28 广西升禾环保科技股份有限公司 具有指纹检测功能的用于扫地机械人的控制平台
CN105974916A (zh) * 2016-05-10 2016-09-28 广西升禾环保科技股份有限公司 具有道路实时检测功能的扫地机械人控制系统
CN105773624A (zh) * 2016-05-10 2016-07-20 广西升禾环保科技股份有限公司 具有道路实时检测和指纹检测功能的扫地机械人控制平台
CN105955264A (zh) * 2016-05-10 2016-09-21 广西升禾环保科技股份有限公司 具有道路实时检测功能的用于扫地机械人的控制平台
CN105786003A (zh) * 2016-05-10 2016-07-20 广西升禾环保科技股份有限公司 具有指纹检测功能的用于扫地机械人的控制系统
CN105773625A (zh) * 2016-05-10 2016-07-20 广西升禾环保科技股份有限公司 具有指纹检测功能的扫地机械人控制平台
CN105786004A (zh) * 2016-05-10 2016-07-20 广西升禾环保科技股份有限公司 具有道路实时检测和指纹检测功能的扫地机械人控制系统
CN105955263A (zh) * 2016-05-10 2016-09-21 广西升禾环保科技股份有限公司 道路检测和指纹检测功能的用于扫地机械人的控制平台
CN105974914A (zh) * 2016-05-10 2016-09-28 广西升禾环保科技股份有限公司 用于扫地机械人的控制系统
CN106020185A (zh) * 2016-05-10 2016-10-12 广西升禾环保科技股份有限公司 具有道路实时检测功能的用于扫地机械人的控制系统
CN106094815A (zh) * 2016-05-31 2016-11-09 芜湖智久机器人有限公司 一种agv的控制系统
CN105911995B (zh) * 2016-06-16 2018-06-15 吉林大学 一种基于位置速度控制的遥操作机器人碰撞预警方法
CN106343926B (zh) * 2016-08-30 2018-10-26 特斯联(北京)科技有限公司 一种具有音乐提示的人工扫地辅助功能的扫地机器人及人工打扫方法
CN106343925B (zh) * 2016-08-30 2018-10-26 特斯联(北京)科技有限公司 一种具有人工扫地辅助功能的扫地机器人及进行人工打扫的方法
CN107797550A (zh) * 2016-09-01 2018-03-13 松下电器(美国)知识产权公司 自主移动式机器人、方法以及非瞬时性记录介质
CN106444491A (zh) * 2016-09-14 2017-02-22 芜湖扬展新材料科技服务有限公司 一种基于can总线的自主移动机器人通信系统
CN107544398A (zh) * 2017-09-30 2018-01-05 上海物景智能科技有限公司 一种适用于清洁装置的服务方法
CN108375979A (zh) * 2018-02-10 2018-08-07 浙江工业大学 基于ros的自动导航机器人通用控制系统
CN108609020B (zh) * 2018-06-04 2020-06-26 北京智行者科技有限公司 车辆控制方法
CN108829082A (zh) * 2018-06-04 2018-11-16 北京智行者科技有限公司 车身控制器
CN108879882A (zh) * 2018-08-14 2018-11-23 河北彪悍运动器械有限公司 一种机器人自动充电的方法、装置及终端
CN108983788B (zh) * 2018-08-15 2021-03-26 上海海事大学 基于大数据挖掘的无人驾驶环卫车智能控制系统及方法
CN111070213A (zh) * 2020-01-08 2020-04-28 北京海益同展信息科技有限公司 一种机器人控制系统
CN111367300B (zh) * 2020-05-27 2021-03-23 弗徕威智能机器人科技(上海)有限公司 多路超声波的障碍检测方法、移动机器人及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399455A (zh) * 2007-09-28 2009-04-01 株式会社日立制作所 车用直流电源装置
CN101612733A (zh) * 2008-06-25 2009-12-30 中国科学院自动化研究所 一种分布式多传感器移动机器人系统
CN201600576U (zh) * 2009-12-11 2010-10-06 义乌微朗智能科技有限公司 智能扫地机防跌落系统
CN202677193U (zh) * 2012-01-03 2013-01-16 浙江理工大学 室外移动机器人的组合定位系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000342498A (ja) * 1999-06-09 2000-12-12 Toyota Autom Loom Works Ltd 清掃ロボット
CN101923345A (zh) * 2010-09-10 2010-12-22 天津科技大学 电动轮椅智能控制系统
CN103120573A (zh) * 2012-12-06 2013-05-29 深圳市圳远塑胶模具有限公司 一种智能清扫机器人的工作方法及工作系统
CN104298233A (zh) * 2013-11-13 2015-01-21 沈阳新松机器人自动化股份有限公司 移动机器人自主充电系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399455A (zh) * 2007-09-28 2009-04-01 株式会社日立制作所 车用直流电源装置
CN101612733A (zh) * 2008-06-25 2009-12-30 中国科学院自动化研究所 一种分布式多传感器移动机器人系统
CN201600576U (zh) * 2009-12-11 2010-10-06 义乌微朗智能科技有限公司 智能扫地机防跌落系统
CN202677193U (zh) * 2012-01-03 2013-01-16 浙江理工大学 室外移动机器人的组合定位系统

Also Published As

Publication number Publication date
CN105388896A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
CN105388896B (zh) 基于can总线的分布式清洁机器人控制系统及控制方法
CN205281258U (zh) 基于arm的agv双层控制系统
US20210008714A1 (en) Systems and methods for remote operating and/or monitoring of a robot
CN101352854B (zh) 遥操作平面冗余度机械臂自主避障智能单元、系统及方法
CN105182980A (zh) 一种自动清洁设备的控制系统及控制方法
WO2021208381A1 (zh) 一种防疫消毒清洁机器人
CN103268111A (zh) 一种网络化分布式多移动机器人系统
CN102890870A (zh) 交通信号控制机故障自诊断装置和方法
CN103552073B (zh) 一种桥梁缆索检测机器人的控制系统
CN103412492B (zh) 多机电系统分布式智能同步控制装置及方法
CN106003028B (zh) 一种农药喷洒机器人控制系统
CN206235880U (zh) 一种面向服务机器人控制系统的多重监控系统
CN202781436U (zh) 混凝土搅拌车及其和混凝土泵送设备的匹配作业系统
CN105735167A (zh) 交通路锥收放控制系统及其收放路锥控制方法
CN105150189B (zh) 一种轮式机器人驱动模式的无缝切换方法
CN104030004A (zh) 一种皮带输送机皮带打滑检测方法及其皮带打滑检测装置
CN110202540A (zh) 一种图书管理智能机器人
CN101505410A (zh) 具备智能报警功能的网络摄像机系统
CN102830648B (zh) 洗扫车作业的监控方法、监控设备、监控系统和洗扫车
CN104181858A (zh) 板料存储设备控制系统
CN112572466A (zh) 一种自适应无人扫地车的控制方法
CN112068563A (zh) 故障提示方法、装置、机器人、系统和介质
CN112536819A (zh) 一种故障处理方法、装置、机器人及存储介质
CN203012970U (zh) 具有智能故障诊断功能的交通信号控制机
CN108594827B (zh) 控制系统

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201223

Address after: 233399, 4 floor, building 3, industrial Acceleration Center, Wuhe County Economic Development Zone, Bengbu, Anhui.

Patentee after: WUHE ZHIKAI ENVIRONMENTAL PROTECTION TECHNOLOGY Co.,Ltd.

Patentee after: Zeng Yuee

Address before: 201702 212-214, block B, No. 599, Gaojing Road, Qingpu District, Shanghai

Patentee before: SHANGHAI VIEW TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211201

Address after: 276000 Economic Development Zone, Mengyin County, Linyi City, Shandong Province

Patentee after: MENGYIN JINHUA MACHINERY Co.,Ltd.

Address before: 233399, 4 floor, building 3, industrial Acceleration Center, Wuhe County Economic Development Zone, Bengbu, Anhui.

Patentee before: WUHE ZHIKAI ENVIRONMENTAL PROTECTION TECHNOLOGY CO.,LTD.

Patentee before: Zeng Yuee

TR01 Transfer of patent right