机器人设备和机器人设备动作控制方法

文档序号:6280403阅读:369来源:国知局
专利名称:机器人设备和机器人设备动作控制方法
技术领域
本发明涉及一种机器人设备和用于控制其动作的方法,特别涉及一种具有多个动作装置的机器人设备和用于控制其动作的方法。
背景技术
最近几年,外表像动物如狗的机器人设备在市场上出现。该机器人设备象动物一样行动,响应外界信息或它自己的内部状态,如它的情感状态。
同时,在这种类型的机器人设备中,可以相互独立地使能它的动作部件。因此,如果同时使能多个动作部件,则需要对机器人设备进行同步控制。例如,在特定机器人设备中,当通过控制各个关节来逐渐改变机器人设备的姿态时,可以同时执行由多个LED形成的眼睛运动和通过例如扬声器的语音输出。在这种情况下,必须同步控制各个动作部件。
在这种对各个动作部件的同步控制中,必须从开始同步动作的时刻设置同步,同时在动作期间必须继续设置同步。
原因是如果控制同步陷于混乱,各个动作部件的动作将不相关地出现而缺乏协调性。

发明内容
本发明是鉴于相关技术的上述现状而提出的,并且它的目的是提供一种其中可以准确有效地同步多个动作部件的机器人设备和用于控制这种机器人设备的方法。
为实现上述目的,本发明提供一种机器人设备,包括用于执行动作的多个动作装置和用于控制多个动作装置的动作的控制装置。控制装置使多个动作装置紧接在由动作装置执行的前一动作之后相互同步地执行动作。
该机器人设备紧接在完成前面动作之后无延时地执行同步动作。
为实现上述目的,本发明还提供一种用于机器人设备的动作控制方法,其中,作为在时间上紧接在由动作装置执行的前一动作之后的动作,执行多个动作装置的同步动作。
通过机器人设备的该动作控制方法,机器人设备能够紧接在完成前面动作之后无延时地执行同步动作。
为实现上述目的,本发明还提供一种机器人设备,包括用于执行动作的多个动作执行装置和用于控制动作执行装置的多个动作控制装置,其中,机器人设备进一步包括命令控制装置,用于输出与用于使机器人设备执行预设动作的动作执行命令相关的多个同步命令;和命令传输控制装置,用于控制由命令控制装置输出的同步命令,以将同步命令发送到多个动作控制装置。命令控制装置向多个同步命令中的每个提供一个至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数的标号,以输出同步命令。命令传输控制装置根据这些ID和总数同步发送多个同步命令。
该机器人设备紧接在完成前面动作之后无延时地执行同步动作。
为实现上述目的,本发明还提供一种用于控制机器人设备的动作的方法,该机器人设备包括用于执行动作的多个动作执行装置和用于控制多个动作执行装置的多个动作控制装置,其中,该方法包括如下步骤命令控制装置向与使机器人设备执行预设动作的动作执行命令相关的多个同步命令中的每个提供标号,来至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数。由命令传输控制装置控制由命令控制装置输出的同步命令,以根据这些ID和总数使多个同步命令得以同步,从而将同步命令发送到多个动作控制装置。
通过机器人设备的该动作控制方法,机器人设备紧接在完成前面动作之后无延时地执行同步动作。
为实现上述目的,本发明还提供一种机器人设备,包括用于执行动作的多个动作执行装置和用于控制多个动作执行装置的动作的多个动作控制装置,其中,机器人设备进一步包括命令控制装置,用于输出与用于执行机器人设备预设动作的动作执行命令相关的多个同步命令;多个总线,在其上传输动作执行命令;为每个总线进行提供的多个命令传输控制装置,用于控制由命令控制装置输出的同步命令,并且将同步命令传输到多个动作控制装置;和共有存储器,可以由多个命令传输控制装置进行访问。命令控制装置向多个同步命令中的每个提供标号,来至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数,并且输出同步命令。命令传输控制装置使这些ID和总数存储在共有存储器中,并且参考共有存储器来同步多个同步命令,以通过总线将经过同步的同步命令发送到动作控制装置。
该机器人设备紧接在完成前面动作之后无延时地执行同步动作。
为实现上述目的,本发明还提供一种用于控制机器人设备的动作的方法,该机器人设备包括用于执行动作的多个动作执行装置和用于控制多个动作执行装置的动作的多个动作控制装置,其中,该方法包括如下步骤命令控制装置向与使机器人设备执行预设动作的动作执行命令相关的多个同步命令中的每个提供标号,来至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数。在用于传输命令的多个总线中的每个总线上,提供有命令传输控制装置,用于控制由命令控制装置输出的同步命令,以使ID和总数存储在共有存储器中。命令传输控制装置参考共有存储器来同步可以由多个命令传输控制装置进行访问的同步命令,以通过总线将同步命令传输到多个命令传输控制装置。
通过机器人设备的该动作控制方法,机器人设备紧接在完成前面动作之后无延时地执行同步动作。
通过阅读如附图所示的本发明实施例,本发明的其它目的、特性和优点将会变得更加清楚。


图1是示出实施本发明的机器人设备外貌的透视图;图2是示出机器人设备电路结构的方框图;图3是示出机器人设备软件结构的方框图;图4是示出机器人设备软件结构中的应用层的方框图;图5是示出机器人设备软件结构中的应用层结构的方框图;图6是示出应用层行为模型库的结构的方框图;图7示出作为机器人设备行为决策信息的有限概率自动机;图8示出为有限概率自动机的每个节点提供的状态变换表;图9A和9B是示出初始动作和同步动作的示意图;图10是示出实施本发明的机器人设备基本部分结构的方框图;图11是示出命令控制器和数据库之间关系的方框图;图12A和12B是示出发光命令迟于运动同步命令的情况的示意图;
图13A和13B是示出由以一组数据的形式的同步数据引起同步动作的情况的示意图;图14是示出数据总线被锁定情况的示意图;图15是示出数据总线被锁定的另一情况的示意图;图16是示出在本发明的应用中所允许的处理的示意图;图17是示出实施本发明的机器人设备基本部分具体结构的方框图;图18是示出作为机器人设备基本部分组成单元的命令传输器结构的示意图;图19是示出作为机器人设备基本部分组成单元的存储器结构的概略图;图20是示出上述部分中处理序列的流程图;图21是示出在本发明的应用中所允许的具体处理的概略图;图22是示出通过传输完成信号开始从命令控制器输出同步命令的情况的示意图;图23是示出在通过传输完成信号开始从命令控制器输出同步命令的情况下通过数据总线从命令传输器发送数据的时刻的示意图;图24示出通过发出传输使能状态指示信号开始从命令控制器输出同步命令的情况;图25是一个方框图,示出实施本发明的机器人设备基本部分的特定结构,并且特定示出其中命令传输器和各个控制器通过独立数据总线分别进行相互连接的结构;图26示出作为机器人设备基本部分组成单元的命令传输器结构;图27是示出作为机器人设备基本部分组成单元的存储器结构的概略图;图28是示出图25的结构中处理顺序的流程图。
具体实施例方式
将参照附图对本发明的优选实施例进行详细说明。该实施例面向响应周围环境(外因)和内部状态(内因)而自主行动的自主机器人设备。
在本实施例中,首先对机器人设备的结构进行说明,然后对使用机器人设备的日常功能进行详细说明。
(1)本实施例的机器人设备的结构如图1所示,机器人设备就是模拟一个动物如‘狗’的所谓宠物机器人,并且分别由连接在躯干单元2左右边的前后方上的腿部单元3A、3B、3C和3D和连接到躯干单元2前后端的头部单元4和尾部单元5进行构成。
参照图2,躯干单元2包括控制器单元16,由通过内部总线15相互连接在一起的CPU(central processing unit,中央处理单元)10、DRAM(DynamicRandom Access Memory,动态随机存取存储器)11、闪存ROM(read-only memory,只读存储器)12、PC(personal computer,个人计算机)卡接口电路13和信号处理电路14以及用作机器人设备1电源的电池17组成。躯干单元2还安装有用于检测机器人设备1的姿态和运动加速的角速度传感器18和加速传感器19。
在头部单元4上,在适当的位置上安装有用于对外界状况进行摄像的CCD(charge coupled device,电荷耦合器件)摄像机20、用于检测由于用户的物理刺激如“抚摸”或“轻拍”而产生的压力的触摸传感器21、用于测量前方对象距离的距离传感器22、用于采集外部声音的麦克风23、用于输出声音如悲嗥的扬声器24和相当于机器人设备1‘眼睛’的多个LED(lightemitting diode,发光二级管)。
腿部单元3A到3D的关节部分、腿部单元3A到3D与躯干单元2的连接部分、头部单元4与躯干单元2的连接部分和尾部单元5的尾巴5A的连接部分提供有大量对应于自由度数目的调节器251到25n和电位计261到26n。例如,调节器251到25n包括饲服马达。通过驱动饲服马达来控制腿部单元3A到3D,以变换到目标姿态或运动。
传感器,如角速度传感器18、加速传感器19、触摸传感器21、地面接触传感器23R/L、姿态传感器24、距离传感器25、麦克风26、距离传感器22、麦克风23、扬声器24和电位计251到25n通过相关集线器271到27n连接到控制器16的信号处理电路14,而摄像设备20和电池17直接连接到信号处理电路14。
信号处理电路14顺序捕获从上述各个传感器提供的传感器数据、图象数据或语音数据,以使数据通过内部总线15顺序存储在DRAM 11的预设位置中。另外,信号处理电路14顺序捕获表示从电池17提供的剩余电池电量的剩余电池电量数据,以将如此捕获的数据存储在DRAM 11的预设位置中。
随后当CPU 10执行机器人设备1的动作控制时,使用如此存储在DRAM 11中的各个传感器数据、图象数据、语音数据和剩余电池电量数据。
实际上,在机器人设备1的初始加电阶段,CPU 10直接或通过PC卡接口电路13读出插在躯干单元2的PC卡插槽(未示出)中的存储器卡28或存储在闪存ROM 12中的控制程序,以存储在DRAM 11中。
然后CPU 10根据从信号处理电路14顺序存储到DRAM 11的传感器数据、图象数据、语音数据或剩余电池电量数据,检查它自己的状态和周围状态以及可能出现的用户命令或动作。
CPU 10还根据检查结果和存储在DRAM 11中的控制程序,确定下一随后动作,同时根据所确定的结果,在必要时驱动调节器251到25n,以产生行为,如上下或左右摆动头部单元4或移动腿部单元3A到3D进行行走或跳跃。
CPU 10在必要时生成语音数据,并且通过信号处理电路14将所生成的数据作为语音信号发送到扬声器24,以将从语音信号得来的语音输出到外界或打开/关闭或闪烁多个LED。
采用这种方式,本机器人设备1能够自主行动,以响应它自己的状态和周围状态或用户命令或动作。
(2)控制程序的软件结构图3示出机器人设备1中上述控制程序的软件结构。图3中,设备驱动程序层30位于控制程序的最低层,并且形成为由多个设备驱动程序构成的设备驱动程序集31。每个设备驱动程序是一个允许直接访问在常规计算机中使用的硬件如图象拾取设备20(图2)或定时器、并且执行处理以响应相关硬件中断的对象。
机器人服务器对象32由如下部件组成虚拟机器人33;电源管理器34,包括一组负责开关电源的软件项;设备驱动程序管理器35,包括一组监督各种其它设备驱动程序的软件项;和设计机器人36,包括一组监督机器人设备1机构的软件项。虚拟机器人33,位于设备驱动程序层30的最低层,包括一组提供用于访问硬件项(包括上述各种传感器和调节器251到25n))接口的软件项。
管理器对象37由对象管理器38和服务管理器39构成。对象管理器38是一组软件项,用于监督包括在机器人服务器对象32、中间件层40和应用层41中的各个软件项的引导和结束,而服务管理器39是一组软件项,用于根据存储在存储器卡28(图2)中的连接文件所表述的各个对象间的连接信息监督与各个对象的连接。
中间件层40位于机器人服务器对象32的上层,并且由一组提供机器人设备1基本功能,如图象处理或语音处理,的软件项构成。应用层41位于中间件层40的上层,并且是一组用于根据构成中间件层40的软件项的处理结果决定机器人设备1行为的软件项。
图4示出中间件层40和应用层41的特定软件结构。
参照图4,中间件层40,包括识别系统60,具有用于噪声、温度或亮度检测、音阶识别、距离或姿势检测,用于触摸传感器,用于运动检测和用于颜色识别的信号处理模块50到58和输入语义转换器模块59;和输出系统69,具有输出语义转换器模块68和用于姿态管理、跟踪、运动再现、行走、从落下状态恢复、LED发光和用于声音再现的信号处理模块61到67。
识别系统60的信号处理模块50到58从由机器人服务器对象32的虚拟机器人33从DRAM 11(图2)读出的传感器数据、图象数据和语音数据捕获相关数据,以对数据进行处理并且将处理结果发送到输入语义转换器模块59。注意,虚拟机器人33构造为用于根据预设通信协议对信号进行交换或转换的组件。
输入语义转换器模块59识别自己的状态、周围状态、用户命令或动作,如“烦恼”、“热情”、“光”、“检测到一个球”、“检测到下落”、“被抚摸”、“被轻拍”、“听到do-mi-so(多-米-索)音阶”、“检测到一个运动对象”或“检测到一个障碍”,以将识别结果输出到应用层41(图3)。
如图5所示,应用层41由五个模块构成,即行为模型库70、行为开关模块71、学习模块72、情感模型73和本能模型74。
如图6所示,在行为模型库70中,提供有与多个预选条件项,如‘剩余电池电量少’、‘从下落状态恢复’、‘避开一个障碍’、‘表达一个情感’或‘检测到一个球’相关联的各个独立行为模型701到70n。
当从输入语义转换器模块59提供识别结果,或者从提供最后一次识别结果的时间开始超过预设时间时,行为模型701到70n参考由情感模型73保存的情感参数值和由本能模型74保存的相应欲望参数值,决定下一行为,以将决定结果发送到行为开关模块71。
在本实施例中,行为模型701到70n使用称作有限概率自动机的算法作为决定下一行为的技术。该算法根据为相互连接各个节点NODE0到NODEn的弧ARC1到ARCn1设置的变换概率值P1到Pn,从概率上确定从节点NODE0到NODEn中的哪个节点变换到这些节点NODE0到NODEn中的哪个节点。
具体地说,每个行为模型701到70n为每个节点NODE0到NODEn包括图8所示的状态变换表80,形成与这些节点NODE0到NODEn相关联的自己的行为模型701到70n。
在状态变换表80中,作为节点NODE0到NODEn中变换条件的输入事件(识别结果)以优先次序列在‘输入事件名称’列中,并且用于变换条件的进一步条件在‘数据名称’和‘数据范围’列的相关行中进行表述。
因此,在图8的状态变换表80所示的节点NODE100中,识别结果‘检测到球’(BALL)、球大小(SIZE)为‘0-1000’与识别结果一起给出,表示用于变换到另一节点的条件。类似地,识别结果‘检测到一个障碍(OBSTACLE)’、距障碍的距离(DISTANCE)的范围为‘0-100’与识别结果一起给出,表示用于变换到另一节点的条件。
另外,在当前节点NODE100中,如果没有输入任何识别结果,但是周期性地由行为模型701到70n进行参考的参数值中,保存在情感模型73中的各个情感和欲望的参数值中的参数值‘快乐’(JOY)、‘惊奇’(SURPRISE)和‘悲伤’(SADNESS)中的任何一个处于“50至100”之间的范围,也可能变换到另一节点。
而且,在状态变换表80中,可以从节点NODE0到NODEn进行变换的目标节点名称在‘到其它节点的变换概率’列的‘变换目标节点’行中示出。另外,当满足在‘输入事件名称’、‘数据名称’和‘数据范围’列中表述的所有条件时可以变换到其它节点NODE0到NODEn的变换概率输入到‘到其它节点的变换概率’列的相应位置中。在变换到节点NODE0到NODEn的时候要输出的行为在‘到其它节点的变换概率’列的‘输出行为’行中表示。同时,在‘到其它节点的变换概率’列中,每一行的概率值总和为100%。
因此,在由图8的状态变换表80表示的节点NODE100中,如果识别结果为‘检测到球’并且球的大小(SIZE)在‘0至1000’的范围内,可以变换到‘节点NODE120(节点120)’的概率为30%,并且然后输出行为“动作(ACTION)1”。
在每个行为模型701到70n中,每个均表述为该状态变换表80的多个节点NODE0到NODEn集串联在一起,从而根据来自输入语义转换器模块59的识别结果,通过使用节点NODE0到NODEn的状态变换表从概率上确定下一行为,并且将决策结果输出到行为开关模块71。
图5所示的行为开关模块71将命令发送到中间件层40的输出语义转换器模块68,以从由行为模型库70的各个行为模型701到70n输出的行为中选择具有预设高优先级的、从行为模型701到70n之一输出的行为,并且执行该行为。该命令下面称作行为命令。在本实施例中,图6所示行为模型701到70n中的给定一个行为模型的优先级越高,该行为模型在图6中的排位就越低。
行为开关模块71在行为结束之后,根据从输出语义转换器模块68提供的行为完成信息,向学习模块72、情感模型73和本能模型74通知行为完成这一结果。
学习模块72从输出语义转换器模块68提供的识别结果中,输入作为用户动作如‘轻拍’或‘抚摸’接收的指令的识别结果。
学习模块72根据识别结果和来自行为开关模块71的通知修改行为模型库70中的行为模型701到70n的变换概率,从而当动作为‘轻拍’(‘斥责’)或‘抚摸’(‘表扬’)时,当前行为的出现概率将分别增大或减小。
另一方面,情感模型73保存表示六个情感类型中每个的强度的参数,这六个情感类型为快乐(JOY)、悲伤(SADNESS)、气愤(ANGER)、惊奇(SURPRISE)、厌恶(DISGUST)和恐惧(FEAR)。情感模型73根据由输入语义转换器模块59提供的特定识别结果如‘轻拍’或‘抚摸’、消逝的时间和来自行为开关模块71的通知,周期性地更新这些情感类型的参数值。
具体地说,情感模型73根据下面方程(1)为下一周期计算当前情感类型的参数值E[t+1]E[t+1]=E[t]+ke×ΔE(t)...(1)其中,ΔE(t)是根据例如由输入语义转换器模块59提供的识别结果、在相关时间的机器人设备1行为或从前一更新事件开始消逝的时间,通过预设方程计算得出的情感类型变化量,E[t]是情感类型的当前参数值,并且ke是表示情感类型敏感度的系数。情感模型73将情感类型的当前参数值E[t]替换为所计算的值,以更新情感类型的参数值。采用类似的方式,情感模型73更新全部情感类型的参数值。
预先确定各个识别结果和来自输出语义转换器模块68的通知将对各个情感类型的参数值变化ΔE(t)具有什么影响,从而‘被轻拍’的识别结果将大大影响情感类型‘气愤’的参数值的变化量ΔE(t),同时‘被轻拍’的识别结果将大大影响情感类型‘快乐’参数值的变化量ΔE(t)。
来自输出语义转换器模块68的通知是所谓的行为反馈信息(行为结束信息)和有关行为出现结果的信息。情感模型73还根据该信息改变情感。例如,通过‘吠叫’可以降低气愤的情感级别。同时,来自输出语义转换器模块68的通知还输入到学习模块72,然后学习模块72根据该通知修改行为模型701到70n的相应变换概率。
同时,可以通过行为开关模块71的输出(带情感的行为)作出行为结果的反馈。
另一方面,本能模型74保存表示五个相互独立的欲望强度的参数,这五个欲望为‘锻炼欲’、‘喜爱欲’、‘食欲’和‘好奇’。本能模型74根据从输入语义转换器模块59提供的识别结果、消逝的时间和来自行为开关模块71的通知,周期性地更新这些欲望的参数值。
具体地说,对于‘锻炼欲’、‘喜爱欲’、和‘好奇’,本能模型74在预设周期,根据下面方程(2)计算下一周期的这些欲望的参数值I[k+1]I[k+1]=I[k]+ki×ΔI(k)...(2)其中,ΔI(k)是根据识别结果、消逝的时间和输出语义转换器模块68的通知通过预设方程计算得出的、在相关时间的当前考虑欲望的变化量,I(k)是欲望的当前参数值,并且ki是表示当前考虑欲望敏感度的系数,并且将当前参数值I[k]替换为所计算的值,以更新欲望参数值。本能模型74更新除‘食欲’之外的各个欲望的参数值。
预先确定识别结果和来自输出语义转换器模块68的通知对各个欲望参数值变化量ΔI(k)的影响,从而例如,来自输出语义转换器模块68的通知大大影响‘疲劳’参数值的变化量ΔI(k)。
在本实施例中,各个情感类型和各个欲望(本能)的参数在0到100的范围内进行变化,同时还为各个情感类型和各个欲望单独设置系数值ke和ki。
如图4所示,中间件层40的输出语义转换器模块68将如上所述由应用层41的行为开关模块71提供的抽象行为命令,如‘向前走’、‘快乐’、‘哭泣’和‘跟踪(追球)’发送到输出系统69的信号处理模块61到67。
给定一个行为命令,信号处理模块61到67根据该行为命令生成要提供给相关调节器251到25n(图2)以执行行为的伺服命令值,要从扬声器24(图2)输出的语音数据和/或要提供给‘眼睛’LED的驱动数据,并且按照该次序通过机器人服务器对象32的虚拟机器人33和信号处理电路14(图2)将这些数据发送到相关调节器251到25n、扬声器24或LED。
采用这种方式,机器人设备1能够根据控制程序执行自主行为,响应它自己的内部状态、周围状态(外部状态)或来自用户的命令或动作。
(3)实施本发明的机器人设备1的结构如上所述,随着逐渐改变姿态或动作,机器人设备1能够变换到目标姿态或动作。需要注意的是,存在这样的情况,如果当机器人设备1采取特定姿态或执行特定动作时发出一个新命令,机器人设备过渡性地改变它的姿态,以做好执行对应于命令内容的动作的准备。
也就是,机器人设备1可以从它在命令事件时的状态变换到能够开始命令内容的状态。在此的状态表示姿态或动作。
在机器人设备1进入能够开始命令内容的状态之后,它执行实际命令内容,以变换到目标状态。具体地说,当发出一个开始动作时的姿态为站立姿态的命令时,机器人设备1从当前坐下姿态变换到站立姿态。为执行命令内容,机器人设备1开始它的变换动作,从站立姿态开始变换到对应于命令内容最终状态的目标姿态。
如图9A所示,在机器人设备1的命令内容中,存在其中多个动作要进行同步的命令内容。例如,如图9B所示,存在这样的情况,机器人设备1与它的姿态变换动作保持同步,生成声音或闪烁LED。例如,可以相互同步地执行这些可变动作,因为可以相互独立地控制负责执行这些动作的机器人设备1各个控制部分。也就是,机器人设备1能够使作为所谓效果设备的扬声器或LED与其它动作保持同步,从而可以与姿态变换动作保持同步地产生声音或闪烁LED。
可以通过图10中示意性给出的机器人设备1结构来执行上述动作。
需要注意的是,图9A所示的机器人设备1的状态变换示为一般性结构,并且,在下面说明中,以图9B中作为具体实施例示出的机器人设备1的状态变换为例。也就是,下面说明是对于这种情况给出的,其中,命令事件时的状态为‘坐下姿态’、开始同步命令时的状态为‘站立姿态’,并且‘目标姿态’是执行同步命令之后的状态。
机器人设备1包括命令控制器101、动作管理单元102、发光模式管理单元103、声音波形管理单元104、命令传输单元105、马达控制器106、LED控制器107、扬声器控制器108、马达109、LED 110和扬声器111。注意,马达109是饲服马达,作为置于腿部单元3A到3D和图2所示各个单元的连接部分的每个调节器251到25n的具体组成单元。另一方面,扬声器111是作为头部单元4的发音部分的扬声器24,而LED 110是具有‘眼睛’功能的部分。
如果在上述结构中输入一个命令,机器人设备1的命令控制器101将对应命令输出到动作管理单元102、发光模式管理单元103和声音波形管理单元104。
当输入用于同步多个命令的命令时,命令控制器101将与各个动作相关联的各个命令(下面称作同步命令)输出到动作管理单元102、发光模式管理单元103和声音波形管理单元104。当输入用于生成多个相互独立动作的命令时,命令控制器101将各个命令(下面称作独立命令)输出到各个管理单元。
需要注意的是,命令控制器101包括一个数据库,其中输入命令与输出同步命令或独立命令相关联,从而命令控制器101参考数据库,以选择与输入命令相关联的输出命令。也就是,当输入将导致各种动作同步的命令C时,命令控制器101参考数据库112,以读出相关命令串C(M1,L1,S1),如图11所示。命令控制器101将表示命令串C内容的同步命令M1、L1、S1输出到动作管理单元102、发光模式管理单元103和声音波形管理单元104。同时,M1是发送到动作管理单元102的同步命令,下面称作运动动作命令,L1是发送到发光模式管理单元103的同步命令,下面称作发光同步命令,并且S1是发送到声音波形管理单元104的同步命令,下面称作声音输出同步命令。
下面说明是对于这样的情况给出的,其中,导致各种动作同步的命令输入到命令控制器101,也就是各个同步命令从命令控制器101输出到管理单元102到104。
动作管理单元102将对应于运动同步命令M1内容的数据串发送到命令传输单元105。类似地,发光模式管理单元103响应发光同步命令L1的内容,以通过数据总线121将用于控制马达109的数据串发送到命令传输单元105,同时声音波形管理单元104响应声音输出同步命令S1,以通过数据总线121根据预设发光模式将用于控制LED 110发光的数据串发送到命令传输单元105。声音波形管理单元104响应声音输出同步命令S1,以通过数据总线121将用于控制扬声器111的数据串(具体地说,是声音波形数据)发送到命令传输单元105。
命令传输单元105是使数据对于低级组成单元或高级组成单元可解释,即对数据进行标准化的部分,和对应于图3所示虚拟机器人33的部分。命令传输单元105将从动作管理单元102发送的数据串转换为可以由马达控制器106进行解释的数据串(数据11、数据12、数据13...),以通过数据总线121将所转换的数据串发送到马达控制器106。命令传输单元105还将从发光模式管理单元103发送的数据串转换为可以由LED控制器107进行解释的数据串(数据21、数据22、数据23...),以通过数据总线121将所转换的数据串发送到LED控制器107,同时将从声音波形管理单元104发送的数据串转换为可以由扬声器控制器108进行解释的数据串(数据31、数据32、数据33...),以通过数据总线121将所转换的数据串发送到扬声器控制器108。
马达控制器106根据通过数据总线121从命令传输单元105输入的数据串控制马达109。LED控制器107还根据通过数据总线122从命令传输单元105输入的数据串控制LED 110,同时根据通过数据总线123从命令传输单元105输入的数据串控制扬声器111。
通过上述动作序列,机器人设备1根据从命令控制器101输出的同步命令,通过低级管理单元执行预设处理动作,以执行同步动作。
如果输入到命令控制器101的命令是用于执行同步动作的命令,在开头引起姿态变换之后,可以开始依据同步命令执行同步动作。在对于这种情况的处理动作中,存在下面三种方法类型(i)到(iii)(i)命令控制器101发出一个使姿态变换到同步命令开始姿态(在此为站立姿态)的命令。该命令下面称作同步准备命令。以完成同步准备命令内容作为触发,执行同步命令内容。
(ii)在将数据从置于命令控制器101后面的管理单元传输到各个控制器106到108的阶段,导致发生同步。
(iii)组合使用上面两种方法。
如果分开执行方法类型(i)和(ii),会出现下面问题对于(i),命令控制器101以同步准备命令结束作为触发,可以分别将同步命令M1、L1和S1发送到动作管理单元102、发光模式管理单元103和声音波形管理单元104。然而,在这种情况下,在实际场合中可能导致同步混乱。
具体地说,如图12A所示,在作为同步准备命令(pre_Motion,下面称作初始动作)内容执行的从坐下姿态到站立姿态的动作结束之后,通过运动同步命令或对应于运动命令的数据串,导致发生同步动作中的姿态变换。然而,可能出现这样的情况,由于发出发光同步命令或对应于发光同步命令的数据串时出现延迟,因此LED 110没有与之同步发光。这相当于在同步动作数据中所产生的空数据区。
由于打算只用表示高级组成单元的命令控制器101来监督同步命令,因此出现这一问题。同时,可以在过渡性地变换到作为变换姿态的站立姿态之后执行同步命令,如图12B的状态变换所示。
同时,可以从坐下姿态就导致发生同步动作,而无需同步准备命令。在这种情况下,不使用同步准备命令就执行同步控制。在这种情况下,用于控制各个动作单元的数据形成为一组。也就是,甚至在从坐下姿态到站立姿态的姿态变换期间,也形成要输出到发光模式管理单元103的数据或要输出到声音波形管理单元104的数据。数据内容是在执行初始动作期间关闭LED 106或关闭扬声器107。
如图12A的例子所示,通过使用这一组数据,在大约机器人设备1刚采取它的站立姿态的时刻,对声音输出、发光动作等进行同步来开始机器人设备1的动作。
然而,除了准备一组数据的工作量之外,还存在这样的麻烦,由于在执行初始工作期间,数据输入到实际上没有动作控制的LED控制器107和扬声器控制器108,因此使LED控制器107和扬声器控制器108在初始动作期间执行其它动作是不可能的。例如,如果发出更高优先级的命令,如独立命令,LED 110或扬声器111不能执行该命令内容。而且,变换到站立姿态没有失败,也不能开始动作,可能出现这样的情况,LED 110开始发光出现一些延迟,如图13A的例子所示。
同时,如图13所示,使用用于上述动作的一组数据的情况下的状态变换可以视为从坐下姿态到目标姿态的连续动作状态变换。
对于上述(ii),可以考虑,在将数据从命令传输单元105传输到下游侧控制器106到108的阶段获得同步。在这种情况下,在先前发出同步命令,即在执行初始动作期间,如执行初始动作的同时,发出同步命令,从而来自各个管理单元102到104的同步动作数据保存在可以由命令传输单元105进行参考的存储器中。然而,在这种情况下,存储器不能用于其它目的,因此该方法对于高效使用存储器不能说是最佳。
而且,如果在先前发出同步命令,相互连接管理单元102到104和命令传输单元105的数据总线121被锁定,直到同步命令结束。这使得打开数据总线121不可能,从而在执行作为同步准备动作内容的初始动作期间,例如不能发出声音。
也就是,在用于LED 110发光或声音输出的命令中,例如,存在与同步动作命令不同的独立命令。甚至在准备执行同步命令的准备状态期间,命令传输单元105也将这些独立命令发送给发光模式管理单元103和声音波形管理单元104。
如果传输作为其它命令的这些独立命令,数据总线121如图15所示被锁定。在这种情况下,需要执行数据取消处理。具体地说,需要取消已经从发光模式管理单元103和声音波形管理单元104传输到命令传输单元105的数据,从而执行非实际处理。
从上面可以看到,单独使用上述处理(i)或(ii)是有问题的,然而单独使用处理(i)或(ii)可能产生的问题可以通过(i)和(ii)的组合来解决,这就是方法(iii)。本发明在其原理上面向该方法(iii)。实际上,在微小细节上对方法(iii)的处理进行了优化。
根据本发明,在执行初始动作期间,可以在处于动作空闲状态的LED 110或扬声器111上执行独立命令。而且,根据本发明,在执行初始动作期间不在数据总线上发送同步命令内容数据串。这使得如果产生独立命令很容易地删除同步命令成为可能。
也就是,如图16所示,正在执行初始动作期间,使得LED 110和扬声器111可以通过例如独立命令进行操作,同时使得不能通过数据总线发送同步命令内容数据串成为可能。下面给出一个特定示例。图17示出执行该处理的机器人设备1的具体结构。
机器人设备1包括命令控制器101、动作管理单元102、发光模式管理单元103、声音波形管理单元104、命令传输单元105、作为马达控制器106具体实例的关节角度控制器106、作为LED控制器107特定示例的LED发光控制器107、作为扬声器控制器108特定实例的声音生成控制器108、马达109、LED 110和扬声器111。
动作管理单元102通过动作管理单元1021和关节角度命令单元1022来实现处理。发光模式管理单元103通过发光模式生成单元1031来实现处理,而声音波形管理单元104通过声音波形生成器1041来实现处理。
命令控制器101包括数据库DB1,其中在命令之间进行相互映射。例如,数据库DB1包括数据库112,其中,输入命令C映射为输出到低级的动作管理单元102、发光模式管理单元103、声音波形管理单元104的命令M1、L1、S1,如图11所示。
动作管理单元1021包括数据库DB2,其中在开始点姿态、结束点姿态和运动名称之间进行相互映射。关节角度命令单元1022包括数据库DB3,其中在命令和关节角度数据之间进行相互映射。发光模式生成单元1031包括数据库DB4,其中在命令和发光模式数据之间进行相互映射,而声音波形生成器1041包括数据库DB5,其中在命令和声音波形数据之间进行相互映射。
命令控制器101和各个管理单元102到104通过如上所述在其中映射变量数据的数据库,将与输入命令相关联的数据输出到低级组成单元。同时,在关节角度命令单元1022、发光模式生成单元1031和声音波形生成器1041的数据库中,与各个数据相关联的命令为同步命令或独立命令。
在上述结构中,马达109、LED 110和扬声器111是用于产生动作的动作装置,而命令控制器101、动作管理单元102、发光模式管理单元103、声音波形管理单元104、命令传输单元105、马达控制器106、LED控制器107和扬声器控制器108是用于控制作为多个动作装置的马达109、LED 110和扬声器111的控制装置。这些控制装置被设计为,通过多个动作装置(在此为马达109、LED 110和扬声器111)产生同步动作,作为紧随在动作装置(在此为马达109)的前面动作结束之后的后继动作。
具体地说,命令控制器101用作用于输出与输入命令相关联的输出命令的命令控制器。与马达109、LED 110和扬声器111一起提供的动作管理单元102、发光模式管理单元103和声音波形管理单元104作为多个动作装置,用作用于对由管理单元102到104输出的可变动作控制数据传输进行控制的数据传输控制器。马达控制器106、LED控制器107和扬声器控制器108分别与马达109、LED 110和扬声器111一起进行关联提供,并且用作根据由命令传输单元105输出的动作控制数据控制马达109、LED 110和扬声器111动作的多个动作控制器。命令传输单元105用于将由管理单元102到104输出的同步动作控制数据协调地传输到马达109、LED 110和扬声器111。同时,命令控制器101、命令传输单元105和上述动作控制器也可以是通过面向对象编程而构造的对象或过程。下面将按照处理流程对各个组成单元进行说明。
命令控制器101根据输入命令输出与动作管理单元102、发光模式管理单元103和声音波形管理单元104相关联的命令。也就是,命令控制器101参考数据库DB1,将与输入命令相关联的同步命令或独立命令输出到动作管理单元102、发光模式管理单元103和声音波形管理单元104。
当输出到各个管理单元102到104的命令为同步命令时,命令控制器101将同步ID和点数值值添加到同步命令,以将结果数据串发送到管理单元102到104。例如,命令控制器101将同步ID和点数值值添加到同步命令的起始端,以输出结果数据串。注意,同步ID和点数值值由例如下游侧命令传输单元105进行使用。具体地说,如果如上所述添加要进行同步的同步命令ID和要进行同步的同步命令总数,就已足够。例如,点数值值是数值数字,并且对点数值值进行确定是为了输出到管理单元102到104的点数值值总和将等于预设数。在本实施例中,预设数(和)假定为100。
如果接收命令时需要初始动作,也就是说,如果机器人设备1处于坐下姿态,命令控制器101将同步准备命令输出到动作管理单元102,并且随后在预设时刻将运动同步命令M1、发光同步命令L1和声音输出同步命令分别输出到管理单元102到104。下面,说明是在这种情况下给出的,其中,当机器人设备1处于坐下姿态时,命令控制器101将同步准备命令输出到管理单元102。
在动作管理单元102中,动作管理单元1021选择运动名称。动作管理单元102包括数据库DB2,其中开始点姿态和结束点姿态与表示运动内容的运动名称相关联。动作管理单元102参考该数据库DB2,选择与表示初始动作内容的同步准备命令相关联的运动名称。动作管理单元1021将该运动名称输出到关节角度命令单元1022。关节角度命令单元1022参考数据库DB3,将作为用于执行输入运动名称的时域关节角度命令值的数据串输出到命令传输单元105。
命令传输单元105通过数据总线122将从动作管理单元102发送的数据串作为一组发送到关节角度控制器106。
关节角度控制器106根据输入数据控制马达109。由于输入数据是用于执行初始动作的同步准备命令,因此机器人设备1在马达109的控制下执行从坐下姿态变换到站立姿态的动作。
如上所述根据同步准备命令执行初始动作。下面将对紧接在初始动作结束时刻之后执行的同步动作处理进行说明。
命令传输单元105将初始动作数据输出到关节角度控制器106,同时它在预设时刻将传输使能状态指示信号发送到动作管理单元102。预设时刻(随后将对它进行详细说明)是与剩余数据对应的时刻,等于命令传输单元105中的预期数据接收延时。这使得紧接在初始动作之后没有延时地执行同步动作成为可能。
对传输使能状态指示信号进行响应,动作管理单元102将同步命令接收使能信号发送到命令控制器101。
在同步命令接收使能信号的接收时刻,命令控制器101将在初始动作结束之后执行的用于同步动作的同步命令输出到管理单元102到104。
在动作管理单元102中,动作管理单元1021参考数据库DB2,将执行输入运动同步命令的运动名称输出到下游侧关节角度命令单元1022。关节角度命令单元1022参考数据库DB3,将与输入命令相关联的时域数据串输出到命令传输单元105。
在发光模式管理单元103中,发光模式生成单元1031参考数据库DB4,将作为与输入发光同步命令相关联的时域数据的发光模式数据串输出到命令传输单元105。在声音波形管理单元104中,声音波形生成器1041参考数据库DB5,将作为与输入声音输出同步命令相关联的时域数据的声音波形数据串输出到命令传输单元105。
采用这种方式,管理单元102到104将与各个输入同步命令相关联的数据串输出到命令传输单元105。由于这些数据串是与同步命令相关的数据,因此前述同步ID和点数值值已被命令控制器101添加到数据串的起始端。
命令传输单元105执行控制,以通过数据总线122将从各个管理单元102到104发送的数据串传输到低级控制器106-108。具体地说,在命令传输单元105中执行如下处理如图18所示,命令传输单元105包括图19所示的命令传输器1051和存储器1052。
在命令传输器105中,命令传输器1051输入从管理单元102到104输出的同步ID、点数值值和数据串。参照图18,同步ID(1)、点数值值(1)、数据(11)、数据(12)...与来自动作管理单元102的同步ID、点数值和数据串相关联,同步ID(2)、点数值(2)、数据(21)、数据(22)...与来自发光模式管理单元103的同步ID、点数值和数据串相关联,并且同步ID(3)、点数值(3)、数据(31)、数据(32)...与来自声音波形管理单元104的同步ID、点数值和数据串相关联。
如果同步ID和点数值写入在输入信息的头(header)区域中,命令传输器105在存储器1052上写入同步ID和点数值。在存储器1052中,保留有用于存储同步ID的区域10521(下面称作同步ID存储区域)和用于存储点数值的区域10522(下面称作点数值存储区域),从而与各个管理单元102到104相关联地存储同步ID和点数值,如图19所示。
根据这些点数值,命令传输器1051控制将随后输入的数据串输出到控制器109到111。具体地说,如下执行该控制命令传输器1051检查存储器1052的点数值存储区域10522,并且,如果其中存储有点数值,检查点数值的总和是否等于预设数100。
如果当前(in question)命令为同步命令,由管理单元102到104输出的点数值总和为100。也就是,例如,点数值(1)为20,点数值(2)为10并且点数值(3)为70,从而总和为100。
当点数值总和为100时,命令传输器1051将数据重新排列或设置为数据(11)、数据(21)、数据(31)、数据(12)、数据(22)...,以使数据适用于单数据总线122,如图18所示,以将结果数据输出到下游控制器109到111。对于数据串在数据总线122上的输出时刻,以从管理单元102到104输出的数据为单位,对数据进行同步。也就是,在时刻t输出数据(11)、(21)、(31),在时刻t+1输出数据(12)、(22)、(32),并且在时刻t+2输出数据(13)、(23)、(33),如图18所示。
采用这种方式,在点数值总和等于100时的时间点同步的数据输入到相关下游侧单元,即关节角度控制器106、LED控制器107和扬声器控制器108。
以上是在命令传输器105执行处理的方式。图20是示出命令传输器105中的处理流程的流程图。
当在步骤S1等待命令接收或中断时,如果作出中断请求,命令传输器105在步骤S2继续中断处理,以继续到步骤S4,如果在步骤S1的状态,一个命令(例如,由管理单元输出的数据串)传输到命令传输器105,则命令传输器接收该命令。例如,命令传输器105缓冲所传输的数据串,然后继续到步骤S4。
在步骤S4,命令传输器105检查是否正在等待传输同步数据。如果正在等待传输同步数据,命令传输器105继续到步骤S7,否则命令传输器105继续到步骤S5。
命令传输器105在步骤S5检查表示同步数据的序列号是否添加到该命令。该序列号是前述同步ID。在上述步骤S3接收到一个命令如数据串的情况下,执行这一决定处理。
如果,在步骤S5,表示同步数据的序列号添加到该命令,命令传输器105继续到步骤S6。否则,命令传输器105继续到步骤S10。
命令传输器105在步骤S6将提供给命令的序列号和点数值输入到存储器1052的标志区域中,然后继续到步骤S7。
当在步骤S4正在等待传输同步数据时,命令传输器105也继续到步骤S7。在步骤S7,命令传输器105确定在标志区域的其它部分是否存在相同序列号。如果标志区域的其它部分存在相同序列号,命令传输器105继续到步骤S8,否则命令传输器105返回到步骤S1。
命令传输器105在步骤S8检查与具有相同序列号的区域相关联的点数值(point(x))总和是否等于100。如果点数值总和等于100,命令传输器105继续到步骤S9,否则命令传输器105返回到步骤S1。
命令传输器105在步骤S9请求其它总线控制器以允许中断处理,并且,在步骤S10,开始通过数据总线122将数据串传输到各个控制器106到108。
当命令传输器105将数据串发送到各个控制器时,它还在步骤S11检查是否存在已经被缓冲的命令。如果存在被缓冲的命令,命令传输器105继续到步骤S4,否则命令传输器105返回到步骤S1。
命令传输器105如上所述执行处理。通过该处理,从命令传输器105输入数据的控制器106到108根据该输入数据控制马达109、LED 110和扬声器111。由于控制器106到108根据在控制时刻输入的数据控制马达109、LED110和扬声器111,因此对作为在实际机器人设备上执行的动作的同步马达109的运动、LED 110的发光和扬声器111的声音输出进行同步。
而且,由于传输使能状态指示信号从命令传输器105输出到动作管理单元102的时刻为紧接在完成初始动作之后无延时地使同步操作开始的时刻,因此机器人设备1实现紧接在初始动作之后的同步动作。
当在命令传输器1051中点数值总和等于100时,马达109、LED 110和扬声器111如上所述能够相互同步工作。否则,也就是如果在命令传输器1051中点数值总和不为100,那么设置等待输入数据串的状态。在该同步命令等待状态下,机器人设备1能够执行独立命令。这通过下面处理序列来完成如果没有与运动动作同步地独立驱动LED 110或扬声器111的命令输入到命令控制器101,独立命令输出到下游侧发光模式管理单元103或声音波形管理单元104,作为命令控制器101参考数据库DB1的结果。下面,说明是在这种情况下给出的,其中,独立命令从命令控制器101输入到发光模式管理单元103和声音波形管理单元104,并且用于LED 110和扬声器111的各自独立命令内容也相互独立。在独立命令的情况下,与同步命令的情况不同,命令控制器101输出没有向其添加同步ID或点数值的命令。
在发光模式管理单元103中,发光模式生成单元1031参考数据库DB4,将与输入独立命令相关联的数据串输出到命令传输器105。另外,在声音波形管理单元104中,声音波形生成器1041参考数据库DB5,将与输入独立命令相关联的数据串输出到命令传输器105。
如上所述,管理单元103、104将数据串输出到命令传输器105。需要注意的是,由于这些数据串不是同步命令,因此没有同步ID和点数值添加到数据串。
命令传输器105检查输入数据串的头区域,并且由于不存在同步ID,因此命令传输器105识别该数据串为独立命令。因此,它将数据串直接设置在数据总线122上,以将数据串输出到LED控制器107和扬声器控制器108。通过命令传输器105的功能执行该处理,当没有向其添加同步ID和点数值的数据串输入到命令传输器105时,与同步命令相关的数据串情况不同,不对点数值进行监视,而是将数据串直接输出到相关下游侧控制器。
因此,对于与同步命令对应的数据串,数据串处于等待数据输入的状态,直到点数值的总和等于100。然而,命令传输器105将与独立命令相关的数据串设置在数据总线122上,以将所设置的数据串输出到LED控制器107和扬声器控制器108。也就是,对应于独立命令的数据串优先于与同步命令相关的数据串,输出到LED控制器107和扬声器控制器108。
LED控制器107根据通过数据总线122输入的数据串控制LED 110的发光动作。扬声器控制器108根据通过数据总线122输入的数据串控制扬声器111的输出。
通过这一处理,甚至在机器人设备1正在执行初始动作如从坐下姿态变换到站立姿态的期间,机器人设备1也能够执行LED 110的发光或扬声器111的发声。
具体地说,本发明的机器人设备1执行图21所示的处理。
参照图21,机器人设备1在完成从坐下姿态变换到站立姿态的初始动作之后,能够与运动动作保持同步地执行LED 110的发光动作和扬声器111的发声。而且,由于相互连接各个组成单元的数据总线没有被数据锁定,而是一直处于空闲状态,因此可以由LED 110和扬声器111分别执行与独立命令相关的发光和发声。
虽然本实施例的说明是对于这种情况给出的,其中,独立命令内容为相互独立执行LED 110和扬声器111的动作这种方式,但是这只是为了说明起见,实际上可以独立于初始动作执行LED 110和扬声器111的同步动作。也就是,前述独立命令是那些仅相关于其它命令独立的命令,这些独立命令可以说是相对意义上的独立命令。
命令控制器101将这些表示同步动作内容的独立命令输出到发光模式管理单元103和声音波形管理单元104。这些命令下面称作独立同步命令。
命令控制器101将同步ID和点数值添加到每个独立同步命令。当已经输出同步命令时,添加到各个独立同步命令的同步ID可以与添加到同步命令的同步ID相区分开来。
发光模式管理单元103和声音波形管理单元104将对应于独立同步命令的数据串输出到命令传输器105。
在命令传输器105中,命令传输器1051输入由发光模式管理单元103和声音波形管理单元104输出的同步ID、点数值和数据串。
命令传输器105使输入在输入信息的头区域中的同步ID和点数值存储在存储器1052的同步ID存储区域10521和点数值存储区域10522中。命令传输器105读出存储在同步ID存储区域10521中与相同同步ID相关联的点数值,并且得出这些点数值的总和。当总和达到预设值时,命令传输器105将与同步ID相关的数据串输出到LED控制器107和扬声器控制器108。
作为表示与独立同步命令相关的数据输出条件的点数值总和,预设值例如可以设为10,该值不同于在初始动作之后执行的同步命令的预设值,例如100。在这种情况下,命令控制器101将点数值添加到各个独立同步命令,从而命令的总和将等于10。例如,点数值4添加到与LED 110动作相关的独立同步命令,而点数值6添加到与扬声器111动作相关的独立同步命令。当具有相同同步ID的点数值总和为10时,命令传输器105将与同步ID相关联的独立同步命令的数据串输出到LED控制器107和扬声器控制器108。
LED控制器107和扬声器控制器108根据输入数据控制LED 110和扬声器111。由于LED控制器107和扬声器控制器108根据在同步时刻输入的数据控制LED 110和扬声器111,因此对作为在机器人设备1上执行的动作的LED 110发光动作和扬声器111发声进行同步,与对应于姿态变换的初始动作一起执行这些动作。
下面对从命令传输器105输出传输使能状态指示信号的时刻进行说明,这允许在初始动作之后不中断地执行同步动作。
例如,如果在驱动马达109被激活并且初始动作刚刚结束的阶段,命令传输器105将表示这一效果的传输完成信号发到动作管理单元102,那么各个组成单元,如动作管理单元102或命令控制器101,从发出传输完成信号时开始同步动作处理。因此,开始将数据(同步数据)从命令传输器105传输到数据总线122之间存在从发出传输完成信号开始的延迟,即从完成初始动作时开始的延迟,如图22所示。
在这种情况下,如果将数据串从管理单元102到104相当同时地输入到命令传输器105,将是有利的。然而,可能存在这种情况从声音波形管理单元104输入数据存在延迟。由于命令传输器105直到点数的总和等于100才开始将数据传输到下游侧控制器106到108,因此命令传输器105暂时不允许通过数据总线122将数据传输到控制器106到108,直到从声音波形管理单元104输入数据。这将产生对应于该传输抑制时间的机器人设备1动作空时间。
基于这种考虑,将传输使能状态指示信号从命令传输器105发到动作管理单元102,并且发出传输使能状态指示信号的时刻确定为如图24所示等于与命令传输器105中预期数据接收延时相对应的剩余数据的时刻。
也就是,该时刻是这样一个时刻,它考虑了命令传输器105接收同步动作数据时存在的延迟,该延迟是由动作管理单元102或命令控制单元101的组成单元导致的从命令发出时刻到开始同步动作处理之间的延迟。例如,与传输使能状态指示信号的发出时刻相关的信息提供给用于执行初始动作的同步准备命令。命令传输器105根据提供给同步准备命令的发出时刻信息对传输使能状态指示信号进行传输。
该传输使能状态指示信号在前述预设时刻从命令传输器105输出到高级动作管理单元102,从而机器人设备1能够紧接在初始动作结束之后无延时地执行同步动作。
虽然可以考虑以足够的时间允许范围从命令传输器105对传输使能状态表示信号进行传输,但是命令传输器105不得不在该时间允许范围期间存储从管理单元102到104传输的数据,因此不能高效地使用存储器。因此,如果在对应于紧接在初始动作之后开始同步动作的时刻,从命令传输器105发送传输使能状态指示信号,从而获得高效的存储器使用,将是理想的。
在如图17所示的上述实施例中,说明是对于这种情况给出的,其中,在机器人设备1的结构中,命令传输器105和各个控制器106到108通过单数据总线122相互连接。因此,命令传输器105被设计为适用于这种结构。然而,这只是为了说明起见,实际上如图25所示,数据总线可以由独立相互连接命令传输器130与各个控制器106到108的三条数据总线124形成。在这种情况下,命令传输器130如图25和26所示进行设计。如图26和27所示,命令传输器130包括共有存储器134。
在如此形成的命令传输器130中,第一命令传输器单元131输入从动作管理单元102输出的同步ID、点数值和数据串,第二命令传输器单元132输入从发光模式管理单元103输出的同步ID、点数值和数据串,并且第三命令传输器单元133输入从声音波形管理单元104输出的同步ID、点数值和数据串。
命令传输器单元131到133使提供给输入数据串的点数值存储在共有存储器134中。在共有存储器134中设有用于存储同步ID的同步ID存储区域1341和用于存储点数值的点数值存储区域1342,以使同步ID和点数值相互关联地存储在其中,如图27所示。共有存储器134由命令传输器单元131到133共有,从而命令传输器单元131到133每个均能够参考由其它命令传输器单元写入的同步ID和点数值。
第一到第三命令传输器单元131到133监视该共有存储器134,并且当相同同步ID的点数的和等于100时,也就是,当来自所有管理单元102到104的同步命令已输入到命令传输器130时,这些数据串分别在此时设置在相关数据总线1241、1242和1243上,并且传输到控制器106到108。
确定总和是否等于100的功能可以建立在第一命令传输器单元131中。在这种情况下,当点数值存储在同步ID存储区域1341中,从而点数值总和等于100时,第一命令传输器单元131向第二和第三命令传输器单元132、133通知这一结果。这允许第一到第三命令传输器单元131到133将数据串设到相关数据总线1241、1242和1243上,并且将数据串传输到控制器106到108。
以上是在命令传输器130中执行的处理。图28是示出命令传输器130中处理流程的流程图。由于该命令传输器130中的处理通过使用多个数据总线与将数据传输到控制器106到108相关联,因此下面说明集中在这一部分。同时,除非特别指出,图20和28中具有相同参考号的步骤执行相同的处理。
如上所述,命令传输器130包括可以由第一到第三命令传输器单元131到133参考的共有存储器134,从而,在步骤S61,提供给命令的序列号和点数值存储在共有存储器134中。
命令传输器130的第一到第三命令传输器单元131到133在步骤S71检查相同的序列号是否提供给共有存储器134的其它区域。如果相同序列号提供给其它区域,第一到第三命令传输器单元131到133继续到步骤S81,否则命令传输器单元131到133返回到步骤S1。
第一到第三命令传输器单元131到133在步骤S81检查具有相同序列号的点数值(point(x))和是否等于100。如果点数值总和等于100,第一到第三命令传输器单元131到133继续到步骤S91,否则返回到步骤S1。
第一到第三命令传输器单元131到133在步骤S91请求允许对数据总线1241、1242和1243且与总线控制器相关联的中断,并且在步骤S101,开始通过数据总线1241、1242和1243将数据串传输到相关控制器106到108。
将数据串传输到各个控制器的命令传输器130在步骤S11检查是否存在任何被缓冲的命令。如果存在被缓冲的命令,命令传输器130继续到步骤S4,否则命令传输器返回到步骤S1。
以上述方式执行命令传输器130的处理。通过该处理从命令传输器130输入数据的控制器106到108根据输入数据控制马达109、LED 110和扬声器111。由于控制器106到108根据在同步时刻输入的数据控制马达109、LED110和扬声器111,因此马达109的运动、LED 110的发光和扬声器111的声音输出作为在实际机器人设备1上执行的动作相互进行同步。
工业应用性通过如上所述应用本发明,机器人设备在正执行初始动作期间能够执行用于处于动作空闲状态的LED或扬声器的独立命令。而且,在正执行初始动作期间,同步命令内容数据串不发送到数据总线,从而如果例如产生独立命令,可以很容易地删除同步命令。
权利要求
1.一种机器人设备,包括多个动作装置,用于执行动作;和控制装置,用于控制多个动作装置的动作;所述控制装置使多个动作装置紧接在由动作装置执行的前一动作之后相互同步地执行动作。
2.如权利要求1所述的机器人设备,其中,如果存在动作中断请求,所述控制装置使与所述动作中断请求相关的动作和所述前面动作连在一起。
3.如权利要求1所述的机器人设备,其中,多个姿态状态或动作状态间的变换使得可能;并且其中,所述动作装置的前面动作为用于变换到准备开始时间上靠后的动作的姿态或动作状态的动作。
4.如权利要求1所述的机器人设备,其中,所述控制装置根据与所述动作装置的所述前面动作的预期结束相关的信息,开始多个动作装置的同步动作。
5.如权利要求1所述的机器人设备,其中,所述控制装置包括命令控制单元,用于输出与输入命令相关联的输出命令;多个动作控制数据转换单元,在操作上与所述动作装置相关联,并且用于输出与由所述命令控制器输出的输出命令相关联的动作控制数据;数据传输控制单元,用于控制传输由每个动作控制数据转换单元输出的每个动作控制数据;和多个动作控制单元,用于根据由所述数据传输控制器输出的动作控制数据,控制所述动作装置;并且其中,所述数据传输控制器将由每个动作控制数据管理单元输出的同步动作控制数据同步发送到每个所述动作控制单元。
6.如权利要求5所述的机器人设备,其中,同步信息提供给每个同步动作控制数据;并且其中,所述数据传输控制单元根据所述所提供的同步信息将同步动作数据同步发送到每个所述动作控制单元。
7.如权利要求6所述的机器人设备,其中,同步信息至少包括同步ID和点数值;其中,所述点数值是加在一起等于预设值的数值数字;和其中,当与提供给输入动作控制数据的相同同步ID相关联的点数的和等于所述预设值时,所述数据传输控制单元将输入动作控制数据同步发送到每个动作控制单元。
8.如权利要求6所述的机器人设备,其中,如果输出命令为同步动作的同步命令,所述命令控制单元根据与由所述数据传输控制单元输出的预期完成相关的信息开始输出同步命令;并且其中,所述数据传输控制单元根据前面动作的预期完成时间输出与预期完成相关的信息。
9.如权利要求1所述的机器人设备,其中,所述多个动作装置至少为用于执行运动动作的运动动作装置、用于执行发光的发光装置和用于输出声音的声音输出装置。
10.一种用于控制机器人设备动作的方法,该机器人设备具有用于执行动作的多个动作装置;其中,作为时间上紧接在由动作装置执行的前一动作之后的动作,执行多个动作装置的同步动作。
11.如权利要求10所述的用于控制机器人设备动作的方法,其中,多个姿态状态或动作状态间的变换使得可能;并且其中,所述动作装置的前面动作是用于变换到准备开始时间上靠后的动作的姿态或动作状态的动作。
12.如权利要求10所述的用于控制机器人设备动作的方法,其中,根据与所述动作装置的前面动作的预期结束相关的信息,开始多个动作装置的同步动作。
13.如权利要求10所述的用于控制机器人设备动作的方法,包括命令控制步骤,输出与输入命令相关联的输出命令;动作控制数据转换步骤,输出与在所述命令控制步骤输出的输出命令相关联的动作控制数据;数据传输控制步骤,控制传输在所述动作控制数据转换步骤输出的每个动作控制数据;和多个动作控制步骤,根据在所述数据传输控制步骤输出的每个动作控制数据,控制所述动作装置;所述数据传输控制步骤将在所述控制数据转换步骤输出的同步动作控制数据同步发送到每个所述动作控制步骤。
14.一种机器人设备,包括用于执行动作的多个动作执行装置和用于控制所述动作装置的多个动作控制装置;所述机器人设备进一步包括命令控制装置,用于输出与用于使机器人设备执行预设动作的动作执行命令相关的多个同步命令;和命令传输控制装置,用于控制由所述命令控制装置输出的同步命令,以将同步命令发送到所述多个动作控制装置;所述命令控制装置向多个同步命令中的每个提供至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数的标号,以输出所述同步命令;所述命令传输控制装置根据所述ID和所述总数同步发送多个同步命令。
15.一种用于控制机器人设备动作的方法,该机器人设备包括用于执行动作的多个动作执行装置和用于控制所述多个动作装置的多个动作控制装置,所述方法包括如下步骤命令控制装置向与使机器人设备执行预设动作的动作执行命令相关的多个同步命令中的每个提供标号,来至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数;和命令传输控制装置控制由所述命令控制装置输出的同步命令,以根据所述ID和所述总数使多个同步命令得以同步,以将同步命令发送到所述多个动作控制装置。
16.一种机器人设备,包括用于执行动作的多个动作执行装置和用于控制多个动作执行装置的动作的多个动作控制装置;所述机器人设备进一步包括命令控制装置,用于输出与用于执行所述机器人设备预设动作的动作执行命令相关的多个同步命令;多个总线,在其上传输所述动作执行命令;为每个所述总线提供的多个命令传输控制装置,用于控制由所述命令控制装置输出的所述同步命令,并且将所述同步命令传输到所述多个动作控制装置;和共有存储器,可以由所述多个命令传输控制装置进行访问;所述命令控制装置向所述多个同步命令中的每个提供标号,来至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数,并且输出同步命令;所述命令传输控制装置使这些ID和总数存储在所述共有存储器中,并且参考所述共有存储器来同步多个同步命令,以通过所述总线将经过同步的同步命令发送到所述动作控制装置。
17.一种用于控制机器人设备动作的方法,该机器人设备包括用于执行动作的多个动作执行装置和用于控制多个动作执行装置的动作的多个动作控制装置,所述方法包括如下步骤命令控制装置向与使机器人设备执行预设动作的动作执行命令相关的多个同步命令中的每个提供标号,来至少表示要进行同步的同步命令的ID和要进行同步的同步命令的总数;和在可用于传输所述命令的多个总线中的每个总线上提供的命令传输控制装置控制由所述命令控制装置输出的同步命令,以使所述ID和总数存储在所述共有存储器中,并且参考所述共有存储器来同步可以由所述多个命令传输控制装置进行访问的所述同步命令,以通过所述总线将所述同步命令传输到所述多个命令传输控制装置。
全文摘要
一种机器人设备,包括命令控制单元(101),用于输出与输入命令相对应的输出命令;管理单元(102、103、104),用于输出与由命令控制单元(101)输出的命令相对应的数据;命令传输单元(105),用于控制传输从管理单元(102、103、104)输出的数据;和控制单元(106、107、108),用于根据由命令传输单元(105)输出的数据,控制动作单元(109、110、111)。命令传输单元(105)将由管理单元(102、103、104)输出的同步动作控制数据同步发送到动作单元(109、110、111)。
文档编号G05B19/4062GK1396856SQ01804072
公开日2003年2月12日 申请日期2001年10月11日 优先权日2000年10月11日
发明者高木刚, 佐部浩太郎, 坂本隆之, 尾山一文 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1