CN117047758A - 基于状态机的机器人控制方法、装置、设备及存储介质 - Google Patents
基于状态机的机器人控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117047758A CN117047758A CN202311024522.0A CN202311024522A CN117047758A CN 117047758 A CN117047758 A CN 117047758A CN 202311024522 A CN202311024522 A CN 202311024522A CN 117047758 A CN117047758 A CN 117047758A
- Authority
- CN
- China
- Prior art keywords
- state
- condition
- robot
- behavior
- working
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 230000006399 behavior Effects 0.000 claims description 120
- 230000033001 locomotion Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 7
- 230000000386 athletic effect Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000037147 athletic performance Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002401 inhibitory effect Effects 0.000 description 1
- 230000001795 light effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本公开是关于基于状态机的机器人控制方法、装置、设备及存储介质,所述方法包括:获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件;确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项;在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
Description
技术领域
本公开涉及机器人控制技术领域,尤其涉及一种基于状态机的机器人控制方法、装置、设备及存储介质。
背景技术
随着机器人技术的不断发展,机器人已经走进消费者的日常生活中。通常来说,机器人的功耗模式都是固定的,并且由自身剩余的电量来决定是否切换功耗模式。但在复杂的实际情况下,这种以单一的剩余电量为基准的模式切换,往往会导致机器人对环境的适应能力下降。
发明内容
本公开提供一种基于状态机的机器人控制方法、装置、设备及存储介质,以解决相关技术中的不足。
根据本公开实施例的第一方面,提出一种基于状态机的机器人控制方法,包括:
获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件;
确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项;
在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
可选的,所述备选条件项包括以下至少之一:到达预设电量阈值、预设行为的执行时长到达预设时长阈值、处于预设时间段、完成预设行为。
可选的,所述方法还包括:
接收到针对所述状态机的状态编辑指令;
根据所述状态编辑指令所描述的待编辑工作状态和状态编辑方式,基于所述状态编辑方式对所述待编辑工作状态进行编辑;
其中,所述状态编辑方式包括下述任一:新增工作状态、删除原有工作状态以及对原有工作状态进行修改。
可选的,所述方法还包括:
接收到针对所述状态机的条件项编辑指令;
根据所述条件项编辑指令所描述的待编辑条件项和条件项编辑方式,基于所述条件项编辑方式对所述待编辑条件项进行编辑;
其中,所述条件项编辑方式包括下述任一:新增条件项、删除原有条件项以及对原有条件项进行修改。
可选的,所述状态机中配置的每个工作状态定义有:针对所述机器人的行为约束;其中,所述行为约束用于约束所述机器人的运动行为和/或非运动行为。
可选的,所述非运动行为包括以下至少一项:可视化编程、图像传输、计算机视觉识别、语音识别、灯光控制。
可选的,所述方法还包括:
接收到针对所述机器人的目标行为执行指令;
根据所述状态机描述的当前工作状态,确定所述当前工作状态对应的行为约束;
在所述目标行为执行指令所指示的目标行为符合所述当前工作状态对应的行为约束的情况下,执行所述目标行为执行指令。
根据本公开实施例的第二方面,提出一种基于状态机的机器人控制装置,包括:
获取单元:用于获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件;
处理单元:用于确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项;
切换单元:用于在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
可选的,所述备选条件项包括以下至少之一:到达预设电量阈值、预设行为的执行时长到达预设时长阈值、处于预设时间段、完成预设行为。
可选的,所述装置还包括状态编辑单元,用于:
接收到针对所述状态机的状态编辑指令;
根据所述状态编辑指令所描述的待编辑工作状态和状态编辑方式,基于所述状态编辑方式对所述待编辑工作状态进行编辑;
其中,所述状态编辑方式包括下述任一:新增工作状态、删除原有工作状态以及对原有工作状态进行修改。
可选的,所述装置还包括条件项编辑单元,用于:
接收到针对所述状态机的条件项编辑指令;
根据所述条件项编辑指令所描述的待编辑条件项和条件项编辑方式,基于所述条件项编辑方式对所述待编辑条件项进行编辑;
其中,所述条件项编辑方式包括下述任一:新增条件项、删除原有条件项以及对原有条件项进行修改。
可选的,所述状态机中配置的每个工作状态定义有:针对所述机器人的行为约束;其中,所述行为约束用于约束所述机器人的运动行为和/或非运动行为。
可选的,所述非运动行为包括以下至少一项:可视化编程、图像传输、计算机视觉识别、语音识别、灯光控制。
可选的,所述装置还包括目标行为执行单元,用于:
接收到针对所述机器人的目标行为执行指令;
根据所述状态机描述的当前工作状态,确定所述当前工作状态对应的行为约束;
在所述目标行为执行指令所指示的目标行为符合所述当前工作状态对应的行为约束的情况下,执行所述目标行为执行指令。
根据本公开实施例的第三方面,提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现如上述第一方面的实施例中所述的方法。
根据本公开实施例的第四方面,提出一种机器可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面的实施例中所述的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本公开在状态机中设置了多个工作状态以及各个工作状态之间分别对应的状态切换条件,通过在满足当前工作状态与其他工作状态之间的状态切换条件时,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态,来实现机器人的控制,提升了对机器人的控制和运动进行编程和优化时的便利性。其中,每一状态切换条件可以包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项,相较于仅根据单一的参数来进行工作状态切换,本说明书实施例可通过不同条件项进行工作状态切换,也可对某一工作状态的切换增加限制,对机器人的精准控制,大大提升了机器人工作状态切换时的多样性和对环境的适应能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开的实施例示出的一种基于状态机的机器人控制方法的流程图。
图2是根据本公开的实施例示出的一种状态机架构示意图。
图3是根据本公开的实施例示出的一种执行目标行为指令的流程图。
图4是根据本公开的实施例示出的一种基于状态机的机器人控制装置的框图。
图5是根据本公开的实施例示出的一种电子设备的框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
在本公开实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开实施例。在本公开实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
出于简洁和便于理解的目的,本文在表征大小关系时,所使用的术语为“大于”或“小于”、“高于”或“低于”。但对于本领域技术人员来说,可以理解:术语“大于”也涵盖了“大于等于”的含义,“小于”也涵盖了“小于等于”的含义;术语“高于”涵盖了“高于等于”的含义,“低于”也涵盖了“低于等于”的含义。
有限状态机(Finite-state machine,缩写FSM)又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。在状态机中,至少存在两个状态,如果要从一个状态切换到另一个状态,则需要满足切换到另一个状态的切换条件。所述状态机用于机器人控制。
在相关技术中,基于状态机进行控制的机器人,状态机中不同状态之间的切换条件十分单一,仅能够根据机器人的剩余电量进行状态切换,对于环境的适应能力很低。并且由于只有电量这一个切换条件,预先设置的状态除了基础状态,往往仅包括功耗上存在差异的状态,状态数量较少,可拓展能力较弱,从而只能对机器人在运动行为方面进行简单的约束,无法通过多种不同的状态对机器人的全部行为进行约束。
因此,本公开的实施例提供了一种基于状态机的机器人控制方法,可以大大提升机器人状态切换时的多样性和对环境的适应能力,提升拓展能力,对机器人能力进行集中约束。
需要说明的是,本公开的实施例中所述机器人可以是仿生机器人,例如仿人机器人、四足机器人和科研探索型机器人,本公开的实施例对此并不限制。
接下来对本公开实施例进行详细说明。
图1是根据本公开的实施例示出的一种基于状态机的机器人控制方法的流程图。在本实施例中,状态机位于机器人的控制系统中,作为一种控制机制,用于管理和协调机器人的各种行为。具体而言,状态机包含在机器人的软件中,运行在嵌入式系统或计算设备上。它与其他软件模块(如导航算法、目标识别算法、语音交互模块等)进行交互,根据感知数据和决策结果,驱动机器人完成相应的行为或触发状态转换。通过利用软件状态机对机器人进行控制,大大提升了对机器人的控制和运动进行编程和优化时的便利性。
如图1所示,所述一种基于状态机的机器人控制方法可以包括以下步骤:
在步骤S101中,获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件。
由于不同的工作状态之间的状态切换条件可能不同,即使要切换的目标工作状态相同,在当前工作状态不同的情况下,也会出现需要满足的状态切换条件不同的可能性,从而导致无法确定当前的状态切换条件。
因此,状态机在进行状态切换时,首先需要获取状态机描述的机器人所处的当前工作状态,通过当前的工作状态信息,来进一步获取当前工作状态可进行切换其他工作状态,从而便于确认后续步骤中当前工作状态与其他各个状态之间的切换条件。
在本公开的实施例中,在状态机中配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件,所述工作状态分为固定工作状态和非固定工作状态。其中,固定工作状态为状态机中不可删改的工作状态,非固定工作状态为状态机中可根据指令进行删改的工作状态。
图2是根据本公开的实施例示出的一种状态机架构示意图。
如图2所示,方框外的工作状态为固定工作状态,方框内的工作状态为非固定工作状态。
在本公开的实施例中,所述固定工作状态包括启动状态201、自检状态202和关闭状态203,各个工作状态的功能具体如下:
启动状态201:机器人在开机后自动加载进入该状态,主要用于读取机器人本身的配置文件,启动机器人的各个模块,并对其进行初始化操作。启动状态切换完成后,机器人内部ROS通信就绪,状态机服务就绪,开始发送心跳。
自检状态202:对机器人初始化后的各个模块进程进行检查,查看各个模块是否处于正确的初始状态,若检测到某一状态有问题,则状态机返馈该模块当前状态异常的信息,由控制器进行后续控制处理——提示用户哪个组件自检失败,并给出解决方案。
关闭状态203:机器人关机之前的最后状态,负责释放机器人软件资源和硬件资源,结束程序的生命周期,执行关机。
在本公开的实施例中,所述非固定工作状态可包括活跃状态204、低电量状态205、保护状态206、升级状态207和扩展状态208。在另一实施例中,状态机的非固定工作状态中还可包括其他由用户自定义的工作状态,也可以为本公开的实施例中列举的非固定工作状态中的部分非固定工作状态,本公开对此不作限制。
在本公开的实施例中,上述列举的非固定工作状态的具体功能如下:
在活跃状态204、保护状态205和低电量状态206下,机器人的使用时的功耗会依次下降;升级状态207下机器人可进行在线升级;扩展状态208用于为以后新增的状态预留空余状态位。
在一示例性实施例中,非固定工作状态的数量和内容可根据用户输入的状态编辑指令进行变化,具体的,可通过以下方式对状态机中的非固定工作状态进行调整:当接收到用户输入的针对所述状态机的状态编辑指令时,根据所述状态编辑指令所描述的待编辑工作状态和状态编辑方式,基于所述状态编辑方式对所述待编辑工作状态进行编辑。其中,所述状态编辑方式包括下述任一:新增工作状态、删除原有工作状态以及对原有工作状态进行修改。
通过在状态机中设置了多个工作状态以及各个工作状态之间分别对应的状态切换条件,且状态机可根据用户的需求对工作状态量和工作状态内容进行快速调整,提升了机器人的可拓展能力、工作状态的多样性以及用户的良好体验。
S102,确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项。
在获取到状态机描述的机器人所处的当前工作状态后,状态机判断当前工作状态可进行切换的其他工作状态,并确定所述当前工作状态与所述可进行切换的其他工作状态之间的状态切换条件。
在本公开的实施例中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项。举例而言,假设状态机设置有状态A、状态B、状态C,从状态A切换至状态B需要满足条件1、从状态B换至状态C需要满足条件2和3,则条件1、条件2、条件3可看作3个备选条件项,这3个条件组成了备选条件项集合。当状态A切换至状态B时,状态切换条件包含条件项1,当状态B切换至状态C时,状态切换条件包含条件项2和条件项3。
在一示例性实施例中,备选条件项包括以下条件项中的至少之一:到达预设电量阈值、预设行为的执行时长到达预设时长阈值、处于预设时间段、完成预设行为。在另一实施例中,备选条件项还可包括其他由用户自定义的条件项,本公开对此不作限制。
在一示例性实施例中,预定义的备选条件项集合中所含的备选条件项可根据用户输入的条件项编辑指令进行变化,具体的,可通过以下方式对备选条件项的数量和内容进行调整:当接收到用户输入的针对所述状态机的条件项编辑指令时,根据所述条件项编辑指令所描述的待编辑条件项和条件项编辑方式,基于所述条件项编辑方式对所述待编辑条件项进行编辑。其中,所述条件项编辑方式包括下述任一:新增条件项、删除原有条件项以及对原有条件项进行修改。
接下来针对本公开的实施例中具体的不同的工作状态之间的预设状态转换条件进行说明。
由图2可知,在本公开的实施例中,包括固定工作状态:启动状态201、自检状态202和关闭状态203,包括非固定工作状态:活跃状态204、低电量状态205、保护状态206、升级状态207和扩展状态208。其中,箭头的方向为当前工作状态的可切换的工作状态的方向。
针对固定工作状态:当机器人启动以后,启动状态201和自检状态202的状态切换为固定切换,启动状态201仅能向自检状态202进行切换,状态切换条件为触发执行自检的指令。而自检状态202可向活跃状态和关闭状态203进行切换,状态切换条件分别是状态检测无异常和状态检测异常。
关闭状态203在释放机器人软件资源和硬件资源后,会直接结束程序的生命周期,执行关机,因此无法切换到其他工作状态。
针对非固定工作状态:状态机的核心的工作状态切换主要发生在方框内的非固定工作状态之间。具体逻辑如下:
表1是本公开的根据一示例性实施例示出的不同工作状态之间的状态切换条件记录表。如表1所示,第一列为当前的工作状态,第一行为待切换的目标工作状态。
表1
需要指出的是,表1中所示的不同状态间的各项状态切换条件以及其中的具体数据仅针对于当前实施例,本领域技术人员可根据需求进行自定义修改设置,本公开对此不作限制。
由表1可知,不同的工作状态之间的状态切换条件可不局限于单一的条件项,所述状态切换条件可以为单一的条件项,可以由多个条件项组成,可以为不同的条件项,用户可根据实际情况和具体需求对状态切换条件进行自定义。通过设置不同工作状态之间的状态切换条件可由不同的一个条件项或多个条件项组成,使得状态机切换时不再局限于单一的剩余电量条件,可通过不同条件项进行工作状态的切换,也可对某一工作状态的切换增加限制,实现对机器人的精准控制,且状态机可根据用户的需求对条件项的数量和条件项内容进行快速调整,使机器人更加智能,大大提升了对环境的适应能力和用户的良好体验。
S103,在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
在本公开的实施例中,当确定所述当前工作状态与其他工作状态之间的状态切换条件后,状态机需要等待适当的输入事件。所述输入事件可包括机器人内部参数输送、用户输入指令、传感器数据等。举例而言,状态机可通过监测机器人的实时电量数据、获取机器人的行为执行指令等作为输入事件。在另一实施例中,也可以获取其他类型的输入事件,本公开对此不作限制。
将当前工作状态与其他工作状态之间的状态切换条件与输入事件进行对比,判断当前输入事件是否满足任一状态切换条件。在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
在本公开的实施例中,状态机中配置的每个工作状态都定义有针对机器人的行为约束,其中,可实施行为的约束用于约束所述机器人的运动行为和/或非运动行为。即,状态机定义了不同状态下机器人可执行的行为集合,对机器人的运动行为和非运动行为进行统一的约束。
在本公开的实施例中,状态机可通过以下方式对机器人的行为进行约束:
图3是根据本公开的实施例示出的一种执行目标行为指令的流程图。
如图3所示,所述执行目标行为指令的具体执行步骤如下:
S301,接收目标行为执行指令。
接收针对所述机器人的目标行为执行指令;
S302,获取当前工作状态。
获取状态机描述的机器人所处的当前工作状态,不同的工作状态对机器人的行为约束内容不同,根据当前所处的工作状态,可确定所述当前工作状态对应的行为约束。
S303,判断目标行为是否符合所述当前工作状态对应的行为约束。
即判断在当前工作状态下,所述目标行为是否允许被实施。若所述目标行为执行指令所指示的目标行为符合所述当前工作状态对应的行为约束,即说明所述目标行为允许被实施,进入步骤S304,否则进入步骤S305。
S304,执行目标行为指令。
在所述目标行为执行指令所指示的目标行为符合所述当前工作状态对应的行为约束的情况下,执行所述目标行为执行指令。
S305,丢弃目标行为执行指令。
在所述目标行为执行指令所指示的目标行为不符合所述当前工作状态对应的行为约束的情况下,丢弃所述目标行为执行指令。
通过使用状态机约束不同状态下的机器人的运动行为或非运动行为,增加了对机器人的控制范围,实现了对机器人的灵活管控,使得机器人变得更加智能。
在一示例性实施例中,所述运动行为包括以下至少一项:跟随、导航、前/后空翻。所述非运动行为包括以下至少一项:可视化编程、图像传输、计算机视觉识别、语音识别、灯光控制。在另一实施例中,用户可根据自身需求添加机器人的运动/非运动行为,本公开对此不作限制。
在一示例性实施例中,预定义的机器人不同状态下的可实施行为可根据用户输入的行为编辑指令进行变化,具体的,可通过以下方式对机器人的行为的数量和内容进行调整:用户在启动阶段时,在配置文件中输入机器人行为编辑指令,状态机根据所述机器人行为编辑指令所描述的待编辑机器人行为和机器人行为编辑方式,基于所述机器人行为编辑方式对所述待编辑机器人行为进行编辑。其中,所述条件项编辑方式包括下述任一:新增机器人行为、删除原有的机器人行为以及对原有的机器人行为进行修改。
接下来针对本公开的实施例中不同的工作状态下的对机器人的行为约束进行说明。各工作状态下机器人的行为约束如下所示:
(1)启动状态和自检状态:禁止语音识别外的所有行为。
(2)活跃状态:可执行机器人的所有行为。
(3)保护状态:禁止机器人的空翻、跟随行为;
禁止运动/手势/人脸识别行为;
禁止运行可视化编程中已编写完毕的程序。
(4)低电量状态:禁止机器人所有运动行为。
禁止运动/手势/人脸识别行为;
禁止运行可视化编程中已编写完毕的程序;
禁止使用LED灯光(但可保持红色流星的灯效提醒用户)。
(5)升级状态:禁止语音识别外的所有行为。
(6)关闭状态:禁止语音识别外的所有行为。
需要指出的是,上述各工作状态下机器人的行为约束仅针对于当前实施例,本领域技术人员可根据需求进行自定义修改设置,本公开对此不作限制。
在本公开的实施例中,由状态机管控机器人的整机状态,对机器人的运动行为和非运动行为进行统一约束,实现不同状态下可约束不同的行为,相较于仅能对机器人的运动能力进行简单约束来说,对机器人的行为的管控更加灵活,且丰富了不同状态下机器人的交互模式。同时,用户可通过对机器人的可实施行为进行调整,自定义需要由状态机进行控制的机器人的行为,从而避免部分行为受损对状态机带来影响,提升用户的良好体验。
同时,本公开的实施例在状态机中设置了多个工作状态以及各个工作状态之间分别对应的状态切换条件,通过在满足当前工作状态与其他工作状态之间的状态切换条件时,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态,来实现对机器人的控制,提升了对机器人的控制和运动进行编程和优化时的便利性。
其中,每一状态切换条件可以包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项,相较于仅根据单一的参数来进行工作状态切换,本公开的实施例可通过不同条件项进行工作状态切换,也可对某一工作状态的切换增加限制,对机器人的精准控制,大大提升了机器人工作状态切换时的多样性和对环境的适应能力。
配合于状态转换条件的丰富和优化,本公开的实施例中的状态机中的工作状态数量也进行了相应的丰富和优化,提升了机器人的可拓展能力、工作状态的多样性。并且,本公开的实施例还基于状态机中的工作状态对机器人的运动和非运动能力都进行了约束,实现不同状态下可约束不同的行为,相较于仅能对机器人的运动能力进行简单约束来说,对机器人的行为的管控更加灵活,且丰富了不同状态下机器人的交互模式。
最后,状态机的工作状态、状态转换条件、约束的机器人行为均可由用户根据需求进行调整,提升用户使用时的体验。
与前述的一种基于状态机的机器人控制方法的实施例相对应,本公开还提供了一种基于状态机的机器人控制装置的实施例。
图4是根据本公开的实施例示出的一种基于状态机的机器人控制装置的框图。
如图4所示,所述一种基于状态机的机器人控制装置包括:
获取单元401:用于获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件;
处理单元402:用于确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项;
切换单元403:用于在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
在一示例性实施例中,所述备选条件项包括以下至少之一:到达预设电量阈值、预设行为的执行时长到达预设时长阈值、处于预设时间段、完成预设行为。
在一示例性实施例中,所述装置还包括状态编辑单元404,用于:
接收到针对所述状态机的状态编辑指令;
根据所述状态编辑指令所描述的待编辑工作状态和状态编辑方式,基于所述状态编辑方式对所述待编辑工作状态进行编辑;
其中,所述状态编辑方式包括下述任一:新增工作状态、删除原有工作状态以及对原有工作状态进行修改。
在一示例性实施例中,所述装置还包括条件项编辑单元405,用于:
接收到针对所述状态机的条件项编辑指令;
根据所述条件项编辑指令所描述的待编辑条件项和条件项编辑方式,基于所述条件项编辑方式对所述待编辑条件项进行编辑;
其中,所述条件项编辑方式包括下述任一:新增条件项、删除原有条件项以及对原有条件项进行修改。
在一示例性实施例中,所述状态机中配置的每个工作状态定义有:针对所述机器人的行为约束;其中,所述行为约束用于约束所述机器人的运动行为和/或非运动行为。
在一示例性实施例中,所述非运动行为包括以下至少一项:可视化编程、图像传输、计算机视觉识别、语音识别、灯光控制。
在一示例性实施例中,所述装置还包括目标行为执行单元406,用于:
接收到针对所述机器人的目标行为执行指令;
根据所述状态机描述的当前工作状态,确定所述当前工作状态对应的行为约束;
在所述目标行为执行指令所指示的目标行为符合所述当前工作状态对应的行为约束的情况下,执行所述目标行为执行指令。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在第一方面有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开的方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述任一实施例所述的方法。
本公开的实施例还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法中的步骤。
图5是根据本公开的实施例示出的一种电子设备的框图。例如,装置500可以是任意类型的机器人,例如仿人机器人、四足机器人和科研探索型机器人等,本公开并不对此进行限制。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触控面板(TP)。如果屏幕包括触控面板,屏幕可以被实现为触控屏,以接收来自用户的输入信号。触控面板包括一个或多个触控传感器以感测触控、滑动和触控面板上的手势。所述触控传感器可以不仅感测触控或滑动动作的边界,而且还检测与所述触控或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514还可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G或5G或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述电子设备的供电方法。
在一示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于状态机的机器人控制方法,其特征在于,包括:
获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件;
确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项;
在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
2.根据权利要求1所述的方法,其特征在于,所述备选条件项包括以下至少之一:到达预设电量阈值、预设行为的执行时长到达预设时长阈值、处于预设时间段、完成预设行为。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到针对所述状态机的状态编辑指令;
根据所述状态编辑指令所描述的待编辑工作状态和状态编辑方式,基于所述状态编辑方式对所述待编辑工作状态进行编辑;
其中,所述状态编辑方式包括下述任一:新增工作状态、删除原有工作状态以及对原有工作状态进行修改。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收到针对所述状态机的条件项编辑指令;
根据所述条件项编辑指令所描述的待编辑条件项和条件项编辑方式,基于所述条件项编辑方式对所述待编辑条件项进行编辑;
其中,所述条件项编辑方式包括下述任一:新增条件项、删除原有条件项以及对原有条件项进行修改。
5.根据权利要求1所述的方法,其特征在于,所述状态机中配置的每个工作状态定义有:针对所述机器人的行为约束;其中,所述行为约束用于约束所述机器人的运动行为和/或非运动行为。
6.根据权利要求5所述的方法,其特征在于,所述非运动行为包括以下至少一项:可视化编程、图像传输、计算机视觉识别、语音识别、灯光控制。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收到针对所述机器人的目标行为执行指令;
根据所述状态机描述的当前工作状态,确定所述当前工作状态对应的行为约束;
在所述目标行为执行指令所指示的目标行为符合所述当前工作状态对应的行为约束的情况下,执行所述目标行为执行指令。
8.一种基于状态机的机器人控制装置,其特征在于,包括:
获取单元:用于获取状态机描述的机器人所处的当前工作状态;其中,所述状态机配置有多个工作状态以及各个工作状态之间分别对应的状态切换条件;
处理单元:用于确定所述当前工作状态与其他工作状态之间的状态切换条件;其中,每一状态切换条件包含从预定义的备选条件项集合所含的多个备选条件项中选取的一个或多个条件项;
切换单元:用于在已满足任一状态切换条件的情况下,将所述任一状态切换条件对应的目标工作状态更新为所述当前工作状态。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至7中任一项所述方法中所述的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311024522.0A CN117047758A (zh) | 2023-08-14 | 2023-08-14 | 基于状态机的机器人控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311024522.0A CN117047758A (zh) | 2023-08-14 | 2023-08-14 | 基于状态机的机器人控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117047758A true CN117047758A (zh) | 2023-11-14 |
Family
ID=88654745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311024522.0A Pending CN117047758A (zh) | 2023-08-14 | 2023-08-14 | 基于状态机的机器人控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117047758A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104076763A (zh) * | 2013-03-12 | 2014-10-01 | 洛克威尔自动控制技术股份有限公司 | 状态机配置器 |
CN105082142A (zh) * | 2015-07-06 | 2015-11-25 | 南京阿凡达机器人科技有限公司 | 一种智能机器人系统及其工作方法 |
CN106541412A (zh) * | 2016-10-19 | 2017-03-29 | 北京光年无限科技有限公司 | 智能机器人状态机制的切换方法、智能机器人及装置 |
CN109789549A (zh) * | 2016-10-12 | 2019-05-21 | Abb瑞士股份有限公司 | 用于控制机器人的装置和方法 |
CN113796778A (zh) * | 2021-08-03 | 2021-12-17 | 上海高仙自动化科技发展有限公司 | 远程运维方法、装置、系统、机器人、芯片及存储介质 |
CN113848924A (zh) * | 2021-09-30 | 2021-12-28 | 乐聚(深圳)机器人技术有限公司 | 机器人的调度控制方法、装置、设备及存储介质 |
WO2022179082A1 (zh) * | 2021-02-26 | 2022-09-01 | 北京达佳互联信息技术有限公司 | 数据处理方法及装置 |
CN115904656A (zh) * | 2022-11-14 | 2023-04-04 | 南方电网数字电网研究院有限公司 | 应用于芯片中的状态控制方法、装置、设备及存储介质 |
CN115946128A (zh) * | 2023-03-09 | 2023-04-11 | 珞石(北京)科技有限公司 | 一种基于层级状态机的人机协作策略的实现方法 |
-
2023
- 2023-08-14 CN CN202311024522.0A patent/CN117047758A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104076763A (zh) * | 2013-03-12 | 2014-10-01 | 洛克威尔自动控制技术股份有限公司 | 状态机配置器 |
CN105082142A (zh) * | 2015-07-06 | 2015-11-25 | 南京阿凡达机器人科技有限公司 | 一种智能机器人系统及其工作方法 |
CN109789549A (zh) * | 2016-10-12 | 2019-05-21 | Abb瑞士股份有限公司 | 用于控制机器人的装置和方法 |
CN106541412A (zh) * | 2016-10-19 | 2017-03-29 | 北京光年无限科技有限公司 | 智能机器人状态机制的切换方法、智能机器人及装置 |
WO2022179082A1 (zh) * | 2021-02-26 | 2022-09-01 | 北京达佳互联信息技术有限公司 | 数据处理方法及装置 |
CN113796778A (zh) * | 2021-08-03 | 2021-12-17 | 上海高仙自动化科技发展有限公司 | 远程运维方法、装置、系统、机器人、芯片及存储介质 |
CN113848924A (zh) * | 2021-09-30 | 2021-12-28 | 乐聚(深圳)机器人技术有限公司 | 机器人的调度控制方法、装置、设备及存储介质 |
CN115904656A (zh) * | 2022-11-14 | 2023-04-04 | 南方电网数字电网研究院有限公司 | 应用于芯片中的状态控制方法、装置、设备及存储介质 |
CN115946128A (zh) * | 2023-03-09 | 2023-04-11 | 珞石(北京)科技有限公司 | 一种基于层级状态机的人机协作策略的实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3572936B1 (en) | Method, terminal and computer-readable storage medium for displaying interface of application program | |
CN105955765B (zh) | 应用预加载方法及装置 | |
US9860844B2 (en) | Method and apparatus of temperature control | |
EP3133874B1 (en) | Method and apparatus for starting energy saving mode | |
US11204779B2 (en) | Terminal control method and apparatus, terminal and storage medium | |
EP3096224B1 (en) | Method and apparatus for processing application installation package | |
RU2643516C2 (ru) | Способ и устройство для управления потребляемой мощностью | |
EP3112979B1 (en) | Method and device for waking up mcu | |
EP3288148B1 (en) | Method and apparatus for device control | |
CN106897134B (zh) | 一种定位功能管理方法及装置 | |
EP3073371A1 (en) | Method and device for loading theme application | |
CN114595785B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
US20230345227A1 (en) | Switch module, terminal device, method for controlling terminal device | |
CN110941321A (zh) | 电子设备的供电方法、装置及智能设备 | |
CN112214254A (zh) | 加速应用程序启动的方法及装置、以及电子设备 | |
EP3200075A1 (en) | Method and device for calling process | |
CN117047758A (zh) | 基于状态机的机器人控制方法、装置、设备及存储介质 | |
CN114301110A (zh) | 机器人电池电量校准方法、装置、电子设备和存储介质 | |
CN108563487B (zh) | 用户界面的更新方法及装置 | |
CN110286735B (zh) | 一种处理方法、装置及介质 | |
CN113064739A (zh) | 线程间通信方法、装置、电子设备及存储介质 | |
CN116089025A (zh) | 处理器频率控制方法、装置及存储介质 | |
CN114253385A (zh) | 移动终端的功耗管理方法、装置及计算机可读存储介质 | |
CN115344357A (zh) | 应用程序的处理方法、装置及存储介质 | |
CN110909886A (zh) | 一种机器学习网络运行方法、装置及介质 |
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 |