掌桥专利:专业的专利平台
掌桥专利
首页

信息处理装置、移动体、信息处理方法以及程序

文献发布时间:2024-04-18 19:53:33


信息处理装置、移动体、信息处理方法以及程序

技术领域

本发明涉及信息处理装置、移动体、信息处理方法以及程序。

背景技术

对控制机器人、无人机等成为控制对象的装置的信息处理装置正在进行研究和开发。

对此,已知一种控制机器人的信息处理装置,其在机器人所在的空间内,检测该空间内的物体与机器人的相对位置和姿势,并基于检测出的位置和姿势,生成表示该空间内的地图的地图信息(参照非专利文献1)。

现有技术文献

非专利文献

【非专利文献1】《通过与环境的交互获取空间结构》,友纳正裕,JST项目数据库,2005年终报告,https://projectdb.jst.go.jp/report/JST-PROJECT-7700000694/2913/

发明内容

发明所要解决的问题

在此,还已知如下方法:检测某个空间内的物体与机器人的相对位置和姿势,并基于检测出的位置和姿势、以及位于该空间内的多个物体的初始配置,生成表示该空间内的地图的地图信息。但是,该空间内的多个物体的配置往往会从初始配置发生改变。然而,在该方法中,当位于该空间内的多个物体的初始配置发生改变时,有时会生成表示精度较差的地图的地图信息。

本发明是鉴于以上情况而完成的,其目的在于提供一种信息处理装置、移动体、信息处理方法和程序,即使控制对象装置所在的空间内的多个物体的配置从初始配置发生改变,也能够高精度地生成表示该空间内的地图的地图信息。

用于解决问题的方案

本发明包括以下方式。

【1】一种控制成为控制对象的控制对象装置的信息处理装置,包括:存储部,其存储布局约束条件信息,该布局约束条件信息包括表示第一物体与第二物体的相对位置的信息,该第一物体配置于所述控制对象装置所在的空间内,该第二物体配置于所述空间内且与所述第一物体不同;以及控制部,其基于所述控制对象装置的位置、表示所述第一物体与所述控制对象装置的相对位置的第一物体装置间相对位置信息和表示所述第二物体与所述控制对象装置的相对位置的第二物体装置间相对位置信息中的至少一方、以及存储于所述存储部的所述布局约束条件信息,生成表示所述空间内的地图的地图信息。

【2】在上述信息处理装置中,所述控制部包括:第一推定部,其基于预定的初始值,推定所述控制对象装置的位置;获取部,其获取所述第一物体装置间相对位置信息和所述第二物体装置间相对位置信息中的至少一方作为物体装置间相对位置信息;以及生成部,其基于存储于所述存储部的所述布局约束条件信息、由所述获取部获取的所述物体装置间相对位置信息、以及由所述第一推定部推定的所述控制对象装置的位置,生成表示所述空间内的地图的地图信息。

【3】在上述信息处理装置中,所述控制部还包括第二推定部,其基于来自检测所述第一物体和所述第二物体中的至少一方的检测部的输出,推定所述第一物体与所述控制对象装置的相对位置和所述第二物体与所述控制对象装置的相对位置中的至少一方,且所述获取部从所述第二推定部获取表示所述第一物体与所述控制对象装置的相对位置和所述第二物体与所述控制对象装置的相对位置中的至少一方的信息作为所述物体装置间相对位置信息。

【4】在上述信息处理装置中,所述生成部基于由所述获取部获取的所述物体装置间相对位置信息、由所述存储部存储的所述布局约束条件信息、以及由所述第一推定部推定的所述控制对象装置的位置,生成Graph-SLAM(Simultaneous LocalizationandMapping:同时定位与地图构建)中的信息矩阵和信息向量,并通过进行基于生成的所述信息矩阵和所述信息向量的评价函数的最优化,生成所述地图信息。

【5】在上述信息处理装置中,所述生成部基于由所述获取部获取的所述物体装置间相对位置信息、由所述存储部存储的所述布局约束条件信息、以及由所述第一推定部推定的所述控制对象装置的位置,推定所述第一物体和所述第二物体各自的位置,并基于推定的所述第一物体和所述第二物体各自的位置,生成所述信息矩阵和所述信息向量。

【6】在上述信息处理装置中,当由所述获取部获取所述第一物体装置间相对位置信息和所述第二物体装置间相对位置信息双方作为所述物体装置间相对位置信息时,所述生成部:基于由所述第一推定部推定的所述控制对象装置的位置、由所述获取部获取的所述物体装置间相对位置信息、以及由所述存储部存储的所述布局约束条件信息,将所述第一物体的位置推定为第一推定位置且将所述第二物体的位置推定为第二推定位置;基于由所述第一推定部推定的所述控制对象装置的位置和由所述获取部获取的所述物体装置间相对位置信息,将所述第一物体的位置推定为第三推定位置且将所述第二物体的位置推定为第四推定位置;计算表示所述第一推定位置的向量与表示所述第三推定位置的向量之差作为第一差异,且计算表示所述第二推定位置的向量与表示所述第四推定位置的向量之差作为第二差异;以及基于所述第一差异、所述第一物体的位置的推定误差、所述第二差异、以及所述第二物体的位置的推定误差,删除所述信息矩阵所具有的元素中的根据所述布局约束条件信息确定的元素的连接。

【7】在上述信息处理装置中,所述控制对象装置是一种移动体,能够改变所述控制对象装置的位置和姿势中的至少一方。

【8】一种移动体,包括上述信息处理装置作为所述控制对象装置。

【9】一种信息处理方法,包括:读出步骤,其从存储布局约束条件信息的存储部读出所述布局约束条件信息,该布局约束条件信息包括表示第一物体与第二物体的相对位置的信息,该第一物体配置于成为控制对象的控制对象装置所在的空间内,该第二物体配置于所述空间内且与所述第一物体不同;以及生成步骤,其基于所述控制对象装置的位置、表示所述第一物体与所述控制对象装置的相对位置的第一物体装置间相对位置信息和表示所述第二物体与所述控制对象装置的相对位置的第二物体装置间相对位置信息中的至少一方、以及通过所述读出步骤读出的所述布局约束条件信息,生成表示所述空间内的地图的地图信息。

【10】一种程序,其用于使计算机执行:读出步骤,其从存储布局约束条件信息的存储部读出所述布局约束条件信息,该布局约束条件信息包括表示第一物体与第二物体的相对位置的信息,该第一物体配置于成为控制对象的控制对象装置所在的空间内,该第二物体配置于所述空间内且与所述第一物体不同;以及生成步骤,其基于所述控制对象装置的位置、表示所述第一物体与所述控制对象装置的相对位置的第一物体装置间相对位置信息和表示所述第二物体与所述控制对象装置的相对位置的第二物体装置间相对位置信息中的至少一方、以及通过所述读出步骤读出的所述布局约束条件信息,生成表示所述空间内的地图的地图信息。

【11】一种控制成为控制对象的控制对象装置的信息处理装置,包括:存储部,其存储布局约束条件信息,该布局约束条件信息包括表示第一物体与第二物体的相对姿势的信息,该第一物体配置于所述控制对象装置所在的空间内,该第二物体配置于所述空间内且与所述第一物体不同;以及控制部,其基于所述控制对象装置的姿势、表示所述第一物体与所述控制对象装置的相对姿势的第一物体装置间相对姿势信息和表示所述第二物体与所述控制对象装置的相对姿势的第二物体装置间相对姿势信息中的至少一方、以及存储于所述存储部的所述布局约束条件信息,生成表示所述空间内的地图的地图信息。

【12】一种包括上述信息处理装置作为所述控制对象装置的移动体。

【13】一种信息处理方法,包括:读出步骤,其从存储布局约束条件信息的存储部读出所述布局约束条件信息,该布局约束条件信息包括表示第一物体与第二物体的相对姿势的信息,该第一物体配置于成为控制对象的控制对象装置所在的空间内,该第二物体配置于所述空间内且与所述第一物体不同;以及生成步骤,其基于所述控制对象装置的姿势、表示所述第一物体与所述控制对象装置的相对姿势的第一物体装置间相对姿势信息和表示所述第二物体与所述控制对象装置的相对姿势的第二物体装置间相对姿势信息中的至少一方、以及通过所述读出步骤读出的所述布局约束条件信息,生成表示所述空间内的地图的地图信息。

【14】一种程序,其用于使计算机执行:读出步骤,其从存储布局约束条件信息的存储部读出所述布局约束条件信息,该布局约束条件信息包括表示第一物体与第二物体的相对姿势的信息,该第一物体配置于成为控制对象的控制对象装置所在的空间内,该第二物体配置于所述空间内且与所述第一物体不同;以及生成步骤,其基于所述控制对象装置的姿势、表示所述第一物体与所述控制对象装置的相对姿势的第一物体装置间相对姿势信息和表示所述第二物体与所述控制对象装置的相对姿势的第二物体装置间相对姿势信息中的至少一方、以及通过所述读出步骤读出的所述布局约束条件信息,生成表示所述空间内的地图的地图信息。

发明效果

根据本发明,即使控制对象装置所在的空间内的多个物体的配置从初始配置发生改变,也能够高精度地生成表示该空间内的地图的地图信息。

附图说明

图1是表示实施方式所涉及的控制系统1的结构的一个示例的图。

图2是表示信息处理装置30的硬件结构的一个示例的图。

图3是表示信息处理装置30的功能结构的一个示例的图。

图4是公式(4)所示的向量的示意图。

图5是表示信息处理装置30生成信息矩阵Ω和信息向量ξ的处理的流程的一个示例的图。

图6是表示信息处理装置30生成地图信息的处理的流程的一个示例的图。

图7是表示由信息处理装置30生成的地图信息的一个示例的图。

图8是表示由信息处理装置30生成的地图信息的其他示例的图。

图9是表示由信息处理装置30生成的地图信息的另一示例的图。

图10是表示由信息处理装置30生成的地图信息的又一示例的图。

图11是表示实施方式所涉及的控制系统1的结构的其他示例的图。

图12是表示设置有三个标记的物体M1的一个示例的图。

具体实施方式

<实施方式>

以下,参照附图对本发明的实施方式进行说明。

<控制系统的结构>

以下,参照图1对实施方式所涉及的控制系统1的结构进行说明。图1是表示实施方式所涉及的控制系统1的结构的一个示例的图。

控制系统1包括成为控制对象的控制对象装置10、设置于控制对象装置10的检测部20、以及信息处理装置30。在图1所示的示例中,在控制系统1中,控制对象装置10、检测部20以及信息处理装置30分体构成。然而,在控制系统1中,控制对象装置10、检测部20以及信息处理装置30中的一部分或者全部也可以一体构成。另外,在控制系统1中,在控制对象装置10和检测部20双方与信息处理装置30分体的情况下,信息处理装置30可以如图1所示,经由LAN(Local Area Network:局域网)、WAN(Wide Area Network:广域网)、以及专用通信网等网络与控制对象装置10和检测部20分别可通信地连接,也可以经由有线或无线与控制对象装置10和检测部20分别可通信地连接。以下,作为一个示例,对信息处理装置30经由无线与控制对象装置10和检测部20分别可通信地连接的情况进行说明。

控制系统1生成表示控制对象装置10所在的空间内的地图的地图信息。以下,为了便于说明,将控制对象装置10所在的空间称为对象空间R来进行说明。对象空间R例如是控制对象装置10所在的房间内的空间等,但不限于此。此外,除了控制对象装置10所在的房间内的空间以外,能够成为对象空间R的空间例如是水中、空中、宇宙空间等。

在本实施方式中,对象空间R是配置有多个物体的空间。并且,配置于对象空间R的多个物体的至少一部分根据用途分为一个以上的组。另外,这些一个以上的组是由两个以上的物体构成的。因此,配置于对象空间R的多个物体还可以包含一个以上未分进组的物体。以下,作为一个示例,对配置于对象空间R的多个物体是图1所示的物体M1至物体M4这四个物体的情况进行说明。另外,以下,作为一个示例,对如图1所示、物体M1和物体M2分进组G1、物体M3和物体M4分进组G2的情况进行说明。即,在图1所示的示例中,配置于对象空间R的四个物体分为两组。因此,在该示例中,配置于对象空间R的四个物体不包含任何一个未分进组的物体。

将对象空间R内的四个物体分为两组的理由在于:即使这四个物体的配置改变为与初始配置不同的配置,通常也会保持各组内的物体间的相对位置和姿势。例如,当分进组G1的物体M1和物体M2在对象空间R内并排连接时,即使物体M1和物体M2的配置改变为与初始配置不同的配置,只要物体M1和物体M2的用途没有改变,物体M1和物体M2就会在保持相对位置和姿势的前提下改变为与初始配置不同的配置。这是因为物体M1和物体M2的状态为并排连结的状态是适于物体M1和物体M2的用途的状态。作为以这种方式使用的物体,例如可举出操作台、架子等。根据以上情况,可认为在各组内,物体间的配置、即物体间的布局被约束为不变化或者几乎不变化。因此,在各组内,物体间的相对位置和姿势能够作为生成表示对象空间R内的地图的地图信息时以不改变物体间的配置的方式进行约束的约束条件来使用。

因此,控制系统1基于对象空间R内的每个组的布局约束条件信息,生成表示对象空间R内的地图的地图信息。即,控制系统1基于组G1的布局约束条件信息和组G2的布局约束条件信息,生成该地图信息。以下,为了便于说明,组G1的布局约束条件信息和组G2的布局约束条件信息将统称为布局约束条件信息进行说明,除非需要区分。以下,为了便于说明,有时将上述约束称为布局约束进行说明。另外,以下,有时将上述约束条件称为布局约束条件进行说明。

在此,对象空间R内的某个组的布局约束条件信息是表示以不改变分进该组的两个以上的物体间的配置的方式进行约束的约束条件的信息。更具体地,该布局约束条件信息是包含表示分进该组的两个以上的物体间的相对位置和姿势的信息作为该约束条件的信息。即,对象空间R内的组G1的布局约束条件信息是包含表示物体M1与物体M2的相对位置和姿势的信息作为以不改变物体M1和物体M2的配置的方式进行约束的约束条件的信息。以下,作为一个示例,对在该布局约束条件信息中,除了表示物体M1与物体M2的相对位置和姿势的信息以外,还包含表示物体M1与物体M2的相对位置和姿势所容许的误差值的信息的情况进行说明。另外,对象空间R内的组G2的布局约束条件信息是包含表示物体M3与物体M4的相对位置和姿势的信息作为以不改变物体M3和物体M4的配置的方式进行约束的约束条件的信息。以下,作为一个示例,对在该布局约束条件信息中,除了表示物体M3与物体M4的相对位置和姿势的信息以外,还包含表示物体M3与物体M4的相对位置和姿势所容许的误差值的信息的情况进行说明。

通过使用这样的布局约束条件信息,即使对象空间R内的多个物体的配置从初始配置改变,控制系统1也能够高精度地生成表示对象空间R内的地图的地图信息。这是因为能够通过布局约束条件信息来推定从初始配置改变后的该多个物体的配置的至少一部分。以下,作为一个示例,对控制系统1基于使用了每个组的布局约束条件信息的Graph-SLAM(Simultaneous Localization and Mapping:同时定位与地图构建)算法,生成表示对象空间R内的地图的地图信息的情况进行说明。但是,在本实施方式中,由于以往的Graph-SLAM算法是已经公知的算法,因此省略不必要的详细说明。即,在本实施方式中,对使用了每个组的布局约束条件信息的Graph-SLAM算法与以往的Graph-SLAM算法的差异进行说明。以往的Graph-SLAM算法例如在《概率机器人学》(出版社:每日通讯,作者:Sebastian Thrun、Wolfram Burgard、Dieter Fox、翻译:上田隆一等)中有详细的记载。控制系统1也可以基于使用了每个组的布局约束条件信息的其他种类的SLAM来生成该地图信息。另外,控制系统1也可以基于SLAM算法以外的算法作为使用了布局约束条件信息的算法来生成该地图信息。在此,只要是能够生成地图信息的算法,该算法可以是已知的算法,也可以是待开发的算法。以下,为了便于说明,将使用了每个组的布局约束条件信息的Graph-SLAM算法称为布局约束Graph-SLAM进行说明。

在此,通过与不同于布局约束Graph-SLAM的Graph-SLAM算法(例如,以往的Graph-SLAM算法等)进行比较,介绍布局约束Graph-SLAM的一个特征。

当基于与布局约束Graph-SLAM不同的Graph-SLAM算法生成地图信息时,控制系统1需要通过检测部20检测对象空间R内的全部物体。由此,控制系统1能够针对对象空间R内的全部物体,推定物体与控制对象装置10的相对位置和姿势,并进行该Graph-SLAM算法中的信息矩阵的各个元素的添加(更新)和该Graph-SLAM算法中的信息向量的各个元素的添加(更新)。

另一方面,当基于布局约束Graph-SLAM生成地图信息时,控制系统1通过利用检测部20检测对象空间R内的一部分物体,能够添加布局约束Graph-SLAM中的信息矩阵的各个元素。即,在该情况下,控制系统1通过利用检测部20检测物体M1至物体M4这四个物体中的物体M1和物体M2中的至少一方以及物体M3和物体M4中的至少一方,能够添加布局约束Graph-SLAM中的信息矩阵的各个元素和布局约束Graph-SLAM中的信息向量的各个元素。这是因为:如果使用组G1的布局约束条件信息,则通过推定物体M1和物体M2中的一方与控制对象装置10的相对位置和姿势,也能够推定物体M1和物体M2中的另一方与控制对象装置10的相对位置和姿势,并且,如果使用组G2的布局约束条件信息,则通过推定物体M3和物体M4中的一方与控制对象装置10的相对位置和姿势,也能够推定物体M3和物体M4中的另一方与控制对象装置10的相对位置和姿势。因此,当基于布局约束Graph-SLAM生成表示对象空间R内的地图的地图信息时,即使在对象空间R内分为一个组的多个物体中的一部分物体位于检测部20检测不到的位置(例如,光学相机中的遮挡区域内的位置),控制系统1也能够高精度地生成该地图信息。

下面,对控制系统1所包括的控制对象装置10、检测部20、信息处理装置30各自的结构进行详细说明。

控制对象装置10由信息处理装置30控制。控制对象装置10例如是无人机、可移动机器人、AGV(Automatic Guided Vehicle:自动导引车)等移动体,也可以是由信息处理装置30控制的不可移动的装置。另外,例如,控制对象装置10也可以是由人、狗等动物携带的装置(即,也可以是非自走式装置)。以下,作为一个示例,对控制对象装置10如图1所示为无人机的情况进行说明。当控制对象装置10为机器人时,控制对象装置10可以是能够通过螺旋桨、腿、车轮、履带等移动的机器人,可以是如蛇型机器人那样能够通过壳体的动作移动的机器人,可以是其他种类的可移动机器人,可以是不可移动的机器人,可以是包括后述的检测部20的不可移动的其他装置、其他部件等,也可以是检测部20本身。但是,即使控制对象装置10是不可移动的装置,控制对象装置10也是当由人携带时能够检测其移动量的装置。该移动量的检测可以由检测部20进行,也可以由与检测部20不同的传感器进行。控制对象装置10也可以包括信息处理装置30。以下,作为一个示例,对控制对象装置10不包括信息处理装置30的情况进行说明。

检测部20可以是任何装置,只要其能够检测对象空间R内的物体。以下,作为一个示例,对检测部20是包括CCD(Charge Coupled Device:电荷耦合器件)、CMOS(Complementary Metal Oxide Semiconductor:互补金属氧化物半导体)等作为将聚光后的光转换为电信号的拍摄元件的拍摄装置(例如照相机等)的情况进行说明。即,该示例中的检测部20通过拍摄对象空间R内的物体来检测该物体。检测部20根据来自信息处理装置30的控制,对可拍摄范围进行拍摄。检测部20将拍摄到的拍摄图像输出到信息处理装置30。检测部20也可以是LIDER(Light Detection and Ranging、Laser Imaging Detection andRanging:激光探测与测距)、ToF(Time of Flight:飞行时间)等其他装置,只要其能够检测物体。但是,在该情况下,检测部20需要通过某种方法来标识各个物体。作为这样的方法,可以使用已知的方法,也可以使用待开发的方法。

在此,以下,作为一个示例,对在由检测部20拍摄到的(即,由检测部20检测的)物体M1至物体M4上分别如图1所示设置有标记的情况进行说明。

更具体地,在物体M1上设置有标记MKR1,该标记MKR1包括:第一标记,用于将标识物体M1的标识信息编码为第一编码信息;以及第二标记,用于将表示检测物体M1的检测部20与物体M1的相对位置和姿势的信息编码为第二编码信息。标记MKR1可以是已知的标记,也可以是待开发的标记。

此外,在物体M2上设置有标记MKR2,该标记MKR2包括:第一标记,用于将标识物体M2的标识信息编码为第一编码信息;以及第二标记,用于将表示检测物体M2的检测部20与物体M2的相对位置和姿势的信息编码为第二编码信息。标记MKR2可以是已知的标记,也可以是待开发的标记。

此外,在物体M3上设置有标记MKR3,该标记MKR3包括:第一标记,用于将标识物体M3的标识信息编码为第一编码信息;以及第二标记,用于将表示检测物体M3的检测部20与物体M3的相对位置和姿势的信息编码为第二编码信息。标记MKR3可以是已知的标记,也可以是待开发的标记。

此外,在物体M4上设置有标记MKR4,该标记MKR4包括:第一标记,用于将标识物体M4的标识信息编码为第一编码信息;以及第二标记,用于将表示检测物体M4的检测部20与物体M4的相对位置和姿势的信息编码为第二编码信息。标记MKR4可以是已知的标记,也可以是待开发的标记。

以下,为了便于说明,标记MKR1至标记MKR4统称为标记MKR,除非需要区分它们。

如上所述,在该示例中,检测部20设置于控制对象装置10。因此,检测部20的可拍摄范围随着控制对象装置10的移动而变化。即,检测部20能够拍摄与控制对象装置10的位置和姿势对应的范围。检测部20也可以不设置于控制对象装置10,而设置于对象空间R内以能够拍摄对象空间R内的至少一部分。

检测部20例如拍摄静止图像。检测部20也可以拍摄视频。在该情况下,可以用构成由检测部20拍摄到的视频的各帧代替本实施方式中说明的拍摄图像。

信息处理装置30例如是多功能移动电话终端(智能手机)。除了多功能移动电话终端,信息处理装置30也可以是平板PC(Personal Computer:个人计算机)、笔记本PC、PDA(Personal Digital Assistant:个人数字助理)、移动电话终端、台式PC、工作站等其他信息处理装置。

信息处理装置30对控制对象装置10进行控制。例如,信息处理装置30基于预先存储的程序,使控制对象装置10沿着规定的轨道移动。另外,例如,信息处理装置30根据接受的操作,使控制对象装置10移动。

此外,信息处理装置30一边使控制对象装置10沿着规定的轨道移动一边控制检测部20,每当经过规定的采样周期时,使检测部20拍摄检测部20的可拍摄范围。信息处理装置30从检测部20获取检测部20拍摄到的拍摄图像。在此,对于由检测部20拍摄到的各个拍摄图像,对应有表示拍摄该拍摄图像的时刻的时刻信息。信息处理装置30基于在控制对象装置10沿着规定的轨道移动的期间由检测部20拍摄到的多个拍摄图像和预先存储的每个组的布局约束条件信息,添加布局约束Graph-SLAM中的信息矩阵的各个元素和布局约束Graph-SLAM中的信息向量的各个元素。由此,信息处理装置30将布局约束Graph-SLAM中的评价函数最优化,并推定对象空间R内的四个物体各自在世界坐标系中的位置和姿势。然后,信息处理装置30能够基于对象空间R内的四个物体各自在世界坐标系中的位置和姿势的推定结果,生成表示对象空间R内的地图的地图信息。布局约束Graph-SLAM中的地图信息的生成方法可以是与以往的Graph-SLAM算法中的地图信息的生成方法相同的方法,也可以是待开发的生成方法。这样,信息处理装置30基于布局约束Graph-SLAM,生成表示对象空间R内的地图的地图信息。由此,即使对象空间R内的四个物体的配置从初始配置发生改变,信息处理装置30也能够高精度地生成表示对象空间R内的地图的地图信息。其结果是,信息处理装置30例如能够使控制对象装置10进行高精度的作业。这里,世界坐标系是用于表示对象空间R内的实际位置和姿势的三维正交坐标系,例如是与对象空间R对应的三维正交坐标系。

在此,在布局约束Graph-SLAM中的信息矩阵中,添加了在与布局约束Graph-SLAM不同的Graph-SLAM算法中的信息矩阵中未添加的新的元素。在布局约束Graph-SLAM中,作为该新的元素,添加了对象空间R内的各个组的物体间的元素。具体地,在布局约束Graph-SLAM中的信息矩阵中,作为对象空间R内的各个组的物体间的元素,添加了表示通过以不改变物体M1和物体M2的配置的方式进行约束的约束条件来约束物体M1和物体M2的配置的强度的值、以及表示通过以不改变物体M3和物体M4的配置的方式来进行约束的约束条件来约束物体M3和物体M4的配置的强度的值。在此,表示通过以不改变M1和物体M2的配置的方式进行约束的约束条件来约束物体M1和物体M2的配置的强度的值是组G1的布局约束条件信息中所包含的信息所表示的误差值的倒数。即,关于表示通过以不改变M1和物体M2的配置的方式进行约束的约束条件来约束物体M1和物体M2的配置的强度的值,该误差值越大则该值越小,该误差值越小则该值越大。而且,表示通过以不改变物体M1和物体M2的配置的方式进行约束的约束条件来约束物体M1和物体M2的配置的强度的值越大,则在生成布局约束Graph-SLAM中的地图信息时,物体M1与物体M2的相对位置和姿势越难以变化。另外,表示通过以不改变物体M3和物体M4的配置的方式来进行约束的约束条件来约束物体M3和物体M4的配置的强度的值是组G2的布局约束条件信息所包含的信息所表示的误差值的倒数。即,关于表示通过以不改变物体M3和物体M4的配置的方式进行约束的约束条件来约束物体M3和物体M4的配置的强度的值,该误差值越大则该值越小,该误差值越小则该值越大。而且,表示通过以不改变物体M3和物体M4的配置的方式进行约束的约束条件来约束物体M3和物体M4的配置的强度的值越大,则在生成布局约束Graph-SLAM中的地图信息时,物体M3与物体M4的相对位置和姿势越难以变化。

另一方面,布局约束Graph-SLAM中的信息向量的各个元素的添加与以往的Graph-SLAM算法中的信息向量的各个元素的添加相同。因此,省略关于布局约束Graph-SLAM中的信息向量的各个元素的添加的详细说明。

以下,为了便于说明,将某个物体与控制对象装置10的相对位置和姿势称为该物体的物体装置间相对位置和姿势进行说明。此外,以下,为了便于说明,将某两个物体间的相对位置和姿势称为该两个物体的物体间相对位置和姿势。

<信息处理装置的硬件结构>

以下,参照图2对信息处理装置30的硬件结构进行说明。图2是表示信息处理装置30的硬件结构的一个示例的图。

信息处理装置30例如包括CPU(Central Processing Unit:中央处理器)31、存储部32、输入接受部33、通信部34以及显示部35。这些组件经由总线相互可通信地连接。另外,信息处理装置30经由通信部34分别与控制对象装置10和检测部20进行通信。

CPU31例如是控制整个信息处理装置30的处理器。CPU31也可以是FPGA(FieldProgrammable Gate Array:现场可编程门阵列)等其他处理器。CPU31执行保存于存储部32的各种程序。

存储部32例如包括HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid StateDrive:固态驱动器)、EEPROM(Electrically Erasable Programmable Read-Only Memory:电可擦可编程只读存储器)、ROM(Read-Only Memory:只读存储器)、RAM(Random AccessMemory:随机存储器)等。存储部32也可以不内置于信息处理装置30,而是一种通过USB(Universal Serial Bus:通用串行总线)等数字输入输出端口等连接的外置型存储装置。存储部32存储信息处理装置30要处理的各种信息、各种图像、各种程序等。例如,存储部32存储上述每个组的布局约束条件信息。

输入接受部33是键盘、鼠标、触摸板等输入装置。输入接受部33也可以是与显示部35一体构成的触摸面板。

通信部34例如包括天线、USB等数字输入输出端口、以太网(注册商标)端口等。

显示部35例如是包括液晶显示面板或有机EL(Electro Luminescence:电致发光)显示面板等的显示装置。

<信息处理装置的功能结构>

以下,参照图3对信息处理装置30的功能结构进行说明。图3是表示信息处理装置30的功能结构的一个示例的图。

信息处理装置30包括存储部32、输入接受部33、通信部34、显示部35以及控制部36。

控制部36控制整个信息处理装置30。控制部36例如包括拍摄控制部361、图像获取部362、第一推定部363、第二推定部364、获取部365、生成部366以及移动体控制部367。控制部36所包括的这些功能部例如通过CPU31执行存储于存储部32的各种程序来实现。另外,这些功能部中的一部分或全部也可以是LSI(Large Scale Integration:大规模集成)、ASIC(Application Specific Integrated Circuit:专用集成电路)等硬件功能部。另外,拍摄控制部361、图像获取部362、第一推定部363、第二推定部364、获取部365、生成部366以及移动体控制部367中的一部分或全部也可以一体构成。拍摄控制部361、图像获取部362、第一推定部363、第二推定部364、获取部365、生成部366、移动体控制部367中的一部分或全部也可以分别划分为两个以上的功能部。

拍摄控制部361使检测部20拍摄检测部20的可拍摄范围。

图像获取部362从检测部20获取检测部20拍摄到的拍摄图像。

第一推定部363推定由检测部20进行了拍摄的每个时刻的控制对象装置10在世界坐标系中的位置和姿势。以下,为了便于说明,将控制对象装置10在世界坐标系中的位置和姿势称为控制对象装置位置和姿势进行说明。

第二推定部364基于由图像获取部362获取的拍摄图像,推定对象空间R内的四个物体中在该拍摄图像中拍摄到的一个以上的物体各自的物体装置间相对位置和姿势。

获取部365从第二推定部364获取表示由第二推定部364推定的一个以上的物体装置间相对位置和姿势的物体装置间相对位置和姿势信息。

生成部366基于预先存储于存储部32的布局约束条件信息、由获取部365获取的物体装置间相对位置和姿势信息、以及由第一推定部363推定的控制对象装置位置和姿势,进行信息矩阵的各个元素的添加和信息向量的各个元素的添加。然后,生成部366进行基于添加了各个元素后的信息矩阵和信息向量的评价函数的最优化,推定对象空间R内的四个物体各自在世界坐标系中的位置和姿势。然后,生成部366基于对象空间R内的四个物体各自在世界坐标系中的位置和姿势的推定结果,生成表示对象空间R内的地图的地图信息。

移动体控制部367对控制对象装置10进行控制。例如,移动体控制部367基于预先存储于存储部32的动作程序,使控制对象装置10沿着规定的轨迹移动。另外,例如,移动体控制部367根据接受的操作,使控制对象装置10移动。

<布局约束Graph-SLAM中的信息矩阵的各个元素的添加方法>

以下,对布局约束Graph-SLAM中的信息矩阵的各个元素的添加方法进行说明。但是,以下,对将与对象空间R内的各个组的物体间相关的元素添加进该信息矩阵的方法进行说明,该元素以外的元素的添加方法与以往的Graph-SLAM算法中的添加方法相同,因此省略其说明。

以下,为了便于说明,通过变量k的值分别标识对象空间R内的四个物体。k的值为1至4中的任意值。当k=1时,k表示物体M1。当k=2时,k表示物体M2。当k=3时,k表示物体M3。当k=4时,k表示物体M4。另外,以下,为了便于说明,通过变量l的值标识对象空间R内的四个物体中与由k的值标识的物体间的相对位置和姿势被布局约束条件信息约束的其他物体。l的值是1至4中k的值以外的任意值。另外,以下,作为一个示例,通过t表示时刻。而在实施方式中,将某基准时刻设为t=0,通过对t加上整数来表示从t=0起经过的时间。即,在实施方式中,时刻t被离散化。此外,在实施方式中,x^y是指x上带有y作为上标,即x

例如,考虑在某个时刻t时由检测部20拍摄到的拍摄图像中由某个k值标识的物体被拍摄的情况、即由检测部20检测到该物体的情况。在该情况下,能够使用在时刻t时控制对象装置10在世界坐标系中的位置和姿势、以及在时刻t时该物体的物体装置间相对位置和姿势,并基于以下公式(1)和(2)来计算该物体在世界坐标系中的位置和姿势。此外,以下,为了便于说明,将某个物体在世界坐标系中的位置和姿势称为该物体的物体位置和姿势进行说明。

【公式1】

【公式2】

【公式3】

这里,m_k是具有表示由k标识的物体的物体位置和姿势的三个值作为元素的向量。r_t是表示时刻t时的控制对象装置位置和姿势的向量。r_t由上述公式(2)表示。x_rt是表示在时刻t时控制对象装置在世界坐标系中的位置的x坐标。y_rt是表示在时刻t时控制对象装置10在世界坐标系中的位置的y坐标。θ_rt是表示在时刻t时控制对象装置10在世界坐标系中的姿势的方位角。Z_k_t是表示该物体的观测值的向量。更具体地,Z_k_t是表示基于在时刻t时由检测部20拍摄到的拍摄图像推定的该物体的物体装置间相对位置和姿势的向量。Z_k_t由上述公式(3)明确表示。公式(3)右侧的第一元素,即x^{r_t}_{m_k},是表示该物体与时刻t时的控制对象装置10的相对位置的x坐标。换言之,x^{r_t}_{m_k}是表示从“表示时刻t时的控制对象装置位置和姿势的r_t”观察到的“表示由k标识的物体的物体位置和姿势的m_k”的相对位置的x坐标。公式(2)右侧的第二元素,即y^{r_t}_{m_k},是表示该物体与时刻t时的控制对象装置10的相对位置的y坐标。换言之,y^{r_t}_{m_k}是表示从“表示时刻t时的控制对象装置位置和姿势的r_t”观察到的“表示由k标识的物体的物体位置和姿势的m_k”的相对位置的y坐标。另外,公式(2)右侧的第三元素,即θ^{r_t}_{m_k}是表示该物体与时刻t时的控制对象装置10的相对姿势的方位角。换言之,θ^{r_t}_{m_k}是表示从“表示时刻t时的控制对象装置位置和姿势的r_t”观察到的“表示由k标识的物体的物体位置和姿势的m_k”的相对姿势的方位角。

另一方面,通过预先存储于存储部32的每个组的布局约束条件信息,指定由k的值标识的物体与由l的值标识的物体间的物体间相对位置和姿势。并且,能够由以下公式(4)和(5)表示包括该物体间相对位置和姿势信息的布局约束条件信息。

【公式4】

【公式5】

这里,公式(4)的左侧,即p^k_l,是表示布局约束条件信息的向量,该布局约束条件信息包括表示由k的值标识的物体与由l的值标识的物体间的物体间相对位置和姿势的信息作为以不改变这两个物体的配置的方式进行约束的约束条件。更具体地,p^k_l是表示布局约束条件信息的向量,该布局约束条件信息包括表示相对于由l的值标识的物体的位置和姿势的、由k的值标识的物体的相对位置和姿势的信息作为该约束条件。图4是公式(4)所示的向量的示意图。图4所示的物体MK表示由k的值标识的物体的一个示例。图4所示的物体ML表示由l的值标识的物体的一个示例。并且,图4所示的箭头表示该向量的一个示例。即,该向量表示为表示从物体MK的位置到物体ML的位置的向量。在图4中,作为一个示例,物体MK的位置由物体MK的图心的位置表示。另外,在图4中,作为一个示例,物体MK的位置由物体MK的图心的位置表示。该向量实际上具有表示通过以不改变物体MK与物体ML的配置的方式进行约束的约束条件来约束物体MK与物体ML的配置的强度的值作为元素,因此在图4中仅作为示意由箭头表示。公式(4)右侧的第一元素,即σ^k_l,表示相对于由l的值标识的物体的位置和姿势的、由k的值标识的物体的相对位置和姿势所容许的误差值(该值可以是单个值、向量、或矩阵)。公式(4)右侧的第二元素,即m^k_l,是表示相对于由l的值标识的物体的位置和姿势的、由k的值标识的物体的相对位置和姿势的向量。即,该第二元素是表示这两个物体的物体间相对位置和姿势的向量。公式(4)右侧的第二元素如公式(5)表示。公式(5)右侧的第一元素,即x^{m_k}_{m_l},是表示相对于由l的值标识的物体的位置的、由k的值标识的物体的相对位置的x坐标。公式(5)右侧的第二元素,即y^{m_k}_{m_l},是表示相对于由l的值标识的物体的位置的、由k的值标识的物体的相对位置的y坐标。公式(5)右侧的第三元素,即θ^{m_k}_{m_l},是表示相对于由l的值标识的物体的姿势的、由k的值标识的物体的相对姿势的方位角。

当使用公式(4)和(5)表示的布局约束条件信息时,即使检测部20在时刻t时没有检测到由l的值标识的物体,也能够基于以下公式(6)计算该物体在世界坐标系中的位置和姿势。

【公式6】

在此,当能够计算由某个k值标识的物体的物体位置和姿势、由公式(4)表示的布局约束条件信息、以及由l的值标识的物体的物体位置和姿势时,如以下公式(7)所示,能够将与这两个物体间相关的元素添加到信息矩阵Ω和信息向量ξ中。

【公式7】

上述公式(7)的信息矩阵Ω中明确表示的元素是信息矩阵Ω中与m_l和m_k相关的元素,即与由某个k值标识的物体和由l的值标识的物体相关的元素。并且,该元素是表示布局约束条件信息的向量的第一元素的倒数。即,该元素是表示通过以不改变由k的值标识的物体和由l的值标识的物体的配置的方式进行约束的约束条件来约束这两个物体的配置的强度的值。另外,在上述公式(7)的信息向量ξ中明确表示的元素是信息向量ξ中与m_l和m_k相关的元素,分别是m_l和m_k本身。

这样,信息处理装置30能够基于上述公式(1)至(7)和在时刻t时由检测部20拍摄到的拍摄图像,进行信息矩阵Ω的各个元素的添加和信息向量ξ的各个元素的添加。信息处理装置30基于在各个时刻时由检测部20拍摄到的拍摄图像进行该元素的添加。由此,信息处理装置30能够生成布局约束Graph-SLAM中的信息矩阵Ω和信息向量ξ。

在此,有时也基于上述公式(1)和(2),计算由k的值标识的物体在世界坐标系中的位置和姿势和由l的值标识的物体的物体位置和姿势。以下,为了便于说明,将由l的值标识的物体的物体位置和姿势中、基于公式(1)和(2)计算出的位置和姿势称为第一推定位置和姿势进行说明。另外,以下,为了便于说明,将由l的值标识的物体的物体位置和姿势中、基于公式(6)计算出的位置和姿势称为第二推定位置和姿势进行说明。表示第一推定位置和姿势的向量与表示第二推定位置和姿势的向量间的差异向量能够用于计算表示第一推定位置和姿势与第二推定位置和姿势间的偏差的大小的量。该量可以计算为第一推定位置和姿势与第二推定位置和姿势间的距离,例如是欧几里得空间中的内积、多变量空间中的马氏距离、概率空间中的KL(Kullback Leibler)信息量等。以下,作为一个示例,对表示第一推定位置和姿势与第二推定位置和姿势间的偏差的大小的量是该差异向量的内积的情况进行说明。在该情况下,当该内积超过规定的第一阈值时,认为由l的值标识的物体和由k的值标识的物体的配置从初始配置发生改变。当这两个物体的配置从初始配置发生改变时,在上述信息矩阵Ω中,应该删除与m_l和m_k相关的元素的连接。该元素的连接的删除意味着将该元素置换为0。以下公式(8)和(9)表示该差异向量的内积。

【公式8】

【公式9】

上述公式(8)的左侧表示上述内积。公式(8)右侧的两个括号内各自的第一项是表示第二推定位置和姿势的向量。基于公式(9)计算该第一项。并且,公式(8)右侧的两个括号内各自的第二项、即m_l,是表示第一推定位置和姿势的向量。

在此,上述第一阈值例如是第二推定位置和姿势的推定误差。该推定误差可以通过任何方法来推定。第一阈值也可以不是该推定误差,而是其他值。另外,在布局约束Graph-SLAM中的信息矩阵Ω和信息向量ξ各自的各个元素的添加所涉及的重复处理中,上述内积被重复计算。因此,当内积超过第一阈值的次数超过规定的第二阈值时,在上述信息矩阵Ω中,优选将与m_l和m_k相关的元素置换为0。第二阈值是0.0至1.0之间的数。当第二阈值为1.0时,在布局约束Graph-SLAM中,即使物体间的布局发生改变,物体间的布局改变也不会反映在结果中。另一方面,第二阈值越接近0.0,在布局约束Graph-SLAM中,当物体间的布局发生改变时,物体间的布局改变越容易反映在结果中。以下,为了便于说明,将如上所述将与两个物体间相关的元素置换为0的处理称为布局解除处理进行说明。

<信息处理装置生成信息矩阵和信息向量的处理>

以下,参照图5对信息处理装置30生成信息矩阵Ω和信息向量ξ的处理进行说明。图5是表示信息处理装置30生成信息矩阵Ω和信息向量ξ的处理的流程的一个示例的图。以下,作为一个示例,对在进行图5所示的步骤S110中的处理之前的时机下,信息处理装置30从检测部20获取在控制对象装置10在规定的轨道上移动的期间由检测部20拍摄到的多个拍摄图像的情况进行说明。另外,以下,作为一个示例,对在该时机下信息处理装置30预先接受开始该处理的操作的情况进行说明。

第二推定部364从存储部32读出预先存储于存储部32的每个组的布局约束条件信息(步骤S110)。

接着,控制部36从预先从检测部20获取的多个拍摄图像中,按照拍摄时刻从早到晚的顺序逐个选择拍摄图像作为对象拍摄图像,并对选择的每个对象拍摄图像反复进行步骤S130至步骤S170中的处理(步骤S120)。

在步骤S120中选择对象拍摄图像之后,第二推定部364判定在选择的对象拍摄图像中是否拍摄到对象空间R内的四个物体中的至少一个(步骤S130)。即,在步骤S130中,第二推定部364基于选择的对象拍摄图像,判定是否检测到对象空间R内的四个物体中的至少一个。在图5中,通过“检测到物体?”表示步骤S130中的处理。

当第二推定部364判定为选择的对象拍摄图像中未拍摄到对象空间R内的四个物体中的任一个时(步骤S130-否),移至步骤S120,并选择下一个对象拍摄图像。当在步骤S120中不存在能够选择为下一个对象拍摄图像的拍摄图像时,控制部36结束步骤S120至步骤S170的反复处理,并结束图5所示的流程图的处理。

另一方面,当第二推定部364判定为选择的对象拍摄图像中拍摄到对象空间R内的四个物体中的至少一个时(步骤S130-是),第一推定部363基于与对象拍摄图像对应的时刻信息,确定拍摄到对象拍摄图像的时刻。然后,第一推定部363基于预定的初始值和在规定的轨道上移动的控制对象装置10的速度的历史记录,推定确定的每个时刻时的控制对象装置位置和姿势(步骤S140)。在此,预定的初始值是表示控制对象装置10在世界坐标系中的位置和姿势的向量所具有的三个元素各自的初始值。这三个初始值可以是任意值。

接着,第二推定部364基于对象拍摄图像,推定对象空间R内的四个物体中在对象拍摄图像中拍摄到的一个以上的物体的物体装置间相对位置和姿势(步骤S150)。在此,例如,当在对象拍摄图像中拍摄到该四个物体中的某个物体时,第二推定部364从该物体的标记MKR读出第一编码信息和第二编码信息。由此,第二推定部364能够标识该物体是该四个物体中的哪一个,并能够推定在步骤S140中确定的时刻时的该物体的物体装置间相对位置和姿势信息。在步骤150中,第二推定部364对在对象拍摄图像中拍摄到的一个以上的物体分别进行这样的推定。

接着,获取部365获取在步骤S150中由第二推定部364推定的推定结果。然后,生成部366基于该推定结果、在步骤S110中从存储部32读出的布局约束条件信息、以及在步骤S140中由第一推定部363推定的推定结果,推定对象空间R内的四个物体中在对象拍摄图像中拍摄到的一个以上的物体、和与该一个以上的物体分别构成组的一个以上的物体各自的物体位置和姿势(步骤S160)。步骤S160中的推定方法在<布局约束Graph-SLAM中的信息矩阵的各个元素的添加方法>中已说明,因此在此省略其详细说明。另外,在步骤S160中,生成部366也可以针对在对象拍摄图像中拍摄到的一个以上的物体的每一个,计算表示上述第一推定位置和姿势的向量与表示第二推定位置和姿势的向量间的差异向量的内积,并判定计算出的该内积是否超过第一阈值。在该情况下,例如,当在对象拍摄图像中拍摄到物体M1时,生成部366在步骤S160中计算表示物体M1的第一推定位置和姿势的向量与表示物体M1的第二推定位置和姿势的向量间的差异向量的内积,并判定计算出的该内积是否超过第一阈值。然后,在步骤S120至步骤S170的重复处理中,当到目前为止判定为针对物体M1计算出的内积超过第一阈值的次数超过第二阈值时,生成部366进行将与物体M1和物体M2间相关的元素置换为0的布局解除处理。

接着,生成部366基于步骤S160中的推定结果和在步骤S110中读出的布局约束条件信息,进行信息矩阵Ω的各个元素的添加和信息向量ξ的各个元素的添加(步骤S170)。步骤S170中的添加方法在<布局约束Graph-SLAM中的信息矩阵的各个元素的添加方法>中已说明,因此在此省略其详细说明。

在进行了步骤S170中的处理之后,控制部36移至步骤S120,选择下一个对象拍摄图像。当在步骤S120中不存在能够选择为下一个对象拍摄图像的拍摄图像时,控制部36结束步骤S120至步骤S170的反复处理,并结束图5所示的流程图的处理。

需要说明的是,获取部365也可以从其他装置获取在步骤S140中由第一推定部363推定的推定结果和在步骤S150中推定的推定结果。在该情况下,生成部366基于由获取部365获取的这些推定结果,进行步骤S160中的处理和步骤S170中的处理。由此,信息处理装置30能够生成布局约束Graph-SLAM中的信息矩阵Ω和信息向量ξ。

<信息处理装置生成地图信息的处理>

以下,参照图6对信息处理装置30生成地图信息的处理进行说明。图6是表示信息处理装置30生成地图信息的处理的流程的一个示例的图。以下,作为一个示例,对在进行图6所示的步骤S210中的处理之前的时机下,信息处理装置30通过图5所示的流程图的处理生成信息矩阵Ω和信息向量ξ的情况进行说明。另外,以下,作为一个示例,对在该时机下信息处理装置30预先接受开始该处理的操作的情况进行说明。

生成部366基于预先生成的信息矩阵Ω和信息向量ξ,生成布局约束Graph-SLAM中的评价函数(步骤S210)。需要说明的是,生成该评价函数的方法可以是以往的Graph-SLAM算法中的方法,也可以是待开发的方法。

接着,生成部366进行基于在步骤S210中生成的评价函数的最优化处理(步骤S220)。需要说明的是,在步骤S220中的最优化处理中使用的最优化方法可以是已知的方法,也可以是待开发的方法。由此,生成部366能够推定对象空间R内的四个物体各自在世界坐标系中的位置和姿势。

接着,生成部366基于步骤S220中的推定结果,生成表示对象空间R内的地图的地图信息(步骤S230),并结束图6所示的流程图的处理。

如上所述,信息处理装置30基于预定的初始值推定控制对象装置位置和姿势,获取对象空间R内的四个物体中的至少一个物体的物体装置间相对位置和姿势信息,且基于存储于存储部32的布局约束条件信息、获取的该至少一个物体的物体装置间相对位置和姿势信息、以及推定的控制对象装置位置和姿势,生成表示对象空间R内的地图的地图信息。由此,即使对象空间R内的四个物体的配置从初始配置发生改变,信息处理装置30也能够高精度地生成表示对象空间R内的地图的地图信息。

<基于模拟器的信息处理装置的性能试验结果>

以下,参照附图,对基于模拟器的信息处理装置30的性能试验结果进行说明。图7是表示由信息处理装置30生成的地图信息的一个示例的图。但是,如图7所示在生成地图信息时,信息处理装置30基于不使用布局约束条件信息的以往的Graph-SLAM算法,生成了表示控制对象装置10所在的空间内的地图的地图信息。图7所示的地图信息表示的地图的空间是配置有通过布局约束而保持彼此的相对位置和姿势的八个物体的空间。另外,为了提高该Graph-SLAM算法中的反复处理的收敛性,在该空间内配置有世界坐标系中的位置和姿势固定为不动的四个地标LM1至LM4。其结果是,整个地图的精度与以往方法相比得到改善。但是,这四个地标LM1至LM4对图7所示的地图信息的物体间的相对位置关系的精度几乎没有影响。因此,在该空间内,也可以不配置这四个地标LM1至LM4中的一部分或者全部。在图7中,由八个虚线四边形Ms表示配置于该空间内的该八个物体实际所在的位置。在图7中,由八个虚线四边形Ms各自附带的箭头表示该八个物体的实际姿势。另外,在图7中,由虚线表示的路径V1表示由控制对象装置10推定的控制对象装置10的移动路径。另一方面,在图7中,由虚线表示的路径V2表示控制对象装置10的实际移动路径。即,在图7所示的示例中,信息处理装置30一边使检测部20拍摄,一边使控制对象装置10沿着作为规定的轨道的路径V2移动。而且,图7中由实线表示的八个四边形VMs分别表示由控制对象装置10推定的该八个物体各自的位置。另外,图7中由实线表示的八个四边形VMs各自附带的箭头表示由控制对象装置10推定的该八个物体各自的姿势。如图7所示,可知当使用不使用布局约束条件信息的以往的Graph-SLAM算法时,信息处理装置30不能高精度地推定八个物体的位置和姿势。从八个四边形Ms与八个四边形VMs的一致程度的高低、以及这些四边形各自附带的箭头间的一致程度的高低可以明显看出这一点。

另一方面,图8是表示由信息处理装置30生成的地图信息的其他示例的图。然而,如图8所示在生成地图信息时,信息处理装置30基于布局约束Graph-SLAM,生成了表示与图7所示的空间相同的空间内的地图的地图信息。如图8所示,可知当使用布局约束Graph-SLAM时,与使用不使用布局约束条件信息的以往的Graph-SLAM算法的图7的结果相比,信息处理装置30能够高精度地推定八个物体的位置和姿势。从图8中的八个四边形Ms与八个四边形VMs的一致程度比图7中的八个四边形Ms与八个四边形VMs的一致程度高的情况可以明显看出这一点。另外,从图8中的八个四边形Ms与八个四边形VMs各自附带的箭头的一致程度比图7中的八个四边形Ms与八个四边形VMs各自附带的箭头的一致程度高的情况也可以明显看出这一点。即,即使控制对象装置10所在的空间内的多个物体的配置从初始配置发生改变,信息处理装置30也能够高精度地生成表示该空间内的地图的地图信息。为了得到图8所示的结果而使用的布局约束Graph-SLAM可以进行上述布局解除处理,也可以不进行布局解除处理。

接着,图9是表示由信息处理装置30生成的地图信息的另一示例的图。然而,如图9所示在生成地图信息时,信息处理装置30基于布局约束Graph-SLAM,生成了表示控制对象装置10所在的空间内的地图的地图信息。图9所示的地图信息表示的地图的空间除了一部分以外,是与图7所示的空间相同的空间。在图9所示的空间中,通过布局约束而保持彼此的相对位置和姿势的八个物体中的一个物体移动到远离剩余的七个物体的位置。这样的一个物体的移动则是图7所示的空间与图9所示的空间的不同之处。在图9中,由七个虚线四边形Mss表示该七个物体实际所在的位置。在图9中,由七个虚线四边形Mss各自附带的箭头表示该七个物体的实际姿势。在图9中,由虚线四边形Ms1表示布局约束解除的该一个物体实际所在的位置。另外,在图9中,由虚线四边形Ms1附带的箭头表示该一个物体的实际姿势。并且,图9中由实线表示的七个四边形VMss分别表示由控制对象装置10推定的该七个物体各自的位置。图9中由实线表示的七个四边形VMss各自附带的箭头表示由控制对象装置10推定的该七个物体各自的姿势。图9中由实线表示的四边形VMs1表示由控制对象装置10推定的该一个物体的位置。另外,图9中由实线表示的四边形VMs1附带的箭头表示由控制对象装置10推定的该一个物体的姿势。在此,图9表示信息处理装置30基于不进行布局解除处理的布局约束Graph-SLAM,生成表示该空间内的地图的地图信息的结果。如图9所示,在该情况下,可知信息处理装置30不能高精度地推定八个物体各自的位置和姿势。从七个四边形Mss与七个四边形VMss的一致程度的高低可以明显看出这一点,且从四边形Ms1与四边形VMs1分离的情况更能明显看出这一点。

另一方面,图10是表示由信息处理装置30生成的地图信息的又一示例的图。然而,如图10所示在生成地图信息时,信息处理装置30基于进行了布局解除处理的布局约束Graph-SLAM,生成表示与图9所示的空间相同的空间内的地图的地图信息。如图10所示,可知当使用进行了布局解除处理的布局约束Graph-SLAM时,与图9的结果相比,信息处理装置30能够高精度地推定七个物体各自的位置和姿势以及一个物体的位置和姿势。即,信息处理装置30通过使用进行了布局解除处理的布局约束Graph-SLAM,即使控制对象装置10所在的空间内的多个物体的配置从初始配置发生改变,也能够更可靠且高精度地生成表示该空间内的地图的地图信息。

如上所述,上述控制对象装置10也可以是具有车轮的可移动机器人而不是无人机。图11是表示实施方式所涉及的控制系统1的结构的其他示例的图。在这种情况下,信息处理装置30也能够基于布局约束Graph-SLAM,推定对象空间R内的四个物体各自在世界坐标系中的位置和姿势,并生成表示对象空间R内的地图的地图信息。

此外,上述物体M1至物体M4中的至少一个物体上可以设置有多个标记。图12是表示设置有三个标记的物体M1的一个示例的图。在图12所示的物体M1上设置有标记MKR1-1、标记MKR1-2、以及标记MKR1-3这三个标记。由此,在由检测部20拍摄到的拍摄图像中,设置于物体M1的标记容易被拍摄。另外,当信息处理装置30能够分别标识这三个标记时,信息处理装置30能够基于拍摄到物体M1的拍摄图像,更高精度地检测物体M1的姿势。将这三个标记作为可标识标记的方法优选采用使用组合了QR码(注册商标)和AR码的Huecode的方法。由于Huecode已经公知,因此省略其详细说明。例如在日本特愿2020-169115号专利文献等中记载了Huecode的详细说明。

上述位置和姿势也可以仅为位置。在该情况下,上述姿势不使用于各种处理,仅使用位置来执行各种处理等。在该情况下,例如,表示位置和姿势的各种信息成为表示位置的信息。

另外,上述位置和姿势也可以仅为姿势。在该情况下,上述位置不使用于各种处理,仅使用姿势来执行各种处理等。在该情况下,例如,表示位置和姿势的各种信息成为表示姿势的信息。

如上所述,实施方式所涉及的信息处理装置(在上述示例中为信息处理装置30)用于控制成为控制对象的控制对象装置(在上述示例中为控制对象装置10),包括:存储部(在上述示例中为存储部32),其存储布局约束条件信息,该布局约束条件信息包括表示第一物体(在上述示例中例如为物体M1)与第二物体(在上述示例中例如为物体M2)的相对位置和姿势的信息,该第一物体配置于控制对象装置所在的空间(在上述示例中为对象空间R)内,该第二物体配置于空间内且与第一物体不同;以及控制部(在上述示例中为控制部36),其基于控制对象装置的位置和姿势、表示第一物体与控制对象装置的相对位置和姿势的第一物体装置间相对位置和姿势信息和表示第二物体与控制对象装置的相对位置和姿势的第二物体装置间相对位置和姿势信息中的至少一方、以及存储于存储部的布局约束条件信息,生成表示空间内的地图的地图信息。由此,即使控制对象装置所在的空间内的多个物体的配置从初始配置发生改变,信息处理装置也能够高精度地生成表示该空间内的地图的地图信息。

此外,在信息处理装置中,控制部可以包括:第一推定部(在上述示例中为第一推定部363),其基于预定的初始值,推定控制对象装置的位置和姿势;获取部(在上述示例中为获取部365),其获取第一物体装置间相对位置和姿势信息和第二物体装置间相对位置和姿势信息中的至少一方作为物体装置间相对位置和姿势信息;以及生成部(在上述示例中为生成部366),其基于存储于存储部的布局约束条件信息、由获取部获取的物体装置间相对位置和姿势信息、以及由第一推定部推定的控制对象装置的位置和姿势,生成表示空间内的地图的地图信息。

此外,在信息处理装置中,控制部还可以包括第二推定部(在上述示例中为第二推定部364),其基于来自检测第一物体和第二物体中的至少一方的检测部(在上述示例中为检测部20)的输出,推定第一物体与控制对象装置的相对位置和姿势和第二物体与控制对象装置的相对位置和姿势中的至少一方,且获取部可以从第二推定部获取表示第一物体与控制对象装置的相对位置和姿势和第二物体与控制对象装置的相对位置和姿势中的至少一方的信息作为物体装置间相对位置和姿势信息。

此外,在信息处理装置中,生成部可以基于Graph-SLAM生成地图信息。

此外,在信息处理装置中,生成部可以基于由获取部获取的物体装置间相对位置和姿势信息、由存储部存储的布局约束条件信息、以及由第一推定部推定的控制对象装置的位置和姿势,生成Graph-SLAM中的信息矩阵和信息向量,并通过进行基于生成的信息矩阵和信息向量的评价函数的最优化,生成地图信息。

此外,在信息处理装置中,生成部可以基于由获取部获取的物体装置间相对位置和姿势信息、由存储部存储的布局约束条件信息、以及由第一推定部推定的控制对象装置的位置和姿势,推定第一物体和第二物体各自的位置和姿势,并基于推定的第一物体和第二物体各自的位置和姿势,生成信息矩阵和信息向量。

此外,在信息处理装置中,当由获取部获取第一物体装置间相对位置和姿势信息和第二物体装置间相对位置和姿势信息双方作为物体装置间相对位置和姿势信息时,生成部可以:基于由第一推定部推定的控制对象装置的位置和姿势、由获取部获取的物体装置间相对位置和姿势信息、以及由存储部存储的布局约束条件信息,将第一物体的位置和姿势推定为第一推定位置和姿势且将第二物体的位置和姿势推定为第二推定位置和姿势;基于由第一推定部推定的控制对象装置的位置和姿势和由获取部获取的物体装置间相对位置和姿势信息,将第一物体的位置和姿势推定为第三推定位置和姿势且将第二物体的位置和姿势推定为第四推定位置和姿势;计算表示第一推定位置和姿势的向量与表示第三推定位置和姿势的向量之差作为第一差异,且计算表示第二推定位置和姿势的向量与表示第四推定位置和姿势的向量之差作为第二差异;以及基于第一差异、第一物体的位置和姿势的推定误差、第二差异、以及第二物体的位置和姿势的推定误差,删除信息矩阵所具有的元素中的根据布局约束条件信息确定的元素的连接。

此外,在信息处理装置中,控制对象装置可以是一种移动体,能够改变控制对象装置的位置和姿势。

此外,如上所述,实施方式所涉及的信息处理装置(在上述示例中为信息处理装置30)用于控制成为控制对象的控制对象装置(在上述示例中为控制对象装置10),包括:存储部(在上述示例中为存储部32),其存储布局约束条件信息,该布局约束条件信息包括表示第一物体(在上述示例中例如为物体M1)与第二物体(在上述示例中例如为物体M2)的相对位置的信息,该第一物体配置于控制对象装置所在的空间(在上述示例中为对象空间R)内,该第二物体配置于空间内且与第一物体不同;以及控制部(在上述示例中为控制部36),其基于控制对象装置的位置、表示第一物体与控制对象装置的相对位置的第一物体装置间相对位置信息和表示第二物体与控制对象装置的相对位置的第二物体装置间相对位置信息中的至少一方、以及存储于存储部的布局约束条件信息,生成表示空间内的地图的地图信息。由此,即使控制对象装置所在的空间内的多个物体的配置从初始配置发生改变,信息处理装置也能够高精度地生成表示该空间内的地图的地图信息。

此外,在信息处理装置中,控制部可以包括:第一推定部(在上述示例中为第一推定部363),其基于预定的初始值,推定控制对象装置的位置;获取部(在上述示例中为获取部365),其获取第一物体装置间相对位置信息和第二物体装置间相对位置信息中的至少一方作为物体装置间相对位置信息;以及生成部(在上述示例中为生成部366),其基于存储于存储部的布局约束条件信息、由获取部获取的物体装置间相对位置信息、以及由第一推定部推定的控制对象装置的位置,生成表示空间内的地图的地图信息。

此外,在信息处理装置中,控制部还可以包括第二推定部(在上述示例中为第二推定部364),其基于来自检测第一物体和第二物体中的至少一方的检测部(在上述示例中为检测部20)的输出,推定第一物体与控制对象装置的相对位置和第二物体与控制对象装置的相对位置中的至少一方,且获取部可以从第二推定部获取表示第一物体与控制对象装置的相对位置和第二物体与控制对象装置的相对位置中的至少一方的信息作为物体装置间相对位置信息。

此外,在信息处理装置中,生成部可以基于Graph-SLAM生成地图信息。

此外,在信息处理装置中,生成部可以基于由获取部获取的物体装置间相对位置信息、由存储部存储的布局约束条件信息、以及由第一推定部推定的控制对象装置的位置,生成Graph-SLAM中的信息矩阵和信息向量,并通过进行基于生成的信息矩阵和信息向量的评价函数的最优化,生成地图信息。

此外,在信息处理装置中,生成部可以基于由获取部获取的物体装置间相对位置信息、由存储部存储的布局约束条件信息、以及由第一推定部推定的控制对象装置的位置,推定第一物体和第二物体各自的位置,并基于推定的第一物体和第二物体各自的位置,生成信息矩阵和信息向量。

此外,在信息处理装置中,当由获取部获取第一物体装置间相对位置信息和第二物体装置间相对位置信息双方作为物体装置间相对位置信息时,生成部可以:基于由第一推定部推定的控制对象装置的位置、由获取部获取的物体装置间相对位置信息、以及由存储部存储的布局约束条件信息,将第一物体的位置推定为第一推定位置且将第二物体的位置推定为第二推定位置;并且基于由第一推定部推定的控制对象装置的位置和由获取部获取的物体装置间相对位置信息,将第一物体的位置推定为第三推定位置且将第二物体的位置推定为第四推定位置;计算表示第一推定位置的向量与表示第三推定位置的向量之差作为第一差异,且计算表示第二推定位置的向量与表示第四推定位置的向量之差作为第二差异;以及基于第一差异、第一物体的位置的推定误差、第二差异、以及第二物体的位置的推定误差,删除信息矩阵所具有的元素中的根据布局约束条件信息确定的元素的连接。

此外,在信息处理装置中,控制对象装置可以是一种移动体,能够改变控制对象装置的位置和姿势中的至少一方。

此外,如上所述,实施方式所涉及的信息处理装置(在上述示例中为信息处理装置30)用于控制成为控制对象的控制对象装置(在上述示例中为控制对象装置10),包括:存储部(在上述示例中为存储部32),其存储布局约束条件信息,该布局约束条件信息包括表示第一物体(在上述示例中例如为物体M1)与第二物体(在上述示例中例如为物体M2)的相对姿势的信息,该第一物体配置于控制对象装置所在的空间(在上述示例中为对象空间R)内,该第二物体配置于空间内且与第一物体不同;以及控制部(在上述示例中为控制部36),其基于控制对象装置的姿势、表示第一物体与控制对象装置的相对姿势的第一物体装置间相对姿势信息和表示第二物体与控制对象装置的相对姿势的第二物体装置间相对姿势信息中的至少一方、以及存储于存储部的布局约束条件信息,生成表示空间内的地图的地图信息。由此,即使控制对象装置所在的空间内的多个物体的配置从初始配置发生改变,信息处理装置也能够高精度地生成表示该空间内的地图的地图信息。

此外,在信息处理装置中,控制部可以包括:第一推定部(在上述示例中为第一推定部363),其基于预定的初始值,推定控制对象装置的姿势;获取部(在上述示例中为获取部365),其获取第一物体装置间相对姿势信息和第二物体装置间相对姿势信息中的至少一方作为物体装置间相对姿势信息;以及生成部(在上述示例中为生成部366),其基于存储于存储部的布局约束条件信息、由获取部获取的物体装置间相对姿势信息、以及由第一推定部推定的控制对象装置的姿势,生成表示空间内的地图的地图信息。

此外,在信息处理装置中,控制部还可以包括第二推定部(在上述示例中为第二推定部364),其基于来自检测第一物体和第二物体中的至少一方的检测部(在上述示例中为检测部20)的输出,推定第一物体与控制对象装置的相对姿势和第二物体与控制对象装置的相对姿势中的至少一方,且获取部可以从第二推定部获取表示第一物体与控制对象装置的相对姿势和第二物体与控制对象装置的相对姿势中的至少一方的信息作为物体装置间相对姿势信息。

此外,在信息处理装置中,生成部可以基于Graph-SLAM生成地图信息。

此外,在信息处理装置中,生成部可以基于由获取部获取的物体装置间相对姿势信息、由存储部存储的布局约束条件信息、以及由第一推定部推定的控制对象装置的姿势,生成Graph-SLAM中的信息矩阵和信息向量,并通过进行基于生成的信息矩阵和信息向量的评价函数的最优化,生成地图信息。

此外,在信息处理装置中,生成部可以基于由获取部获取的物体装置间相对姿势信息、由存储部存储的布局约束条件信息、以及由第一推定部推定的控制对象装置的姿势,推定第一物体和第二物体各自的姿势,并基于推定的第一物体和第二物体各自的姿势,生成信息矩阵和信息向量。

此外,在信息处理装置中,当由获取部获取第一物体装置间相对姿势信息和第二物体装置间相对姿势信息双方作为物体装置间相对姿势信息时,生成部可以:基于由第一推定部推定的控制对象装置的姿势、由获取部获取的物体装置间相对姿势信息、以及由存储部存储的布局约束条件信息,将第一物体的姿势推定为第一推定姿势且将第二物体的姿势推定为第二推定姿势;并且基于由第一推定部推定的控制对象装置的姿势和由获取部获取的物体装置间相对姿势信息,将第一物体的姿势推定为第三推定姿势且将第二物体的姿势推定为第四推定姿势;计算表示第一推定姿势的向量与表示第三推定姿势的向量之差作为第一差异,且计算表示第二推定姿势的向量与表示第四推定姿势的向量之差作为第二差异;以及基于第一差异、第一物体的姿势的推定误差、第二差异、以及第二物体的姿势的推定误差,删除信息矩阵所具有的元素中的根据布局约束条件信息确定的元素的连接。

此外,在信息处理装置中,控制对象装置可以是一种移动体,能够改变控制对象装置的位置和姿势中的至少一方。

以上,参照附图详细说明了本发明的实施方式,但具体的结构不限于该实施方式,只要不脱离本发明的主旨,也可以进行改变、置换、删除等。

此外,可以将用于实现上述装置(例如,控制对象装置10、检测部20、信息处理装置30等)中的任意组件的功能的程序记录于计算机可读记录介质,使计算机系统读入该程序并执行。这里所说的“计算机系统”包括OS(Operating System:操作系统)、周边设备等硬件。另外,“计算机可读记录介质”是指存储装置,其包括软盘、光磁盘、ROM(Read OnlyMemory:只读存储器)、CD(Compact Disk:光盘)-ROM等可移动介质以及内置于计算机系统的硬盘。进而,“计算机可读记录介质”还包括如经由因特网等网络、电话线路等通信线路发送了程序时的成为服务器、客户端的计算机系统内部的易失性存储器(RAM(Random AccessMemory:随机存取存储器))那样将程序保持一定时间的介质。

此外,可以从将上述程序保存于存储装置等的计算机系统经由传输介质、或通过传输介质中的传输波将上述程序向其他计算机系统传输。在此,传输程序的“传输介质”是指具有如因特网等网络(通信网)、电话线路等通信线路(通信线)那样传输信息的功能的介质。

另外,上述程序也可以用于实现上述功能的一部分。并且,上述程序也可以是能够通过与已经记录于计算机系统的程序进行组合来实现上述功能的程序,即所谓的差异文件(差异程序)。

符号说明

1:控制系统

10:控制对象装置

20:检测部

30:信息处理装置

31:CPU

32:存储部

33:输入接受部

34:通信部

35:显示部

36:控制部

361:拍摄控制部

362:图像获取部

363:第一推定部

364:第二推定部

365:获取部

366:生成部

367:移动体控制部

MKR、MKR1、MKR2、MKR3、MKR4:标记

R:对象空间。

技术分类

06120116337062