技术领域
[0001] 本
发明涉及
即时定位与地图构建方法和设备,更具体地说,涉及基于会话的、能够实现可持续即时定位与地图构建的方法和设备。
背景技术
[0002] 即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)是目前在
机器人定位方面的热
门研究课题。所谓SLAM就是将
移动机器人定位与环境地图创建融为一体,即机器人在运动过程中根据自身
位姿估计和
传感器对环境的
感知构建增量式环境地图,同时利用该地图实现自身的定位。
[0003] 然而,由于存储容量和计算性能的限制,自开发式移动机器人在不丢弃其自身数据的情况下,不能在未知的、开放环境中长时间进行SLAM。
[0004] 针对该问题,一种可能的解决方案是:机器人局部地进行SLAM,而不分发其结果用于长期使用,例如在项目Turtle和PR1/PR2上采用的Willow Garage/Google’s RGB-D SLAM。但是,该方案的缺点在于,由于
硬件的限制,单个机器人开发大区域的能
力也受限。
[0005] 另一种可能的解决方案是:机器人与本地或联网的
存储器合作地进行SLAM,其中在所述存储器中存储包括多组地图数据的环境地图。每一组地图数据均与环境中的一点处获得的观测相关联(例如,参见欧洲
专利申请:EP 2 256 574 A1)。但是,基本上,该方案仍然是单会话机制,尽管它将SLAM存储器分割为多个功能
块。它解决了地图存储的问题,但是随着地图数据的组数的不断增加,不能提高机器人的计算性能。
发明内容
[0006] 鉴于以上情形,期望提供新的即时定位与地图构建方法和设备,其使得机器人基于会话在未知环境中进行SLAM,从而只要电源允许,则能够虚拟地实现无限的任务持续时间和范围。该方法也被称为可持续的SLAM或基于会话的SLAM。
[0007] 根据本发明
实施例的一个方面,提供了一种信息处理方法,应用于一个或者多个可移动
电子设备中,所述可移动电子设备被用于一未知环境的即时定位与地图构建;
[0008] 其特征在于,所述方法包括如下步骤:
[0009] 所述可移动电子设备向宿主端发送会话
请求;
[0010] 所述可移动电子设备在所述未知环境中移动并进行所述即时定位与地图构建,获得并存储数据;
[0011] 当满足第一预定条件时,所述可移动电子设备向所述宿主端发送所述数据;
[0012] 当满足第二预定条件时,所述可移动电子设备向所述宿主端发送下一个会话请求,结束本次会话并清空所述数据。
[0013] 优选地,在根据本发明实施例的信息处理方法中,所述第一预定条件是指接收到所述宿主端发送的数据更新请求。
[0014] 优选地,在根据本发明实施例的信息处理方法中,所述第一预定条件是指计时器被触发。
[0015] 优选地,在根据本发明实施例的信息处理方法中,所述会话与所述下一个会话存在时间重叠。
[0016] 优选地,在根据本发明实施例的信息处理方法中,在所述清空所述数据的步骤之前,所述可移动电子设备将所述会话时段内的尚未发送给所述宿主端的所述数据继续发送给所述宿主端。
[0017] 优选地,在根据本发明实施例的信息处理方法中,所述第二预定条件是指由于所述可移动电子设备的硬件配置限制,除非清空所述数据,否则所述可移动电子设备无法再继续进行所述即时定位与地图构建。
[0018] 优选地,在根据本发明实施例的信息处理方法中,所述数据至少包括以下数据中的一种或者多种:所述可移动电子设备的运动轨迹、所述可移动电子设备的运动轨迹
姿态、当前已构建的地图信息。
[0019] 优选地,在根据本发明实施例的信息处理方法中,所述可移动电子设备与所述宿主端之间通过无线网络建立会话以及进行数据传输
[0020] 优选地,在根据本发明实施例的信息处理方法中,所述宿主端与Internet连接。
[0021] 优选地,在根据本发明实施例的信息处理方法中,所述宿主端为计算机。
[0022] 优选地,在根据本发明实施例的信息处理方法中,所述宿主端将接收到的所有所述数据进行处理整合,直到所述未知环境的地图被构建完成。
[0023] 根据本发明实施例的另一个方面,提供了一种信息处理方法,应用于一宿主端中,所述宿主端与一个或者多个可移动电子设备配合,被用于一未知环境的即时定位与地图构建;
[0024] 其特征在于,所述方法包括如下步骤:
[0025] 所述宿主端等待所述可移动电子设备发送的会话请求;
[0026] 所述宿主端接受所述会话请求;
[0027] 所述宿主端接收所述可移动电子设备发送来的与所述即时定位与地图构建相关的数据;
[0028] 所述宿主端存储并处理所述数据。
[0029] 优选地,在根据本发明实施例的信息处理方法中,所述可移动电子设备在所述未知环境中移动并进行所述即时定位与地图构建,从而获得并所述数据。
[0030] 优选地,在根据本发明实施例的信息处理方法中,在所述宿主端接受所述会话请求的步骤之后以及所述宿主端接收所述可移动电子设备发送来的所述数据的步骤之前,进一步包括所述宿主端向所述可移动电子设备发送一数据更新请求的步骤。
[0031] 优选地,在根据本发明实施例的信息处理方法中,所述宿主端处理所述数据的步骤包括:整合所接收到的所有所述数据,以完成所述未知环境的地图构建。
[0032] 根据本发明实施例的又一个方面,提供了一种可移动电子设备,用于一未知环境的即时定位与地图构建;
[0033] 其特征在于,所述设备包括:
[0034] 会话发送单元,用于向宿主端发送会话请求;
[0035] 即时定位与地图构建单元,用于在所述未知环境中移动并进行所述即时定位与地图构建,获得并存储数据;
[0036] 数据传输单元,用于当满足第一预定条件时,向所述宿主端发送所述数据;
[0037] 会话结束单元,用于当满足第二预定条件时,结束本次会话并清空所述数据。
[0038] 优选地,在根据本发明实施例的设备中,所述第一预定条件是指所述数据传输单元接收到所述宿主端发送的数据更新请求。
[0039] 优选地,在根据本发明实施例的设备中,进一步包括计时器,并且其中所述第一预定条件是指计时器被触发。
[0040] 优选地,在根据本发明实施例的设备中,当满足第二预定条件时,所述会话发送单元向宿主端发送下一个会话请求,并且所述会话与所述下一个会话之间存在时间重叠。
[0041] 优选地,在根据本发明实施例的设备中,所述数据传输单元在所述会话结束单元清空所述数据之前,将所述会话时段内的尚未发送给所述宿主端的所述数据继续发送给所述宿主端。
[0042] 优选地,在根据本发明实施例的设备中,所述第二预定条件是指由于所述可移动电子设备的硬件配置限制,除非清空所述数据,否则所述可移动电子设备无法再继续进行所述即时定位与地图构建。
[0043] 优选地,在根据本发明实施例的设备中,所述数据至少包括以下数据中的一种或者多种:所述可移动电子设备的运动轨迹、所述可移动电子设备的运动轨迹姿态、当前已构建的地图信息。
[0044] 优选地,在根据本发明实施例的设备中,所述可移动电子设备与所述宿主端之间通过无线网络建立会话以及进行数据传输。
[0045] 优选地,在根据本发明实施例的设备中,所述宿主端与Internet连接。
[0046] 优选地,在根据本发明实施例的设备中,所述宿主端为计算机。
[0047] 优选地,在根据本发明实施例的设备中,所述宿主端将接收到的所有所述数据进行处理整合,直到所述未知环境的地图被构建完成。
[0048] 根据本发明实施例的再一个方面,提供了一种信息处理设备,其作为宿主端,与一个或者多个可移动电子设备配合,用于一未知环境的即时定位与地图构建;
[0049] 其特征在于,所述设备包括如下步骤:
[0050] 会话接收单元,用于等待所述可移动电子设备发送的会话请求,并接受所述会话请求;
[0051] 数据接收单元,用于接收所述可移动电子设备发送来的与所述即时定位与地图构建相关的数据;
[0052] 存储单元,用于存储所述数据;以及
[0053] 处理单元,用于处理所述数据。
[0054] 优选地,在根据本发明实施例的设备中,所述可移动电子设备在所述未知环境中移动并进行所述即时定位与地图构建,从而获得并所述数据。
[0055] 优选地,在根据本发明实施例的设备中,进一步包括更新请求发送单元,用于在接受所述会话请求之后以及接收所述可移动电子设备发送来的所述数据的步骤之前,向所述可移动电子设备发送一数据更新请求。
[0056] 优选地,在根据本发明实施例的设备中,所述处理单元整合所接收到的所有所述数据,以完成所述未知环境的地图构建。
[0057] 通过根据本发明实施例的即时定位与地图构建方法和设备,可以连续地进行SLAM,而无需永久地丢失所发现的地图。另外,机器人可以重复使用其自身的SLAM结果和其他机器人在不同会话中获取的SLAM结果。在此
基础之上,建立大区域的3D地图变得可行。宿主端可以存储基于会话、由不同机器人获取的地图,并将它们集合成连续的地图。
附图说明
[0058] 图1是示出了在可移动电子设备端进行的信息处理方法的过程的
流程图;
[0059] 图2是示出了在宿主端进行的信息处理方法的过程的流程图;
[0060] 图3是示出了用于一未知环境的即时定位与地图构建的可移动电子设备的配置的
框图;以及
[0061] 图4是示出了作为宿主端的信息处理设备的配置的框图。
具体实施方式
[0062] 下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由
权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和
修改,而不脱离本发明的范围和精神。而且,为了使
说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
[0063] 在本发明中,基于会话的即时定位与地图构建系统包括一个宿主端(如,计算机)以及一个或多个可移动电子设备(如,机器人)端。其中,宿主端主要负责数据存储和后期处理,而可移动电子设备端主要负责未知环境中的短期SLAM。所述可移动电子设备与所述宿主端之间通过无线网络建立会话以及进行数据传输。当然,可替代地,宿主端和可移动电子设备均可以与诸如Internet之类的网络连接。宿主端和可移动电子设备端协同操作,从而实现长时间、大范围的即时定位与地图构建。
[0064] 在下文中,首先参照图1描述在可移动电子设备端进行的信息处理方法。如图1所示,所述方法包括如下步骤:
[0065] 首先,在步骤S101,可移动电子设备向宿主端发送会话请求。
[0066] 然后,在步骤S102,可移动电子设备在未知环境中移动并进行即时定位与地图构建,获得并存储数据。所述数据至少包括以下数据中的一种或者多种:所述可移动电子设备的运动轨迹、所述可移动电子设备的运动轨迹姿态、当前已构建的地图信息。
[0067] 接下来,在步骤S103,判断是否满足第一预定条件。如果满足第一预定条件,则处理进行到步骤S104。在步骤S104,可移动电子设备向所述宿主端发送在步骤S102中获得的数据。例如,这里所述的第一预定条件是指接收到所述宿主端发送的数据更新请求。当然,可替代地,这里所述的第一预定条件也可以是指计时器被触发。例如,可移动电子设备可以每隔预定时段向宿主端进行SLAM更新。
[0068] 另一方面,如果在步骤S103确定不满足第一预定条件,则处理返回到步骤S102,并继续进行SLAM。
[0069] 在步骤S104之后,处理进行到步骤S105。在步骤S105,判断是否满足第二预定条件。如果满足第二预定条件,则处理进行到步骤S106。在步骤S106,所述可移动电子设备将所述会话时段内的尚未发送给所述宿主端的所述数据继续发送给所述宿主端。
[0070] 然后,处理进行到步骤S107。在步骤S107,可移动电子设备向宿主端发送下一个会话请求,结束本次会话并清空所述数据。例如,这里所述的第二预定条件是指由于所述可移动电子设备的硬件配置限制,除非清空所述数据,否则所述可移动电子设备无法再继续进行所述即时定位与地图构建。
[0071] 优选地,对于同一个可移动电子设备,所述会话与所述下一个会话存在时间重叠。具体来说,当下一个会话刚开始的预定时段内,前一个会话仍未结束。这样可以确保两个连续场景中不会出现较大的偏差,保证最终全局地图的准确度。
[0072] 需要指出的是,在根据本发明的系统中,多个可移动电子设备可以同时操作,其分别对应于与宿主端进行的一个会话,并且其中的一个可移动电子设备可以启动多次会话。在各个会话中,可移动电子设备向宿主端传送数据,宿主端将接收到的所有数据进行处理整合,直到未知环境的地图被构建完成。
[0073] 接下来,将参照图2描述在宿主端进行的信息处理方法。如图2所示,所述方法包括如下步骤:
[0074] 首先,在步骤S201,宿主端等待可移动电子设备发送的会话请求。
[0075] 然后,在步骤S202,在存在这样的会话请求时,宿主端接受所述会话请求。
[0076] 接着,在步骤S203,宿主端接收所述可移动电子设备发送来的与所述即时定位与地图构建相关的数据。这里的数据是通过可移动电子设备在所述未知环境中移动并进行所述即时定位与地图构建而获得的。
[0077] 最后,在步骤S204,所述宿主端存储并处理所述数据。具体来说,宿主端处理数据的步骤包括:整合所接收到的所有所述数据,以完成所述未知环境的地图构建。
[0078] 当然,除了可移动电子设备传送SLAM数据的实施方式之外,宿主端也可以主动请求获取SLAM数据。也就是说,作为一种替代的实施例方式,在所述宿主端接受所述会话请求的步骤S202之后以及所述宿主端接收所述可移动电子设备发送来的所述数据的步骤S203之前,还可以进一步包括步骤S205。在步骤S205,所述宿主端向所述可移动电子设备发送一数据更新请求。在图2中,以虚线框示出步骤S205,表示该步骤并非必要步骤。
[0079] 在上文中,已经参照图1和图2描述了在根据本发明的系统中分别应用于可移动电子设备端和宿主端的信息处理方法。接下来,将参照图3和图4描述在根据本发明的系统中包括的可移动电子设备和宿主端的具体配置。
[0080] 图3是示出了用于一未知环境的即时定位与地图构建的可移动电子设备的配置的框图。
[0081] 如图3所示,可移动电子设备300包括会话发送单元301、即时定位与地图构建单元302、数据传输单元303和会话结束单元304。
[0082] 会话发送单元301用于向宿主端发送会话请求。
[0083] 即时定位与地图构建单元302用于在所述未知环境中移动并进行所述即时定位与地图构建,获得并存储数据。所述数据至少包括以下数据中的一种或者多种:所述可移动电子设备的运动轨迹、所述可移动电子设备的运动轨迹姿态、当前已构建的地图信息。
[0084] 数据传输单元303用于当满足第一预定条件时,向所述宿主端发送所述数据。其中如上文中所述,这里所述的第一预定条件是指数据传输单元303接收到所述宿主端发送的数据更新请求。
[0085] 当然,可替代地,可移动电子设备300还可以进一步包括计时器305。图3中以虚线框示出计时器305,以表示其非必要部件。在这种情况下,所述第一预定条件可以是指计时器305被触发。
[0086] 会话结束单元304用于当满足第二预定条件时,结束本次会话并清空所述数据。
[0087] 当满足第二预定条件时,所述会话发送单元向宿主端发送下一个会话请求,并且所述会话与所述下一个会话之间存在时间重叠。
[0088] 另外,数据传输单元303在会话结束单元304清空所述数据之前,将所述会话时段内的尚未发送给所述宿主端的所述数据继续发送给所述宿主端。
[0089] 如上文中所述,这里的第二预定条件是指由于所述可移动电子设备的硬件配置限制,除非清空所述数据,否则所述可移动电子设备无法再继续进行所述即时定位与地图构建。
[0090] 接下来,将参照图4描述根据本发明实施例系统中包括的宿主端的配置的框图。
[0091] 如图4所示,作为宿主端的信息处理设备400与一个或者多个可移动电子设备(为了便于图示,图4中仅示出了一个可移动电子设备)配合,用于一未知环境的即时定位与地图构建。设备400包括会话接收单元401、数据接收单元402、存储单元403和处理单元404。
[0092] 会话接收单元401用于等待所述可移动电子设备发送的会话请求,并接受所述会话请求。
[0093] 数据接收单元402用于接收所述可移动电子设备发送来的与所述即时定位与地图构建相关的数据。
[0094] 存储单元403用于存储所述数据。所述数据是通过可移动电子设备在所述未知环境中移动并进行所述即时定位与地图构建而获得的。
[0095] 处理单元404用于处理所述数据。如上文中所述,具体来说,处理单元404整合所接收到的所有所述数据,以完成所述未知环境的地图构建。
[0096] 另外,设备400还可以进一步包括更新请求发送单元405,用于在接受所述会话请求之后以及接收所述可移动电子设备发送来的所述数据的步骤之前,向所述可移动电子设备发送一数据更新请求。
[0097] 由于可移动电子设备300和作为宿主端的信息处理设备400的操作完全与之前所述的信息处理方法对应,因此为了简明起见,这里对其具体细节不再赘述。
[0098] 在上文中,已经参照附图描述根据本发明实施例的即时定位与地图构建系统和方法。由于本发明的方案基于回话进行,因此可以在存储容量和计算性能两个方面都得到改进,适于长时间、大范围的地图构建和定位。
[0099] 需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0100] 最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
[0101] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助
软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,
服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0102] 以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。