CN108582086B - 机器人的控制方法、装置和机器人 - Google Patents
机器人的控制方法、装置和机器人 Download PDFInfo
- Publication number
- CN108582086B CN108582086B CN201810794898.2A CN201810794898A CN108582086B CN 108582086 B CN108582086 B CN 108582086B CN 201810794898 A CN201810794898 A CN 201810794898A CN 108582086 B CN108582086 B CN 108582086B
- Authority
- CN
- China
- Prior art keywords
- command
- control command
- control
- robot
- condition
- 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
Links
Images
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/1628—Programme controls characterised by the control loop
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本发明提供了一种机器人的控制方法、装置和机器人;该发明首先采集多个控制命令图像;然后识别各控制命令图像对应的控制命令;如果该控制命令中存在条件判断命令,判断当前反馈信号是否符合上述条件判断命令对应的条件;根据判断结果,执行指定的控制命令。该方式通过解析简单的控制命令图像,可以执行条件判断命令,从而控制机器人执行较为复杂的行为,提高了机器人行为的丰富性和用户控制机器人操作的便捷性。
Description
技术领域
本发明涉及机器人控制技术技术领域,尤其是涉及一种机器人的控制方法、装置和机器人。
背景技术
随着控制技术的不断发展,机器人及其他智能终端的应用日渐丰富,机器人既能接受预先编排的程序,也能接受人类指挥,以完成复杂运动,服务于人类。
现有技术中已存在根据图像处理解析出信息,从而转化为命令,并完成相应功能的机器人产品。机器人识别图像执行命令常用的方式为:机器人首先识别含有某类信息的图像,然后解析出该图像包含的信息,得到该信息对应预设的命令,最后根据预设命令执行相应行为。但该方式机器人从图像中得到的信息较为单一,对应预设的命令也相对独立,对信息的分割与再编辑均较为简单,以致难以通过图像对机器人下达复杂的命令,使得机器人的行为较为单一。
发明内容
有鉴于此,本发明的目的在于提供一种机器人的控制方法、装置和机器人,以改善现有机器人的控制方式较为单一的技术问题,提高机器人行为的丰富性。
第一方面,本发明实施例提供了一种机器人的控制方法,该方法应用于机器人,该方法包括:采集多个控制命令图像;识别各控制命令图像对应的控制命令;如果上述控制命令中存在条件判断命令,判断当前反馈信号是否符合上述条件判断命令对应的条件;根据判断结果,执行指定的控制命令。
进一步,该方法通过下述方式之一确定控制命令中是否存在条件判断命令:如果从控制命令中识别出条件分支命令,根据条件分支命令确定条件判断命令对应的控制命令图像所处的第一位置区域,从第一位置区域中的指定的控制命令图像中识别条件判断命令;将具有指定特征的控制命令图像对应的控制命令,确定为条件判断命令。
进一步,上述方法还包括:如果从第一位置区域中的指定的控制命令图像中识别出多个条件判断子命令,根据预设的逻辑关系,确定多个上述条件判断子命令对应条件判断命令;该逻辑关系包括与、或、非中的一种或多种。
进一步,上述指定的控制命令通过下述方式中的一种或多种确定:如果从控制命令中识别出条件分支命令,根据条件分支命令确定指定的控制命令对应的控制命令图像所处的第二位置区域,将第二位置区域中的指定的控制命令图像对应的控制命令确定为指定的控制命令;将位于指定位置或指定区域的控制命令图像对应的控制命令,确定为指定的控制命令;该指定位置或指定区域与上述条件判断命令对应的控制命令图像对应;将具有指定特征的控制命令图像对应的控制命令,确定为指定的控制命令。
进一步,上述指定特征包括控制命令图像的类型、形状、颜色或者亮度中的一种。
进一步,上述方法包括:如果指定的控制命令包括多个控制子命令,按照预设的执行顺序,执行多个控制子命令;执行顺序包括同时执行、顺序执行和循环执行中的一种或多种。
进一步,上述根据判断结果,执行指定的控制命令的步骤,包括:如果当前反馈信号符合条件判断命令对应的条件,执行符合条件判断命令时的指定的控制命令;如果当前反馈信号不符合上述条件判断命令对应的条件,执行不符合上述条件判断命令时的指定的控制命令,或者,停止执行命令。
第二方面,本发明实施例还提供一种机器人的控制装置,包括:采集模块,用于采集多个控制命令图像;识别模块,用于识别各控制命令图像对应的控制命令;如果控制命令中存在条件判断命令,判断当前反馈信号是否符合条件判断命令对应的条件;根据判断结果,执行指定的控制命令。
进一步,该装置通过下述方式之一确定上述控制命令中是否存在条件判断命令:如果从控制命令中识别出条件分支命令,根据条件分支命令确定条件判断命令对应的控制命令图像所处的第一位置区域,从第一位置区域中的指定的控制命令图像中识别条件判断命令;将具有指定特征的控制命令图像对应的控制命令,确定为条件判断命令。
第三方面,本发明实施例提供了一种机器人,该机器人包括处理器和执行机构;第二方面的机器人的控制装置设置于处理器中。
本发明实施例带来了以下有益效果:
本发明提供了一种机器人的控制方法、装置和机器人;该发明首先采集多个控制命令图像;然后识别各控制命令图像对应的控制命令;如果该控制命令中存在条件判断命令,判断当前反馈信号是否符合条件判断命令对应的条件;根据判断结果,执行指定的控制命令。该方式通过解析简单的控制命令图像,可以执行条件判断命令,从而控制机器人执行较为复杂的行为,提高了机器人行为的丰富性和用户控制机器人操作的便捷性。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种机器人的控制方法的流程图;
图2为本发明实施例提供的一种控制命令图像的示意图;
图3为本发明实施例提供的图像识别实现机器人行为的解析流程图;
图4为本发明实施例提供的一组条件分支命令的控制命令图片的示意图;
图5为本发明实施例提供的一种条件判断命令按位置区域分组的示意图;
图6为本发明实施例提供的另一种条件判断命令按位置区域分组的示意图;
图7为本发明实施例提供的另一种条件判断命令按位置区域分组的示意图;
图8为本发明实施例提供的一种根据标识执行条件判断命令的示意图;
图9为本发明实施例提供的一种根据标识完成满足或不满足的条件判断命令的示意图;
图10为本发明实施例提供的一种组合条件判断命令的示意图;
图11为本发明实施例提供的另一种机器人的控制方法的流程图;
图12为本发明实施例提供的一种编程图版的示意图;
图13为本发明实施例提供的图12中各行为单元对应的机器人实际执行的步骤流程图;
图14为本发明实施例提供的一种机器人的控制装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前机器人的控制方式较为单一,例如,如果定义当机器人发现数字,就报出数字的大小,此时机器人识别出数字“2”之后,语音播报,“这是2”;再如,机器人进行人脸识别,当发现人脸并识别出结果后,即完成相应打卡操作等。基于此,本发明实施例提供的一种机器人的控制方法、装置和机器人,该技术可以应用于空间交互型的机器人控制中,尤其可以应用于基于实物编程的机器人控制中;该技术可以采用相关的软件或硬件实现,下面通过实施例进行描述。
参见图1所示的一种机器人的控制方法的流程图;该方法应用于机器人,该方法包括:
步骤S102,采集多个控制命令图像;
步骤S104,识别各控制命令图像对应的控制命令;
可以通过摄像装置或红外摄像装置采集该控制命令图像;该控制命令图像通常包含图样、形状、符号、文字、条码等具有较为显著的识别特征,以便于机器人可以快速识别摄像采集区域内的图像中是否包含控制命令图像,并准确识别该控制命令图像对应的控制命令。
参见图2所示的一种控制命令图像的示意图;左侧图像为“箭头”形状,可以用于代表“前进”的控制命令;中部图像为“音乐符号”形状,可以用于代表“播放音乐”的控制命令;右侧图像为“L1”文字,可以用于代表“按照第1条设定线路行走”的控制命令。
具体地,上述控制命令图像(也可以称为命令图片)可以设置为多种颜色和形状,例如,矩形、三角形、圆形等;该控制命令图像上还可以设置各种图像,文字或编码中的一种或者多种的组合。每个控制命令图像经机器人图像识别后,得到一个控制命令,该控制命令可以由一个驱动执行机构执行相应的动作。除了用于表达控制命令的控制命令图像外,还可以设置用于表达其他特殊含义的图像。
上述控制命令图像可以代表机器人的某个动作或者某类行为的组合,该控制命令图像可附着在任意实物上,例如积木、拼图、各种拼接模块、贴纸等;还可以由电子显示屏显示或者投影设备显示。
步骤S106,如果上述控制命令中存在条件判断命令,判断当前反馈信号是否符合该条件判断命令对应的条件;
可以预先设置各控制命令图像的图像特征与控制命令的对应关系,机器人采集到控制命令图像后,解析出该图像的图像特征,再从上述对应关系中查找到对应的控制命令;机器人得到该控制命令后,再控制驱动执行机构执行相应的动作。
为了从控制命令中识别出条件判断命令,该条件判断命令和对应的控制命令图片可以预先定义,条件判断命令的控制命令图片可以放置在特定的位置,或具有特定的大小、颜色、形状、背景等。
上述当前反馈信号可以是机器人通过摄像机、麦克风等传感设备采集到的用户的反应信号,然后再判断该反应信号是否符合某一条件判断命令对应的条件,例如,当有人向机器人挥手时,机器人通过摄像机可以得到用户向机器人挥手的图像信号,该反馈信号满足条件判断命令中的条件a,则机器人执行条件a对应的动作。
步骤S108,根据判断结果,执行指定的控制命令。
条件判断命令主要用于根据相应的判断条件,来决定进行后续的哪步操作,即当满足某一条件时,机器人执行相应的操作,具体地,当发现有人出现在机器人摄像机前时机器人执行何种行为、当有人握手时机器人执行何种行为、当时间达到10秒时机器人执行何种行为等。例如,当发现有人出现在机器人摄像机前时,机器人可以发出打招呼的声音,并执行打招呼的动作。
本发明提供了一种机器人的控制方法;该方法首先采集多个控制命令图像;然后识别各控制命令图像对应的控制命令;如果该控制命令中存在条件判断命令,判断当前反馈信号是否符合上述条件判断命令对应的条件;根据判断结果,执行指定的控制命令。该方式通过解析简单的控制命令图像,可以执行条件判断命令,从而控制机器人执行较为复杂的行为,提高了机器人行为的丰富性和用户控制机器人操作的便捷性。
本发明实施例还提供了另一种机器人的控制方法,该方法在上述图1所示方法的基础上实现;该方法中,首先定义了一种基于图像的机器人命令方法,通过解析机器人的行为,并定义对机器人的图像命令或命令,从而实现机器人行为的条件判断逻辑。通过图像识别实现机器人行为的解析流程如图3所示。该定义方法首先定义了一种机器人的行为逻辑,将机器人的行为做了分割与描述;并将机器人行为与空间的实体相对应,通过机器人的摄像装置或其他传感器获取相应信息,整合后由机器人执行;从而实现通过空间实体化的简单交互,实现机器人复杂行为的过程。
该定义方法具体包括如下部分:
(1)建立机器人的行为逻辑,即对机器人的行为进行定义;具体包括对机器人的具体表现进行分类、将机器人的复杂行为分割为行为单元,每个行为单元设置为一组同时执行的动作单元的组合等。
机器人的一系列动作是由每个执行机构配合组成的,每个执行机构在时间线上都可独立运动或表现,作为一个动作单元。机器人完成一个复杂动作,需要在同一时间段下,各个执行机构同时动作。而机器人同时执行的一组动作可以组成一个组合,作为机器人行为的一个单元,即多个动作单元组成一个行为单元,多个行为单元连接在一起,形成了一个机器人的复杂动作。
这样可以将机器人的复杂动作进行拆分,分解为具体的命令,当然,也可根据机器人实际的功能进行机器人命令的定义。本实施例中,一个行为单元相当于上述一组控制命令图像;一个动作单元相当于上述一个控制命令图像,或者一个控制命令图像对应的动作。
(2)建立图像命令定义与行为对应关系,包括一些特殊命令(例如,条件判断命令)的定义;具体而言,对于机器人接受的图像命令,可将一副图片分割为若干个图像命令的集。将机器人的行为对应到命令上,该命令可以是动作单元、行为单元、或定义好的动作组合。
(3)上述定义完毕后,即实现机器人与图像的交互,机器人通过图像识别、命令解析,依照预设逻辑执行各行为单元或功能,完成将命令转换为行为的过程,从而实现相应的行为、表现或功能。
基于上述机器人行为的解析流程,下面进一步描述如何确定控制命令中是否存在条件判断命令;在其中一种方式中,上述控制命令中还包含条件分支命令,如果从控制命令中识别出条件分支命令,根据该条件分支命令确定条件判断命令对应的控制命令图像所处的第一位置区域,从该第一位置区域中的指定的控制命令图像中识别条件判断命令。
上述条件分支命令的控制命令图片可有不同的形状和不同的形式,该图片可以标识条件判断命令,体现出条件判断、条件选择等含义,使机器人可以根据预设的条件判断命令的控制命令图片识别出条件判断命令。
具体而言,如图4所示为一组条件分支命令的控制命令图片的示意图;图中第1行第1个图片表示“如果”,如果满足某一条件,就执行该条件对应的分支图片(相当于上述条件分支命令的控制命令图片)对应的命令;图中第1行第2个图片中的“×”表示“否”,“√”表示“是”,具体地,如果某一条件成立就执行条件分支图片“√”对应的命令,如果不成立则执行条件分支图片“×”对应的命令;图中第1行第3个图片中,满足条件“1”就执行条件分支图片“1”对应的命令,满足条件“2”就执行条件分支图片“2”对应的命令,满足条件“3”就执行条件分支图片“3”对应的命令;
图中第2行第1个图片中,“{”表示满足其包含的所有条件则执行该条件分支图片对应的命令;图中第2行第2个图片中,两个方向的箭头分别代表了满足的不同条件;图中第2行第3个图片中,如果满足“IF”的条件分支图片则执行它对应的命令,否则满足“ELSE IF”的条件分支图片对应的命令,若上述都不满足,则执行“else”对应的命令;图中第2行第4个图片中,当条件满足事件“1”、“2”、“3”、“4”、“5”分别执行条件分支图片对应的命令。
上述控制命令图像所处的第一位置区域通常为根据条件分支命令图片确定的条件判断命令对应的控制命令图像所处的位置区域。该位置区域中的控制命令图像对应的控制命令,可以为条件判断命令;在进行执行条件、分支逻辑时,该条件判断命令可以指示相应的判断条件,进而根据该条件确定机器人后续执行哪步操作。
例如,可以根据上述条件分支命令,对设置有控制命令图片的区域进行分割,可分为相应的条件有效区域、分支执行区域、判断条件区域等。具体地,条件分支命令对应的控制命令图像可对预设的命令图片位置进行分组,各组按定义发挥作用。例如,一个有规则的图板,图板上可以扣插多行多列的带有命令图片的插片,机器人能够识别出图板的各行各列,则根据条件分支命令进行控制命令图片位置分组,及不同区域的分割,如图5所示,条件分支命令将图板分割为几个组,其中一部分是条件判断命令起作用的有效区域,包括判断条件区域和分支执行区域等。
图5中命令1、2为一组,属于一个行为单元;当执行完命令1、2后,再识别出第三行中间的条件分支命令对应的控制命令图像(←→);根据该控制命令图像(←→)确定其预设的条件判断命令对应的控制命令图像所处区域(也可以称为判断条件区域)为该图片的左侧(图中左侧黑色区域,其中已有条件判断命令a)和右侧(图中右侧黑色区域,其中已有条件判断命令b),上述图片左右两侧的黑色区域就是上述第一位置区域;根据控制命令图像(←→)确定上述每个条件判断命令对应的指定的控制命令的控制命令图像所处区域(也可以称为分支执行区域),即图中4、5和6行对应的左右两个分支执行区域;然后分别判断是否满足条件a和b,若满足条件a,则执行左侧分支执行区域中的图片对应的命令(即执行命令4,随后执行命令5),同样的若满足条件b,则执行命令6、命令7,随后执行命令8。
另外,参见图6所示的另一种控制命令图像按位置分组的结构示意图;图6中的整个图板均为条件有效区域,机器人在识别到图板正中心的条件分支控制命令图片后,能够确定其对应四角为分支执行区域,左右两侧为对应的判断条件区域(也就是第一位置区域),进而能够实现:若满足条件a,则执行命令1;若满足条件b,则执行命令2;若满足条件c,则执行命令3;若满足条件d,则执行命令4。
上述第一位置区域中的指定的控制命令图像的第一位置区域,可能仅包含条件判断命令,也可能同时包含条件判断命令和普通的控制命令,例如,图5中的第一位置区域仅包含条件判断命令;也可以既包括图5中的条件判断命令a也包括普通的控制命令1或命令2。
如果从上述第一位置区域中的指定的控制命令图像中识别出多个条件判断子命令,根据预设的逻辑关系,确定多个条件判断子命令对应条件判断命令;逻辑关系包括与、或、非中的一种或多种,如满足条件a或满足条件b,或满足条件a且满足条件b等。上述逻辑关系,可以预先设置,比如,各个控制命令图像在先全部设置为“或”、全部设置为“且”,或者是几种关系的结合;也可以根据图像中具体地位置标识来确定逻辑关系。
在另外一种方式中,还可以将具有指定特征的控制命令图像对应的控制命令,确定为条件判断命令;该指定特征可以为控制命令图像的类型、形状、颜色或者亮度中的一种。
例如,控制命令可以根据控制命令图像的不同类型划分为A类或B类,当满足条件a时,执行A类型控制命令,当满足条件b时,执行B类型控制命令;控制命令可根据控制命令图像的不同颜色(如黄色、红色、绿色等)、不同形状(三角形、圆形、正方形等)进行划分;控制命令也可根据控制命令图像的亮度进行划分,也就是说满足条件1时,则执行亮色命令,满足条件2时,则执行暗色命令;当然,控制命令的特性也可以是上述特征的结合。
如果通过上述方式,从控制命令中识别出条件判断命令,即可判断当前反馈信号是否符合该条件判断命令对应的条件,进而根据判断结果,执行指定的控制命令。该过程中,条件判断命令通常具有对应的控制命令,以明确根据条件判断命令进行判断后,该走哪个流程分支;因而,通常需要预先确定条件判断命令与指定的控制命令的对应关系,具体描述如下。
该指定的控制命令可以通过下述方式中的一种或多种确定,即可以根据某一个方式直接确定指定的控制命令,也可以根据多种方式共同确定指定的控制命令:
方式1,如果从控制命令中识别出条件分支命令,根据上述条件分支命令确定指定的控制命令对应的控制命令图像所处的第二位置区域,将该第二位置区域中的指定的控制命令图像对应的控制命令确定为指定的控制命令。
上述控制命令图像所处的第二位置区域通常为根据条件分支命令图片确定的控制命令对应的控制命令图像所处的位置区域。该位置区域中的控制命令图像对应的控制命令,可以为条件判断命令需要执行的控制命令,对应着机器人需要执行的动作;上述指定的控制命令图像通常为在第一位置区域选择出满足的条件后,锁定的控制命令图像。
控制命令图像区域可以为如图7所示的不规则的形式等,图7左侧图片的中心位置为条件分支命令以及三个条件判断命令对应的控制命令图片,3个圆形为各条件判断命令的指定的控制命令对应的控制命令图片;每个圆圈中的控制命令图片对应的控制命令(也可以称为动作单元)可以同时被执行,其中,圈中的方块为放置携带了控制命令图片的积木或者为控制命令图片的投影。
图7右侧图片的中心位置为条件分支命令对应的控制命令图片,四周区域为各条件判断命令对应的条件判断区域和分支执行区域,其中,六边形为放置携带了控制命令图片的积木或者为控制命令图片的投影。
方式2,将位于指定位置或指定区域的控制命令图像对应的控制命令,确定为指定的控制命令;上述指定位置或指定区域与上述条件判断命令对应的控制命令图像对应。
该方式可以适用于条件判断命令和该命令对应的指定的控制命令的控制命令图像无明显的区域分割或分组的情况。图8左侧图片的判断条件区域与分支执行区域为同一区域,可以预先设置字符类的控制命令图像对应的控制命令为条件判断命令时,如图中的控制命令图像a和b;当区域中存在字符类的控制命令图像时,说明当前区域内有条件判断命令,并执行该条件判断命令;具体地,图8左侧图片表示当满足条件a时同时执行命令1、命令2,满足条件b时同时执行命令3、命令4。
图8右侧图片中的条件判断命令同时具有条件分支命令的作用,可以预先设置指定颜色或指定灰度的背景的控制命令图像对应的控制命令为条件判断命令,如图中的深色背景的控制命令图像a和b;当区域中存在深色背景的控制命令图像时,说明当前区域内有条件判断命令,并执行该条件判断命令;具体地,图8右侧图片表示当满足条件a时执行命令1,随后执行命令2,满足条件b时执行命令3,随后执行命令4。
由上述可知,如果指定的控制命令包括多个控制子命令,按照预设的执行顺序,执行多个控制子命令;该执行顺序包括同时执行、顺序执行和循环执行中的一种或多种。
例如,图7和图8左侧图片的控制命令执行顺序均为同时执行;图8右侧图片中控制命令的执行顺序为顺序执行,即先执行命令1,随后执行命令2;当控制命令图像中包含循环命令,则可按照该循环命令的循环参数,循环执行各控制命令图像对应的控制命令,该执行顺序通常称为顺序执行率;执行顺序也可包含上述顺序中的一种也可为多种的结合。
方式3,将具有指定特征的控制命令图像对应的控制命令,确定为指定的控制命令。
上述指定特征包括控制命令图像的类型、形状、颜色或者亮度中的一种。控制命令可根据标识定义图片的含义,如某种大小,某种颜色或涵盖某种颜色的命令、某种形状的命令等;也可根据标识进行条件满足与否的命令区分。图9左侧图片所示,可以预先设置不带有括号的控制命令图像对应的控制命令为当前反馈信号满足条件判断命令时,应该执行的指定的控制命令;并设置带有括号的控制命令图像对应的控制命令为当前反馈信号不满足条件判断命令时,应该执行的指定的控制命令;如图9中,当满足条件a时,执行命令1、命令2,不满足条件a时,执行命令(1)、命令(2);
图9右侧图片中,可以预先设置不带有背景颜色的控制命令图像对应的控制命令为当前反馈信号满足条件判断命令时,应该执行的指定的控制命令;并设置带有背景颜色的控制命令图像对应的控制命令为当前反馈信号不满足条件判断命令时,应该执行的指定的控制命令;如图9中,当满足条件a时,执行命令1,不满足条件a时,执行红色(图中以深色背景表示)命令2;当满足条件b时,执行命令3,不满足条件b时,执行红色命令4。
上述条件判断命令可以不局限于在一张控制命令图片上,即可以是两张或多张图片组合发挥作用来控制图片命令,如图10所示为组合条件判断命令的控制命令图片的示意图,图中左侧图片中,使用箭头图片作为条件分支命令图片,分割出条件判断区域,括号图片分割出分支执行区域。图中右侧图片利用两个括号图片作为条件分支命令图片,分割出相应区域。图中左、右两两侧的图片均可表示为:当满足条件a时,执行命令1;当满足条件b时,执行命令2。
上述方式中,定义了机器人的图像解析流程,并定义了多种循环命令的执行方式,可以实现利用简单的控制图像命令,来控制机器人执行复杂的行为,简化了机器人的控制方式,提高了机器人行为的丰富性。
本发明实施例还提供了另一种机器人的控制方法,该方法在上述方法的基础上实现,该方法在提高机器人行为丰富性的同时,进一步简化机器人的控制方式;如图11所示,为另一种机器人的控制方法流程图,具体包括如下步骤:
步骤S1102,采集多个控制命令图像;
步骤S1104,识别各控制命令图像对应的控制命令;
步骤S1106,如果控制命令中存在条件判断命令,判断当前反馈信号是否符合该条件判断命令对应的条件;如果是,执行步骤S1108;如果否,执行步骤S1110;
步骤S1108,执行符合该条件判断命令时的指定的控制命令;
步骤S1110,执行不符合该条件判断命令时的指定的控制命令,或者,停止执行控制命令。
图8右侧图片,当满足条件a时,执行命令1、命令2,此时,就是在执行符合条件判断命令时指定的控制命令;不满足条件a时,执行命令(1)、命令(2),此时,就是在执行不符合条件判断命令时指定的控制命令;有时控制命令图像中,可能只包含满足条件时需要执行的控制命令,那么当不满足条件时,就需要停止执行该控制命令。
另外,在执行指定的控制命令时,具体可以根据预先设置的控制命令与执行机构的对应关系,驱动相应的执行机构执行控制命令。
在交互过程中,机器人对多个命令图片的图像进行采集,通过图像识别进行各命令图片对应的控制命令,并且在图像识别过程中区分出哪些命令图片为一组,将各组命令图片对应的动作单元或控制命令作为一个行为单元,同时执行,按照行为逻辑先后执行各组动作单元。分组后的每组命令图片对应的动作单元将同时执行,组成一个复杂的动作,各复杂动作可以在依照行为逻辑进一步组合形成复杂的连续性动作。
上述方式中,通过对控制命令图像进行分组,可以将机器人复杂的动作行为进行分割描述,使得处于同一分组的动作同时执行,简化了机器人的控制方式,提高了用户控制机器人操作的便捷性。
为了便于理解,本发明实施例还提供了一种上述机器人控制方法的具体应用示例,包括如下步骤:
步骤(1):定义机器人行为含义,及图片命令与行为逻辑的对应关系,设定图板中每行为一个分组的位置区域。这里定义条件分支命令为长方形,其左右区域为判断条件区域,以其中心为分界,后续的左右两侧为分支执行区域。
步骤(2):用户在编程图板上插接贴有命令图片的插片,如图12所示,其中图板角部的黑点用于机器人识别图板。
步骤(3):将图板树立在机器人前,以便于机器人扫描,机器人识别图板,进而识别图板上的各命令图片(相当于上述控制命令图片);然后自动识别出条件分支命令;根据条件分支命令图片确定其对应的条件有效区域(即分支执行区域和判断条件区域,此列中分支执行区域各包含2个行为单元);最后解析出各区域中图片对应的命令。
步骤(4):根据设定的行为逻辑,在满足某个判断条件区域中的命令时,执行其对应的分支执行区域中控制命令图片对应的命令,完成相应行为与功能。
图13为各行为单元对应的机器人实际执行的步骤流程图,图中,首先执行行为单元1(播放语音1:“我来啦,快来和我玩吧”),若发现有人或有人摆动左臂执行行为单元3(旋转360度,播放语音3:“太好了,你终于来啦”,然后抬起左臂),再执行行为单元4(前进1米);若等待30秒,没有发现有人,则执行行为单位2(播放语音2:“怎么,我都等了半天了,还没有人和我玩吗?”)。上述执行单元中,各命令图片的含义是可以为预先设定完成的,其播放的语音也是预先生成或者录制的。
控制命令图片可以分割为多个命令,实现多个命令的条件判断或分支行为,从而实现通过命令图片输入复杂命令,使得机器人完成复杂行为的操作。主要包括:
1)识别条件控制命令图片;根据条件控制命令图片确定其对应的一组或者多组条件判断命令区域和条件执行区域;在满足某个条件判断命令区域中的命令后执行对应的条件执行区域中的命令(如不满足则不执行);
2)在满足某个条件判断命令区域中的条件判断命令后执行对应的条件执行区域中的需要执行的命令(通过在区域中的位置、图片块颜色、形状、大小、标识等识别区域中的条件判断命令或需要执行的命令,而并非将区域中的所有图片作为判断命令或者执行命令);
3)如果不满足条件判断命令区域中的命令,还可以执行条件执行区域中的特定命令(例如通过在区域中的位置、图片块颜色、形状、大小、标识等识别区域中的条件不满足时需要执行的命令);
4)条件命令图片也可以由具有特定相互位置关系的一组图片组成。
上述方式中,实现了通过条件控制命令图片的复杂命令,来控制机器人执行复杂的行为,简化了机器人的控制方式,提高了机器人行为的丰富性。
对应于上述方法实施例,参见图14所示的一种机器人的控制装置的结构示意图,该装置设置于机器人,该装置包括:
一种机器人的控制装置,上述装置设置于机器人,该装置包括:
采集模块140,用于采集多个控制命令图像;
识别模块141,用于识别各控制命令图像对应的控制命令;如果控制命令中存在条件判断命令,判断当前反馈信号是否符合条件判断命令对应的条件;根据判断结果,执行指定的控制命令。
通过下述方式之一可以确定上述控制命令中是否存在条件判断命令:
如果从上述控制命令中识别出条件分支命令,根据上述条件分支命令确定条件判断命令对应的控制命令图像所处的第一位置区域,从第一位置区域中的指定的控制命令图像中识别条件判断命令;
将具有指定特征的控制命令图像对应的控制命令,确定为条件判断命令。
本发明实施例提供的机器人的控制装置,与上述实施例提供的机器人的控制方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本实施例还提供了一种与上述方法实施例相对应的机器人,该机器人包括处理器和执行机构;上述装置设置于机器人的处理器中。
本发明实施例所提供的一种机器人的控制方法、装置和机器人,可以实现通过简单的图片控制命令来控制机器人执行复杂的行为;也可以解析复杂的图片命令,以实现图片命令的条件判断,而且该方式用图像输入命令,在短时间内给机器人复杂的命令,从而控制机器人的复杂行为,提高了机器人的执行效率,丰富了机器人的行为动作。
本发明实施例所提供的一种机器人的控制方法、装置和机器人的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的命令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和/或装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种机器人的控制方法,其特征在于,所述方法应用于机器人,所述方法包括:
采集多个控制命令图像;
识别各控制命令图像对应的控制命令;
如果所述控制命令中存在条件判断命令,判断当前反馈信号是否符合所述条件判断命令对应的条件;
根据判断结果,执行指定的控制命令;
通过下述方式之一确定所述控制命令中是否存在所述条件判断命令:
如果从所述控制命令中识别出条件分支命令,根据所述条件分支命令确定条件判断命令对应的控制命令图像所处的第一位置区域,从所述第一位置区域中的指定的控制命令图像中识别条件判断命令;
将具有指定特征的控制命令图像对应的控制命令,确定为条件判断命令。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果从所述第一位置区域中的指定的控制命令图像中识别出多个条件判断子命令,根据预设的逻辑关系,确定多个所述条件判断子命令对应条件判断命令;所述逻辑关系包括与、或、非中的一种或多种。
3.根据权利要求1所述的方法,其特征在于,所述指定的控制命令通过下述方式中的一种或多种确定:
如果从所述控制命令中识别出条件分支命令,根据所述条件分支命令确定指定的控制命令对应的控制命令图像所处的第二位置区域,将所述第二位置区域中的指定的控制命令图像对应的控制命令确定为指定的控制命令;
将位于指定位置或指定区域的控制命令图像对应的控制命令,确定为指定的控制命令;所述指定位置或指定区域与所述条件判断命令对应的控制命令图像对应;
将具有指定特征的控制命令图像对应的控制命令,确定为指定的控制命令。
4.根据权利要求1所述的方法,其特征在于,所述指定特征包括所述控制命令图像的类型、形状、颜色或者亮度中的一种。
5.根据权利要求3所述的方法,其特征在于,所述方法包括:如果所述指定的控制命令包括多个控制子命令,按照预设的执行顺序,执行多个所述控制子命令;所述执行顺序包括同时执行、顺序执行和循环执行中的一种或多种。
6.根据权利要求1所述的方法,其特征在于,所述根据判断结果,执行指定的控制命令的步骤,包括:
如果所述当前反馈信号符合所述条件判断命令对应的条件,执行符合所述条件判断命令时的指定的控制命令;
如果所述当前反馈信号不符合所述条件判断命令对应的条件,执行不符合所述条件判断命令时的指定的控制命令,或者,停止执行命令。
7.一种机器人的控制装置,其特征在于,所述装置设置于机器人,所述装置包括:
采集模块,用于采集多个控制命令图像;
识别模块,用于识别各控制命令图像对应的控制命令;如果所述控制命令中存在条件判断命令,判断当前反馈信号是否符合所述条件判断命令对应的条件;根据判断结果,执行指定的控制命令;
通过下述方式之一确定所述控制命令中是否存在所述条件判断命令:
如果从所述控制命令中识别出条件分支命令,根据所述条件分支命令确定条件判断命令对应的控制命令图像所处的第一位置区域,从所述第一位置区域中的指定的控制命令图像中识别条件判断命令;
将具有指定特征的控制命令图像对应的控制命令,确定为条件判断命令。
8.一种机器人,其特征在于,包括处理器和执行机构;权利要求7所述的装置设置于所述处理器中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810794898.2A CN108582086B (zh) | 2018-07-18 | 2018-07-18 | 机器人的控制方法、装置和机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810794898.2A CN108582086B (zh) | 2018-07-18 | 2018-07-18 | 机器人的控制方法、装置和机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108582086A CN108582086A (zh) | 2018-09-28 |
CN108582086B true CN108582086B (zh) | 2020-06-09 |
Family
ID=63618631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810794898.2A Active CN108582086B (zh) | 2018-07-18 | 2018-07-18 | 机器人的控制方法、装置和机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108582086B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109531575A (zh) * | 2018-12-29 | 2019-03-29 | 深圳市哎哟不错机器人科研有限公司 | 基于色彩控制的机器人 |
CN113001538B (zh) * | 2019-12-20 | 2022-08-26 | 合肥欣奕华智能机器股份有限公司 | 一种命令解析方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07152810A (ja) * | 1993-11-26 | 1995-06-16 | Toshiba Corp | 環境モデル作成装置 |
CN101232408B (zh) * | 2008-02-20 | 2010-09-29 | 中兴通讯股份有限公司 | 大批量数字用户线端口建链断链稳定性测试系统及方法 |
CN101937361A (zh) * | 2010-09-21 | 2011-01-05 | 清华大学 | 一种仿真子系统的构建及管理方法和装置 |
CN102136208B (zh) * | 2011-03-30 | 2013-01-09 | 中国科学院软件研究所 | 一种实物编程方法和系统 |
CN105488874B (zh) * | 2015-11-20 | 2017-09-19 | 北京天诚盛业科技有限公司 | 基于多线程控制的生物识别方法和装置 |
-
2018
- 2018-07-18 CN CN201810794898.2A patent/CN108582086B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108582086A (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105137887B (zh) | 基于编程板的实物化编程方法及其在机器人领域的应用 | |
JP2013501304A (ja) | 対象物抽出のためのシステム及び方法 | |
CN110582783B (zh) | 训练装置、图像识别装置、训练方法和计算机可读信息存储介质 | |
EP3462384A1 (en) | Simple programming method and device based on image recognition | |
CN108582086B (zh) | 机器人的控制方法、装置和机器人 | |
CN108582084B (zh) | 机器人的控制方法、装置和机器人 | |
JP6896204B2 (ja) | コンピュータプログラムを生成するデバイス及びコンピュータプログラムを生成する方法 | |
CN108415285B (zh) | 机器人的控制方法、装置和机器人 | |
JP7477260B2 (ja) | 情報処理装置、情報処理プログラム及び情報処理方法 | |
CN113537056A (zh) | 虚拟形象驱动方法、装置、设备和介质 | |
CN108582085B (zh) | 控制命令的确定方法、装置和机器人 | |
CN109760067B (zh) | 会打纸牌的智能机器人系统以及设备 | |
CN108334869A (zh) | 人脸部件的选择、人脸识别方法和装置,以及电子设备 | |
JP2021163293A (ja) | 作業分析装置及び作業分析プログラム | |
CN111539390A (zh) | 一种基于Yolov3的小目标图像识别方法、设备和系统 | |
KR102350349B1 (ko) | 게임기, 게임 시스템, 컴퓨터 프로그램이 기억된 기억 장치, 및 제어 방법 | |
CN115272820A (zh) | 火焰烟雾识别模型训练及其应用方法、装置及存储介质 | |
CN1846227A (zh) | 电子设备与电子设备中的响应信息输出方法 | |
Guha et al. | AI Virtual Mouse Using Hand Gesture Recognition | |
US20220075507A1 (en) | Method and device for controlling remotely controlled mobile platform, and readable storage medium | |
CN113835669B (zh) | 电子设备及其语音播报方法 | |
JPH1015152A (ja) | 将棋盤上の駒有無認識装置 | |
CN117085324A (zh) | 局势变化提示方法及相关装置、设备和存储介质 | |
CN114570014A (zh) | 一种无线光枪的定位方法、装置、电子设备及存储介质 | |
CN113442135A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Building 65, No. 17, Jiujiang Road, Tongji New Economic Zone, Jimo District, Qingdao City, Shandong Province, 266200 Patentee after: Qingdao Evolver xiaopang Robot Technology Co.,Ltd. Address before: 100192 1005-008, floor 1, building 27, 25 North Third Ring Road West, Haidian District, Beijing Patentee before: BEIJING EVOLVER ROBOTICS Co.,Ltd. |