自身位置估计模型学习方法、自身位置估计模型学习装置、自身位置估计模型学习程序、自身位置估计方法、自身位置估计装置、自身位置估计程序以及机器人与流程

文档编号:30623475
研发日期:2022/7/2


1.本发明涉及自身位置估计模型学习方法、自身位置估计模型学习装置、自身位置估计模型学习程序、自身位置估计方法、自身位置估计装置、自身位置估计程序以及机器人。


背景技术:

2.在现有的基于特征点的自身位置估计(simultaneously localization and mapping:slam)算法(例如参照非专利文献1“orb-slam2:an open-source{slam}system for monocular,stereo and{rgb-d}cameras https:/128.84.21.199/pdf/1610.06475.pdf”)中,通过在多个视点观测三维空间中的静态特征点,计算旋转或平移那样的移动信息。
3.但是,在人群场景等包括较多动物体和遮挡的环境下,几何制约失败,无法进行稳定的位置复原,频繁丢失地图上的自身位置(例如参照非专利文献2“getting robots unfrozen and unlost in dense pedestrian crowds https://arxiv.org/pdf/1810.00352.pdf”)。
4.作为其他处理动物体的方法,存在将动物体的运动直接模型化的方法、使用降低相当于动物体的部位的影响那样的误差函数的鲁棒估计方法,但都无法应用于如人群那样的复杂且密集的动态环境。
5.此外,在以非专利文献1记载的技术为代表的基于特征点的slam中,通过根据场景的特征点制作视觉词库(visual vocabrary),将其保存在数据库中,能够识别同一场景。
6.另外,在非专利文献3([n.n+,eccv’16]localizing and orienting street views using overhead imagery https://lugiavn.github.io/gatech/crossview_ecev2016/nam_ecev2016.pdf)、非专利文献4([s.workman+,iccv’15]wide-area image geolocalization with aerial reference imagery https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/workman_wide-area_image_geolocalization_iccv_2015_paper.pdf)中,公开了能够从俯瞰图像和局部图像分别进行特征提取,检索局部图像分别与俯瞰图像的哪个块对应的技术。


技术实现要素:

[0007]
发明所要解决的课题
[0008]
但是,在上述非专利文献3、4记载的技术中,由于都仅将静态场景间的图像类似度作为匹配的线索,所以匹配精度低,候选区域大量出现。
[0009]
本公开的技术是鉴于上述的点而完成的,其目的在于提供一种即使在以往难以估计自身位置估计对象的自身位置的动态环境中,也能够估计自身位置估计对象的自身位置
的自身位置估计模型学习方法、自身位置估计模型学习装置、自身位置估计模型学习程序、自身位置估计方法、自身位置估计装置、自身位置估计程序以及机器人。
[0010]
用于解决课题的手段
[0011]
本公开的第一方式是一种自身位置估计模型学习方法,由计算机执行包括如下步骤的处理:取得步骤,按时间序列取得局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从自身位置估计对象的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述自身位置估计对象的位置拍摄到的俯瞰图像;以及学习步骤,对自身位置估计模型进行学习,所述自身位置估计模型以按时间序列取得的所述局部图像以及所述俯瞰图像为输入而输出所述自身位置估计对象的位置。
[0012]
在上述第一方式中,也可以是,所述学习步骤包括:轨迹信息计算步骤,基于所述局部图像计算第一轨迹信息,并且基于所述俯瞰图像计算第二轨迹信息;特征量计算步骤,基于所述第一轨迹信息计算第一特征量,并且基于所述第二轨迹信息计算第二特征量;距离计算步骤,计算所述第一特征量与所述第二特征量的距离;估计步骤,基于所述距离估计所述自身位置估计对象的位置;以及更新步骤,以所述第一特征量与所述第二特征量的类似度越高则距离越小的方式更新所述自身位置估计模型的参数。
[0013]
在上述第一方式中,也可以是,在所述特征量计算步骤中,基于从上次估计出的所述自身位置估计对象的位置附近的区域选择出的多个部分区域中的所述第二轨迹信息,计算所述第二特征量,在所述距离计算步骤中,针对所述多个部分区域中的每个部分区域计算所述距离,在所述估计步骤中,将针对所述多个部分区域中的每个部分区域计算出的所述距离中的距离最小的部分区域的预先决定的位置估计为所述自身位置估计对象的位置。
[0014]
本公开的第二方式是一种自身位置估计模型学习装置,其包括:取得部,其按时间序列取得局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从自身位置估计对象的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述自身位置估计对象的位置拍摄到的俯瞰图像;以及学习部,其对自身位置估计模型进行学习,所述自身位置估计模型以按时间序列取得的所述局部图像以及所述俯瞰图像为输入而输出所述自身位置估计对象的位置。
[0015]
本公开的第三方式是一种自身位置估计模型学习程序,用于使计算机执行包括如下步骤的处理:取得步骤,按时间序列取得局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从自身位置估计对象的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述自身位置估计对象的位置拍摄到的俯瞰图像;以及学习步骤,对自身位置估计模型进行学习,所述自身位置估计模型以按时间序列取得的所述局部图像以及所述俯瞰图像为输入而输出所述自身位置估计对象的位置。
[0016]
本公开的第四方式是一种自身位置估计方法,由计算机执行包括如下步骤的处理:取得步骤,按时间序列取得局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从自身位置估计对象的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述自身位置估计对象的位置拍摄到的俯瞰图像;以及估计步骤,基于按时间序列取得的所述局部图像和所述俯瞰图像、以及上述第一方式所述的自身位置估计模型学习方法进行学习后的自身位置估计模型,估计所述自身位置估计对象的自身位置。
[0017]
本公开的第五方式是一种自身位置估计装置,其包括:取得部,其按时间序列取得
局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从自身位置估计对象的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述自身位置估计对象的位置拍摄到的俯瞰图像;以及估计部,其基于按时间序列取得的所述局部图像和所述俯瞰图像、以及由上述第二方式所述的自身位置估计模型学习装置进行学习后的自身位置估计模型,估计所述自身位置估计对象的自身位置。
[0018]
本公开的第六方式是一种自身位置估计程序,其用于使计算机执行包括如下步骤的处理:取得步骤,按时间序列取得局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从自身位置估计对象的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述自身位置估计对象的位置拍摄到的俯瞰图像;以及估计步骤,基于按时间序列取得的所述局部图像和所述俯瞰图像、以及通过上述第一方式所述的自身位置估计模型学习方法进行学习后的自身位置估计模型,估计所述自身位置估计对象的自身位置。
[0019]
本公开的第七方式是一种机器人,其包括:取得部,其按时间序列取得局部图像和与所述局部图像同步的俯瞰图像,所述局部图像是在动态环境中从机器人的视点拍摄到的局部图像,所述俯瞰图像是从俯瞰所述机器人的位置拍摄到的俯瞰图像;估计部,其基于按时间序列取得的所述局部图像和所述俯瞰图像、以及由上述第二方式所述的自身位置估计模型学习装置进行学习后的自身位置估计模型,估计所述机器人的自身位置;自主行驶部,其使所述机器人自主行驶;以及控制部,其基于由所述估计部估计出的位置,控制所述自主行驶部使所述机器人向目的地移动。
[0020]
发明效果
[0021]
根据本公开的技术,即使在以往难以估计自身位置估计对象的自身位置的动态环境中,也能够估计自身位置估计对象的自身位置。
附图说明
[0022]
图1是表示自身位置估计模型学习系统的概略结构的图。
[0023]
图2是表示自身位置估计模型学习装置的硬件结构的框图。
[0024]
图3是表示自身位置估计模型学习装置的功能结构的框图。
[0025]
图4是表示机器人在人群中向目的地移动的情形的图。
[0026]
图5是表示自身位置估计模型学习装置的学习部的功能结构的框图。
[0027]
图6是用于说明部分区域的图。
[0028]
图7是表示自身位置估计模型学习装置的自身位置估计模型学习处理的流程的流程图。
[0029]
图8是表示自身位置估计装置的功能结构的框图。
[0030]
图9是表示自身位置估计装置的硬件结构的框图。
[0031]
图10是表示自身位置估计装置的机器人控制处理的流程的流程图。
具体实施方式
[0032]
以下,参照附图对本公开的技术的实施方式的一例进行说明。此外,在各附图中,对相同或等效的构成要素及部分标注相同的参照标号。另外,附图的尺寸比率有时为了便于说明而夸张,有时与实际的比率不同。
[0033]
图1是表示自身位置估计模型学习系统1的概略结构的图。
[0034]
如图1所示,自身位置估计模型学习系统1具备自身位置估计模型学习装置10以及模拟器20。稍后将描述模拟器20。
[0035]
接着,对自身位置估计模型学习装置10进行说明。
[0036]
图2是表示自身位置估计模型学习装置10的硬件结构的框图。
[0037]
如图2所示,自身位置估计模型学习装置10具有cpu(central processing unit:中央处理单元)11、rom(read only memory:只读存储器)12、ram(random access memory:随机存取存储器)13、存储装置14、输入部15、监视器16、光盘驱动装置17以及通信接口18。各结构经由总线19以能够相互通信的方式连接。
[0038]
在本实施方式中,在存储装置14中存储有自身位置估计模型学习程序。cpu 11是中央运算处理单元,执行各种程序或控制各结构。即,cpu 11从存储装置14读出程序,将ram 13作为作业区域来执行程序。cpu 11按照存储装置14中记录的程序,进行上述各结构的控制以及各种运算处理。
[0039]
rom 12存储各种程序和各种数据。ram 13作为作业区域暂时存储程序或数据。存储装置14由hdd(hard disk drive:硬盘驱动器)或ssd(solid state drive:固态驱动器)构成,保存包括操作系统在内的各种程序以及各种数据。
[0040]
输入部15包括键盘151以及鼠标152等指示设备,用于进行各种输入。监视器16例如是液晶显示器,显示各种信息。监视器16也可以采用触摸面板方式,作为输入部15发挥功能。光盘驱动装置17进行存储在各种记录介质(cd-rom或蓝光光盘等)中的数据的读入、对记录介质写入数据等。
[0041]
通信接口18是用于与模拟器20等其他设备进行通信的接口,例如使用以太网(注册商标)、fddi或wi-fi(注册商标)等标准。
[0042]
接着,对自身位置估计模型学习装置10的功能结构进行说明。
[0043]
图3是表示自身位置估计模型学习装置10的功能结构的例子的框图。
[0044]
如图3所示,自身位置估计模型学习装置10具有取得部30以及学习部32作为功能结构。各功能结构是通过cpu 11读出存储于存储装置14的自身位置估计程序并在ram 13中展开并执行来实现的。
[0045]
取得部30从模拟器20取得目的地信息、局部图像和俯瞰图像。模拟器20例如如图4所示那样按时间序列输出自主行驶型的机器人rb向由目的地信息表示的目的地pg移动的情况下的局部图像和与局部图像同步的俯瞰图像。
[0046]
此外,在本实施方式中,如图4所示,机器人rb在包括如存在于周围的人hb等那样移动的物体的动态环境中向目的地pg移动。在本实施方式中,对移动的物体是人hb的情况、即动态环境是人群的情况进行说明,但不限于此。例如,作为动态环境的其他例子,可列举出汽车、自主行驶型机器人、无人机、飞机、以及船舶等存在的环境等。
[0047]
在此,局部图像是在图4所示那样的动态环境中,以来自作为自身位置估计对象的机器人rb的视点拍摄到的图像。此外,以下,对局部图像是由光学照相机拍摄到的图像的情况进行说明,但不限于此。即,只要能够取得表示存在于机器人rb的视野的范围内的物体如何移动的动作信息即可,例如可以使用由事件照相机(event based camera)取得的动作信息,也可以使用通过光流(optical flow)等公知的方法对局部图像进行图像处理后的动作
信息。
[0048]
另外,俯瞰图像是从俯瞰机器人rb的位置拍摄到的图像。具体而言,俯瞰图像例如是从机器人rb的上方拍摄包括机器人rb的范围而得到的图像,是拍摄比由局部图像表示的范围大的范围而得到的图像。另外,俯瞰图像可以使用raw(raw image format:原始图像格式)图像,也可以使用图像处理后的影像等动态图像。
[0049]
学习部32将由取得部30以时间序列取得的局部图像以及俯瞰图像作为输入,对输出机器人rb的位置的自身位置估计模型进行学习。
[0050]
接着,对学习部32进行详细说明。
[0051]
如图5所示,学习部32包括第一轨迹信息计算部33-1、第二轨迹信息计算部33-2、第一特征矢量计算部34-1、第二特征矢量计算部34-2、距离计算部35和自身位置估计部36。
[0052]
第一轨迹信息计算部33-1根据从取得部30输入的在时间上连续的n个(n为多个)局部图像i1(={i11、i12、

、i1n}),计算人hb的第一轨迹信息t1。在第一轨迹信息t1的计算中,例如能够使用上述的光流、mot(multi object tracking:多对象跟踪)等公知的方法,但不限于此。
[0053]
第二轨迹信息计算部33-2根据从取得部30输入的、在时间上连续且与局部图像i1同步的n个俯瞰图像i2(={i21、i22、

、i2n}),计算人hb的第二轨迹信息t2。在第二轨迹信息t2的计算中,与第一轨迹信息的计算同样地,能够使用光流等公知的方法,但不限于此。
[0054]
第一特征矢量计算部34-1计算第一轨迹信息t1的k1维的第一特征矢量φ1(t1)。具体而言,第一特征矢量计算部34-1例如通过向第一卷积神经网络(cnn:convolutional neural network)输入第一轨迹信息t1,计算k1维的第一特征矢量φ1(t1)。另外,第一特征矢量φ1(t1)是第一特征量的一例,不限于特征矢量,也可以计算其他特征量。
[0055]
第二特征矢量计算部34-2计算第二轨迹信息t2的k2维的第二特征矢量φ2(t2)。具体而言,第二特征矢量计算部34-2与第一特征矢量计算部34-1同样地,例如通过向与在第一特征矢量计算部34-1中使用的第一卷积神经网络不同的第二卷积神经网络输入第二轨迹信息t2,计算k2维的第二特征矢量φ2(t2)。另外,第二特征矢量φ2(t2)是第二特征量的一例,不限于特征矢量,也可以计算其他特征量。
[0056]
在此,如图6所示,输入到第二卷积神经网络的第二轨迹信息t2不是俯瞰图像i2整体的轨迹信息,而是从前次检测出的机器人rb的位置p
t-1
的附近的局部区域l中随机选择的m个(m为多个)部分区域w1~wm中的第二轨迹信息t
21
~t
2m
。由此,针对各个部分区域w1~wm计算第二特征矢量φ2(t
21
)~φ2(t
2m
)。以下,在不区分第二轨迹信息t
21
~t
2m
的情况下,有时简称为第二轨迹信息t2。同样地,在不区分第二特征矢量φ2(t
21
)~φ2(t
2m
)的情况下,有时简称为第二特征矢量φ2(t2)。
[0057]
此外,局部区域l被设定为包括机器人rb能够从上次检测出的机器人rb的位置p
t-1
移动的范围。此外,从局部区域l中随机选择部分区域w1~wm的位置。此外,部分区域w1~wm的数量和部分区域w1~wm的尺寸影响处理速度和自身位置的估计精度。因此,部分区域w1~wm的数量和部分区域w1~wm的尺寸根据期望的处理速度和自身位置的估计精度被设置为任意的值。以下,在不特别区分部分区域w1~wm的情况下,有时简称为部分区域w。另外,在本实施方式中,对从局部区域l中随机选择部分区域w1~wm的情况进行说明,但不限于此。例如可以将局部区域l均等分割来设定部分区域w1~wm。
[0058]
距离计算部35使用例如神经网络来计算表示第一特征矢量φ1(t1)与部分区域w1~wm的第二特征矢量φ2(t
21
)~φ2(t
2m
)的各个之间的类似度的距离g(φ1(t1)、φ2(t
21
))~g(φ1(t1)、φ2(t
2m
))。而且,该神经网络被学习为:第一特征矢量φ1(t1)与第二特征矢量φ2(t2)的类似度越高,距离g(φ1(t1)、φ2(t2))越小。
[0059]
此外,第一特征矢量计算部34-1、第二特征矢量计算部34-2以及距离计算部35例如能够使用利用了对比损失(contrastive loss)的孪生网络(siamese network)、三元组损失(triplet loss)等公知的学习模型。在该情况下,以第一特征矢量φ1(t1)与第二特征矢量φ2(t2)的类似度越高则距离g(φ1(t1)、φ2(t2))越小的方式,学习在第一特征矢量计算部34-1、第二特征矢量计算部34-2以及距离计算部35中使用的神经网络的参数。另外,作为距离的计算方法,不限于使用神经网络的情况,也可以使用作为距离学习(metric learning)方法的一例的马氏距离学习。
[0060]
自身位置估计部36将与由距离计算部35计算出的距离g(φ1(t1)、φ2(t
21
))~g(φ1(t1)、φ2(t
2m
))中的最小的距离对应的第二特征矢量φ2(t2)的部分区域w的预先决定的位置、例如中心位置估计为自身位置p
t

[0061]
这样,自身位置估计模型学习装置10在功能上可以说是对基于局部图像和俯瞰图像来估计并输出自身位置的自身位置估计模型进行学习的装置。
[0062]
接着,对自身位置估计模型学习装置10的作用进行说明。
[0063]
图7是表示自身位置估计模型学习装置10的自身位置估计模型学习处理的流程的流程图。cpu 11从存储装置14读出自身位置估计模型学习程序,在ram 13中展开并执行,由此进行自身位置估计模型学习处理。
[0064]
在步骤s100中,cpu 11作为取得部30从模拟器20取得目的地pg的位置信息。
[0065]
在步骤s102中,cpu 11作为取得部30从模拟器20取得时间序列的n个局部图像i1(={i11、i12、

、i1n})。
[0066]
在步骤s104中,cpu 11作为取得部30,从模拟器20取得与局部图像i1同步的时间序列的n个俯瞰图像i2(={i21、i22、

、i2n})。
[0067]
在步骤s106中,cpu 11作为第一轨迹信息计算部33-1,根据局部图像i1计算第一轨迹信息t1。
[0068]
在步骤s108中,cpu 11作为第二轨迹信息计算部33-2,基于俯瞰图像i2来计算第二轨迹信息t2。
[0069]
在步骤s110中,cpu 11作为第一特征矢量计算部34-1,基于第一轨迹信息t1,计算第一特征矢量φ1(t1)。
[0070]
在步骤s112中,cpu 11作为第二特征矢量计算部34-2,基于第二轨迹信息t2中的部分区域w1~wm的第二轨迹信息t
21
~t
2m
,计算第二特征矢量φ2(t
21
)~φ2(t
2m
)。
[0071]
在步骤s114中,cpu 11作为距离计算部35,计算表示第一特征矢量φ1(t1)与各个第二特征矢量φ2(t
21
)~φ2(t
2m
)的类似度的距离g(φ1(t1)、φ2(t
21
))~g(φ1(t1)、φ2(t
2m
))。即,对每个部分区域w计算距离。
[0072]
在步骤s116中,cpu 11作为自身位置估计部36,将与在步骤s114中计算出的距离g(φ1(t1)、φ2(t
21
))~g(φ1(t1)、φ2(t
2m
))中的最小距离对应的第二特征矢量φ2(t2)的部分区域w的代表位置、例如中心位置估计为自身位置p
t
,输出到模拟器20。
[0073]
在步骤s118中,cpu 11作为学习部32,更新自身位置估计模型的参数。即,如果是使用孪生网络(siamese network)作为自身位置估计模型中包括的学习模型的情况,则更新孪生网络的参数。
[0074]
在步骤s120中,cpu 11作为自身位置估计部36,对机器人rb是否到达了目的地pg进行判断。即,判定在步骤s116中估计出的机器人rb的位置p
t
是否与目的地pg一致。然后,在判定为机器人rb到达了目的地pg的情况下,转移到步骤s122。另一方面,在判定为机器人rb未到达目的地pg的情况下,转移到步骤s102,重复步骤s102~s120的处理直到判定为机器人rb到达目的地pg为止。即,对学习模型进行学习。另外,步骤s102、s104的处理是取得步骤的一例。另外,步骤s108~s118的处理是学习步骤的一例。
[0075]
在步骤s122中,cpu 11作为自身位置估计部36,判定是否满足结束学习的结束条件。在本实施方式中,结束条件例如是将机器人rb从起始地点到达目的地pg为止作为一回,预先决定的数量(例如100)的回数结束的情况。cpu 11在判定为满足结束条件的情况下结束本例程。另一方面,在不满足结束条件的情况下,转移到步骤s100,改变目的地pg,反复进行步骤s100~s122的处理,直到满足结束条件。
[0076]
这样,在本实施方式中,以时间序列取得在动态环境中以从机器人rb的视点拍摄到的局部图像、和从俯瞰机器人rb的位置拍摄到的与局部图像同步的俯瞰图像,对将以时间序列取得的局部图像和俯瞰图像作为输入而输出机器人rb的位置的自身位置估计模型进行学习。由此,即使在以往难以估计机器人rb的自身位置的动态环境中,也能够估计机器人rb的位置。
[0077]
此外,也可能存在上述的步骤s116中计算出的最小的距离过大的情况,即不能进行自身位置的估计的情况。因此,也可以是,当在步骤s116中计算出的最小距离为预先决定的阈值以上时,判断为不能估计自身位置,从前次检测到的机器人rb的位置p
t-1附近的局部区域l中重新选择部分区域w1~wm,再次执行步骤s112~s116的处理。
[0078]
另外,作为不能进行自身位置的估计的情况的其他例子,存在不能计算轨迹信息的情况。例如是在机器人rb的周围完全不存在人hb而完全成为静态环境的情况等。在这样的情况下,也可以通过再次执行步骤s112~s116的处理来重新进行自身位置估计。
[0079]
接下来,对利用由自身位置估计模型学习装置10进行学习后的自身位置估计模型来估计自身位置的机器人rb进行说明。
[0080]
在图8中示出了机器人rb的概略结构。如图8所示,机器人rb具备自身位置估计装置40、照相机42、机器人信息取得部44、通知部46以及自主行驶部48。自身位置估计装置40具备取得部50以及控制部52。
[0081]
照相机42在从开始地点移动到目的地pg为止的期间,以预先决定的间隔拍摄机器人rb的周围,将拍摄到的局部图像输出到自身位置估计装置40的取得部50。
[0082]
取得部50通过无线通信向未图示的外部装置请求并取得从俯瞰机器人rb的位置拍摄到的俯瞰图像。
[0083]
控制部52具有由自身位置估计模型学习装置10进行学习后的自身位置估计模型的功能。即,控制部52基于由取得部50取得的时间序列的同步的局部图像以及俯瞰图像,估计机器人rb的位置。
[0084]
机器人信息取得部44取得机器人rb的速度作为机器人信息。机器人rb的速度例如
使用速度传感器来取得。机器人信息取得部44将取得的机器人rb的速度输出至取得部50。
[0085]
取得部50基于照相机42所拍摄的局部图像来取得人hb的状态。具体而言,使用公知的方法对拍摄图像进行分析,计算存在于机器人rb的周围的人hb的位置以及速度。
[0086]
控制部52具有用于进行控制以使机器人rb自主行驶至目的地pg的学习完毕的机器人控制模型的功能。
[0087]
机器人控制模型例如是将与机器人rb的状态有关的机器人信息、与机器人rb的周围环境有关的环境信息、以及与机器人rb应该到达的目的地有关的目的地信息作为输入,选择并输出与机器人rb的状态对应的行动的模型,例如使用通过强化学习而学习完毕的模型。在此,机器人信息包括机器人rb的位置及速度的信息。另外,环境信息包括与动态环境有关的信息,具体而言,例如包括存在于机器人rb的周围的人hb的位置及速度的信息。
[0088]
控制部52将目的地信息、机器人rb的位置及速度、以及人hb的状态信息作为输入,选择与机器人rb的状态对应的行动,基于选择出的行动来控制通知部46以及自主行驶部48中的至少一方。
[0089]
通知部46具有通过输出声音或输出警告音而将机器人rb的存在通知给周围的人hb的功能。
[0090]
自主行驶部48具有轮胎以及驱动轮胎的马达等使机器人rb自主行驶的功能。
[0091]
在所选择的行动是使机器人rb以所指定的方向及速度移动的行动的情况下,控制部52控制自主行驶部48使机器人rb以所指定的方向及速度移动。
[0092]
另外,在所选择的行动是介入行动的情况下,控制部52对通知部46进行控制使得声音输出“请让路”等消息或者发出警告音。
[0093]
接下来,对自身位置估计装置40的硬件结构进行说明。
[0094]
如图9所示,自身位置估计装置40具有cpu(central processing unit:中央处理单元)61、rom(read only memory:只读存储器)62、ram(random access memory:随机存取存储器)63、存储装置64以及通信接口65。各结构经由总线66以能够相互通信的方式连接。
[0095]
在本实施方式中,在存储装置64中存储有自身位置估计程序。cpu 61是中央运算处理单元,执行各种程序或控制各结构。即,cpu 61从存储装置64读出程序,将ram 63作为作业区域来执行程序。cpu 61按照存储装置64中记录的程序,进行上述各结构的控制和各种运算处理。
[0096]
rom 62存储各种程序和各种数据。ram 63作为作业区域暂时存储程序或数据。存储装置64由hdd(hard disk drive:硬盘驱动器)或ssd(solid state drive:固态驱动器)构成,保存包括操作系统在内的各种程序以及各种数据。
[0097]
通信接口65是用于与其他设备进行通信的接口,例如使用以太网(注册商标)、fddi或wi-fi(注册商标)等标准。
[0098]
接下来,对自身位置估计装置40的作用进行说明。
[0099]
图10是表示自身位置估计装置40的自身位置估计处理的流程的流程图。cpu 51从存储装置64读出自身位置估计程序,在ram 63中展开并执行,由此进行自身位置估计处理。
[0100]
在步骤s200中,cpu 61作为取得部50,从未图示的外部装置通过无线通信取得目的地pg的位置信息。
[0101]
在步骤s202中,cpu 61作为取得部50从照相机42取得时间序列的n个局部图像i1
(={i11、i12、

、i1n})。
[0102]
在步骤s204中,cpu 61作为取得部50,向未图示的外部装置请求并取得与局部图像i1同步的时间序列的n个俯瞰图像i2(={i21、i22、

、i2n})。此时,将上次执行本例程而估计出的机器人rb的位置p
t-1
发送到外部装置,从外部装置取得包括上次估计出的机器人rb的位置p
t-1
的周边的俯瞰图像。
[0103]
在步骤s206中,cpu 61作为控制部52,基于局部图像i1,计算第一轨迹信息t1。
[0104]
在步骤s208中,cpu 61作为控制部52,基于俯瞰图像i2,计算第二轨迹信息t2。
[0105]
在步骤s210中,cpu 61作为控制部52,基于第一轨迹信息t1,计算第一特征矢量φ1(t1)。
[0106]
在步骤s212中,cpu 61作为控制部52,基于第二轨迹信息t2中的部分区域w1~wm的第二轨迹信息t
21
~t
2m
,计算第二特征矢量φ2(t
21
)~φ2(t
2m
)。
[0107]
在步骤s214中,cpu 61作为控制部52,计算表示第一特征矢量φ1(t1)与各个第二特征矢量φ2(t
21
)~φ2(t
2m
)的类似度的距离g(φ1(t1)、φ2(t
21
))~g(φ1(t1)、φ2(t
2m
))。即,对每个部分区域w计算距离。
[0108]
在步骤s216中,cpu 61作为控制部52,将与在步骤s214中计算出的距离g(φ1(t1)、φ2(t
21
))~g(φ1(t1)、φ2(t
2m
))中的最小距离对应的第二特征矢量φ2(t2)的部分区域w的代表位置、例如中心位置估计为自身位置p
t

[0109]
在步骤s218中,cpu 61作为取得部50,从机器人信息取得部44取得机器人的速度作为机器人rb的状态。另外,使用公知的方法对在步骤s202中取得的局部图像进行分析,计算与存在于机器人rb的周围的人hb的状态有关的状态信息、即人hb的位置及速度。
[0110]
在步骤s220中,cpu 61作为控制部52,基于在步骤s200中取得的目的地信息、在步骤s216中估计出的机器人rb的位置、在步骤s218中取得的机器人rb的速度、以及在步骤s218中取得的人hb的状态信息,选择与机器人rb的状态对应的行动,基于选择出的行动来控制通知部46以及自主行驶部48中的至少一方。
[0111]
在步骤s222中,cpu 61作为控制部52,判定机器人rb是否到达了目的地pg。即,判定机器人rb的位置p
t
是否与目的地pg一致。然后,在判定为机器人rb到达了目的地pg的情况下,结束本例程。另一方面,在判定为机器人rb未到达目的地pg的情况下,转移到步骤s202,重复步骤s202~s222的处理直到判定为机器人rb到达目的地pg为止。另外,步骤s202、s204的处理是取得步骤的一例。另外,步骤s206~s216的处理是估计步骤的一例。
[0112]
这样,机器人rb一边基于由自身位置估计模型学习装置10进行学习后的自身位置估计模型来估计自身位置,一边自主行驶至目的地。
[0113]
此外,在本实施方式中,对机器人rb具备自身位置估计装置40的情况进行了说明,但也可以将自身位置估计装置40的功能设置于外部服务器。在该情况下,机器人rb将由照相机42拍摄到的局部图像发送至外部服务器。外部服务器基于从机器人rb发送的局部图像以及从提供俯瞰图像的装置取得的俯瞰图像来估计机器人rb的位置,发送给机器人rb。然后,机器人rb基于从外部服务器接收到的自身位置来选择行动,自主行驶至目的地。
[0114]
另外,在本实施方式中,说明了自身位置估计对象是自主行驶型的机器人rb的情况,但不限于此,自身位置估计对象也可以是人携带的便携终端装置。在该情况下,在便携终端装置中设置自身位置估计装置40的功能。
[0115]
另外,也可以由cpu以外的各种处理器执行在上述各实施方式中cpu读入软件(程序)而执行的机器人控制处理。作为该情况下的处理器,例示fpga(field-programmable gate array:现场可编程门阵列)等在制造后能够变更电路结构的pld(programmable logic device:可编程逻辑器件)、以及asic(application specific integrated circuit:专用集成电路)等具有为了执行特定的处理而专门设计的电路结构的处理器即专用电路等。另外,既可以通过这些各种处理器中的1个来执行自身位置估计模型学习处理以及自身位置估计处理,也可以通过同种或者不同种的2个以上的处理器的组合(例如,多个fpga、以及cpu与fpga的组合等)来执行自身位置估计模型学习处理以及自身位置估计处理。另外,更具体而言,这些各种处理器的硬件结构是组合了半导体元件等电路元件的电路。
[0116]
另外,在上述各实施方式中,说明了将自身位置估计模型学习程序预先存储于存储装置14,将自身位置估计程序预先存储于存储装置64的方式,但并不限于此。程序也可以以记录于cd-rom(compact disc read only memory:只读光盘存储器)、dvd-rom(digital versatile disc read only memory:数字多功能光盘只读存储器)、以及usb(universal serial bus:通用串行总线)存储器等记录介质的方式提供。另外,程序也可以设为经由网络从外部装置下载的方式。
[0117]
关于本说明书中记载的所有文献、专利申请以及技术标准,以各个文献、专利申请以及技术标准的参照取入成为与具体且分别记载的情况相同的程度的方式在本说明书中通过参照而取入。
[0118]
标号说明
[0119]
1:自身位置估计模型学习系统;10:自身位置估计模型学习装置;20:模拟器;30:取得部;32:学习部;33:轨迹信息计算部;34:特征矢量计算部;35:距离计算部;36:自身位置估计部;40:自身位置估计装置;42:照相机;44:机器人信息取得部;46:通知部;48:自主行驶部;50:取得部;52:控制部;hb:人;rb:机器人。
当前第1页1 2 
猜你喜欢
网友询问留言