CN1590038A - 机器人设备、机器人设备的控制方法和机器人设备用玩具 - Google Patents
机器人设备、机器人设备的控制方法和机器人设备用玩具 Download PDFInfo
- Publication number
- CN1590038A CN1590038A CNA2004100579523A CN200410057952A CN1590038A CN 1590038 A CN1590038 A CN 1590038A CN A2004100579523 A CNA2004100579523 A CN A2004100579523A CN 200410057952 A CN200410057952 A CN 200410057952A CN 1590038 A CN1590038 A CN 1590038A
- Authority
- CN
- China
- Prior art keywords
- bone
- robot device
- mark
- lateral parts
- circularity
- 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 description 99
- 238000012545 processing Methods 0.000 claims abstract description 118
- 238000001514 detection method Methods 0.000 claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 claims description 90
- 208000002193 Pain Diseases 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 25
- 210000002050 maxilla Anatomy 0.000 claims description 11
- 230000006403 short-term memory Effects 0.000 claims description 3
- 230000004069 differentiation Effects 0.000 claims description 2
- 239000000463 material Substances 0.000 claims description 2
- 210000000988 bone and bone Anatomy 0.000 abstract description 222
- 230000008569 process Effects 0.000 description 55
- 230000008451 emotion Effects 0.000 description 36
- 238000006243 chemical reaction Methods 0.000 description 27
- 230000014509 gene expression Effects 0.000 description 26
- 210000003128 head Anatomy 0.000 description 19
- 230000036541 health Effects 0.000 description 11
- 230000005012 migration Effects 0.000 description 11
- 238000013508 migration Methods 0.000 description 11
- 230000009467 reduction Effects 0.000 description 11
- 244000144730 Amygdalus persica Species 0.000 description 10
- 235000006040 Prunus persica var persica Nutrition 0.000 description 10
- 230000007704 transition Effects 0.000 description 9
- 230000006378 damage Effects 0.000 description 8
- 210000001847 jaw Anatomy 0.000 description 7
- 208000027418 Wounds and injury Diseases 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 208000014674 injury Diseases 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 230000004888 barrier function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003116 impacting effect Effects 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005286 illumination Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- 230000036528 appetite Effects 0.000 description 2
- 235000019789 appetite Nutrition 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009194 climbing Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000013536 elastomeric material Substances 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 210000001930 leg bone Anatomy 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 239000000975 dye Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 210000003455 parietal bone Anatomy 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000392 somatic effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000031068 symbiosis, encompassing mutualism through parasitism Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Toys (AREA)
Abstract
机器人设备1是一种四足可移动机器人,腿部单元3A、3B、3C和3D与身体部分2的前后端的左右两侧连接。头部单元4与身体单元2的前端连接。头部单元4具有能够咬住形状类似于骨头的玩具200的嘴(颚)部。嘴部由上颚部和下颚部构成,并采用能够咬住骨头200的可咬部分203的结构。作为控制部分的CPU执行和识别骨头200的图像识别处理算法,咬住骨头的咬骨控制算法,和检测骨头的咬骨检测算法相应的程序。
Description
技术领域
本发明涉及最好适用于娱乐机器人的机器人设备,控制机器人设备的方法和机器人设备用玩具,其中借助图像识别处理,机器人设备具有识别能力,并且能够用嘴发出咆哮,搬运物体和玩耍,所述方法涉及机器人设备的控制。
背景技术
“机器人”意味着通过电或磁操作,产生和人类动作类似的动作的机械设备。“robot”的语源被认为是斯拉夫语“ROBOTA(苦役机器)”。在日本,机器人从六十年代末开始流行。这些机器人中的大多数都是针对工厂的生产工作中的自动化和无人操作的工业机器人,例如机械手,传送机器人等。
近年来,在有腿机器人,例如模仿诸如狗、猫、熊之类四足动物的身体机构或者它们的动作的宠物机器人,和模仿诸如猿、人类之类两足动物的身体机构的人形机器人的结构和稳定行走控制方面,做了许多研究,取得了一些发展。出现实际使用这些机器人的前景。这些有腿机器人比爬行机器人更不稳定,并且存在姿态控制和行走控制方面的困难。但是这些机器人更优秀,因为这些机器人能够实现灵活行走和跑动,例如机器人能够爬楼和爬坡。
类似于固定于特定位置使用的机械手的固定机器人只在用于组件装配工作和选择工作的固定局部工作空间工作。相反,移动机器人的工作空间不受限制,移动机器人沿着预定路线或者无路线地自由移动,代替执行预定的或者任何人类工作,或者代替人类、狗或任何其它生物提供各种服务。
有腿机器人的一种应用是代替执行工业和生产活动中的各种艰苦工作。例如,代替执行危险服务和艰苦工作,例如原子能电厂,热电厂和石化厂中的维护服务,制造工厂中的搬运和装配服务,高层建筑的清洁,火灾或其它灾难中的营救等。
有腿机器人的另一应用不是如上所述的辅助服务,而是一种与人类生活的密切配合,即与人类的“共生”或者“娱乐表演”。这种机器人高度逼真地重复有腿动物,例如人类,狗(宠物),熊,或者相对智能的其它有腿动物的动作机构。另外,这种机器人不仅被要求高度逼真地执行预先输入的模式化动作,而且被要求动态实现对用户的单词和姿态(“赞扬”,“责骂”,“打击”等)的生动响应的表达。
本申请人在日本专利申请特许公开No.2001-191280和其它材料中公开一种执行动作的控制方法,其中具有两只或更多腿的机器人设备识别粉色球,走到球前并踢球。
但是,上面描述的机器人设备不能把球咬在嘴中或夹持在类似部位中,或者在球被咬在其嘴中的情况下移动或玩耍,虽然该机器人设备能够通过踢球或拾球,把球移开。如果机器人设备能够举起或搬运咬在其嘴中的玩具,或者在夹持玩具的同时滚动玩具,那么能够表现更丰富更生动的动作。
发明内容
鉴于上述情形,做出了本发明,本发明的目的是提供一种通过举起或搬运咬在其嘴中的玩具,或者在夹持玩具的同时滚动玩具,能够执行丰富并且生动的动作的机器人设备,所述机器人设备的控制方法,和所述机器人设备用玩具。
为了实现上述目的,根据本发明一个方面的机器人设备根据外部环境,自主做出动作,所述机器人设备包括拾取外部环境中的物体的图像的图像拾取装置;根据图像拾取装置拾取的图像,计算包括在图像数据中的标记的圆度的计算装置;和根据计算装置计算的圆度,区分物体的特征部分的区分装置,其中当所述物体是具有将被在机器人设备的头部单元中形成的嘴部咬住的棒状可咬部分,和分别在其两端形成的,基本上均呈三角形的二个侧面部分(所述可咬部分介于这两个侧面部分之间)的玩具时,计算装置计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,区分装置根据圆度,把可咬部分和侧面部分相互区分开。
计算装置计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,区分装置根据圆度,把可咬部分和侧面部分相互区分开。
另外,为了实现上述目的,根据本发明另一方面的机器人设备的控制方法用于根据外部环境,自主做出动作的机器人设备,所述方法包括:拾取外部环境中的物体的图像的图像拾取步骤;根据在图像拾取步骤中拾取的图像,计算包括在图像数据中的标记的圆度的计算步骤;和根据在计算步骤中计算的圆度,区分物体的特征部分的区分步骤,其中当所述物体是具有将被在机器人设备的头部单元中形成的嘴部咬住的棒状可咬部分,和分别在其两端形成的,基本上均呈三角形的二个侧面部分(所述可咬部分介于这两个侧面部分之间)的玩具时,在计算步骤中计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,在区分步骤中,根据圆度,把可咬部分和侧面部分相互区分开。
在计算步骤中,计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,在区分步骤中,根据圆度,把可咬部分和侧面部分相互区分开。
另外,为了实现上述目的,根据本发明另一方面的机器人设备用玩具用于根据外部环境,自主做出动作的机器人设备,所述玩具包括:将被在机器人设备的头部单元中形成的嘴部咬住的棒状可咬部分,和分别在玩具两端形成的,基本上均呈三角形的二个侧面部分,所述可咬部分介于这两个侧面部分之间,其中机器人设备的图像识别处理用和标记一起施加的颜色分别对可咬部分和两个侧面部分的预定区域着色,计算标记的圆度,并根据圆度,把所述可咬部分和所述两个侧面部分区分开。
按照根据本发明的机器人设备,计算装置计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,区分装置根据圆度,把可咬部分和侧面部分相互区分开。于是,机器人设备能够识别特殊的玩具,咬住并保持该玩具,在咬住玩具的同时搬运该玩具,在把玩具咬在嘴里的同时滚动该玩具。从而,能够执行更丰富更生动的动作。
按照根据本发明的机器人设备的控制方法,在计算步骤中,计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,在区分步骤中,根据圆度,把可咬部分和侧面部分相互区分开。于是,能够识别特殊的玩具,咬住并保持该玩具,在咬住玩具的同时搬运该玩具,在把玩具咬在嘴里的同时滚动该玩具。从而,能够执行更丰富更生动的动作。
根据本发明的机器人设备用玩具具备将被在机器人设备的头部单元中形成的嘴部咬住并保持的棒状可咬部分,和分别在玩具两端形成的,基本上均呈三角形的二个侧面部分,所述可咬部分介于这两个侧面部分之间。机器人设备的图像识别处理用对标记施加的颜色分别对可咬部分和两个侧面部分的预定区域着色。计算标记的圆度,以便把所述可咬部分和所述两个侧面部分相互区分开,从而机器人设备能够咬住玩具或者搬运叼在嘴里的玩具。
附图说明
图1是表示机器人设备的外形的透视图;
图2是表示机器人设备的电路结构的方框图;
图3A-图3D表示玩具(骨头)的外形;
图4是说明圆形的表格;
图5A和图5B表示玩具(骨头)的真实图像和粉红色表面积的计算结果;
图6是说明基于圆度的识别的图表;
图7A和图7B表示球的真实图像和粉红色表面积的计算结果;
图8A和图8B表示玩具(骨头)的侧面部分和可咬部分的真实图像和粉红色表面积的计算结果;
图9A和9B说明补偿处理和扩充处理;
图10是识别骨头,球和粉红色的整个图像识别处理程序的流程图的一部分;
图11是识别骨头,球和粉红色的整个图像识别处理程序的流程图的剩余部分;
图12是表示关于骨头,球和粉红色的标记处理程序的流程图的一部分;
图13是表示关于骨头,球和粉红色的标记处理程序的流程图的剩余部分;
图14是骨棒细节处理程序的流程图;
图15是中性带1细节处理程序的流程图的一部分;
图16是中性带1细节处理程序的流程图的剩余部分;
图17是骨头侧面细节处理程序的流程图的一部分;
图18是中性带2细节处理程序的流程图的一部分;
图19是中性带2细节处理程序的流程图的剩余部分;
图20是球细节处理程序的流程图;
图21是例外细节处理程序的流程图;
图22A和图22B是整个骨头的真实图像和图像处理结果;
图23A和图23B是骨头的可咬部分的真实图像和图像处理结果;
图24A和图24B是直立骨头的真实图像和图像处理结果;
图25A和图25B是球的真实图像和图像处理结果;
图26A和图26B是球和骨头的真实图像和图像处理结果;
图27是表示咬骨控制算法的处理程序的流程图的一部分;
图28是表示咬骨控制算法的处理程序的流程图的剩余部分;
图29A-图29C表示咬住水平放置的骨头的机器人设备的一个交互作用例子;
图30A-图30E表示咬住直立骨头的机器人设备的一个交互作用例子;
图31A-图31D表示机器人设备的另一交互作用例子;
图32是说明用于咬住骨头的机器人设备的嘴(颚)的结构的侧视图;
图33是说明用于咬住骨头的机器人设备的嘴(颚)的结构的前视图;
图34是说明用于咬住骨头的机器人设备的嘴(颚)的结构的透视图;
图35是说明用于咬住骨头的机器人设备的嘴(颚)的主要部分的侧视图;
图36是说明用于咬住骨头的机器人设备的嘴(颚)的主要部分的侧视图;
图37是咬住检测/控制单元的方框图;
图38是表示咬住检测/控制单元的处理程序的流程图;
图39是表示机器人设备的软件结构的方框图;
图40是表示机器人设备的软件结构中的中间件层的结构的方框图;
图41是表示机器人设备的软件结构中的应用层的结构的方框图;
图42是表示机器人设备的软件结构中的应用层中的动作模型库的结构的方框图;
图43说明确定概率自动机(automaton),确定概率自动机是用于确定机器人设备的动作的信息;和
图44表示为确定概率自动机的每个节点准备的状态迁移表。
具体实施方式
下面参考附图,说明本发明的一个实施例。该实施例和响应环境(或外部刺激)或者内部条件,执行自主动作的自主机器人设备相关。特别地,该机器人设备恰当地驱动其四条腿,相对于地面移动它的身体。
该机器人设备借助由CPU(中央处理器)执行的图像识别处理算法,咬骨头控制算法和咬住检测算法(后面说明),识别特殊的玩具(后面说明)。随后,机器人设备做出前往该玩具,把玩具保持在嘴里,在咬住玩具的同时行走的动作。
下面首先说明机器人设备的结构。
如图1中所示,根据本实施例的机器人设备1是四足行走型有腿机器人。腿部单元3A、3B、3C和3D在身体单元2的左右两侧与身体单元2的前后部分连接,头部单元4与身体单元2的前端连接。头部单元4具有能够咬住并保持作为根据本发明的玩具的一个具体例子的骨头形玩具(下面简称为骨头)的嘴(颚)部。嘴部具有上颚部和下颚部,并采用咬骨头200的可咬部分203的结构牢固地咬住该骨头。嘴部的结构将在后面更详细地说明。
如图2中所示,身体单元2包含控制部分16和作为机器人设备1的电源的电池17,在控制部分16中,CPU 10,DRAM(动态随机存取存储器)11,闪速ROM(只读存储器)12,PC(个人计算机)卡接口电路13,和信号处理电路14通过内部总线15相互连接。另外,身体单元2包含检测机器人设备1的定向和运动加速度的角速度传感器18和加速度传感器19。
在头部单元4中的预定位置,设置检测环境亮度的CCD(电荷耦接器件)照相机20,测量到前方任何物体的距离的距离传感器22,收集外部声音的麦克风23,输出各种声音的扬声器24,和等同于机器人设备1的“眼睛”的LED(发光二极管)(未示出)。
此外,腿部单元3A-3D的关节部分,腿部单元3A-3D和身体部分2之间的连接部分,和头部单元4和身体单元2之间的连接部分都配有致动器261-26n之一和电位计271-27n之一。例如,在其自身结构中,致动器261-26n均包括一个伺服电动机。通过驱动伺服电动机,控制腿部单元3A-3D转变成目的姿态或操作。当然,行走动作由腿部单元3A-3D相对于地面的自由动作构成。
此外,包括角速度传感器18,加速度传感器19,触觉传感器21,距离传感器22,麦克风23,扬声器24和电位计271-27n的各种传感器,以及LED和致动器261-26n分别通过对应的集线器(hub)281-28n与控制部分16的信号处理电路14连接。CCD照相机20和电池17均直接与信号处理电路14连接。
信号处理电路14有序地接收从上述传感器供给的传感器数据,图像数据和音频数据,并分别通过内部总线15,把数据保存在DRAM 11中的预定位置。本实施例中,信号处理电路14对CCD照相机20获得的物体的图像信号进行预定的视频信号处理,并将其作为图像数据保存在DRAM 11中的预定位置。信号处理电路14有序接收从电池17供给的表示剩余电量的剩余电量数据,并把该数据保存在DRAM 11中的预定位置。
当CPU随后执行机器人设备1的操作控制时,使用保存在DRAM 11中的传感器数据,图像数据,音频数据和剩余电量数据。利用以表征本发明的图像识别处理算法,咬骨头控制算法和咬住检测算法为基础的程序(即图像识别处理程序,咬骨头检测程序和咬住检测程序),控制CPU10进行的操作控制。这些算法将在后面详细说明。
实际上,在接通机器人设备1的电源之后的初始阶段中,CPU 10直接或者通过PC卡接口电路13读取保存在插入身体部分2的PC卡插槽(未示出)中的存储卡29或闪速ROM 12中的用于上述控制处理的程序。CPU 10把程序保存到DRAM 11中。
另外,CPU 10根据如上所述,信号处理电路14有序保存在DRAM11中的传感器数据,图像数据,音频数据和剩余电量数据,确定机器人设备自身的状况,环境情况,是否存在来自用户的指令和动作。
CPU 10还根据确定结果做出判断,另外根据上述程序,驱动致动器261-26n中必需的一些致动器。从而使机器人设备动作,例如把骨头咬在其头部单元4的嘴部中,头部单元4点头或摆动,或者驱动腿部单元3A-3D行走。
此时,在需要的情况下,CPU 10产生音频数据,并通过信号处理电路14,把该数据作为音频信号供给扬声器24,从而向外输出基于音频信号的声音,或者打开/关闭或闪烁LED。从而,机器人设备1被构造成响应自身的状况,环境情况和来自用户的指令和动作,自主动作。
图3A和图3D表示了玩具的外形,在把该玩具咬在嘴中时,机器人设备1玩弄该玩具。该玩具的形状类似于骨头,通常使人们想象狗正在玩弄它嘴中的骨头。图3A表示了稳定放置在地面上的玩具。图3B表示直立在地面上的玩具。图3C是表示稳定放置在地面上的玩具的前视图。图3D是稳定放置在地面上的玩具的侧视图。该骨头形玩具具有在棒形可咬部分203两端的基本上呈三角形的侧面部分201L和201R。可咬部分203的颜色为粉红色。在侧面部分201L和201R的外侧上设置有Y形粉红色区202。形成从外圆周到可咬部分203逐渐加厚的侧面部分201L和201R的内侧204L和204R。可咬部分203足够长,可被机器人设备1的头部单元4的嘴部咬住并保持在嘴中。从而形成从外圆周到可咬部分203逐渐加厚的内侧204L和204R。于是,如果机器人设备咬住和任一侧面部分接近的一部分,那么厚度的斜面使咬住位置移向中央部分。
机器人设备1借助CCD照相机20获得玩具200的图像,利用信号处理电路14处理图像的信号,并把图像数据保存到DRAM 11中。机器人设备1从DRAM 11获得图像数据,根据CPU 10执行的图像识别处理程序,识别它自己的玩具。通过识别可咬部分203与侧面部分201L和201R的粉红色区的形状,能够实现基于图像的识别。通过识别粉红色区的形状,能够确定可咬部分203的定向,和机器人设备1是否能够咬住并保持玩具。根据可咬部分203上的标记的定向,能够检测骨头的角度。
下面说明机器人设备1识别玩具的识别方法。虽然根据图像识别处理程序执行该方法,不过将从识别方法的原理开始说明。机器人设备1根据CCD照相机20获得的图像数据,计算粉红色区的圆度,并利用圆度值识别玩具。机器人设备区分作为玩具的特征部分的可咬部分和侧面部分。根据粉红色区的面积和其周长(boundary length),利用下面的表达式获得圆度R。
R=4π面积/(周长*周长) (1)
可对粉红色区进行扩充处理和补偿处理,以提高识别性能。
图4表示就“圆”、“正方形”和“正三角形”来说的面积,周长和圆度。图5A和5B表示表现玩具和粉红色球的真实图像,及其图像处理结果(表示粉红色表面积的计算结果)。
实际上,机器人设备1根据表达式(1)获得的圆度,以及短时期内保存的数据,对获得的对象分类。如图6中所示,当形状接近圆形时,圆度从0.0增大到1.0。换句话说,当形状越来越不同于圆形时,圆度降低。
例如,如果圆度R在0.7-1.0的范围内,那么识别其实际图像和图像处理结果示于图7A和图7B中的粉红色球。如果圆度R在0.55-0.6的范围内,那么识别其实际图像和图像处理结果示于图8A和图8B中的玩具的侧面部分201L或201R。如果圆度R在0.15-0.5的范围内,那么识别其实际图像和图像处理结果示于图8A和图8B中的玩具的可咬部分203。
0.0-0.15的圆度R表示噪声带。0.5-0.55的圆度R表示中性带1。0.6-0.7的圆度R表示中性带2。根据照明条件和视角,圆度R可随着时间而变化。即使圆度R落入噪声带中,只要粉红色区具有恒定的面积或更大面积,对象就被归类为未经确认的粉红色对象。虽然当前带度R落入中性带1内,不过只要记忆了圆度R曾经落入可识别可咬部分203的范围0.15-0.5内,就识别为可咬部分203。类似地,只要记忆了圆度R曾经落入范围0.55-0.6内,就识别为侧面部分201。如果没有类似记忆,那么识别为未经确认的粉红色对象。另外,虽然圆度R当前在中性带2内,不过只要记忆了圆度R曾经落入可识别粉红色球的范围0.7-1.0内,就识别为粉红色球。类似地,如果记忆了圆度R曾经落入范围0.55-0.6内,那么就识别为侧面部分201。如果不存在类似记忆,那么识别为未经确认的粉红色对象。
通过根据圆度R和短期记忆进行分类,能够消除玩具(骨头200)与粉红色球的误识别。此外,还能够响应环境稳健性。
下面,参考图9A和图9B,说明提高识别性能的补偿处理和扩充处理的原理。在照明的影响下,在拣取的(pick)球或玩具的各个部分产生白光(white-out)斑点102和阴影105,从而球或玩具看起来部分碎裂。从而,圆度的测量值会和逻辑值不一致,导致形状的错误识别。于是,沿横向方向和纵向方向扫描标记(label)的内部,并且把标记强制分配给在两个横向端点和在两个纵向端点之间,未被标记的那些象素。附图标记103表示以横向扫描为基础的补偿,附图标记104表示以纵向扫描为基础的补偿。用和标记相同的颜色过度着色(over paint)白光斑点102的各个部分和阴影105的暗色部分。从而,补偿标记的圆度接近逻辑值,从而提高识别准确性。在一些情况下,仍有不能通过补偿处理弥补的部分106。当然,通过花费较长的时间进行倾斜扫描,能够更强制地应用该程度。另一方面,可执行用相同的颜色过度着色8个周围象素的扩充处理。在扩充处理中,粉红色区被扩展到虚线所示的区域。
下面,参考图10-21,说明通过由CPU 10执行图像识别处理程序,机器人设备1执行的图像识别处理的流程。首先,在图10中的步骤S1中获得图像数据。该图像数据是CCD照相机20拾取的,经过信号处理电路14的视频信号处理,并且保存在DRAM 11中的图像。随后,从颜色数据表(CDT)获得粉红色通道的数据。硬件能够计算图像的哪些部分是粉红色。于是,如果获取粉红色通道的图像,那么由x方向的任何数量的象素和y方向的任何数量的象素确定的象素是否是粉红色可被检测为由1或0表示的数据。例如,如果该象素是粉红色,那么数据为1。否则,数据为0。
流程图表示自步骤S2的分支处理,其中如后所述,频繁噪声环境处理被打开或关闭。在步骤S3中,对CDT的粉红色通道的数据只进行一次扩充处理。前面已参考图9A和图9B说明了扩充处理。该扩充处理是把环绕位于边界部分的粉红色象素的8个周围象素同样涂成粉红色,从而弥补在受照明影响下产生的白光斑点的处理。步骤S2之后是步骤S4~S6,这里省略对它们的说明。
随后,在步骤S7中,进行标记处理。标记处理是获得一个图像中存在多个粉红色群集的方法。例如,如果如图8B中所示,存在对应于玩具的可咬部分203的粉红色群集,和对应于侧面部分201R的粉红色群集,那么存在两个粉红色群集。
在步骤S8中,进行补偿处理。上面已参考图9A和图9B说明了补偿处理,这里不再赘述。补偿处理将填补甚至不能由步骤S3中执行的扩充处理弥补的那些白光斑点。
但是,如果由于从步骤S1中的图像数据的获取到关于粉红色通道的数据获取处理的色温等的缘故,机器人设备1错误地把木地板和肤色识别成粉红色,那么在稍后的扩充处理,标记处理和补偿处理中必须进行大量的数据处理。为了避免这种情况,当机器人设备1进入频繁产生噪声的环境中时,进行缩减。缩减是与扩充相反的处理。如果象素不是粉红色,那么用不同于粉红色的颜色着色环绕该象素的8个周围象素。按照这种方式,能够消除较小的噪声,能够减少标注的数目。
于是,在步骤S9中,检查标记的数目是否是常数或者更大。如果标记的数目被确定为常数(10)或更大,那么开始频繁噪声环境处理(步骤S10)。另外,当获得下一图像数据时,在步骤S2中确定频繁噪声环境处理已被开启。处理进入步骤S4,并执行缩减处理,以消除小噪声。通过该缩减,粉红色区被缩减成更小。于是,在步骤S5中计算缩减释放值,在步骤S6中执行两次扩充处理。
当在步骤S4中进行缩减时,在步骤S5中,计算表示从缩减前的状态,缩减粉红色区多少的差值。计算缩减处理之后不是粉红色的象素的累积。在噪声由粉色点组成的情况下,通过缩减,噪声的颜色被改变成不同的颜色。如果粉红色噪声消失,并且环境照明改变,以致只显露粉红色球,那么通过缩减,只改变粉红色球的轮廓。从而,和在粉红色噪声的情况下相比,粉红色区被缩减的数量总体较小。从而,步骤S5是执行计算通过缩减,粉红色象素被过度着色的百分率的处理。
如果在步骤S9中确定标记的数目仍然大于常数,那么当获得下一图像数据时,在步骤S4中进行缩减处理。否则,如果在步骤S9中确定标记的数目小于常数,并且如果在步骤S11中确定频繁噪声环境处理开启,那么处理进入步骤S12。在步骤S12中,确定是否能够清除缩减释放条件。如果能够,那么在步骤S13中关闭频繁噪声环境处理。
图22A和图22B~图26A和26B表示骨头和球的图像处理结果。这些是通过直到图10中步骤S13的处理过程获得的图像处理结果。根据这些图像处理结果,如后所述,执行图11中步骤S14-S19的处理过程。图22A表示整个骨头的图像。图22B表示图像处理结果。从图中可看出,可咬部分和侧面部分的粉红色部分被稍微扩展。图23A是从基本上前面观察的骨头的可咬部分的图像。可发现白光。图23B表示其中由于执行补偿处理和扩充处理的结果,白光斑点被消除的图像处理结果。图24是直立的骨头的图像。图24B表示其中由于对侧面部分进行补偿处理的结果,三角形的底边基本变成直线的图像处理结果。图25A是球的图像。由于来自照明的影响,产生白光。根据图25B的图像处理结果,发现补偿处理和扩充处理消除了白光斑点,并且粉红色区被扩充。图26A是一起表示骨头和球的图像。根据图26B的图像处理结果,每个粉红色部分经历补偿处理和扩充处理。
随后,过程进入图11中的步骤S14。如步骤S14中所写,计算每个标记,例如玩具(骨头)的可咬部分(棒)和侧面部分,球,粉红色的未经确定的物体的标记,在图像上的面积,质心,周长,圆度和倾角。根据上面描述的信息和历史(过去的记忆),各个标记被归入骨头的可咬部分,骨头的侧面部分,粉红色球,粉红色的未经确定的物体,和噪声。图11中的步骤S14中的标记处理具有如图12中所示的子例程。
在图12中的子例程中,根据所有标记的处理是否已完成,步骤S21形成分支。如果已处理标记的数目还未达到全部标记的数目,那么在步骤S22中计算图像上,每个标记S的面积,质心(x,y),周长L,圆度R=4πS/(L*L),和倾角θ(二次矩方法)。
此外,在步骤S22中获得的上述信息被用于检查圆度R的值是否落入玩具(骨头)的棒状部分的范围内。例如,如果确定圆度R为0.4,落入图6中的棒状部分的范围内,那么过程进入步骤S24,并执行骨棒(bone-stick)细节处理。步骤S24中的骨棒细节处理将在后面说明。
如果在步骤S23中确定标记的圆度值不在骨头的棒状部分的范围内,并且如果在步骤S25中确定该值在中性带1的范围之内,那么过程进入步骤S26,执行中性带1细节处理。步骤S26中的中性带1细节处理也将在后面说明。
如果在步骤S25中确定圆度值不在中性带1的范围内,并且如果在步骤S27中确定圆度值在骨头的侧面部分的范围内,那么过程进入步骤S28,执行骨头侧面部分处理。步骤S28中的骨头侧面部分处理也将在后面说明。
如果在步骤S27中确定标记的圆度值不在骨头的侧面部分的范围内,并且如果在步骤S29中确定圆度值在中性带2的范围之内,那么过程进入步骤S30,执行中性带2细节处理。步骤S30中的中性带2细节处理也将在后面说明。
如果在步骤S29中确定标记的圆度值不在中性带2的范围内,并且如果在步骤S31中确定圆度值在球的范围之内,那么过程进入步骤S32,执行球细节处理。步骤S32中的球细节处理也将在后面说明。
如果在步骤S29中确定标记的圆度值不在中性带2的范围内,并且如果在步骤S31中确定圆度值不在球的范围之内,那么过程进入步骤S33,执行例外细节处理。步骤S33中的例外细节处理也将在后面说明。
当完成步骤S24中的骨棒细节处理,步骤S26中的中性带1细节处理,步骤S28中的骨头侧面部分细节处理,步骤S30中的中性带2细节处理,步骤S32中的球细节处理,和步骤S33中的例外细节处理时,执行图13中的步骤S34、S35、S36和S37,过程随后返回步骤S21。如果在步骤S21确定已完成所有标记的处理,那么关于每个标记的处理结束。
图14表示步骤S24中的骨棒细节处理的子例程。首先,在步骤S2401中,确定标记面积等于或大于区别(distinctive)面积(预定阈值)的条件,或者在前一帧中已识别骨棒的条件是否被满足。虽然已计算了标记面积S,意图根据标记面积S是否等于或大于预定阈值(例如50象素,100象素等),保证更高的可靠性。如果物体远离机器人设备,那么对于机器人设备来说,物体看起来较小。此时,球和骨头被错误识别。实际上,已事先得到当物体距离40或50厘米时,象素如何呈现。其值被用作阈值,以便确定标记面积S是否等于或大于阈值。从而,准备一种不会导致错误识别的情形。随后,标记被识别成骨头的棒状部分(步骤S2402)。另一方面,能够使用表明物体过去被识别成骨头的过去数据(短期记忆)。从而,可假设之后某人可能拣起该骨头,并把骨头从机器人设备那里移开。这种情况下,标记面积较小。如果记忆了过去该物体曾经被识别成骨棒,那么即使该物体目前较小,它也应被识别成棒状物。
在步骤S2403中,确定标记面积是否等于或大于除被识别成棒状物的标记面积之外的任何其它标记面积。其目的是如果多个标记均被识别成骨头的棒状部分,那么比较当前进行识别处理的标记的面积和已处理标记的面积,并保留较大的一个。如果当前进行识别处理的标记较大,那么在步骤S2404中,用当前标记的数值更新在骨头的棒状部分图像上的面积,质心,圆度和倾角。
如果在步骤S2401中确定标记面积S不等于或大于区别面积,或者在前一帧中未识别出任何骨棒,那么过程进入步骤S2405。在步骤S2405中,确定标记面积是否等于或大于最小的可检测面积,或者在前一帧中是否看到粉红色(未经确认的粉红色物体)。例如在步骤S2401中识别出50个象素,并且最小可检测面积是10个象素的情况下,如果当前观察的标记的面积是20个象素,那么确定结果为是。随后,过程进入步骤S2406,该面积不被识别成球或骨头,而是被识别成未经确认的粉红色物体。其面积小于10个象素的标记被处理成噪声。至多在离照相机80厘米的距离内能够识别粉红色。这是以当粉红色区逼近照相机,例如离照相机40-50厘米时,粉红色区能够被明确地识别成骨头或球的前提条件为基础。此外,在步骤S2407中,确定标记面积是否等于或大于除被识别成未经确认的粉红色物体的标记面积之外的任何其它标记面积。其目的是如果多个标记均被识别成未经确认的粉红色物体,那么比较当前进行识别处理的标记的面积和已处理标记的面积,并保留较大的一个。如果当前进行识别处理的标记较大,那么在步骤S2407中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。
下面,参考图15和图16说明步骤S26中的中性带1细节处理的子例程。首先,确定标记面积是否等于或大于区别面积(预定的阈值),或者在前一帧中是否识别出骨棒或侧面部分。确定标记面积是否等于或大于区别面积,以便准备其中不发生任何错误识别的情形。另外,由于和步骤S2401类似的原因,确定在前一帧中是否识别出骨棒或侧面部分。即,如果记忆了过去该区域曾经被识别成骨棒或者侧面部分,那么即使该区域目前较小,它也应被识别成骨棒或侧面部分。
在步骤S2602中,确定在前一帧中是否识别出骨棒。如果是,那么过程进入步骤S2603,把该标记识别成骨棒。在步骤S2604中,确定标记面积是否等于或大于除被识别成骨棒的标记面积之外的任何其它标记面积。其目的是如果多个标记均被识别成骨头的棒状部分,那么比较当前进行识别处理的标记的面积和已处理标记的面积,并保留较大的一个。如果当前进行识别处理的标记较大,那么在步骤S2405中,用当前标记的数值更新在骨头的棒状部分的图像上的面积,质心,圆度和倾角。
如果在步骤S2601中确定标记面积S不等于或大于区别面积,或者在前一帧中既没有识别出骨棒,也没有识别出侧面部分,那么过程进入图16中的步骤S2606。随后,确定标记面积是否等于或大于最小可检测面积,或者在前一帧中是否观察到粉红色。如果在步骤S2606中确定标记面积等于或大于最小可检测面积,或者在前一帧中观察到粉红色,那么过程进入步骤S2607,该标记不被识别成球或骨头,而是被识别成未经确认的粉红色物体。在步骤S2608中,确定标记面积是否等于或大于除被识别成未经确认的粉红色物体的标记面积之外的任何其它标记面积。其目的是如果多个标记均被识别成未经确认的粉红色物体,那么比较当前进行识别处理的标记的面积和已处理标记的面积,并保留较大的一个。如果当前进行识别处理的标记较大,那么在步骤S2609中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。
如果在步骤S2602中确定在前一帧中未识别出骨棒,那么过程进入步骤S2610,确定是否识别出骨头的侧面部分。如果在前一帧中识别出骨头的侧面部分,那么过程进入步骤S2611,标记被识别成骨头的一个侧面部分。在步骤S2612中,确定标记面积是否等于或大于除被识别成侧面部分的标记面积之外的任何其它标记面积。其目的是如果多个标记均被识别成侧面部分,那么比较当前进行识别处理的标记的面积和已处理标记的面积,并保留较大的一个。如果当前进行识别处理的标记较大,那么在步骤S2613中,用当前标记的数值更新在骨头的侧面部分的图像上的面积,质心,圆度和倾角。如果步骤S2605、S2609和S2613中的处理被完成,或者如果在步骤S2601、S2604、S2606、S2608、S2610和S2612中的每个分支处理中确定结果为否,那么结束中性带1细节处理。
下面,参考图17说明步骤S28中的骨头侧面部分细节处理的子例程。首先,在步骤S2801中,确定标记面积是否等于或大于区别面积(预定的阈值),或者在前一帧中是否识别出侧面部分。由于和步骤S2401类似的原因,确定标记面积是否等于或大于区别面积,以便准备其中不发生任何错误识别的情形。另外,由于和步骤S2401类似的原因,确定在前一帧中是否识别出骨头的侧面部分。即,如果记忆了过去该区域曾经被识别成骨头的侧面部分,那么即使该区域目前较小,它也应被识别成侧面部分。
在步骤S2802中,该标记被识别成骨头的侧面部分。在步骤S2803中,确定标记面积是否等于或大于除被识别成侧面部分的标记面积之外的任何其它标记面积。这是当多个标记均被识别成侧面部分时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S2804中,用当前标记的数值更新在骨头的侧面部分的图像上的面积,质心,圆度和倾角。
如果在步骤S2601中确定标记面积S不等于或大于区别面积,或者在前一帧中没有识别出骨头的侧面部分,那么过程进入步骤S2805。随后,确定标记面积是否等于或大于最小可检测面积,或者在前一帧中是否观察到粉红色。如果在步骤S2805中确定标记面积等于或大于最小可检测面积,或者在前一帧中观察到粉红色,那么过程进入步骤S2806,该标记不被识别成球或骨头,而是被识别成未经确认的粉红色物体。在步骤S2807中,确定标记面积是否等于或大于除被识别成未经确认的粉红色物体的标记面积之外的任何其它标记面积。这是当多个标记均被识别成未经确认的粉红色物体时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S2808中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。
下面,参考图18和图19说明步骤S30中的中性带2细节处理的子例程。首先,在步骤S3001中,确定标记面积是否等于或大于区别面积(预定的阈值),或者在前一帧中是否识别出骨头的侧面部分。
在步骤S3002中,确定在前一帧中是否识别出骨头的侧面部分。如果是,那么过程进入步骤S3003,标记被识别成骨头的一个侧面部分。在步骤S3004中,确定标记面积是否等于或大于除被识别成骨头的侧面部分的标记面积之外的任何其它标记面积。这是当多个标记均被识别成骨头的侧面部分时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S3005中,用当前标记的数值更新在骨头的侧面部分的图像上的面积,质心,圆度和倾角。
如果在步骤S3001中确定标记面积S不等于或大于区别面积,或者在前一帧中既没有识别出骨头的侧面部分,又没有识别出球,那么过程进入图19中的步骤S3006。随后,确定标记面积是否等于或大于最小可检测面积,或者在前一帧中是否观察到粉红色。如果在步骤S3006中确定标记面积等于或大于最小可检测面积,或者在前一帧中观察到粉红色,那么过程进入步骤S3007,该标记不被识别成球或骨头,而是被识别成未经确认的粉红色物体。在步骤S3008中,确定标记面积是否等于或大于除被识别成未经确认的粉红色物体的标记面积之外的任何其它标记面积。这是当多个标记均被识别成未经确认的粉红色物体时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S3009中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。
如果在步骤S3002中确定在前一帧中未识别出任何骨头的侧面部分,那么过程进入步骤S3010,确定在前一帧中是否识别出球。如果在前一帧中识别出球,那么过程进入步骤S3011,标记被识别成球。在步骤S3012中,确定标记面积是否等于或大于除被识别成球的标记面积之外的任何其它标记面积。这是当多个标记均被识别成球时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S3013中,用当前标记的数值更新在球的图像上的面积,质心,圆度和倾角。如果步骤S3005、S3009和S3013中的处理被完成,或者如果在步骤S3001、S3004、S3006、S3008、S3010和S3012中的每个分支处理中确定结果为否,那么结束中性带2细节处理。
下面,参考图20说明步骤S32中的球细节处理的子例程。首先,在步骤S3201中,确定标记面积是否等于或大于区别面积(预定的阈值),或者在前一帧中是否识别出球。由于和步骤S2401类似的原因,确定标记面积是否等于或大于区别面积,以便准备其中不发生任何错误识别的情形。另外,由于和步骤S2401类似的原因,确定在前一帧中是否识别出球。即,如果记忆了过去该区域曾经被识别成球,那么即使该区域目前较小,它也应被识别成球。
在步骤S3202中,该标记被识别成球。在步骤S3203中,确定标记面积是否等于或大于除被识别成球的标记面积之外的任何其它标记面积。这是当多个标记均被识别成球时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S3204中,用当前标记的数值更新在球的图像上的面积,质心,圆度和倾角。
如果在步骤S3201中确定标记面积S不等于或大于区别面积,或者在前一帧中没有识别出球,那么过程进入步骤S3205。随后,确定标记面积是否等于或大于最小可检测面积,或者在前一帧中是否观察到粉红色。如果在步骤S3205中确定标记面积等于或大于最小可检测面积,或者在前一帧中观察到粉红色,那么过程进入步骤S3206,该标记不被识别成球或骨头,而是被识别成未经确认的粉红色物体。在步骤S3207中,确定标记面积是否等于或大于除被识别成未经确认的粉红色物体的标记面积之外的任何其它标记面积。这是当多个标记均被识别成未经确认的粉红色物体时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S3208中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。
下面,参考图21说明步骤S33中的例外细节处理的子例程。在步骤S3301中,确定标记面积是否等于或大于最小可检测面积,或者在前一帧中是否观察到粉红色。如果在步骤S3301中确定标记面积等于或大于最小可检测面积,或者在前一帧中观察到粉红色,那么过程进入步骤S3302,该标记不被识别成球或骨头,而是被识别成未经确认的粉红色物体。在步骤S3303中,确定标记面积是否等于或大于除被识别成未经确认的粉红色物体的标记面积之外的任何其它标记面积。这是当多个标记均被识别成未经确认的粉红色物体时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S3304中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。
如上所述,骨棒细节处理(图12中的步骤S24),中性带1细节处理(步骤S26),骨头侧面部分细节处理(步骤S28),中性带2细节处理(步骤S30),球细节处理(步骤S32)和例外细节处理(步骤S33)均被完成,从而标记面积被归入这些类别中的任何一种中。随后,过程进入图12中的步骤S34。在步骤S34中,确定标记面积是否等于或大于除被识别成等于或大于最小可检测面积和为粉红色的标记面积之外的任何其它标记面积。这是当多个标记均被识别成未经确认的粉红色物体时执行的处理。如果当前进行识别处理的标记较大,那么在步骤S35中,该标记被识别成未经确认的粉红色物体,并且在步骤S36中,用当前标记的数值更新在未经确认的粉红色物体的图像上的面积,质心,圆度和倾角。步骤S34-S37的处理适用于发出简单跟踪粉红色物品的指令的情况。这仅仅取决于粉红的颜色,而和与形状无关。此外,在步骤S37中,标记的索引被递增,过程返回步骤S21中的处理。
在返回图11之后,执行始于步骤S15的处理。首先,在步骤S15中,执行基于时间滞后的开/关处理。当在图像帧中观察到骨头时,在该时刻对骨头的该观察没有通知应用软件侧。引起时间滞后。例如,假如从未观察到任何骨头的情形逐渐观察到骨头。在连续的三帧或更多帧中持续观察到骨头之前,没有通知观察到骨头。反过来,假设骨头已从被观察到的情况消失。在骨头消失之后继续三帧或更多帧之后,通知骨头的消失。例如,帧速率为30fps,这种情况下帧速率较快,或者帧速率为15fps,这种情况下CPU正在执行另一处理。三帧被用于滞后现象。
随后在步骤S16中,根据其面积,棒状物和侧面部分的计算结果被合成到一根骨头。这是使用棒状物和侧面部分中具有较大面积的一个来识别骨头的处理。在步骤S17中,骨头,球和未经确认的粉红色物体都被转换到照相机坐标系统和机器人坐标系统上。进行转换以致能够明显地了解高度方向,有利于确定骨头,球和物体是如何被放置在地板上的。
随后在步骤S18中,根据高度信息,确定骨头是否被直立放置。由于步骤S17中的转换处理是该确定的基础,因此能够确定骨头是被直立放置还是被水平放置。“直立”意味着图3B中所示的状态,“水平”意味着图3A、图3C或图3D中所示的状态。在分别表示水平放置的图3A、图3C和图3D中,相对于机器人设备倾斜地,横向地和纵向地放置骨头。于是,根据骨头处于图3A和图3D中的哪种状态,机器人设备改变其行为,例如持续行走,追踪,咆哮等。此外,在步骤S19中,骨头,球和未经确认的物体的识别结果被提供给应用软件。
应用软件包括靠近,跟踪,用头去顶,踢倒和咬在嘴里的处理。本实施例中,这一系列的处理将一起被描述成咬住骨头的控制算法。该咬骨头控制算法包括咬住检测算法。
下面参考图27和图28,说明咬骨头控制算法,机器人设备根据该算法发现骨头,走近并跟踪骨头,用头去顶骨头,踢倒骨头,或者咬可咬部分203。接收根据图像识别处理过程识别骨头,球和未经确认的粉红色物体的结果,执行自步骤S41开始的处理。首先,在步骤S41中确定是否观察到骨头。如果未观察到骨头,那么过程进入步骤S50,确定是否观察到未经确认的粉红色物体。否则,如果观察到骨头,那么在步骤S51中进行跟踪。这是追逐将在图像中心捕捉到的观察到的东西的控制。随后,机器人设备靠近未经确认的粉红色物体(步骤S52),并返回步骤S41。
如果在步骤S41中观察到骨头,那么在步骤S42中,机器人设备跟踪骨头,并靠近骨头,同时把骨头保持在图像的中心。在步骤S43中,确定骨头的垂直方向是否接近于机器人设备的地面。这是检测骨头是否被放置在高度基本上与机器人设备的行走平面相同的平面上的处理。如果骨头被放置在高度基本相同的平面上,那么过程进入步骤S44,确定到骨头的距离是否短到足以咬住骨头。否则,如果在步骤S43中,确定骨头未被放置在高度基本上与机器人设备的行走平面相同的平面上。那么机器人设备在步骤S54中等待,或者在步骤S55中请求“给我一根骨头”。根据概率选择步骤S54和S55中的处理。根据过去进行的处理,计算概率,并根据概率进行选择。
如果在步骤S44中确定到骨头的距离短到足以咬住骨头,那么过程进入步骤S45,确定骨头的水平方向(长轴方向)是否(相对于机器人设备的正面方向)处于横向方向。如果确定骨头的水平方向基本上处于横向,那么过程进入图28中的步骤S46。如果在步骤S45中,确定骨头的水平方向并不基本上处于横向,那么机器人设备在步骤S57中旋转身体部分,从而围绕身体部分的侧转轴转向,或者在步骤S58中,侧移并转变机器人设备它自己的方向,该过程随后返回步骤S41。根据概率选择步骤S57和S58中的处理。
随后,在图28中的步骤S46中,确定骨头是否被垂直放置。如果确定骨头被垂直放置,如图3B中的状态,那么机器人设备在步骤S59中咬住并保持直立的骨头,或者在步骤S60中用头或腿放倒骨头。在机器人设备在步骤S59中咬住并保持直立的骨头之后,过程进入后面说明的步骤S49。另一方面,如果在步骤S60中用头或腿放倒骨头,那么过程返回步骤S41。同样根据概率选择步骤S59和S60中的处理。
如果在步骤S46中确定骨头未被直立放置,那么过程进入步骤S47,确定骨头的可咬部分的倾向在屏幕上是否基本水平。即,确定骨头是否处于图3C中所示的状态。如果确定可咬部分在屏幕上基本水平,那么过程进入步骤S48,机器人设备咬住横向放置的骨头。否则,如果在步骤S47中确定在屏幕上,可咬部分不是水平的,那么在步骤S61中用头或腿调整倾向。另一方面,机器人设备在步骤S62中围绕骨头转变方向,过程随后返回步骤S41。根据概率选择步骤S61和S62中的处理。
在于步骤S48中咬住水平放置的骨头之后,或者在于步骤S59中咬住直立的骨头之后,在步骤S49中,确定是否识别出被咬住的骨头。这种咬住检测处理将在后面详细说明。
下面,参考图29A-图29C,图30A-图30E和图31A-图31D,说明由上述控制算法执行的机器人设备的交互作用的具体例子。
在第一个例子中,机器人设备走近水平(和横向)放置的骨头(图29A),蹲下并咬住骨头(图29B)。从而机器人设备成功地咬住水平放置的骨头(图29C)。为了沿着图27和图28中所示的流程图说明该例子,在步骤S45中,骨头的水平方向被确定为基本是横向的。随后在步骤S46中,该骨头被确定为不是直立的。在步骤S47中,确定骨头的可咬部分不是倾斜的,而是基本水平的(即相对于机器人设备是横向的)。在步骤S48中,机器人设备蹲下并咬住水平放置的(即相对于机器人设备是横向的)骨头。此外,在步骤S49中,通过咬住检测处理,该骨送被识别成已被咬住,过程结束。
如果骨头被直立放置在地板上,那么机器人设备扭动它的身体(图30A),靠近直立的骨头(图30B),并从侧面咬住直立的骨头(图30C)。在咬住骨头之后,机器人设备恢复它的身体(图30D),从而成功地咬住直立的骨头(图30E)。这是另一具体例子。为了说明该例子,沿着图27和图28中所示的流程图,在步骤S45中,骨头的水平方向被确定为基本是横向的。在步骤S46中,确定该骨头被直立放置。随后在步骤S59中,咬住直立的骨头。在步骤S49中,通过检测处理,识别该骨头被已被咬住,过程结束。
在交互作用的另一具体例子中,如图31A-31D中所示,在咬住骨头之后,机器人没备可采取下述动作。即,机器人设备可用腿调整骨头(图31A),用腿去摩擦骨头的侧面部分(图31B),或者转动骨头(在计时匹配情况下的图31C或图31D)。
另一方面,在咬住骨头之后,机器人设备可做出走近某人并传递骨头的动作。采用语音识别来识别诸如“拿来”,“拣起”,“给我”之类单词和短语。通过走向声音源,借助图像处理检测面部,挨近该面部,并检测声音“好”,敲击(接触),可取的距离等,执行传递骨头的一系列处理。
另一方面,可使骨头直立在行走平面上,或者通过身体反应或用腿扔掉骨头。还可用咬住的骨头击打球,咬住骨头之后滚动骨头,或者把骨头从嘴里吐出并用一只手(或两只手)抓住骨头。
下面,说明机器人设备1的头部单元4的嘴(颚)的结构。当机器人设备1做出叼骨头200的可咬部分203的动作时,嘴的结构具有某一技术特征。如图32-图34中所示,机器人设备具有位于头部单元4的前下端的可垂直转动的下颚部151。下颚部151具有适合于托住骨头的可咬部分203的凹进部分152。凹进部分152配有橡胶材料,于是具有高的摩擦系数,以避免托住的骨头容易落下。另一上颚部154配有同样由橡胶材料制成的按压部分,从而当放置骨头的下颚部151闭合时,能够安全地挤压骨头的可咬部分203。如图35中所示,骨头的可咬部分203被放置在凹进部分152中,随后闭合下颚部151。骨头能够牢固地由按压部分153和凹进部分152夹住。如图36中所示,即使可咬部分203曾经被放置到下颚部151的过于上面的部分,如果骨头被移回并放置在凹进部分152中,那么骨头也不易于落到地板上。
下面将说明在图28中的步骤S49中的咬住检测处理中使用的咬住检测算法。图2中所示的机器人设备的CPU 10根据PWM,嘴关闭角速度和角加速度,计算作用于嘴部关节的外部转矩的大小和方向。当沿着咬住骨头的方向施加大于某一大小的转矩时,CPU确定某物被咬住。如果确定某物被咬住,那么CPU 10释放增益(gain),以保护人的手指等免受伤害。根据此时的关节角度,确定是咬住骨头还是任何其它物体。如果咬住任何其它物体,那么关闭增益,以防止发生伤害。如果确定咬住骨头,那么把增益改变成适合于使骨头保持被咬住的值,以便保护电动机。
于是,机器人设备1具有咬住检测/控制单元,该单元具有如图37中所示的结构。咬住检测/控制单元具有命令装置160,控制装置161和保持检测装置162。该结构可被表述成当CPU 10执行咬住检测算法时执行的功能。从命令装置160发出的关节(joint)命令值被发送给控制装置161和保持检测装置162。根据来自保持检测装置162的检测结果,命令装置160改变关节命令值。
控制装置161根据关节命令值,向驱动装置163和保持检测装置162提供控制信号。驱动装置163根据控制信号产生驱动力,驱动操作单元164。
当检测到某物被嘴咬住时,保持检测装置162把检测结果发送给命令装置160。命令装置160根据检测结果产生关节命令值,并把命令值发送给控制装置161。
控制装置161根据PWM占空比,嘴关节角速度和角加速度,计算对嘴关节施加的外部转矩的大小和方向。此外,当沿着咬住骨头的方向施加一定大小或者更大的转矩时,控制装置161确定某物被咬住。如果控制装置161确定某物被咬住,那么控制装置161立即向驱动装置发送释放增益的控制信号。这是为了保护人的手指等免受伤害。根据此时的关节角度,控制装置161确定是咬住骨头还是任何其它物体。如果咬住任何其它物体,那么关闭增益,以便防止发生伤害。如果确定咬住骨头,那么把增益改变成适合于使骨头保持被咬住的值,以便保护电动机。
图38表示咬住检测/控制单元中的处理的过程。咬住机构是图32-图36中所示的嘴部结构。即,通过沿着朝着上颚单元154闭合的方面转动下颚单元151,夹住物体。关节确定上颚单元154和下颚单元151之间的角度。电动机产生转动下颚单元151的驱动力。
首先,控制装置161接收关节命令值和PWM信号(占空比)(步骤S70)。在步骤S71中,根据关节命令值,计算连接质量(link mass)和关节摩擦的影响。随后,在步骤S72中,根据电动机型号,计算逻辑PWM占空比。根据增益和在步骤S71中计算的连接质量和关节摩擦的影响,进行该计算。
在步骤S73中,控制装置161计算逻辑PWM占空比和控制信号之间的差值。利用在步骤S72中获得的逻辑PWM占空比和事先接收的控制信号的PWM信号(占空比),进行该计算。在步骤S74中,根据在步骤S73中获得的PWM信号之间的差值的大小,代码和持续时间,评估作用于关节的负载。
随后,在步骤S75中,控制装置161根据步骤S74评估的负载,确定负载是否沿着咬住物体的方向被施加。如果负载沿着咬住物体的方向被施加,那么过程进入步骤S76,确定驱动装置163的电动机增益是否大于预定值。该预定值是提供的产生不会导致疼痛的作用力,防止对人造成伤害的阈值。如果确定电动机增益较大,那么在步骤S77中,向驱动装置163提供减小电动机增益的控制信号,以便不会伤害到人。否则,如果确定电动机增益不大于预定值,那么过程进入步骤S78,根据上颚部154和下颚部151之间的关节角度,确定是否咬住目标物体或骨头。
如果在步骤S79中确定咬住目标物体,那么过程进入步骤S80,电动机增益被设置成即使在持续咬住并保持物体之后,也不会损害电动机的值。否则,如果确定未咬住目标物体,那么过程进入步骤S81,电动机增益被设置成0,从而人不会受到伤害。在步骤S82中通报结果,之后结束处理。
如上所述,根据本实施例的机器人设备1执行图像识别处理过程,咬骨检测过程,和咬住检测程序,从而识别特殊玩具,走近放置玩具的地方,咬住玩具,把玩具叼在嘴里,或者在咬住骨头的同时滚动骨头。从而能够做出更丰富更生动的动作。
下面,说明包括机器人设备1执行的上述程序的软件结构。机器人设备1中的软件结构如图39中所示。图39中,设备驱动器层30被置于程序的最下层,由包括多个设备驱动器的设备驱动器组31构成。这种情况下,设备驱动器是均被允许直接访问普通计算机中使用的硬件的对象,例如,CCD照相机20(图1和图2),定时器等。设备驱动器响应来自对应硬件的中断,执行处理。
机器人服务器对象32置于设备驱动器层30之上,由虚拟机器人33,电源管理器34,设备驱动器管理器35和设计的机器人36组成,虚拟机器人33由提供访问诸如前述各种传感器,致动器251-25n之类硬件的接口的多组软件程序组成,电源管理器34由管理电源等的开关的多组软件程序组成,设备驱动器管理器35由管理其它各种设备驱动器的多组软件程序组成,设计的机器人36由管理机器人设备1的机构的多组软件程序组成。
管理器对象37由对象管理器38和服务管理器39组成。对象管理器38由管理包括在机器人服务器对象32,中间件层40和应用层41中的软件程序的启动和终止的多组软件程序组成。服务管理器39由根据在保存于存储卡29(图2)中的连接文件中描述的对象之间的连接信息,管理各个对象的连接的多组软件程序组成。
中间件层40置于机器人服务器对象层32之上,由提供诸如机器人设备1的图像处理或音频处理之类基本功能的多组软件程序组成。
另外,应用层41置于中间件层40之上,由根据构成中间件层40的多组软件程序处理的处理结果,决定机器人设备1的动作的多组软件程序构成。
中间件层40和应用层41的具体软件结构分别示于图40和图41中。
如图40中所示,中间件层40由识别系统60和输出系统69构成,识别系统60包括用于噪声检测,温度检测,亮度检测,音阶识别,距离检测,姿态检测,咬住检测,运动检测和颜色识别的信号处理模块50-58,和输入语义转换器模块59等,输出系统69包括输出语义转换器模块68,用于姿态控制,跟踪,动作再现,行走,绊倒恢复,照明开和音频再现等的信号处理模块61-67。
识别系统60中的信号处理模块50-58接收机器人服务器对象32的虚拟机器人33从DRAM 11(图2)读取的传感器数据,图像数据和音频数据中的对应数据。这些模块随后根据接收的数据,执行预定处理,并把处理结果提供给输入语义转换器模块59。这种情况下,虚拟机器人33构成根据预定的通信规则,传送/接收或转换信号的部分。
特别地,如前参考图37所述,在确定某物被咬住之后,咬住检测模块56立即释放增益。这是为保护人的手指等不受伤害。根据此时的关节角度,确定是咬住骨头还是咬住任何其它物体。如果咬住任何其它物体,那么增益被关闭,以防止发生伤害。如果确定咬住骨头,那么增益被改变成适合于持续把骨头叼在嘴里的值,以便保护电动机。
输入语义转换器模块59根据从信号处理模块50-58提供的处理结果,识别机器人设备1自身的条件和环境条件(内部和外部条件),例如“吵闹”,“热”,“明亮”,“检测到球”,“检测到绊倒”,“受到抚摸”,“击打”,“听到音阶“多”、“米”和“索””,“检测到移动物体”,“检测到障碍物”,“咬住物体”等,另外还识别来自用户的命令和动作。输入语义转换器模块59随后把识别结果输出给应用层41(图40)。
如图41中所示,应用层41由五个模块,即动作模型库70,动作转换模块71,学习模块72,情感模型模块73和本能模型模块74。
如图42中所示,动作模型库70具备分别与事先选择的几种条件项,例如“剩余电量低”,“绊倒恢复”,“避开障碍物”,“表达情感”,“检测到球”,“咬住水平放置的骨头”,“咬住直立的骨头”,“用头放倒直立的骨头”等情况对应的独立动作模型701-70n。
此外,当从输入语义转换器模块59提供识别结果时,或者当自从最后一次提供识别结果以来,已过去恒定的一段时间时,如果需要,动作模型701-70n分别参考情感模型模块73保持的对应情感的参数值,和本能模型模块74中保持的对应欲望的参数值,确定后续动作,如后所述。确定结果被输出给动作转换模块71。
就该实施例来说,每个动作模型701-70n使用称为确定概率自动机的算法作为确定下一动作的方法,其中根据关于彼此之间,连接节点NODE0-NODEn的弧线ARC1-ARCn设置的迁移概率P1-Pn,以概率方式确定如图43中所示的节点NODE0-NODEn(状态)之一如何迁移到这些节点中的任何一个其它节点。
更具体地说,动作模型701-70n被分别分配给形成它们自己的动作模型701-70n的节点NODE0-NODEn。为NODE0-NODEn中的每个节点提供如图44中所示的状态迁移表80。
在状态迁移表80中,按照优先权顺序,在“输入事件名”一栏中引用输入事件(识别结果),所述输入事件是在NODE0-NODEn的迁移条件,并在“数据名称”栏和“数据范围”栏中的相应各行中写入涉及迁移条件的其它条件。
于是,如果识别结果“球的发现(BALL)”被给予其迁移表80示于图44中的NODE100,那么迁移到任何其它节点需要满足和识别结果一起通报的“球的大小(SIZE)”在“0-1000”的范围内的条件。另一方面,如果提供识别结果“障碍物的发现(OBSTACLE)”,那么迁移到任何其它节点需要满足到该障碍物的“距离(DISTANCE)”在“0-100”的范围内的条件。当然,如果提供识别结果“骨头的发现(OBSTACLE)”,“粉红色的发现”和“咬住物体的发现”,那么迁移到任何其它节点需要满足和识别结果一起提供的“距离”,“面积”和“增益”分别在预定范围内的条件。
在节点NODE100,即使当未输入任何识别结果时,如果在动作模型701-70n定期查阅的由情感模型模块73和本能模型模块74保持的情感和欲望参数之中,情感模型模块73保持的参数值“喜悦(JOY)”,“惊讶(SURPRISE)”和“悲伤(SADNESS)”中的任何一个在范围“50-100”之内,那么也能够允许迁移到任何其它节点。
在状态迁移表80中,可从NODE0-NODEn中的任何节点迁移到其的节点的名称被写入“到其它节点的迁移概率”栏中的“迁移目的地节点”一行中。迁移到当写入“输入事件名”,“数据值”和“数据范围”中所有条件都被满足时,均允许迁移的NODE0-NODEn中的其它节点的概率分别被写入“到其它节点的迁移概率”栏中的对应位置。当迁移到NODE0-NODEn中的其它节点时要输出的动作分别被写入“到其它节点的迁移概率”栏中的“输出动作”行中。“到其它节点的迁移概率”栏中每一行中的到其它节点的迁移概率的总和为100(%)。
于是,如果作为识别结果,提供的“球的发现(BALL)”和球的“大小(SIZE)”在“0-1000”的范围内,那么在图44中所示的状态迁移表80中表示的节点NODE100,迁移到“NODE120(节点120)”的概率为“30(%)”。此时,输出动作“ACTION1”。
通过连接均按照状态迁移表80书写的节点NODE0-NODEn中的数个节点,构成每个动作模型701-70n。当从输入语义转换器模块59给出识别结果时,每个动作模型701-70n利用节点NODE0-NODEn中的一个对应节点的状态迁移表,以概率方式确定下一动作,并把确定结果输出给动作转换模块71。
图42中所示的动作转换模块71从动作模型库70的动作模型701-70n输出的动作中,选择具有预定最高优先权的动作,并向中间件层40中的输出语义转换器模块68输出表示执行动作的任务的命令(下面称为动作命令)。在本实施例中,按照朝着图42的底部的顺序,动作模型701-70n的优先权被设置成越来越高。
根据从输出语义转换器模块68提供的动作完成信息,动作转换模块71把对应动作的完成通知学习模块72,情感模型模块73和本能模型模块74。
同时,学习模块72输入从输入语义转换器模块59提供的识别结果中,作为来自用户的动作而接收的那些指令识别结果,例如“击打”,“抚摸”等。
根据这种识别结果和来自动作转换模块71的通知,例如在“击打(被责骂)”的情况下,学习模块72进一步降低对应动作的发生概率。另一方面,在“被抚摸(受表扬)”的情况下,增大对应动作的发生概率。学习模块72从而改变动作模型库70中的动作模型701-70n的对应迁移概率。
另一方面,情感模型模块73保持表述关于6种情感“喜悦”,“悲伤”,“愤怒”,“惊讶”,“厌恶”和“恐惧”的情感强度的参数。此外,情感模型模块73根据从输入语义转换器模块59提供的诸如“击打”,“抚摸”之类特定的识别结果,过去的时间,来自动作转换模块71的通知等,周期地更新情感参数值。
更具体地说,在ΔE[t]是根据从输入语义转换器模块59提供的识别结果,该时刻机器人设备1的动作,自最后一次更新以来过去的时间,依据预定的计算公式计算的情感的波动,E[t]是情感的当前参数值,Ke是表示情感的敏感性的系数的情况下,情感模型模块73利用下面的表达式(2),计算下一循环中,情感的情感参数值E[t+1]。该参数值代替当前的情感参数值E[t],从而更新情感的参数值。另外,情感模型73按照类似的方式,更新全部情感参数值。
E[t+1]=E[t]+Ke×ΔE[t] (2)
预先确定识别结果和来自输出语义转换器模块68的通知对情感的参数值的波动ΔE[t]的影响有多大。例如,识别结果“击打”极大地影响所述波动。情感“愤怒”的参数值的ΔE[t],和识别结果“抚摸”极大地影响情感“喜悦”的参数值的波动ΔE[t]。
来自输出语义转换器模块68的通知是所谓的反馈信息(动作完成信息),即,表示动作发生结果的信息。情感模型模块73根据这种信息,改变情感。这意味着,例如由动作“咆哮”引起的愤怒情感水平的降低。来自输出语义转换器模块68的通知还被输入前述学习模块72,学习模块72根据通知,改变动作模型701-70n中的对应迁移概率。
注意可根据来自动作转换模块71的输出(例如,伴随有情感的动作),产生动作结果的反馈。
另一方面,本能模型模块74保持分别表述彼此独立的四种欲望“锻炼”,“好感”,“食欲”和“好奇”的强度的参数。本能模型模块74根据从输入语义转换器模块59提供的识别结果,过去的时间,和来自动作转换模块71的通知等,周期地更新这些欲望参数。
更具体地说,就“锻炼”,“好感”和“好奇”来说,在ΔI[k]是根据识别结果,过去的时间,和来自输出语义转换器模块68的通知,依据预定的运算公式计算的,该时刻的欲望的波动,I[k]是欲望的当前参数值,ki是表示欲望的敏感性的系数的情况下,本能模型模块74在预定的循环中,利用下面的表达式(3),计算下一循环中,欲望“锻炼”,“好感”和“好奇”的参数值I[k+1],并代替欲望的当前参数值I[k]的计算结果,从而,更新欲望的参数值。另外,本能模型模块74按照类似的方式,更新除欲望“食欲”之后的每种欲望的参数值。
I[k+1]=I[k]+ki×ΔI[k] (3)
预先确定识别结果和来自输出语义转换器模块68的通知对欲望的参数值的波动ΔI[k]的影响有多大。例如,来自输出语义转换器模块68的通知极大地影响“疲劳”的参数值的波动ΔI[k]。
在机器人设备1中,控制情感和欲望(本能)的参数值在0-100的范围内波动。对每种情感和本能设置系数ke和ki的值。
另一方面,如图40中所示,中间件层40中的输出语义转换器模块68把如前所述,从应用层41中的动作转换模块71提供的诸如“前进”,“喜悦”,“尖叫”,“跟踪(球)”之类抽象动作命令,提供给输出系统69的信号处理模块61-67中的一个对应信号处理模块。
此外,当提供动作命令时,这些信号处理模块61-67产生将被提供给做出动作所需的对应致动器251-25n的命令值,将从扬声器24(图2)输出的声音的音频数据,和将提供给“眼睛”的LED,并且以提供的动作命令为基础的驱动数据。顺序通过机器人服务器对象32的虚拟机器人33和信号处理电路14(图2),模块61-67有序地把这些数据项发送给对应的致动器251-25n,扬声器24或LED。
本发明中使用的图像识别处理,控制处理和咬住检测处理由上述中间件层40,应用层41和虚拟机器人33建立。
中间件层40中的识别系统60中的用于噪声检测,温度检测,亮度检测,音阶检测,距离检测,姿态检测,咬住检测,运动检测和颜色识别的信号处理模块50-58把处理结果提供给输入语义转换器模块59。
输入语义转换器模块59根据从这些信号处理模块50-58提供的处理结果,识别机器人设备自身的状况和环境条件(内部和外部条件),例如“吵闹”,“热”,“明亮”,“检测到球”,“检测到绊倒”,“受到抚摸”,“击打”,“听到音阶“多”、“米”和“索””,“检测到移动物体”,“检测到障碍物”,“物体被咬住”等,另外还识别来自用户的命令和动作。输入语义转换器模块59随后把识别结果输出给应用层41(图40)。
应用层41中的五个模块,即动作模型库70,动作转换模块71,学习模块72,情感模型模块73和本能模型模块74对应于动作控制系统100中的动作选择单元。
特别地,当从输入语义转换器模块59供给识别结果时,如果需要,动作模型库70参考保持在情感模型模块73中的对应情感的参数值,和保持在本能模型模块74中的对应欲望的参数值,确定下一动作。动作模型库70随后把确定结果输出给动作转换模块71。更具体地说,例如,当从输入语义转换器模块59供给识别结果时,通过利用NODE0-NODEn中的对应节点的状态迁移表,动作模型701-70n以概率方式确定下一动作。动作模型701-70n随后把确定结果输出给动作转换模块71。
例如,在前述图像识别处理识别骨头之后,机器人设备1走向放置该骨头的地方。此时,机器人设备表达喜悦的感情,或者改变行走速度。另一方面,在机器人设备根据前面说明的咬骨控制算法和咬住检测算法,咬住骨头之后,确定滚动骨头,用手抓住骨头(以BANZAI的形式),或者用腿触摸咬住的骨头的动作,如图31A-31D中所示。
Claims (15)
1、一种根据外部环境,自主做出动作的机器人设备,所述机器人设备包括:
拾取外部环境中的物体的图像的图像拾取装置;
根据图像拾取装置拾取的图像,计算包括在图像数据中的标记的圆度的计算装置;和
根据计算装置计算的圆度,区分物体的特征部分的区分装置,其中
当所述物体是具有将被在机器人设备的头部单元中形成的嘴部咬住的棒状可咬部分,和分别在其两端形成的,基本上均呈三角形的二个侧面部分的玩具,且所述可咬部分介于这两个侧面部分之间时,计算装置计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,区分装置根据圆度,把可咬部分和侧面部分相互区分开。
2、按照权利要求1所述的机器人设备,具有按照预定的行走模式被驱动的多个腿部。
3、按照权利要求1所述的机器人设备,其中根据棒状可咬部分检测玩具的放置角度。
4、按照权利要求1所述的机器人设备,其中区分装置根据短期记忆,把可咬部分和两个侧面部分相互区分开。
5、按照权利要求1所述的机器入设备,其中计算装置计算通过执行补偿处理获得的标记的圆度。
6、按照权利要求1所述的机器人设备,其中在机器人设备的头部单元中形成的嘴部包括上颚部和相对于上颚部移动的下颚部,在下颚部中形成容纳可咬部分的凹进部分,具有高摩擦系数的材料被用于帮助夹住玩具。
7、按照权利要求1所述的机器人设备,还包括执行咬住检测算法,以检测嘴部咬住的物体的控制装置,其中评估对上颚部和下颚部之间的关节的负载,当评估的负载沿夹住物体的方向工作时,调整移动下颚部的致动器的增益。
8、按照权利要求7所述的机器人设备,其中当致动器的增益被确定为大于预定值时,控制装置降低致动器的增益。
9、按照权利要求8所述的机器人设备,其中根据上颚部和下颚部之间的关节角度,控制装置确定嘴部是否已咬住目标物体。
10、一种根据外部环境,自主做出动作的机器人设备的控制方法,所述方法包括:
拾取外部环境中的物体的图像的图像拾取步骤;
根据在图像拾取步骤中拾取的图像,计算包括在图像数据中的标记的圆度的计算步骤;和
根据在计算步骤中计算的圆度,区分物体的特征部分的区分步骤,其中
当所述物体是具有将被在机器人设备的头部单元中形成的嘴部咬住的棒状可咬部分,和分别在其两端形成的,基本上均呈三角形的二个侧面部分的玩具,且所述可咬部分介于这两个侧面部分之间时,在计算步骤中计算以涂于所述可咬部分和两个侧面部分的预定区域的颜色为基础的标记的圆度,在区分步骤中,根据圆度,把可咬部分和侧面部分相互区分开。
11、按照权利要求10所述的控制方法,其中在计算步骤中,计算通过执行补偿处理获得的标记的圆度。
12、按照权利要求10所述的控制方法,还包括执行咬住检测算法,以检测嘴部咬住的物体的控制步骤,其中评估对上颚部和下颚部之间的关节的负载,当评估的负载沿夹住物体的方向工作时,调整移动下颚部的致动器的增益。
13、按照权利要求12所述的控制方法,其中在控制步骤中,当致动器的增益被确定为大于预定值时,降低致动器的增益。
14、按照权利要求13所述的控制方法,其中在控制步骤中,根据上颚部和下颚部之间的关节角度,控制装置确定嘴部是否已咬住目标物体。
15、一种用于根据外部环境,自主做出动作的机器人设备的玩具,所述玩具包括:
将被在机器人设备的头部单元中形成的嘴部咬住的棒状可咬部分;和
分别在玩具两端形成的,基本上均呈三角形的二个侧面部分,所述可咬部分介于这两个侧面部分之间,其中
机器人设备的图像识别处理用和标记一起施加的颜色分别对可咬部分和两个侧面部分的预定区域着色,计算装置计算标记的圆度,根据圆度,把所述可咬部分和所述两个侧面部分区分开。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003305308A JP3963162B2 (ja) | 2003-08-28 | 2003-08-28 | ロボット装置及びロボット装置の制御方法ロボット装置 |
JP305308/2003 | 2003-08-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1590038A true CN1590038A (zh) | 2005-03-09 |
Family
ID=34214054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004100579523A Pending CN1590038A (zh) | 2003-08-28 | 2004-08-27 | 机器人设备、机器人设备的控制方法和机器人设备用玩具 |
Country Status (3)
Country | Link |
---|---|
US (3) | US6952629B2 (zh) |
JP (1) | JP3963162B2 (zh) |
CN (1) | CN1590038A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822508B2 (en) | 2005-12-12 | 2010-10-26 | Honda Motor Co., Ltd. | Autonomous mobile robot and goods carrying method of using the same |
CN103177174A (zh) * | 2011-12-26 | 2013-06-26 | 原相科技股份有限公司 | 互动式电子装置 |
CN108818515A (zh) * | 2018-08-16 | 2018-11-16 | 邢明的 | 一种多功能警犬机器人 |
CN109070356A (zh) * | 2016-04-28 | 2018-12-21 | 富士通株式会社 | 机器人 |
CN110325328A (zh) * | 2017-04-06 | 2019-10-11 | 惠普发展公司,有限责任合伙企业 | 机器人 |
CN111194702A (zh) * | 2018-11-20 | 2020-05-26 | 广州佳可电子科技有限公司 | 一种低功耗智能宠物陪伴机器人 |
CN113485405A (zh) * | 2021-08-05 | 2021-10-08 | Oppo广东移动通信有限公司 | 姿态获取方法、机器人和可读存储介质 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2191307T3 (es) * | 1997-03-25 | 2003-09-01 | Beiersdorf Ag | Sistemas finamente dispersos de tipo aceite en agua sin emulsionantes. |
JP3963162B2 (ja) * | 2003-08-28 | 2007-08-22 | ソニー株式会社 | ロボット装置及びロボット装置の制御方法ロボット装置 |
US7247783B2 (en) * | 2005-01-22 | 2007-07-24 | Richard Grossman | Cooperative musical instrument |
CN101219284A (zh) * | 2007-01-08 | 2008-07-16 | 鸿富锦精密工业(深圳)有限公司 | 仿生类装置 |
KR101337534B1 (ko) * | 2007-07-24 | 2013-12-06 | 삼성전자주식회사 | 이동 로봇의 위치 인식 장치 및 방법 |
US8414350B2 (en) * | 2008-08-18 | 2013-04-09 | Rehco, Llc | Figure with controlled motorized movements |
US8057275B2 (en) * | 2008-09-23 | 2011-11-15 | Hasbro, Inc. | Toy with pivoting portions capable of rolling over and methods thereof |
KR101686170B1 (ko) * | 2010-02-05 | 2016-12-13 | 삼성전자주식회사 | 주행 경로 계획 장치 및 방법 |
US8188390B1 (en) | 2010-03-24 | 2012-05-29 | Hasbro, Inc. | Electromechanical toy with momentary actuator dual purpose cam mechanism preserving battery life |
US8265792B2 (en) * | 2010-04-15 | 2012-09-11 | GM Global Technology Operations LLC | Method and apparatus for calibrating multi-axis load cells in a dexterous robot |
CN106078752B (zh) * | 2016-06-27 | 2019-03-19 | 西安电子科技大学 | 一种基于Kinect的仿人机器人人体行为模仿方法 |
CN108733037B (zh) * | 2017-04-17 | 2021-03-16 | 哈工大机器人集团股份有限公司 | 一种扫地机器人的可避让清扫方法 |
CN109510753A (zh) * | 2017-09-15 | 2019-03-22 | 上海挖数互联网科技有限公司 | Ip机器人群组的构建方法、交互响应方法和装置、存储介质、服务器 |
USD848550S1 (en) * | 2017-10-06 | 2019-05-14 | Kma Concepts Limited | Posable toy bulldog |
USD848549S1 (en) * | 2017-10-06 | 2019-05-14 | Kma Concepts Limited | Posable toy dog |
USD848552S1 (en) * | 2017-10-06 | 2019-05-14 | Kma Concepts Limited | Posable toy horse |
US10635102B2 (en) * | 2017-10-17 | 2020-04-28 | Steering Solutions Ip Holding Corporation | Driver re-engagement assessment system for an autonomous vehicle |
US10754318B2 (en) * | 2017-12-21 | 2020-08-25 | X Development Llc | Robot interaction with objects based on semantic information associated with embedding spaces |
US11097418B2 (en) | 2018-01-04 | 2021-08-24 | X Development Llc | Grasping of an object by a robot based on grasp strategy determined using machine learning model(s) |
JP2020064385A (ja) * | 2018-10-16 | 2020-04-23 | ソニー株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
CN110026995B (zh) * | 2019-04-22 | 2022-05-27 | 扬州哈工科创机器人研究院有限公司 | 一种仿真机器人的头部结构 |
CN112265592A (zh) * | 2020-10-29 | 2021-01-26 | 德鲁动力科技(海南)有限公司 | 足式机器人的头部电路 |
USD1030917S1 (en) * | 2022-07-15 | 2024-06-11 | Shenzhen Tbz Technology Co., Ltd. | Artificial intelligence robot dog |
USD1038280S1 (en) * | 2023-12-08 | 2024-08-06 | Muying Du | Toy |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS606555U (ja) * | 1983-06-23 | 1985-01-17 | 株式会社 国際武道具商会 | 腕立て伏せ運動補助具 |
JPH11126017A (ja) * | 1997-08-22 | 1999-05-11 | Sony Corp | 記憶媒体、ロボット、情報処理装置、並びに電子ペットシステム |
JP2001157984A (ja) * | 1999-11-30 | 2001-06-12 | Sony Corp | ロボット装置及びロボット装置の動作制御方法 |
US6773344B1 (en) * | 2000-03-16 | 2004-08-10 | Creator Ltd. | Methods and apparatus for integration of interactive toys with interactive television and cellular communication systems |
JP2002036158A (ja) * | 2000-07-27 | 2002-02-05 | Yamaha Motor Co Ltd | 自律機能を有する電子機器 |
JP3918143B2 (ja) * | 2000-12-28 | 2007-05-23 | 独立行政法人科学技術振興機構 | 植物認識システム |
JP2003205483A (ja) * | 2001-11-07 | 2003-07-22 | Sony Corp | ロボットシステム及びロボット装置の制御方法 |
EP1499129B1 (en) * | 2002-04-25 | 2011-12-28 | Panasonic Corporation | Object detection device, object detection server, and object detection method |
JP2003340759A (ja) * | 2002-05-20 | 2003-12-02 | Sony Corp | ロボット装置およびロボット制御方法、記録媒体、並びにプログラム |
EP1579415A4 (en) * | 2002-09-09 | 2006-04-19 | Ingeeni Studios Inc | PLATFORM FOR ARTIFICIAL INTELLIGENCE |
JP3963162B2 (ja) * | 2003-08-28 | 2007-08-22 | ソニー株式会社 | ロボット装置及びロボット装置の制御方法ロボット装置 |
-
2003
- 2003-08-28 JP JP2003305308A patent/JP3963162B2/ja not_active Expired - Fee Related
-
2004
- 2004-08-17 US US10/919,315 patent/US6952629B2/en not_active Expired - Fee Related
- 2004-08-27 CN CNA2004100579523A patent/CN1590038A/zh active Pending
-
2005
- 2005-03-17 US US11/081,540 patent/US7058476B2/en not_active Expired - Fee Related
- 2005-03-17 US US11/081,547 patent/US7062356B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822508B2 (en) | 2005-12-12 | 2010-10-26 | Honda Motor Co., Ltd. | Autonomous mobile robot and goods carrying method of using the same |
CN103177174A (zh) * | 2011-12-26 | 2013-06-26 | 原相科技股份有限公司 | 互动式电子装置 |
CN109070356A (zh) * | 2016-04-28 | 2018-12-21 | 富士通株式会社 | 机器人 |
CN110325328A (zh) * | 2017-04-06 | 2019-10-11 | 惠普发展公司,有限责任合伙企业 | 机器人 |
CN108818515A (zh) * | 2018-08-16 | 2018-11-16 | 邢明的 | 一种多功能警犬机器人 |
CN111194702A (zh) * | 2018-11-20 | 2020-05-26 | 广州佳可电子科技有限公司 | 一种低功耗智能宠物陪伴机器人 |
CN113485405A (zh) * | 2021-08-05 | 2021-10-08 | Oppo广东移动通信有限公司 | 姿态获取方法、机器人和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2005074538A (ja) | 2005-03-24 |
US7062356B2 (en) | 2006-06-13 |
US20050182519A1 (en) | 2005-08-18 |
US7058476B2 (en) | 2006-06-06 |
JP3963162B2 (ja) | 2007-08-22 |
US20050182520A1 (en) | 2005-08-18 |
US20050049752A1 (en) | 2005-03-03 |
US6952629B2 (en) | 2005-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1590038A (zh) | 机器人设备、机器人设备的控制方法和机器人设备用玩具 | |
CN1309535C (zh) | 机器人设备、用于控制机器人设备运动的方法以及用于控制机器人设备运动的系统 | |
CN1290034C (zh) | 机器人装置及其行为控制方法 | |
CN1457287A (zh) | 用于机器人装置的操作控制的方法、程序、和记录介质、以及机器人装置 | |
CN1103659C (zh) | 机器人装置及机器人装置动作决定方法 | |
CN1124191C (zh) | 编辑装置、编辑方法和记录媒体 | |
CN1463215A (zh) | 有腿移动机器人及其动作教学方法和存储介质 | |
CN1151016C (zh) | 机器人设备及其控制方法,和机器人性格判别方法 | |
US6519506B2 (en) | Robot and control method for controlling the robot's emotions | |
CN1380846A (zh) | 机器人设备、控制机器人设备动作的方法、以及外力检测设备和方法 | |
CN1304346A (zh) | 机器人装置及其控制方法 | |
CN1304516A (zh) | 机器人装置及其控制方法和记录介质 | |
US6512965B2 (en) | Robot and control method for entertainment | |
CN1605963A (zh) | 机器人及充电站搜索方法 | |
CN1297393A (zh) | 机器人装置和运动控制方法 | |
JP2004133637A (ja) | 顔検出装置、顔検出方法及びプログラム、並びにロボット装置 | |
JP7200991B2 (ja) | 情報処理装置、情報処理システム、プログラム、及び情報処理方法 | |
CN1342281A (zh) | 诊断系统、诊断装置和诊断方法 | |
CN1463420A (zh) | 词序列输出设备 | |
JP4649913B2 (ja) | ロボット装置及びロボット装置の移動制御方法 | |
US20030056252A1 (en) | Robot apparatus, information display system, and information display method | |
JP2005078377A (ja) | 動体検出装置、動体検出方法、及びロボット装置 | |
JP2003159681A (ja) | ロボット装置及びその制御方法 | |
JP2004229003A (ja) | ロボット装置、撮像方向切換方法 | |
JP2003071758A (ja) | ロボット装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |