机器人装置及其控制方法 【技术领域】
本发明涉及机器人装置及其控制方法,例如涉及一种进行自然的动作的机器人装置及其控制方法。背景技术
在以往,为了使机器人装置进行自然的动作,人们提出了各种方案。
例如,在实开平5-72630号公报中,有一种运动体的运动停止传感器,对装在运动体上的加速度传感器测量的信号进行高通滤波处理,通过判断经过这种处理所得到的电压是否大于预定的阈值,来判定运动体是否在行走中。
但是对于这种运动体的运动停止传感器,由于加速度传感器只安装在运动体的前进方向的一个位置处,存在有不能判断倾斜面的移动及旋转运动的问题。
在特开平10-113343号公报中,提出了一种识别动作及行动的方法、装置及系统。该系统将从安装在被检测体上的测定器得到的信号变换为频率,计算出特征量,通过得到计算出的特征量与数据库间的相关性,识别被检测体的动作和行动。
但是,对于这种识别方法、装置及系统,在数据库不充分、不适当的情况下,不能进行正确的识别,而且,即使为了避免这种问题去制作充足的数据库,也会出现需要很多时间、专业知识、经验的问题。发明的公开
本发明为了解决上述现有技术中存在的问题,提供一种能够容易地识别倾斜面的移动和旋转运动等自身地状况,并能自己行动的机器人装置及其控制方法。
即机器人装置包括:检测装置,通过加速度传感器和/或旋转传感器检测角速度和/或旋转角速度;存储装置,将检测装置检测出的信号作为时间序列信号以时间序列予以存储;计算装置,根据存储在存储装置的时间序列信号计算特定信息;识别装置,根据计算装置计算出的特定信息识别自己的状态;输出装置,根据识别装置识别出的自己的状态,输出行动。
这样,在机器人装置中,利用检测出的加速度和旋转角速度计算特定信息,根据计算出的特定信息自动识别自己的状态进行行动。
机器人装置当识别装置识别出的自己的状态是被举起的状态时,将作用于外部的预定的可动部的动作停止。
这样,在机器人装置中,可以预先防止作用于外部的可动部所造成的用户的负伤。
机器人装置的控制方法包括:第1步骤,通过加速度传感器和/或旋转传感器检测角速度和/或旋转角速度;第2步骤,将检测得到的信号作为时间序列信号以时间序列予以存储;第3步骤,根据存储的时间序列信号计算特定信息;第4步骤,根据计算出的特定信息识别自己的状态;第5步骤,根据识别出的自己的状态,控制机器人装置的行动。
这样,机器人装置的控制方法通过自动识别自己的状态控制机器人装置的行动,根据自己的状态变化控制机器人装置的行动。
机器人装置的控制方法当识别装置识别的自己的状态是被举起的状态时,将作用于外部的预定的可动部的动作停止。
这样,机器人装置控制方法可以预先防止作用于外部的可动部所造成的用户的负伤。附图的简要说明
图1是表示运用本发明的机器人装置的结构框图。
图2是机器人装置的外观透视图。
图3是用于说明机器人装置步行时的状态的概略图。
图4是表示状态识别处理程序的流程图。
图5是用于说明机器人装置的各种状态的分布值的特性曲线图。
图6是用于说明噪音的状态造成的错误识别的特性曲线图。
图7是用于说明机器人装置被拿起时的状态的概略图。
图8是用于说明机器人装置被放下时的状态的概略图。
图9是用于说明机器人装置重新开始步行时的状态的概略图。
图10是动作抑制处理程序的流程图。
图11(A)和图11(B)是表示手足关节结构的概略图。
图12是表示恢复行动处理程序的流程图。
图13是用于说明加速度传感器的检测状态的特性曲线图。
实施发明的最佳形态
以下利用附图详细说明本发明的一个实施例。
(1)本实施例的机器人装置的结构
图1表示本实施例的机器人装置的整体结构,包括:控制系统整体的中央处理运算部(Central Processing Unit:以下称为CPU)11、具有例如CCD(Charge Coupled Device:电荷耦合器件)图像传感器的摄像机(Video Camera)12、存储摄像机12的视频数据等的存储部13、将串行总线的主机控制器等集成为一体的大规模集成电路(Large-scale Integrated Circuit:以下称为LSI)14。
LSI14例如具有由串行通信、并行通信、USB通信等的接口构成的通信部14A,通过该通信部14A与外部的个人计算机100连接。此时,个人计算机100例如通过LSI14来变更例如使CPU11工作的程序,进行相应的操作。
LSI14具有PC卡接口15,与PC卡规格等各种设备、例如ATA(Advanced Technology Attachment)闪存卡等存储装置200及无线通信卡等通信装置300连接。
LSI14具有:时钟,未图示,用于得到实时的时间信息;电池管理器,未图示,用于进行电池的残余量的管理、及在与时钟相关的时间进行接通电源等的控制。
机器人装置1具有由手足、耳、口等构成的第1至第4的CPC(Configurable Physical Component:可配置物理器件)装置20、30、40、50。各CPC装置与LSI14内的串行总线端口(SBH)14B连接。在这里,图中所示的CPC装置有4个,但其数量可以不受限定。
第1CPC装置20包括:根据来自LSI14的控制命令,控制该装置内的各电路的集线器(hub)21、暂时存储控制信号和检测信号等的存储器22、检测加速度的加速度传感器23、电位器(Potentiometer)24、起关节等的作用的传动装置25。加速度传感器23以数十毫秒为单位分别检测3个轴(X轴、Y轴、Z轴)方向的加速度,将该检测结果通过集线器21、串行总线端口14B送给CPU11。
第2CPC装置30包括集线器31、存储器32、由检测旋转角速度的旋转(gyro)传感器构成的旋转角速度传感器33、电位器34、传动装置35。角速度传感器33以数十毫秒为单位分别检测3个角(R角、P角、Y角)方向的旋转角速度,将该检测结果通过集线器31、串行总线端口14B,送给LSI14。
第3的CPC装置40包括:集线器41;存储器42;发光二极管(LED)43,例如通过发光表示接收到了来自外部的刺激;接触式传感器44,检测是否接触到了外部。
第4的CPC装置50包括:集线器51;存储器52;喇叭53,具有向外部输出声音的“口”的功能;麦克风54,具有检测外部的声音的“耳”的功能。
机器人装置1的外观例如如图2所示,为多足步行机器人。即机器人装置1是多足方向的多关节型机器人,其形状为有4个足2的动物。
如图3所示,当这种机器人装置1步行时,CPU11具体来说是根据图4所示状态识别处理程序RT1,监视机器人装置1的状态。
即CPU11在步骤SP0开始该状态识别处理程序RT1时,接着在步骤SP1接收加速度传感器23和旋转角速度33检测出的加速度信息、旋转角速度信息,其后进入步骤SP2,将这些加速度信息、旋转角速度信息按照时间序列存储在存储部13中。
接着,CPU11进入步骤SP3,根据存储在存储部13中的时间序列信号,计算出特定信息。例如,CPU11根据存储在存储部13的加速度传感器23的时间序列信号,计算取3个轴(X轴、Y轴、Z轴)的总和的加速度传感器23的代表分布值。CPU11也同样地按照需要,根据旋转角速度传感器33的时间序列信号,计算取3个角(R角、P角、Y角)的总和的代表分布值。
接着CPU11进入步骤SP4,判断该算出的分布值等特定信息。
在这里,图5表示加速度传感器23和旋转角速度传感器33检测输出的分布值的一个例子。分布值所具有的特性是,当机器人装置1在地面上行动时最大,并按照机器人被拿起时、被放下时的顺序变小。因此,通过适当地设定状态变化的阈值,可以根据分布值判定机器人装置是在行走、被拿起、还是被放下。根据图5,CPU11可以判定分布值为δ2以上时,机器人装置在地面上行动;分布值为δ1以上而未达到δ2时机器人装置被拿起;分布值未达到δ1时机器人装置被放下。关于这种具体的判定,将在后面的步骤SP5以后进行。
CPU11有时会因为噪音导致分布值的剧烈变化而对状态的变化产生错误识别。CPU11为了防止这种错误识别,如图6所示,判断分布值和阈值δ3的关系,当分布值和阈值δ3的关系连续在超过预定的时间为一定时,认为状态实际发生了变化。例如,CPU11可以预先设定预定时间T,如果只在时间T1(<T)期间分布值超过阈值δ3,判断是由噪音导致的错误判定;当在时间T2(>T)期间分布值超过阈值δ3时,判定状态发生了变化,从而进行正确的识别。由此,可以实现强抗噪音的识别功能。阈值δ3与上述δ3或δ2相当。
CPU11还常时计算加速度传感器23的分布值,根据需要也计算旋转角速度传感器33的分布值。这样不太增大CPU11的处理负担,提高识别的能力。
具体来说,当与加速度代表的分布值相比,检测的旋转代表的分布值的变化有显著的姿势变化或动作时,最好不但使用加速度传感器23,而且同时使用旋转角速度传感器33的检测输出。即,在静止/低速运动和平移运动成分多时,主要是来自加速度传感器23的信息重要,反之,当高速运动时和旋转运动成分多时,来自旋转角速度传感器变得很重要。因此,在要检测的动作是高速运动的情况和旋转运动成分多的情况下,可以使得同时使用来自旋转角速度传感器33的信息的时间增多。
接着CPU11进入步骤SP5,判定特定信息是否是“地面行动中”的特性,当得到肯定结果时,进入步骤SP6,识别该机器人装置1是在地面行动中,控制第1CPC装置20等各CPC装置,使步行动作继续进行,然后返回步骤SP1。
反之,当CPU11在步骤SP5得到否定结果时,进入步骤SP7,判定特定信息是否是“被拿起时”的特性,当得到肯定结果时进入步骤SP8。此时机器人装置1如图7所示,成为被使用者举起的状态。
CPU11在步骤SP8识别该机器人装置1被举起,控制第1CPC装置20等各个CPC装置,使步行动作中止变得安静,然后返回步骤SP1。
反之,CPU11在步骤SP7得到否定结果时,进入步骤SP9,判断特定信息是“被放下时”的特性,当得到肯定结果时,进入步骤SP10,当得到否定结果时返回步骤SP1。
CPU11进入步骤SP10,识别该机器人装置1被放下,然后,如图8所示,当根据接触式传感器44等的检测输出还识别是放在地面时,控制第1CPC装置20等各CPC装置,使机器人装置按照图9那样重新开始步行动作,然后返回步骤SP1。
在这里,接触式传感器44例如是检测与外部的接触的接触传感器,或是感知压力的感压传感器,检测与地面的接触状态。这样,再参照检测与地面接触状态的检测装置的检测结果,并根据上述加速度传感器的加速度和来自旋转传感器的旋转角速度,将机器人装置的被举起等的状态读入识别装置中,从而能得到可靠性更高的识别结果。
即,例如在机器人装置被举起的情况下,由于足部离开地面,足部的接触开关必定为断开状态,因此通过与监视加速度和旋转速度的变化同样地监视该信息,能够提高检测机器人装置被举起和被放下的能力。
(2)识别机器人装置被举起和被放下时的CPU11的具体的处理
在这里,当机器人装置被举起时,CPU11按照图10所示动作抑制处理程序RT2来抑制机器人装置1的动作。
即当CPU在状态识别处理程序RT1的步骤SP8中,识别机器人装置1被举起时,在步骤20使该动作抑制处理程序RT2开始,接着通过在步骤SP21控制LSI14内部的对应的伺服系统的电路和对应的CPC装置,来使机器人装置1的各个足部2的动作停止(使对应的关节机构的传动装置25的控制增益为0),并使各足部2的机械约束开放,使这些足部2松弛。
实际上在此机器人装置1中,如图11(A)所示,各足部2的各关节机构60的结构为,将固定在各个传动装置(电机)25的输出轴的齿轮,通过压缩线圈弹簧62的弹性力,与减速齿轮列咬合。此时,传动装置25通过驱动电磁滑阀,可以如图11(B)所示沿箭头a方向移动,由此使齿轮61和减速齿轮列63的咬合放开。
在这里,CPU11在步骤SP21,对各足部2的全关节机构的传动装置25停止施加驱动电压,并通过驱动对应的电磁滑阀64,放开传动装置25的静止转矩产生的各足部2的机械约束,由此使机器人装置1的所有的足部2松弛,使该机器人装置1变化为用户容易拿起的状态。
接着,CPU11进入步骤SP22,通过控制LSI14内部的对应的伺服系统的电路,使头部3(图2)和尾部4(图2)的动作延迟,其后进入步骤SP23,通过控制LSI14内部的对应的电路,使起到眼睛作用的LED5(图2)灭灯,并控制喇叭54(图1)的声音输出(鸣叫声)的音量。
接着CPU11进入步骤SP24,通过PC卡接口15,将此时保持的状态和与学习相关的各种参数等数据写入存储装置200。
CPU11在步骤SP25中,禁止此后对存储装置200的数据的读写,然后进入步骤SP26,在结束该动作抑制处理程序RT2后,返回状态识别处理程序RT1的步骤SP1。
另一方面,当此后机器人装置1被拿起时,CPU11根据图12所示恢复行动处理程序RT3,恢复机器人装置1的行动。
即CPU11在状态识别处理程序RT1的步骤SP10中识别出机器人装置1被拿起时,在步骤SP30使该恢复动作处理程序RT3开始,接着,在步骤SP31发出对存储装置200的数据读写的许可。CPU11还通过控制对应的CPC装置,来使各个足部2产生机械约束(使图11的电磁滑阀64的驱动停止)。
接着CPU11进入步骤SP32,通过控制LSI14内部对应的电路,从喇叭53(图1)输出预定模式的声音,使与“眼睛”相当的LED5亮灯,和/或使尾部4动作,向用户通知动作已恢复。
接着CPU11在步骤SP34从存储装置200读出必要的数据,根据该数据控制LSI14内部的对应的伺服系统的电路,来使各足部2的动作再次开始,其后进入步骤SP35,在结束该恢复行动处理RT3后,返回状态识别处理程序RT1的步骤SP1。
(3)本实施例的动作和效果
在上述结构中,在该机器人装置1中,将加速度传感器23和/或旋转角速度传感器33检测的加速度信息和/或旋转角速度按照时间序列存储在存储部13,并根据该加速度信息和/或旋转角速度信息计算分布值等特定信息,根据检测结果识别自己的状态,根据识别结果来行动。
因此,在该机器人装置1中,用户不需要向该机器人装置1明确提供将该机器人装置1举起和将其放下的信息。通过这样由机器人装置1自身进行自动识别,可以实现更自然的机器人和人的相互作用。
当由周围的环境和第三者对该机器人装置1施加外力的情况下,由于可以识别特定信息的变化,所以可以根据外力进行反应(行动、声音、音阶等的输出),可以构成智能的娱乐性强的机器人装置1。
而且由于可以根据与特定信息相关的内容来判定是否实际执行了目标的姿势和行动,因此可以利用这一点来检测该机器人装置1的行动是否正确。
另外,当该机器人装置1被举起时,进行使各足部2的动作停止等抑制该机器人装置1的动作,另一方面,当其后机器人装置1被放下时,使各足部2的动作重新开始,恢复行动。
因此在该机器人装置1中,可以防止当用户举起该机器人装置1时被该机器人装置1的足部2的关节和足部2与身体间夹住,或者被机器人装置1的动作惊吓而使机器人装置1落到了自己的脚上,而使用户受伤,并且会给举起该机器人装置1的用户带来恭顺感和亲切感,在使用时产生舒适感。
在该机器人装置1中,由于当机器人装置1被举起时,禁止对存储装置200的数据的读写,因此可以防止例如存储装置200的数据进行读写处理时,因为用户将该机器人装置1掉下而产生对存储装置200内的数据的破坏和向存储装置写入不正确的数据。
根据上述结构,将加速度传感器23和/或旋转角速度传感器33检测出的加速度信息和/或旋转角速度信息按时间序列存储在存储部13,并根据该加速度信息和/或旋转角速度信息计算分布值等特定信息,根据检测结果识别自己的状态,根据识别结果来行动,从而可以实现根据自己的状态变化控制行动,进而可以容易地识别倾斜面的移动和旋转运动等自身的状况,并能够自身行动的机器人装置。
通过抑制机器人装置1被拿起时的动作,可以实现能够防止被拿起时的机器人装置1的动作造成用户负伤,从而提高安全性和趣味性的机器人装置。
(4)其它的实施例
在本发明的上述实施例中,说明了根据机器人装置1的各个传感器的检测输出的分布值,识别机器人装置1自身的步行、举起、放下的3个状态的情况,但本发明不限于此,例如在与其它的行动模式对应的分布值和数字滤波的频率有特性的情况下,其它的模式也可以同样地进行识别。
在上述实施例中,对于特定信息的计算,说明了利用分布值和从数字滤波输出的频率特性的情况,但本发明不限于此,如果存在其它计算对应于机器人装置1的行动模式的特性的方法,也可以使用这个方法的特性。
在上述实施例中,说明了在状态识别处理程序RT1的步骤SP3中利用分布值的情况,但本发明不限于此,例如也可以对加速度传感器23和旋转角速度传感器33的检测输出使用数字滤波。
实际上,数字滤波可以只提取时间序列的特定频率成分,通过设定适当的频率,可以将机器人装置1的行动中的频率成分、被举起时的频率成分、被放下时的频率成分分别分离。在频率的定性的关系中,行动中的频率最高、然后从大到小依次是被举起时的频率、被放下时的频率。
在这里利用使用数字滤波时的这些性质,通过与使用分布值的情况相同地设定适当的阈值,可以识别机器人装置1自身的状态。
在上述实施例中,说明了机器人装置1被举起时停止各足部2的动作的情况,但本发明不限于此,可以在机器人装置被举起时,使机器人装置的姿势转换为用户容易拿起的姿势,例如成为将各足部2弯曲的匍匐姿势,可以由此提高舒适感。
在上述实施例中,说明了机器人装置1被举起时停止足部2的动作的情况,但本发明不限于此,例如在将本发明用于根据用户的使用状况、在学习的同时改变性格的趣味性机器人的情况下,可以在被举起时根据该性格改变行动模式,从而提高趣味性。
在上述实施例中,说明了机器人装置1被举起时停止足部2的动作的情况,但本发明不限于此,也可以根据本发明的机器人装置的形状和形态,使对有可能造成用户负伤的外部作用的可动部的动作停止。
在上述实施例中,说明了机器人装置被举起时禁止对存储装置200的数据的读写,但本发明不限于此,例如可以在根据摄像机12的视频数据,检测当落下的存储装置200读写数据时有可能破坏存储装置200内的数据的情况下(例如检测出自己的移动方向可认为是崖壁的边缘等),禁止对存储装置200的数据的读写。
而且,对于加速度传感器23的机器人装置的状态的检测,也不限于上述实施例的说明。例如,可以根据下述的角速度传感器23的输出检测机器人装置的状态。
对加速度传感器23的X轴、Y轴、Z轴的3个方向的时间序列信号分别采样,作为加速度信息予以存储。
当一定时间的时间序列的加速度信息(以下称为时间序列信息)被存储时,对每个轴的时间序列信息进行低通滤波,提取低频成分。根据时刻t的各轴的低频成分Gi(i=x,y,z),由公式(1)计算整体的模方G(t)。G(1)=Gx(1)2+Gy(1)2+Gz(1)2---(1)]]>
该G(t)表示将机器人装置1举起时图13所示特性。即一旦G(t)比通常时的G0的值减少,则其后迅速超过通常值G0,最后在通常值G0稳定。通过检测这种G(t)的变化,可以检测出机器人装置1被举起。具体来说,是按照下述过程来检测被举起。
首先存储通过公式(2)计算出的值在某个阈值(第1阈值)以上的时刻T0、和此时刻T0时的G(t)(以下称为G1)。在这里,G0是通常值,通常为9.8(重力加速度)。
ΔG1=G0-G(t) (2)
然后在从时刻T0开始的预定时间ΔT内,根据(3)式计算。
ΔG2=G(t)-G1 (3)
当根据公式(3)得到的ΔG2在某个阈值(第2阈值)以上时,可以检测出机器人装置被举起。
在按照这种方式检测出自己的状态的情况下,当然也可以参照检测与地面的接触状态的检测装置的检测结果。
工业应用性
根据本发明,可以实现一种机器人装置及其控制方法,通过加速度传感器和/或旋转传感器检测角速度和/或旋转角速度,将检测出的信号作为时间序列的时间序列信号存储,根据存储的时间序列信号计算特定信息,根据计算出的特定信息识别自己的状态,根据识别出的自己的状态控制机器人装置的行动,从而可以容易地识别倾斜面的移动和旋转运动的自身的状况,来达到自己行动。
而且,能够实现一种机器人装置及其控制方法,当识别自己的状态是被举起的状态时,通过停止作用于外部的预定的可动部的动作,能够防止作用于外部的可动部的动作所造成的用户的负伤,从而能提高安全性。