用于控制机器人的行为的装置和方法

文档序号:2372492阅读:195来源:国知局
专利名称:用于控制机器人的行为的装置和方法
技术领域
本发明涉及对关于移动式机器人的计划的执行进行控制的方法和装置。
背景技术
作为自主型机器人,例如,当执行根据预定动作计划的处理时,如果存在来自人的另一项处理的指示,所述自主型机器人需要停止正在执行的处理,然后执行所指示的处理。
此外,所述自主型机器人需要不断地观察外部事件(例如语音命令,包括诸如图像处理的传感器输入,以及来自网络家用电器的事件),以对应于所述事件作出适当的计划,并使其准确地执行。
迄今为止,已有能够处理这些事件的自主型机器人。所述事件的处理具有执行优先级,并且利用所述处理的优先级自动地决定执行次序。(例如,可见日本专利申请公开2004-216528)。
为了使所述自主型机器人能够与人共存,所述自主型机器人进一步需要能够对应于各种事件在真实世界中发生时的状况(例如,来自某人的对机器人的新命令以及指示通过传感器检测到障碍的事件)。
为了解决以上问题,已经实现了本发明。本发明的目的在于提供一种行为控制装置,其能够生成适合于所述状况的计划并操作所述动作计划以在适当的时机执行所述计划。

发明内容
根据本发明的一个方面,一种行为控制装置包括外部状况获取单元,其被配置以获取移动式机器人的外部状况;目标生成单元,其被配置以基于所述外部状况生成通过执行所述移动式机器人的多功能的计划来实现的目标;目标类别生成单元,其被配置以生成目标类别,该目标类别指示所述目标是将以所述目标的生成次序来实现的普通目标,还是将通过满足预设的执行条件时的中断来实现的附条件目标;执行次序确定单元,其被配置以基于所述目标类别来确定所述计划的执行次序;以及计划生成单元,其被配置以生成用于实现所述执行次序的目标序列的计划。
根据本发明的另一方面,一种行为控制方法包括获取移动式机器人的外部状况;基于所述外部状况生成将通过执行所述移动式机器人的多功能的计划来实现的目标;生成目标类别,该目标类别指示所述目标是将以所述目标的生成次序来实现的普通目标,还是将通过满足预设的执行条件时的中断来实现的附条件目标;生成所述计划,该计划用于实现所述执行次序的目标序列;以及基于所述目标类别确定所述计划的执行次序。


图1A是移动式机器人的正视图,而图1B是所述移动式机器人的侧视图;图2是机器人系统的系统框图;图3是框图,示出了根据本发明第一实施例的移动式机器人的全部结构;图4是用于说明目标与计划以及动作之间的关系的示图;图5是框图,示出了外部世界监控单元的功能结构;图6是示图,示出了在通过外部事件生成单元来生成外部事件中所利用的外部事件表;图7是框图,示出了行为计划单元的功能结构;图8是示图,示出了目标创建表的数据结构;图9是示图,示出了目标类别生成表的数据结构的例子;图10是示图,示出了执行计划队列的数据结构的例子;图11是示图,示出了附条件计划缓冲区的数据结构的例子;
图12是流程图,示出了由所述移动式机器人处理的动作计划;图13是流程图,示出了在图12中说明的目标创建处理(步骤S106)的详细处理;图14是流程图,示出了在图12中说明的普通计划执行次序确定处理的详细处理;图15A、15B和15C是示图,用于更详细地说明,当新创建的普通计划比当前正在执行的计划具有更高的优先级时的普通计划执行次序确定处理;图16A和16B是示图,用于说明在新近创建所述普通计划时的处理;图17A和17B是示图,用于说明在中断当前正在执行的计划并执行所述新创建的普通计划时的处理;图18是流程图,示出了在图12中说明的附条件计划存储处理(步骤S104)的详细处理;图19A和19B是示图,用于说明当存储在所述附条件计划缓冲区中的附条件计划的执行条件被满足时的处理;图20A和20B是示图,用于说明当先于已经存储在所述执行计划队列中的计划而执行存储在所述附条件计划缓冲区中的附条件计划时的处理;图21是示图,示出了根据第一实施例的移动式机器人的硬件结构;图22是用于说明第一变型的示图;以及图23A和23B是用于说明第二变型的示图。
具体实施例方式
下面将参照附图对根据本发明的行为控制装置和行为控制方法的示例性实施例进行说明。所述实施例不限制本发明的范围。
图1A和图1B是示图,示出了根据第一实施例的具有内置的行为控制装置40(在图1A和1B中未示出)的移动式机器人1的外观结构。图1A是移动式机器人1的正视图。图1B是移动式机器人1的侧视图。
移动式机器人1在外形上类似于人,其包括头部21、躯干22、臂23A和23B以及移动单元24。头部21包括具有用于输出语音的扬声器31的嘴25,分别具有用于输入语音的麦克风32A、32B的耳朵26A和26B,以及分别具有用于输入外部图像的摄像头33A、33B的眼睛27A和27B。臂23A、23B具有连接件(link)、关节和手,以模拟人类的臂和手的运动。
移动单元24具有4个轮子28A、28B、28C和28D,其使得移动式机器人1能够在地面上前后移动或向左右改变方向,相当于人类的腿。
躯干22是移动式机器人1的中心部分。躯干22通过转动机构分别连接到头部21、臂23A和23B以及移动单元24,并且具有内置的机器人控制系统20在躯干22内部,其用于执行移动式机器人1的诸如运动和信息处理的一般控制。
图2是机器人系统20的系统框图。机器人系统20包括,用于确定移动式机器人1自身的运动和处理的行为控制装置40,以及各种子系统41到46,所述子系统用于输入用于在行为控制装置40确定所述运动和处理的信息(以下称为控制输入信息),以及用于接收将执行在行为控制装置40确定的运动和处理的指令信息(以下称为控制输出信息)。
语音处理子系统41进行诸如A/D转换和D/A转换、语音识别以及语音合成的一般语音处理,其将经由麦克风32A和32B输入的外部世界语音中的行为控制装置40所必须的控制输入信息供应给行为控制装置40,并通过用于输出语音的扬声器31来处理诸如在行为控制装置40或语音处理子系统41的内部生成的字。而且,语音处理子系统41,例如,当输入语音识别不令人满意时,能够具有处理步骤,以通过再听来自动地输出所述语音,尽管该语音合成没有通过行为控制装置40(在封闭的语音处理子系统41内部进行处理)。
图像处理子系统42对于从摄像头33A和33B输入的图像进行图像识别,并且将行为控制装置40所必须的在所述图像识别信息中的控制输入信息供应给行为控制装置40。而且,图像处理子系统42具有,利用摄像头33A和33B根据三角测量法进行图像目标的距离测量的处理步骤。此外,图像处理子系统42具有众所周知的追踪功能,即持续地沿着所述目标图像的方向,持续地捕获所述目标图像。
臂子系统43接收来自行为控制装置40的控制输出信息,并确定臂单元23A、23B的各自关节的物理驱动量以移动臂单元23A、23B。躯干旋转子系统44接收来自行为控制装置40的控制输出信息,并确定躯干22相对于移动单元24的物理旋转量以旋转躯干22。颈部旋转子系统26接收来自行为控制装置40的控制输出信息,并确定头部21相对于躯干22的物理旋转量以旋转所述颈部上的头部21。移动子系统46接收来自行为控制装置40的控制输出信息,并确定各轮28A到28D的旋转量以旋转各轮28A到28D。在一定时间内可以通过调整所述旋转量来调整轮速。
行为控制装置40确定所述机器人设备自身的处理和运动,并接收外部状况和内部状况(例如机器人的姿势和电池的剩余电量)作为控制输入信息,从而,例如,确定一个或多个运动和处理并且将所述控制输出信息输出到能够根据预定规则进行所述运动或处理的一个或多个子系统。此外,移动式机器人1可以具有时钟系统、温度传感器以及湿度传感器等等。行为控制装置40还能够控制这些传感器。
另外,可以在行为控制装置40进行诸如计算的静态处理而无需通过其他子系统。
在此,根据本实施例的移动式机器人1具有上述子系统41到46;然而,本发明不限于此,并且例如,在提供需要无线功能和显示功能的移动式机器人1时,移动式机器人1能够具有进行无线传输处理的无线子系统以及显示子系统,同时利用额外的显示装置进行显示控制。
图3是框图,示出了根据本发明实施例的移动式机器人1的全部结构。移动式机器人1具有外部世界监控单元100,行为计划单元200,行为计划执行单元300以及知识数据库(DB)400。
外部世界监控单元100监控外部世界并且从监控结果生成外部事件。在此,所述外部事件可以是诸如利用所述语音子系统识别的口头命令以及来自网络设备的信号。外部世界监控单元100监控所述外部事件。例如,当麦克风23A、23B检测到语音时,其利用所检测的语音的语音识别结果来生成作为外部事件的事件。同样,例如,如果在摄像头33A和33B的图像摄取之后从图像识别的结果检测到障碍,指示检测到所述障碍的检测结果可以被生成为外部事件。同样,外部世界监控单元100将诸如通过安装在移动式机器人1中的传感器得到的检测结果以及在移动式机器人1外部获取的信息视为外部世界监控的结果,以基于此生成所述外部事件。
行为计划单元200从外部世界监控单元100获取所述外部事件。然后,基于外部事件生成目标。在此,目标是将被执行和完成的任务或将被满足的状态。所述目标的另一个例子可以是将被实现的目标状态。
然后行为计划单元200创建计划以实现所述目标。在此,所述计划是执行和实现所述目标的一系列处理。所述计划能够具有多个动作。在此,所述动作是用于执行所述计划的最小单位。
计划执行单元300逐一动作地执行在行为计划单元200创建的计划。后面将解释关于所述动作的细节。知识DB 400保存有各种类型的信息。外部世界监控单元100、行为计划单元200以及计划执行单元300参照知识DB 400进行处理。
图4是示图,说明了行为控制装置40的目标与计划和动作之间的关系。如图4中所示,基于所述目标生成所述计划并且基于所述计划生成所述动作。
图5是框图,示出了外部世界监控单元100的功能结构。外部世界监控单元100包括图像获取单元102、语音获取单元110、语音识别单元112、网络设备状况信息获取单元120以及外部事件生成单元130。
图像获取单元102从后面描述的图像传感器获取检测结果。语音获取单元110通过后面描述的麦克风获取语音。语音识别单元112对由语音获取单元110获取的语音进行识别。网络设备状况信息获取单元120经由网络接收,用于指示连接到所述网络的其他设备的状况的网络设备状况信息。
移动式机器人1被连接到所述网络。可以从通过UPnP(通用即插即用)连接到所述网络的其他网络设备获取所需的信息。所述网络设备状况信息是将被通过UPnP获得的网络设备的事件信息。
外部事件生成单元130基于由图像获取单元102获取的图像检测结果、由语音识别单元112获取的语音识别结果以及由网络设备状况信息获取单元120获取的网络设备状况信息,生成外部事件。
图6是示图,示出了在通过外部事件生成单元130生成外部事件中所利用的外部事件表。所述外部事件表被保存在知识数据库400中。在所述外部事件表中,由外部事件生成单元130获取的外界监控结果和外部事件被互相连接起来。
例如,当检测到面部图像时,指示检测到所述面部图像的信息被生成为外部事件。同样,当检测到语音以进行所述语音识别时,由所述语音处理子系统获取的所述语音信息被生成为外部事件。
同样,当从网络设备获取网络设备状况信息时,所获取的网络设备状况信息和包括用于标识所述网络设备的网络设备ID的信息被生成为外部事件。
不会直接从任一的信息生成外部事件。当获取了存储在所述外部事件表中的外部世界监控结果时,才生成相应的外部事件。
在根据本实施例的外部事件表中,从一种外部状况生成一个外部事件;然而,本发明不限于此,并且可以从一种外部状况生成多个外部事件。同样,在监控多种外部状况时也可以生成一个外部事件。
同样,作为另一个例子,知识DB 400保存有替代所述外部事件表的算法,以从监控结果生成外部事件。这时,外部事件生成单元130可以通过利用知识在知识DB 400保存的算法来生成外部事件。
图7是框图,示出了行为计划单元200的功能结构。行为计划单元200具有外部事件获取单元201、目标创建单元202、目标类别确定单元204、优先级确定单元206、目标数据库(DB)210、计划创建单元220、计划DB控制单元222以及计划DB 230。
外部事件获取单元201从外部世界监控单元100获取外部事件。目标创建单元202基于由外部事件获取单元201获取的外部事件,同时参照由知识DB 400保存的信息,来创建目标。
例如,当外部事件获取单元201获取语音识别结果“给我拿来报纸”作为外部事件时,目标创建单元202生成目标“拿报纸来”。同样,当通过所述语音识别获取预设的关键字时,目标创建单元202基于所述关键字创建目标。
用于通过从语音识别结果获取的关键字来创建目标的规则,即,目标生成信息,被保存在知识DB 400中。具体地,知识DB 400保存了将关键字对应于目标类别的目标创建表。目标创建单元202,从被保存在知识DB400的目标创建表中,提取对应于所述关键字的目标,作为对应于外部事件的目标。
图8是示图,示出了目标创建表的数据结构。在所述目标创建表中,语音识别结果的外部事件“给我拿来报纸”对应于目标“拿报纸来”。于是,目标创建单元202通过参照所述目标创建表,从语音识别结果的外部事件“给我拿来报纸”,创建目标“拿报纸来”。
同样,当外部事件基于图像处理结果时,对应于图像处理结果生成目标。例如,当获取面部图像检测的信息作为外部事件时,参照图8中所示的目标创建表生成目标“问候”。
当发生来自冰箱的网络事件并且该冰箱的门已经打开了两分钟或更久时,参照图8所示的目标创建表生成目标“提醒关门”。
当指示特定食物的保质期限正在接近的网络设备状况信息被获取为外部事件时,生成目标“提醒正接近保质期”。关于诸如空调、灯等等的其他网络家电,也可以基于所述网络设备状况信息的外部事件来生成目标。
作为另一个例子,目标创建单元202可以基于多个外部事件创建一个目标。目标创建单元202可以基于一个外部事件生成多个目标。
在此,作为另一个例子,知识DB 400可以保存替代所述目标创建表的从关键字创建目标的算法。在这种情形下,目标创建单元202基于所述算法从所述关键字确定目标。
知识DB 400可以被称为目标信息生成信息保存单元。同样,根据本实施例的用于从所述关键字生成目标的所述算法是,换句话说,目标生成信息。
目标类别确定单元204基于通过外部事件获取单元201获取的所述事件确定由目标创建单元202生成的目标的目标类别。在此,目标类别可以是普通目标类别或附条件目标类别。
所述普通目标类别是这样的目标类别,其目标由依照通过外部事件获取单元201获取的次序来执行的处理所实现。所述普通目标的例子有“寻找奶奶”和“给我拿来报纸”。
所述附条件目标类别是这样的目标类别,其目标由这样的处理所实现,即不管由外部事件获取单元201获取的次序,只有当满足预设的执行条件时才执行所述处理。目标类别确定单元204进一步确定关于所述附条件目标的执行条件。
应当由移动式机器人执行的处理可能是具有不同紧急程度的处理。例如,如果在通常的处理期间一个处理是可执行的,它可能不是需要立即注意而优选地执行的处理。作为另一个例子,一个处理可以是,如果特定的条件,例如在3点执行所述处理,被满足则执行的处理,由于执行该处理将停止和中断任何其他正在执行的处理。这些处理可以被视为附条件目标。
附条件目标可以是当诸如“当遇见人时进行问候”和“如果发现任何发光的物体,则拾起来”的一般性事件发生时为可执行的这样的目标。同样,附条件目标也可以是当诸如“在三点提供点心”和“每一小时告诉我时间”这样的时间性事件或周期性事件发生时为可执行的这样的目标。所述附条件目标是在某种事件发生的条件下可执行的目标。
当检测到作为外部事件以及语音识别结果的指示“普通目标”的关键字时,目标类别确定单元204确定目标的目标类别为关于所述外部事件的“普通目标”。当在语音识别结果中包括诸如“在…情况下”的关键字时,可以确定所述目标类别应当为“附条件目标”。同样,当目标类别确定单元204获取某些预设的关键字时,基于所述关键字确定目标类别。
同样,用于从由语音识别结果获取的关键字确定目标类别的规则被保存在知识DB 400中。具体地,知识DB 400保存了将所述关键字对应于所述目标类别的目标类别生成表。
图9是示图,示出了所述目标类别生成表的数据结构的例子。在所述目标类别生成表中,“普通目标”的语音信息对应于所述目标类别,即“普通目标”。因此,目标类别确定单元204通过参照所述目标类别生成表从“普通目标”的语音信息来确定所述目标类别为“普通目标”。
除了以上描述的,诸如“在…情况下”的关键字对应于“附条件目标”。因此,即使目标类别确定单元204不能直接获取作为语音信息的目标类别,可以基于所述关键字确定目标类别。
此外,可以基于在诸如“在…情况下”的关键字之前的语音信息指定所述执行条件。具体地,例如,当“在任何地方找到报纸的情况下”的语音识别结果被获取为外部事件时,将所述目标类别指定为“附条件目标”并且将所述执行条件设置为“如果机器人找到报纸”。
同样,当语音识别结果,“在任何地方找到报纸的情况下,给我拿来报纸”被获取为外部事件时,所述目标类别被确定为“附条件目标”并且所述执行条件被确定为“如果机器人找到报纸”。
同样,作为另一个例子,知识DB 400可以保存从所述关键字指定目标类别的算法。这时,目标类别确定单元204基于所述算法从所述关键字指定目标类别。
在此,可以将知识DB 400称为目标类别生成信息保存单元。同样,根据本实施例的从关键字指定目标类别的算法是,换句话说,目标类别生成信息。
优先级确定单元206基于由外部事件获取单元201获取的所述事件来确定由目标创建单元202创建的目标的优先级。在此,优先级是在相对于目标创建的计划的执行次序中优先选择的索引,而不论所述计划的生成次序。设置的优先级越高,越早将所述计划放入执行次序中。
优先级确定单元206,例如,当检测到关键字“高优先级”作为所述语音识别结果时,确定所述优先级为“高”。此外,如果诸如“急速”或“匆促”的关键字作为语音识别结果时,所述优先级被设置为“高”。例如,当语音识别结果“立即给我拿来报纸”被获取为语音识别结果的外部事件时,所述优先级被设置为“高”。
这样,当从所述语音识别获取预设的关键字时,优先级确定单元206基于所述关键字确定优先级。此外,用于从通过语音识别结果获取的关键字指定优先级的规则被保存在知识DB 400中。具体地,知识DB 400保存了将所述关键字对应于所述优先级的表。
同样,作为另一个例子,例如,当重复地检测到语音识别结果“给我拿来报纸”时,所述优先级可以被认为是高的并且可以被确定为“高”。此外,当不能获取到关于所述优先级的信息时,能够将所述优先级设置为缺省值,“中”。
作为另一个例子,知识DB保存了从所述关键字指定所述优先级的算法。这样,优先级确定单元206参考知识DB 400的信息并确定由目标创建单元202创建的目标的优先级。
在此,知识DB 400可以被称为优先级确定信息保存单元。而且,根据本实施例的从关键字指定优先级的算法是,换句话说,优先级确定信息。
于是,例如,当语音识别结果“立即给我拿来报纸”被获取为外部事件时,目标创建单元202生成目标“拿报纸来”。然后,目标类别确定单元204确定所生成目标的目标类别为“普通目标”。优先级确定单元206将所述目标的优先级设置为“高”。
同样,如果语音识别结果“如果你在任何地方看见报纸,将其拿过来”被获取为所述外部事件时,目标创建单元202生成目标“拿报纸来”。然后,目标类别确定单元204确定所生成目标的目标类别为“附条件目标”,并指定执行条件“看见报纸”。而且,优先级确定单元206确定目标的优先级为缺省值“中”。
同样,作为所述网络设备状况信息被获取为所述外部事件的情况的例子,指示冰箱的门已经被打开了两分钟或更久的外部事件被获取。此外,指示冰箱的门已经被打开了两分钟或更久的外部事件,对应于所述目标的“高”优先级以及所述目标。在这种情形下,目标创建单元202创建目标“提醒关门”。然后,目标类别确定单元204确定所生成目标的目标类别为“普通目标”。优先级确定单元206确定所述目标的优先级为“高”。
同样,对于指示冰箱中的食物的“保质期限”正在接近的外部事件,目标创建单元202创建目标“提醒正接近食物的保质期”。然后,目标类别确定单元204确定所生成目标的目标类别为“普通目标”。优先级确定单元206确定所述目标的优先级为“中”。目标DB 210保存了由目标创建单元202创建的目标,由目标类别确定单元204确定的目标类别以及由优先级确定单元206确定的优先级。
计划创建单元220从通过目标DB 210保存的所述普通目标和通过目标DB 210保存的所述附条件目标的每一个创建计划。从所述普通目标生成的计划在下文中被称为普通计划。同样,从所述附条件目标生成的计划在下文中被称为附条件计划。计划DB控制单元222将由计划创建单元220创建的所述普通计划和所述附条件计划保存在计划DB 230中并控制其执行次序。在此,计划DB控制单元222可以被称为执行次序确定单元。
计划DB 230具有执行计划队列232、附条件计划缓冲区234以及中断计划缓冲区236。执行计划队列232以计划执行单元300的执行次序保存由计划创建单元220创建的执行计划和附条件计划。也就是,根据由执行计划队列232保存的次序,以该次序执行多个计划。附条件计划缓冲区234保存由计划创建单元220创建的所述附条件计划。中断缓冲区236保存在所述计划执行期间中断的计划。
图10是示图,示出了执行计划队列232的数据结构的例子。图7中所示的执行计划队列232以执行次序号1、执行次序号2以及执行次序号3的次序分别存储了所述计划,即,“拿报纸来”,“寻找奶奶”以及“和小孩玩耍”。于是,以这个次序执行所述计划。
图11是示图,示出了附条件计划缓冲区234的数据结构的例子。附条件计划缓冲区234可以保存一个附条件计划或两个或更多的附条件计划。
图12是流程图,示出了由移动式机器人1处理的动作计划。移动式机器人1的外部世界监控单元100不断地监控语音指令,诸如图像的传感器输入,从网络家电输入的事件(步骤S100)。然后,如果获取了预设的外界监控结果(在步骤S102为是),则外部世界监控单元100的外部事件生成单元130基于所述外界监控结果生成所述外部事件。
具体地,检查是否通过所述传感器输入检测到语音。如果检测到所述语音,检查是否存在登记过的语音信息。然后,检查是否存在诸如面部图像的预先登记的图像。然后,检查是否存在与所述网络有关的所述网络设备事件信息。
当获取到所述登记的语音信息、所述登记的图像以及所述登记的事件信息时,外部事件生成单元130生成相应的外部事件。当没有获取到登记的外界监控结果时(在步骤S102为否),外部世界监控单元100不断地对外界进行监控(步骤S100)。
接下来,行为计划单元200基于由外部世界监控单元100生成的所述外部事件创建所述普通目标或所述附条件目标(步骤S106)。然后,为了实现所生成的目标而创建所述计划(步骤S108)。
当所创建的计划的所述计划类别为普通计划时(在步骤S110为是),计划DB控制单元222确定所述普通计划的执行次序并存储在计划DB 230的执行计划队列232中。这时,在执行计划队列232中,它被以对应于在所述执行次序中的位置的次序进行存储(步骤S120)。接下来,计划执行单元300从执行计划队列232的顶部以所存储的计划的次序执行所述计划(步骤S130)。
当在步骤S110所述创建的计划的类别为附条件的时(在步骤S110为否),计划DB控制单元222将这个附条件计划存储在计划DB 230的中断计划缓冲区236中。然后,当满足所述附条件计划的执行条件时,所述附条件计划将被存储在将被执行的执行计划队列232的预定位置中(步骤S140)。然后,以从存储在执行计划队列232的顶部的计划开始的次序执行所述计划(步骤S130)。然后,完成了移动式机器人1的行为计划处理。
图13是流程图,示出了在图12中说明的目标创建处理(步骤S106)的详细处理。行为计划单元200的外部事件获取单元201从外部事件监控单元100获取所述外部事件(步骤S200)。接下来,目标创建单元202创建对应于所述外部事件的目标(步骤S202)。进一步地,目标类别确定单元204确定所创建目标的目标类别(步骤S204)。此外,优先级确定单元206确定所创建的目标的优先级(步骤S206)。然后,将所创建的目标、所述目标类别以及所述优先级互相对应地存储在目标DB 210中(步骤S208)。
图14是流程图,示出了在图12中所说明的普通计划执行次序确定处理(步骤S120)的详细处理。首先,计划DB控制单元222将计数器值“i”设置为1(步骤S400)。即,复位所述计数器。接下来,如果在执行次序“i”的位置存储有执行计划队列232的计划(在步骤S402为是),将新创建计划的优先级与以执行次序“i”存储的所述计划的优先级进行比较。因为“i”被设置为1,具体地,将以执行次序1存储的计划的优先级与新创建的普通计划的优先级进行比较。
如果所述新创建的普通计划的优先级高于以执行次序“i”存储的计划的优先级,并且计数器值“i”为一(1)(在步骤S404和步骤S406为是),中断以执行次序1存储的计划的执行,并且将所述中断的计划存储在中断缓冲区236中(步骤S410)。
此外,将以执行次序“n”存储的计划以执行次序“n+1”分别进行存储(步骤S412)。此外,将所述新创建的普通计划以执行次序1存储(步骤S414)。这样,如果所述新创建的计划是将先于当前正在执行的计划被执行的计划,则暂时中断所述正在执行的计划并且将所述新创建的计划存储为执行计划队列232的顶部,即,执行次序1。
另一方面,如果计数器值“i”为一(1)或更大(在步骤S406为否),则将以位于执行次序“i”之后的各个执行次序“n”存储的所述计划分别地以执行次序(n+1)存储(步骤S420)。此外,将所述新创建的普通计划以执行次序“i”存储(步骤S422)。
同样,在步骤S404中,如果所述新创建的普通计划的优先级低于以执行次序“i”存储的所述计划的优先级(在步骤S404为否),将所述值“i”加1(步骤S408)并返回到步骤S402。
在步骤S402中,如果没有计划被以执行次序“i”存储(在步骤S402为否),则将所述新创建的普通计划存储在执行计划队列232的末尾(步骤S430)。在此,完成了所述普通计划执行次序确定处理(步骤S120)。
图15A、15B和15C是示图,更详细地说明了在新创建的普通计划的优先级高于当前正在执行的计划的优先级时的普通计划执行次序确定处理。如图15A中所示,以执行次序1存储的所述计划,“寻找奶奶”的优先级为中,而新创建的普通计划,“去看看入口门是否开着”的优先级为高。
以执行次序1存储的所述计划包括多个动作(动作1到动作4),其中动作1包括“在房间A中寻找奶奶”,动作2包括“在房间B中寻找奶奶”,动作3包括“在房间C中寻找奶奶”,以及动作4包括“在房间D中寻找奶奶”。
在这些动作中,假定在执行动作2“在房间B中寻找奶奶”时加入新创建的普通计划。在这种情况下,所述执行次序1的计划,“寻找奶奶”被中断。然后,如图15B中所示,将应当在正被执行的动作2“在房间B中寻找奶奶”之后执行的这些动作,即,动作2到动作4保存在中断计划缓冲区236中。
同样,如图15C中所示,将所述新创建的普通计划存储为执行计划队列232的执行次序1。将所述计划,“寻找奶奶”以执行次序2存储。然后,当执行将被以执行次序2存储的所述计划,即一度中断的计划时,存储在中断计划缓冲区236中的动作2到动作4被执行。
图16A和16B是示图,其说明了在新近创建普通计划时的处理。图16A是用于说明在新近创建普通计划时的处理的一个示图。如图16A中所示,假定新近创建了具有中优先级的普通计划。还假定在执行计划队列232的执行次序1到3存储有计划。
这时,将所述新创建的普通计划的优先级与依次以执行次序1到3存储的所述计划的优先级进行比较。所述新创建的普通计划的优先级高于以执行次序3存储的计划的优先级,并因此被存储在执行次序3之前。于是,如图16B中所示,所述新创建的普通计划被以执行次序3存储。然后,当存储所述新创建的计划时已经以执行次序3存储的计划将被以执行次序4存储。
图17A和17B是示图,说明了当中断正在执行的计划而执行新创建的普通计划时的处理。如图17A中所示,假定创建了具有中优先级的普通计划。还假定如图17A中所示,以执行计划队列232的执行次序1存储了具有低优先级的计划。
在这种情形下,所述新创建的普通计划的优先级高于以执行次序1存储的所述计划的优先级。因此,中断以执行次序1存储的所述计划,并且将所述中断的计划存储在临时中断计划缓冲区236中。然后,将所述新创建的普通计划以执行次序1存储。
此外,将所述中断的计划以执行次序2存储,以便接下来执行所述新创建的普通计划。同样,如图17B中所示,将新创建的普通计划以执行次序1存储。
图18是流程图,示出了在图12中说明的附条件计划存储处理(步骤S140)的详细处理。在所述附条件计划存储处理中,计划DB控制单元222将所述新创建的附条件计划存储在附条件计划缓冲区234中(步骤S440)。
接下来,计划DB控制单元222确定是否满足存储在附条件计划缓冲区234中的所述附条件计划的执行条件。当满足所述执行条件时(在步骤S442为是),将这个附条件计划存储在执行计划队列232中的满足所述执行条件的执行次序的位置(步骤S444)。于是,完成了所述附条件计划存储处理(步骤S140)。
图19A和19B是示图,说明了在存储于附条件计划缓冲区234的所述附条件计划的执行条件被满足时的处理。如图19A中所示,当在执行计划队列232存储有三个计划时,假定时间是3点。这时,在存储于附条件计划缓冲区234的所述附条件计划中,附条件计划“拿点心来”的执行条件被满足。在此,计划DB控制单元222将所述附条件计划存储在执行计划队列232。
因为附条件计划“拿点心来”的优先级为低,如图19B中所示,将所述附条件计划存储在已经存储于执行计划队列232的具有低优先级的计划“与孩子玩耍”的下一个位置,即,执行次序4。
图20A和20B是示图,说明了当在已经存储于执行计划队列232的计划之前执行存储在附条件计划缓冲区234中的附条件计划时的处理。如图20A中所示,假定当在执行计划队列232存储有三个计划时遇见人。在这种情形下,存储于附条件计划缓冲区234的所述附条件计划中的附条件计划“问候”的执行条件被满足。在此,计划DB控制单元222将这个附条件计划存储于执行计划队列232。
所述附条件计划“问候”的优先级为高,并且高于以执行计划队列232的执行次序1存储的计划的优先级。因此,如图20B中所示,将所述附条件计划以执行计划队列232的执行次序1存储。然后,在所述附条件计划的存储之前,将以执行次序“n”存储的计划分别以执行次序(n+1)存储。
图21是示图,示出了根据第一实施例的移动式机器人1的硬件结构。移动式机器人1,作为它的硬件结构,包括用于存储诸如在移动式机器人1中执行行为计划处理的行为计划程序的ROM 52;用于根据ROM 52中的程序控制移动式机器人1各个单元的CPU 51;用于记录控制外部世界监控单元100所必须的各种数据的RAM 53;与所述网络连接以进行通信的通信I/F 57;以及连接各单元的总线62。
可以在诸如CD-ROM、软盘(FD)以及DVD的可读记录介质中以可安装格式或可执行格式的文件的形式记录和提供上述的移动式机器人1的行为计划程序。
这时,可以通过从上述的移动式机器人1中的记录介质读取所述行为计划程序来将其载入主存储器单元,并且在所述主存储器单元上生成在以上软件结构中说明的各个单元。
同样,可以将本实施例的行为计划程序存储在连接到诸如因特网的网络的计算机中,并且可以通过从所述网络下载来提供。
以上说明了本发明的实施例,但可以对上述实施例补充各种变型和变化。
图22是说明了第一变型的示图。移动式机器人1的行为计划单元200的实施例的第一变型可以进一步包括许可/拒绝信息生成单元(未示出)。所述许可/拒绝信息生成单元生成,是否基于关于所述附条件计划的所述执行条件确定所述执行次序的许可/拒绝信息。
如图22中所示,除所述优先级之外,进一步提供了指示许可/拒绝所述执行次序的确定的许可/拒绝信息。在此,当遵守/满足所述附条件计划的所述执行条件时,所述许可/拒绝信息具有必须确定所述预定的执行次序的信息,即,指示所述执行是必要的这样的信息。同样,存在即使所述附条件计划的所述执行条件被满足所述执行次序也不必被决定的信息,即,执行不必进行的信息。
具体地,具有指示不允许所述中断/停止的许可/拒绝信息的附条件计划,类似于上述实施例,当满足所述执行条件时,被以正常的执行次序存储。然后,根据所述执行次序依次执行。
另一方面,具有指示允许所述停止的许可/拒绝信息的附条件计划,当被以除了执行次序1之外的次序存储时,可以被从正在执行的计划队列中停止。例如,当满足所述条件时,将用于允许停止的所述许可/拒绝信息分配给所述附条件计划,用于指示,如果立即执行是优选的但所述立即执行是不可能的,则宁可不执行。
例如,假定如图22中所示附条件计划“问候”的执行条件“如果遇到人”被满足。在此,在此实施例中,以执行次序1存储的计划“拿报纸来”的优先级为高,并因此将附条件计划“问候”存储在计划“拿报纸来”的下一位置,即,执行次序2。然而,在拿来报纸之后再问候太迟了,因此不适合在那种情形下问候。
在那种情形下,将关于所述停止许可的所述许可/拒绝信息提供给附条件计划“问候”。这样,当分配在计划“拿报纸来”之后的执行次序时,附条件计划“问候”不被列入所述执行计划队列。
于是,通过分配用于指示对停止列入到关于所述附条件计划的所述执行计划队列的许可/拒绝的所述许可/拒绝信息,能够在更适当的时机执行所述附条件计划。
同样,所述许可/拒绝信息生成单元基于在所述执行条件中包含的关键字生成所述许可/拒绝信息。例如,当检测到诸如“如果过了…点”和“如果变成…”的关键字时,生成指示拒绝所述停止的许可/拒绝信息。同样,在另一种情形下,生成指示允许所述停止的许可/拒绝信息。具体地,知识DB 400进一步具有将所述关键字对应于所述许可/拒绝信息的许可/拒绝信息生成表,并且所述许可/拒绝信息生成单元通过利用所述许可/拒绝信息生成表来生成许可/拒绝信息。
同样,作为另一个例子,知识DB 400可以保存用于从所述关键字创建所述许可/拒绝信息的算法,来替代所述许可/拒绝信息生成表。在这种情况下,目标创建单元202基于所述算法从所述关键字确定所述目标。
在此,知识DB 400可以被称为许可/拒绝信息生成信息保存单元。同样,用于从所述关键字生成所述许可/拒绝信息的算法是,换句话说,许可/拒绝信息生成信息。
图23A和23B是说明了第二变型的示图。在这个例子中,存储于执行计划队列232的所述计划的优先级,随着存储于执行计划队列232的时间的经过,而变得更高。
例如,如图23A中所示,假定具有低优先级的计划“与孩子玩耍”被存储于执行计划队列232。这时,如果在“与孩子玩耍”之后存储于执行计划队列232的计划的优先级为中优先级或更高,于是,所述计划,“与孩子玩耍”不能被执行。
为了解决这个问题,当计划DB控制单元222经过预设时间时,所述优先级的值被改为更高的值。具体地,对于每一个计划,在将所述计划列入执行计划队列232时引入用于指示所述时间的时间信息。然后,当所述事件经过预设时间时,所述优先级被改为更高的值。例如,将具有低优先级的计划改为具有中优先级。将具有中优先级的计划改为具有高优先级。此外,对于具有高优先级的计划不再改变其优先级。
这样,通过随着存储于执行计划队列232的时间的经过使所述优先级变得更高,能够在适当的时机执行具有低优先级的计划。
例如,如图23A中所示的以执行次序3存储的具有低优先级的计划,随着时间的经过,如图23B所示其优先级被改为中优先级。同样,如图23A中所示的以执行次序1存储的具有中优先级的计划,随着时间的经过,如图23B所示其优先级被改为高优先级。在此,可以将计划DB控制单元222划分为已经过时间计算单元和优先级调整单元。
此外,作为第三变型,在此实施例中在从各个目标创建计划之后,决定每个计划的执行次序;然而,作为替代方案,也可以首先确定每个目标的执行次序。在这种情况下,在确定了所述执行次序之后,以所述执行次序排列对应于所述目标序列的所述计划。
本领域技术人员将容易地想到额外的优点和变型。因此,本发明在其广义方面不限于在这里示出和描述的具体细节和代表性实施例。因此,无需背离由所附权利要求及其等同内容所定义的一般性发明概念的精神或范围,可以进行各种变型。
权利要求
1.一种行为控制装置,包括外部状况获取单元,其被配置以获取移动式机器人的外部状况;目标生成单元,其被配置以基于所述外部状况生成通过执行所述移动式机器人的多功能的计划来实现的目标;目标类别生成单元,其被配置以生成目标类别,该目标类别指示所述目标是否是将以所述目标的生成次序来实现的普通目标,还是将通过满足预设的执行条件时的中断来实现的附条件目标;执行次序确定单元,其被配置以基于所述目标类别来确定所述计划的执行次序;以及计划生成单元,其被配置以生成用于实现所述执行次序的目标序列的计划。
2.根据权利要求1的行为控制装置,其中,当满足所述附条件目标的所述条件时,所述执行次序确定单元重新确定在满足所述条件之后的所述附条件目标和所述普通目标的执行次序。
3.根据权利要求1的行为控制装置,进一步包括目标创建信息保存单元,其被配置以保存将被用于从所述外部状况生成所述目标的目标创建信息。
4.根据权利要求1的行为控制装置,进一步包括语音识别单元,其被配置以进行外部语音的语音识别,其中,所述外部状况获取单元获取由所述语音识别单元识别的结果作为所述外部状况,以及所述目标生成单元基于由所述外部状况获取单元获取的所述识别结果,生成所述目标。
5.根据权利要求1的行为控制装置,进一步包括图像检测单元,被配置以检测周围的图像,其中,所述外部状况获取单元获取所述图像作为所述外部状况,以及所述目标生成单元基于由所述外部状况获取单元获取的所述图像,生成所述目标。
6.根据权利要求1的行为控制装置,其中,所述外部状况获取单元经由网络获取用于指示连接到所述网络的其他设备的状况的网络设备状况信息,以及所述目标生成单元基于所述网络设备状况信息,生成所述目标。
7.根据权利要求1的行为控制装置,其中,所述目标类别生成单元基于所述外部状况生成所述目标类别。
8.根据权利要求7的行为控制装置,进一步包括目标类别生成信息保存单元,其被配置以保存将被用于从所述外部状况生成所述目标类别的目标类别生成信息,其中,所述目标类别生成单元利用所述目标类别生成信息生成所述目标类别。
9.根据权利要求1的行为控制装置,其中,所述执行次序确定单元,基于所述普通目标的生成次序,确定为所述普通目标生成的计划的执行次序。
10.根据权利要求1的行为控制装置,其中,所述执行次序确定单元,基于所述附条件目标的所述执行条件,确定为所述附条件目标生成的计划的执行次序。
11.根据权利要求10的行为控制装置,其中,所述附条件计划的所述执行条件是关于所述外部状况的条件。
12.根据权利要求10的行为控制装置,进一步包括执行条件生成单元,其被配置为,当由所述目标生成单元生成的目标是所述附条件目标时,基于所述外部状况生成所述附条件目标的所述执行条件,其中,所述执行次序确定单元基于所述执行条件确定为所述附条件目标生成的计划的执行次序。
13.根据权利要求1的行为控制装置,进一步包括优先级确定单元,其被配置以确定执行由所述目标生成单元生成的所述目标的优先级,其中,所述执行次序确定单元确定所述执行次序,从而以所述优先级的次序实现所述目标。
14.根据权利要求13的行为控制装置,进一步包括优先级确定信息保存单元,其被配置以保存当利用所述外部状况确定所述优先级时使用的优先级确定信息,其中,所述优先级确定单元利用所述优先级确定信息确定所述优先级。
15.根据权利要求13的行为控制装置,其中,所述执行次序确定单元确定所述执行次序,从而使得,当满足所述附条件目标的所述执行条件并且所述附条件目标的优先级高于在所述附条件目标之前生成的普通目标的优先级时,在为先于所述附条件目标生成的所述普通目标生成的计划之前执行为所述附条件目标生成的计划。
16.根据权利要求13的行为控制装置,进一步包括许可/拒绝信息生成单元,其被配置以生成许可/拒绝信息,所述信息用于指示许可或拒绝不确定为所述附条件目标生成的所述计划的执行次序,其中,所述执行次序确定单元,当所述许可/拒绝信息生成单元生成用于指示允许不确定为所述附条件目标生成的所述计划的所述执行次序的许可/拒绝信息时,基于所述执行条件,确定为所述附条件目标生成的所述计划的在为所述目标生成的所述计划执行之后的执行次序,并且不执行为所述附条件目标生成的所述计划。
17.根据权利要求16的行为控制装置,其中,所述许可/拒绝信息生成单元基于所述执行条件生成所述许可/拒绝信息。
18.根据权利要求16的行为控制装置,进一步包括许可/拒绝信息生成信息保存单元,其被配置以保存将在从所述执行条件生成所述许可/拒绝信息时使用的许可/拒绝信息生成信息,以及所述许可/拒绝信息生成单元基于所述许可/拒绝信息生成信息,生成所述许可/拒绝信息。
19.根据权利要求13的行为控制装置,进一步包括已经过时间计算单元,其被配置以计算从所述执行次序确定单元为所述计划确定所述执行次序的定时经过的时间,以及优先级调整单元,其被配置以当所述已经过时间计算单元计时达到预设时间时,使得为所述计划确定的优先级更高,其中,所述执行次序确定单元基于所述改变的优先级更新所述计划的执行次序。
20.一种行为控制方法,包括以下步骤获取移动式机器人的外部状况;基于所述外部状况,生成将通过执行所述移动式机器人的多功能的计划来实现的目标;生成目标类别,该目标类别指示所述目标是将以所述目标的生成次序来实现的普通目标,还是将通过满足预设的执行条件时的中断来实现的附条件目标;生成所述计划,该计划用于实现所述执行次序的目标序列;以及基于所述目标类别确定所述计划的执行次序。
全文摘要
一种行为控制装置,包括外部状况获取单元,其被配置以获取移动式机器人的外部状况;目标生成单元,其被配置以基于所述外部状况生成通过执行所述移动式机器人的多功能的计划来实现的目标;目标类别生成单元,其被配置以生成目标类别,该目标类别指示所述目标是将以所述目标的生成次序来实现的普通目标,还是将通过满足预设的执行条件时的中断来实现的附条件目标;执行次序确定单元,其被配置以基于所述目标类别来确定所述计划的执行次序;以及计划生成单元,其被配置以生成用于实现所述执行次序的目标序列的计划。
文档编号B25J5/00GK1911606SQ20061011540
公开日2007年2月14日 申请日期2006年8月8日 优先权日2005年8月10日
发明者尾崎文夫, 长谷川哲夫, 林久志, 十仓征司, 铃木康彦 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1