CN114578727A - 用于清洁机器人的业务逻辑控制方法 - Google Patents
用于清洁机器人的业务逻辑控制方法 Download PDFInfo
- Publication number
- CN114578727A CN114578727A CN202210112963.5A CN202210112963A CN114578727A CN 114578727 A CN114578727 A CN 114578727A CN 202210112963 A CN202210112963 A CN 202210112963A CN 114578727 A CN114578727 A CN 114578727A
- Authority
- CN
- China
- Prior art keywords
- unit
- cleaning robot
- calling
- program
- current state
- 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.)
- Pending
Links
- 238000004140 cleaning Methods 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000006870 function Effects 0.000 claims abstract description 46
- 230000009471 action Effects 0.000 claims description 37
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
本发明属于清洁机器人控制技术领域,具体涉及一种用于清洁机器人的业务逻辑控制方法,具体公开了一种用于清洁机器人的业务逻辑控制方法,该方法包括:根据清洁机器人处于的当前状态,调用各个程序单元执行与所述当前状态相应的任务;其中所述程序单元封装为单元类,所述调用,具体包括将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;其中所述任务的执行,具体包括,运行单元对象中的代码,并且通过所述程序单元中的代码,调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。本发明能够实现模块化编程。提高软件开发效率,代码可维护性以及代码出现问题的安全性。
Description
技术领域
本发明属于清洁机器人逻辑控制技术领域,具体涉及一种用于清洁机器人的业务逻辑控制方法。
背景技术
现有清洁机器人的软件架构并无开源的情况,开发人员的众多,编码风格各不一致,项目进行时间较长时,会因为许多潜藏在编码风格不一致的微小问题而导致项目流产等严重后果,由于开发人员的编码风格不一致,导致可剥离的算法模块会与别的业务逻辑处理模块耦合在一起,导致代码之间的高度耦合,不可实现代码的复用以及会产生无法寻找的bug。
现有的模块化编程方式,通过将交互界面、业务模型和控制器分离,并通过控制器控制业务模型进行数据处理,然而,这种应用方式对于各个业务模型相互之间的内在逻辑独立的应用场景更为实用,对于清洁机器人器人而言,使用场景相当复杂,面对一个外部命令的处理,需要根据机器人所处的工作状态、工况,甚至是多个命令序列,分情况进行处理,在对外部命令的处理的过程中,随时需要多个业务模型同时工作,比如在识别机器人处于回充的工作状态下,还需要对机器人是否处于受困状态进行识别;此外,每个业务模型对机器人自身所具有的功能(如距离检测,碰撞检测)和外设(如加速度计、红外发射管、接收管)进行调用,换言之,各个业务模型相互之间的代码复用比例是非常高的,在现有的项目开发的过程中,代码时常相互杂糅,开发难度大,即便依照常规的如MVC等能够对代码实现逻辑分离软件架构和开发方式进行开发,依然无法解决代码耦合,得到的控制逻辑维护起来依然困难。
发明内容
有鉴于此,本发明的主要目的在于提供一种便于增、删、变更、修改的用于清洁机器人的业务逻辑控制方法。
为达到上述目的,本发明的技术方案是这样实现的:
一种用于清洁机器人的业务逻辑控制方法,该方法包括:
根据清洁机器人处于的当前状态,调用各个程序单元执行与所述当前状态相应的任务;
其中所述程序单元封装为单元类,所述调用,具体包括将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;
其中所述任务的执行,具体包括,运行单元对象中的代码,并且通过所述程序单元中的代码,调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。
进一步的,在所述单元对象当中,调用的程序单元当中的方法,与所述当前状态相对应。
进一步的,当调用所述程序单元当中的方法时需要指定参数时,指定与所述当前状态相应的参数。
进一步的,当所述单元对象对用了其他程序单元时,在所述单元对象当中实例化二级单元对象,所述二级单元对象当中包括了所述其他程序单元中的部分代码,以实现一个或一组特定功能。
进一步的,该方法还包括:在清洁机器人处于的当前状态下,检测触发事件,并且当检测到所述触发事件时,判断执行与触发事件相应的触发动作是否在当前状态下执行,并根据判断结果执行所述触发动作。
进一步的,所述根据判断结果执行所述触发动作包括:当执行与触发事件相应的触发动作是在当前状态下执行时,调用至少一个所述程序单元执行与所述当前状态相应的任务,以实现触发动作。
进一步的,所述根据判断结果执行所述触发动作包括:当执行与触发事件相应的触发动作不是在当前状态下执行时,切换清洁机器人的状态,调用至少一个所述程序单元执行与所述当前状态相应的任务,以实现触发动作。
进一步的,所述触发事件为上位机发送的命令。
未解决上述技术问题,本申请还提出了一种用于清洁机器人的业务逻辑控制装置,并公开了如下技术方案。
一种用于清洁机器人的业务逻辑控制装置,该装置包括:
控制模块,用于根据清洁机器人处于的当前状态,通过调用模块调用各个程序单元,并且通过执行模块执行与所述当前状态相应的任务;
封装模块,用于将所述程序单元封装为单元类;
调用模块,用于将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;
执行模块,用于运行单元对象中的代码,并且通过所述程序单元中的代码,通过调用模块调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。
与现有技术相比,本发明能够实现代码复用,模块化编程。算法与业务逻辑之间的解耦,提升代码的可维护性与可移植性,提高软件开发效率,代码可维护性以及代码出现问题的安全性。
附图说明
图1根据本申请的一种用于清洁机器人的业务逻辑控制方法的一个实施例的流程图;
图2是根据本申请的一种用于清洁机器人的业务逻辑控制装置的一个实施例的结构示意图;
图3是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、物品或者装置中还存在另外的相同要素。
参考图1,一种用于清洁机器人的业务逻辑控制方法,该方法包括:
步骤S100:根据清洁机器人处于的当前状态,调用各个程序单元执行与所述当前状态相应的任务;
具体的,对清洁机器人设置状态机和程序单元,其中状态机指定扫地机器人处于的具体工作状态,在状态机下,清洁机器人至少要实现部分功能,并且根据实际的运行需要实现另外的功能,在本实施例当中,清洁机器人的状态机至少包括:
异常状态机,在此状态机下,清洁机器人自动排查自身产生的异常情况,包括电池供电情况、边轮转动情况、传感器检测情况、万向轮转动情况、上位机通信情况、清洁机器人姿态检测等,通过异常状态机检测清洁机器人本身所产生的异常情况。
充电状态机,在此状态机下,清洁机器人根据充电策略,管理外接电源对电池的充电过程。
脱困状态机,在此状态机下,清洁机器人根据具体的受困种类,根据相应的脱困策略驱动自身尝试脱困,并且检测脱困情况。
回充状态机,在此状态机下,清洁机器人根据具体的回充策略,驱动自身运行至充座所在的位置,并且与充座对接,使得清洁机器人以及充座上安装的充电接头和弹片实现对接将电池的充电回路导通。
运行状态机,在此状态机下,清洁机器人根据设置的清扫策略对待清洁区域进行清扫。
暂停状态机,在此状态机下,清洁机器人暂停运行,并监听预设的命令或外部发出的命令。
程序单元的分类依据是执行特定功能,并且将执行上述这部分特定功能的代码通过程序单元进行收集和管理。具体的,本实施例当中至少包括如下程序单元:
路径单元:用于导航、路径规划等功能的代码管理和存放。
建图单元:用于坐标系维护、清洁机器人地图的绘制,调用等功能的代码管理和存放。
APP单元:用于清洁机器人与上位机上运行的App之间进行通信以及任务交互,数据(地图和其他)交互所需的代码的管理和存放。
雷达单元:用于雷达操作、调度、参数设置管理、数据采集整理的代码的管理和存放。
MCU单元:用于对清洁机器人上的MCU的调度、数据交互的代码的管理和存放。
可见,在一个状态机下,清洁机器人需要执行对应的多种功能,而上述这些功能的实现的代码存放在不同的程序单元当中,需要运行各个程序单元当中的部分代码,以实现清洁机器人在特定状态下的多种功能。
其中所述程序单元封装为单元类,所述调用,具体包括将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;
具体的,上述程序单元对实现相关功能的代码进行集中的管理的存放,但是在任意状态机下,清洁机器人需要实现相应功能时,不需要对一个程序单元当中的所有的程序代码统一进行运行,而只是根据需要去执行其中的部分代码,比如在回充状态机下,清洁机器人需要获取充座的大致方位,此时清洁机器人需要执行建图单元当中,关于地图内容提取功能的代码,而不用执行地图绘制的代码。
在上述基础之上,建图单元当中的每段代码都不止一次被运行,比如地图内容提取功能的代码,在清洁机器人的运行状态机下执行沿墙清扫时,为了确定墙壁和障碍物的位置,也需要调用建图单元中地图内容提取的代码。
故,所述程序单元封装为单元类,并通过类的实例化的方式调用程序单元中的部分相关代码,实现了程序单元中代码的复用。
其中所述任务的执行,具体包括,运行单元对象中的代码,并且通过所述程序单元中的代码,调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。
具体的,工具类中存放了相较于程序单元更为基础的功能,在本实施例中,至少包括了:应用于外接部件的相关代码,比如对于加速度计的调用接口、通过加速度计获取瞬时加速度矢量值的程序代码,还包括通过加速度的积分运算获取清洁机器人的行驶距离,清洁机器人瞬时的行动方向的加速度计工具类,类似的工具类以具体的边轮、边刷、红外信号单元等硬件结构为分类依据进行代码归类。
还包括了,测距工具类,栅格计数工具类,绕弧工具类,等基于具体动作的工具类,以实现一些基础的动作。
工具类当中的代码更为基础,被各种运行单元实例化得到的各个单元对象分别调用,以实现单元对象的面向用户需求的功能。
单元对象为了实现其提供的功能,还可能调用其他程序单元,在一种实施例当中,清洁机器人需要将清扫的地图实时传输至上位机并且从上位机下载历史地图进行参照和比对,因此在建图单元实例化得到的单元对象会调用APP单元中的代码,实例化一个APP对象,来处理与上位机之间的数据交互。
清洁机器人不同于其他纯软件的工程项目,需要处理多种外部信息,并且并发的处理多项任务,交叉的执行多项功能。相对于其他工业控制机器人以及其他智能设备而言,清洁机器人结构相当紧凑,很多硬件资源和程序需要在多种功能当中实现复用,并且是同时调用,如果这些代码分别进行开发,在调用和运行的过程中,容易出现冲突,造成死锁,更为严重的是出现预想以外的运行结果影响清洁机器人的运行效率和可靠性。该方案通过将清洁机器人的代码分为不同的程序单元,并且还设置有工具类去实现基础功能,供程序单元中的程序调用以实现更为面向用户需求的功能,有利于代码的同理管理和修改,便于增加和替换清洁机器人的功能,项目开发功能速度快、鲁棒性强。
本实施例是基于面向对象编程思维实现的,在面向对象编程的实现过程当中,一种事物被定义为一个类,在类当中定义若干与类相关的方法,在需要对这种事物进行操作的时候,将类实例化为一个对象,并通过对象调用类当中定义的方法,以此实现对众多代码的分类管理,和复用。进一步的,在所述单元对象当中,调用的程序单元当中的方法,与所述当前状态相对应。
具体的,单元对象根据当前状态调用程序单元中的代码,运行开销更低,程序运行效率更高。
进一步的,当调用所述程序单元当中的方法时需要指定参数时,指定与所述当前状态相应的参数。
具体的,通过指定状态指定进行调用,便于程度单元当中功能的调用,该方案能够提升代码开发的便利性。
进一步的,当所述单元对象调用了其他程序单元时,在所述单元对象当中实例化二级单元对象,所述二级单元对象当中包括了所述其他程序单元中的部分代码,以实现一个或一组特定功能。
具体的,所述二级对象仅仅在单元对象当中使用,通过限制二级对象中的代码的运行范围,提升代码运行的安全性。
进一步的,该方法还包括:步骤S200:在清洁机器人处于的当前状态下,检测触发事件,并且当检测到所述触发事件时,判断执行与触发事件相应的触发动作是否在当前状态下执行,并根据判断结果执行所述触发动作。
具体的,清洁机器人在运行过程中实时接收触发事件,通过触发事件执行触发动作以提供相应的功能,在执行触发动作时需要考虑触发动作是否在当前状态下运行,当触发动作在与之相应的当前状态下运行时,清洁机器人提供的功能能够全方位适应上述触发动作,在一种实施例中,清洁机器人检测到受困,受困即为一个触发事件,与之对应的触发动作为脱困,而如果当前状态为运行状态,在运行状态下,清洁机器人将持续执行用于清洁机器人移动的功能,因此可能妨碍清洁机器人实现脱困。而与脱困动作相对应的脱困状态下,清洁机器人执行的功能更有利于清洁机器人脱困,并且清洁机器人在脱困状态下还提供了检测脱困情况的功能,有利于清洁机器人成功脱困,显然,对于脱困的触发动作,更适宜在脱困状态下进行,通过据上述判断结果执行所述触发动作有利于提升控制方法的可靠性。
进一步的,所述根据判断结果执行所述触发动作包括:步骤S201:当执行与触发事件相应的触发动作是在当前状态下执行时,调用至少一个所述程序单元执行与所述当前状态相应的任务,以实现触发动作。
进一步的,所述根据判断结果执行所述触发动作包括:步骤S202:当执行与触发事件相应的触发动作不是在当前状态下执行时,切换清洁机器人的状态,调用至少一个所述程序单元执行与所述当前状态相应的任务,以实现触发动作。
进一步的,所述触发事件为上位机发送的命令。
具体的,触发事件为上位机发送的了具体命令,根据所述命令的具体内容执行相应的触发动作。
未解决上述技术问题,本申请还提出了一种用于清洁机器人的业务逻辑控制装置,并公开了如下技术方案。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步的,参考图2,作为对上述方法的实现,本申请提供了一种用于清洁器人的业务逻辑控制装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
一种用于清洁机器人的业务逻辑控制装置,该装置包括:
控制模块100,用于根据清洁机器人处于的当前状态,通过调用模块调用各个程序单元,并且通过执行模块执行与所述当前状态相应的任务;
封装模块200,用于将所述程序单元封装为单元类;
调用模块300,用于将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;
执行模块400,用于运行单元对象中的代码,并且通过所述程序单元中的代码,通过调用模块调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。
该方案能够实现代码复用,模块化编程。算法与业务逻辑之间的解耦,提升代码的可维护性与可移植性,提高软件开发效率,代码可维护性以及代码出现问题的安全性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图3,图3为本实施例计算机设备基本结构框图。
所述计算机设备6包括通过***总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61-63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作***和各类应用软件,例如一种用于清洁机器人的业务逻辑控制方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述一种用于清洁机器人的业务逻辑控制方法的程序代码。
所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有一种用于清洁机器人的业务逻辑控制程序,所述一种用于清洁机器人的业务逻辑控制程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的一种用于清洁机器人的业务逻辑控制方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (9)
1.一种用于清洁机器人的业务逻辑控制方法,其特征在于,该方法包括:
根据清洁机器人处于的当前状态,调用各个程序单元执行与所述当前状态相应的任务;
其中所述程序单元封装为单元类,所述调用,具体包括将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;
其中所述任务的执行,具体包括,运行单元对象中的代码,并且通过所述程序单元中的代码,调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。
2.根据权利要求1所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,在所述单元对象当中,调用的程序单元当中的方法,与所述当前状态相对应。
3.根据权利要求2所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,当调用所述程序单元当中的方法时需要指定参数时,指定与所述当前状态相应的参数。
4.根据权利要求3所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,当所述单元对象调用了其他程序单元时,在所述单元对象当中实例化二级单元对象,所述二级单元对象当中包括了所述其他程序单元中的部分代码,以实现一个或一组特定功能。
5.根据权利要求4所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,该方法还包括:在清洁机器人处于的当前状态下,检测触发事件,并且当检测到所述触发事件时,判断执行与触发事件相应的触发动作是否在当前状态下执行,并根据判断结果执行所述触发动作。
6.根据权利要求5所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,所述根据判断结果执行所述触发动作包括:当执行与触发事件相应的触发动作是在当前状态下执行时,调用至少一个所述程序单元执行与所述当前状态相应的任务,以实现触发动作。
7.根据权利要求5所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,所述根据判断结果执行所述触发动作包括:当执行与触发事件相应的触发动作不是在当前状态下执行时,切换清洁机器人的状态,调用至少一个所述程序单元执行与所述当前状态相应的任务,以实现触发动作。
8.根据权利要求1至7任意一项所述的一种用于清洁机器人的业务逻辑控制方法,其特征在于,该方法还包括,所述触发事件为上位机发送的命令。
9.一种用于清洁机器人的业务逻辑控制装置,其特征在于,该装置包括:
控制模块,用于根据清洁机器人处于的当前状态,通过调用模块调用各个程序单元,并且通过执行模块执行与所述当前状态相应的任务;
封装模块,用于将所述程序单元封装为单元类;
调用模块,用于将所述单元类实例化为单元对象,并通过所述单元对象执行程序单元当中的部分代码;
执行模块,用于运行单元对象中的代码,并且通过所述程序单元中的代码,通过调用模块调用其他程序单元或调用工具类以实现集合功能,其中所述工具类包括实现一个或一组特定功能的代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112963.5A CN114578727A (zh) | 2022-01-29 | 2022-01-29 | 用于清洁机器人的业务逻辑控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210112963.5A CN114578727A (zh) | 2022-01-29 | 2022-01-29 | 用于清洁机器人的业务逻辑控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114578727A true CN114578727A (zh) | 2022-06-03 |
Family
ID=81769582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210112963.5A Pending CN114578727A (zh) | 2022-01-29 | 2022-01-29 | 用于清洁机器人的业务逻辑控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114578727A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843592A (zh) * | 2015-01-12 | 2016-08-10 | 芋头科技(杭州)有限公司 | 一种在预设嵌入式***中实现脚本操作的*** |
CN109682368A (zh) * | 2018-11-30 | 2019-04-26 | 上海肇观电子科技有限公司 | 机器人及地图构建方法、定位方法、电子设备、存储介质 |
CN109783333A (zh) * | 2018-12-13 | 2019-05-21 | 平安普惠企业管理有限公司 | 重复点击过滤方法、装置、计算机设备及存储介质 |
CN110187931A (zh) * | 2019-05-17 | 2019-08-30 | 北京百度网讯科技有限公司 | 小程序的运行方法及装置 |
CN112109079A (zh) * | 2019-06-21 | 2020-12-22 | 罗伯特·博世有限公司 | 用于机器人操控规划的方法和*** |
CN113179188A (zh) * | 2021-05-26 | 2021-07-27 | 深圳平安智汇企业信息管理有限公司 | 服务降级动态实现方法、装置、计算机设备及存储介质 |
-
2022
- 2022-01-29 CN CN202210112963.5A patent/CN114578727A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843592A (zh) * | 2015-01-12 | 2016-08-10 | 芋头科技(杭州)有限公司 | 一种在预设嵌入式***中实现脚本操作的*** |
CN109682368A (zh) * | 2018-11-30 | 2019-04-26 | 上海肇观电子科技有限公司 | 机器人及地图构建方法、定位方法、电子设备、存储介质 |
CN109783333A (zh) * | 2018-12-13 | 2019-05-21 | 平安普惠企业管理有限公司 | 重复点击过滤方法、装置、计算机设备及存储介质 |
CN110187931A (zh) * | 2019-05-17 | 2019-08-30 | 北京百度网讯科技有限公司 | 小程序的运行方法及装置 |
CN112109079A (zh) * | 2019-06-21 | 2020-12-22 | 罗伯特·博世有限公司 | 用于机器人操控规划的方法和*** |
CN113179188A (zh) * | 2021-05-26 | 2021-07-27 | 深圳平安智汇企业信息管理有限公司 | 服务降级动态实现方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109807903B (zh) | 一种机器人控制方法、装置、设备和介质 | |
Miller et al. | An object-oriented environment for robot system architectures | |
CN112549029B (zh) | 一种基于行为树的机器人行为控制方法及装置 | |
CN105500371A (zh) | 服务机器人控制器及其控制方法 | |
CN112124148B (zh) | Agv小车的充电方法、装置、设备及存储介质 | |
Stulp et al. | Learning and reasoning with action-related places for robust mobile manipulation | |
CN101592951A (zh) | 分布式仿人机器人通用控制*** | |
Chochon et al. | NNS, a knowledge-based on-line system for an assembly workcell | |
Gradmann et al. | Augmented reality robot operation interface with *** tango | |
Mallozzi et al. | A runtime monitoring framework to enforce invariants on reinforcement learning agents exploring complex environments | |
CN114578727A (zh) | 用于清洁机器人的业务逻辑控制方法 | |
Smith et al. | Reliable real‐time robot operation employing intelligent forward recovery | |
CN112157652B (zh) | 机器人作业管理方法及*** | |
CN108681503A (zh) | 可编程控制器程序的安全检查方法、装置和设备 | |
CN114545934A (zh) | 一种用于清洁机器人的软件结构 | |
Kim et al. | Re-engineering software architecture of home service robots: A case study | |
Luo et al. | Runtime verification of robots collision avoidance case study | |
CN111380527A (zh) | 一种室内服务机器人的导航方法及导航控制器 | |
Thramboulidis | Towards an Object-Oriented extension for IEC 61131 | |
CN102243585B (zh) | 一种人机交互界面监控***全局脚本程序处理分析方法 | |
CN116774697A (zh) | 一种自动编程规划的机器人*** | |
Rogers et al. | Knowledge-based control in manufacturing automation | |
US20230381963A1 (en) | Robot control method, computer-readable storage medium, and robot | |
CN115599061A (zh) | 一种组件化的智能机器人***构建开发方法 | |
Simon et al. | Synchronous composition of discretized control actions: design, verification and implementation with Orccad |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |