CN103885443A - 用于即时定位与地图构建单元的设备、系统和方法 - Google Patents
用于即时定位与地图构建单元的设备、系统和方法 Download PDFInfo
- Publication number
- CN103885443A CN103885443A CN201210559892.XA CN201210559892A CN103885443A CN 103885443 A CN103885443 A CN 103885443A CN 201210559892 A CN201210559892 A CN 201210559892A CN 103885443 A CN103885443 A CN 103885443A
- Authority
- CN
- China
- Prior art keywords
- map
- electronic equipment
- mobile electronic
- path
- grid
- 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.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Navigation (AREA)
Abstract
公开了用于即时定位与地图构建单元的设备、系统和方法。一种可移动电子设备,用于在未知环境中自主导航,包括:即时定位与地图构建单元,用于在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;第一通信单元,用于与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;路径规划单元,用于基于所述通信单元获得的第二地图数据,规划所述可移动电子设备到达目标点的路径;以及控制单元,用于控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进。
Description
技术领域
本发明涉及用于即时定位与地图构建的设备、系统和方法,更具体地说,涉及实现完全自主导航且能加速运行速度的、用于即时定位与地图构建的设备、系统和方法。
背景技术
即时定位与地图构建(Simultaneous Localization and Mapping,SLAM)是目前在机器人定位方面的热门研究课题。所谓SLAM就是将移动机器人定位与环境地图创建融为一体,即机器人在运动过程中根据自身位姿估计和传感器对环境的感知构建增量式环境地图,同时利用该地图实现自身的定位。
机器人的导航性能受到其获取环境(如,地图)和当前位置的信息的能力限制。周围地图和当前位置的准确和及时更新可以在路径寻找、路径规划、碰撞避免和其他任务方面向机器人提供更大的自由度。
当机器人处于未知环境下时,用户给出所期望机器人到达的位置坐标(目标点),机器人在SLAM的辅助下,在无任何对场景预先标示的情况下,可实现机器人快速自主探索并生成无碰撞路径,最终导航移动到目标点。
针对该问题,专利文件1(US4790402)中公开了一种可能的解决方案:其中,需要预先在特定物体上部署标志物,然后通过移动小车上的激光器来寻找这些标志物,从而对移动小车定位、导航。这种方法需要外部辅助条件,不是完全自主导航。并且此项技术不适于复杂环境,一旦标志物被遮挡,导航将无法进行下去。
专利文件2(US8090491B2)公开了另一种可能的解决方案:其中,需要人工预先设定多条路径,此后机器人可以根据场景实际情况进行路径选择,在无人工干涉的情况下,实现自主导航行驶。但此专利的路径是人工设定好的,仍不属于机器人完全自主导航。
发明内容
鉴于以上问题,期望提供实现完全自主导航且能加速运行速度的、用于即时定位与地图构建的设备、系统和方法。
本发明的设计初衷是为了实现机器人的完全自主导航。由于机器人视野距离或者场景中障碍物的限制,机器人可能无法直接观察到先前所设定的目标点位置,所以需要一个完整的系统去帮助机器人完成探索导航任务。在根据本发明的实施例中,为了加速整体系统的运行速度,采用C/S结构,即机器人Client端与主机Server端。服务器端负责将机器人端发过来的每帧SLAM数据进行融合来完成场景的3D Map和2D Map的构建。在服务器端,新生成的2D Map将会通过网络与机器人端保持实时同步。机器人端将会根据2DMap进行路径规划和导航,进而控制自身向目标点移动。
根据本发明的一个方面,提供了一种可移动电子设备,用于在未知环境中自主导航,包括:
即时定位与地图构建单元,用于在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;
第一通信单元,用于与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;
路径规划单元,用于基于所述通信单元获得的第二地图数据,规划所述可移动电子设备到达目标点的路径;以及
控制单元,用于控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进。
优选地,在根据本发明实施例的可移动电子设备中,所述服务器与可移动电子设备通信以获取最近获得的一帧点云数据,基于目前获取的所有帧点云数据产生更新的第二地图数据,并将最近更新的第二地图数据发送到所述通信单元,并且
在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。
优选地,在根据本发明实施例的可移动电子设备中,所述服务器包括:
第二通信单元,用于与所述可移动电子设备通信以从其接收最近获得的一帧点云数据并向其发送最近更新的第二地图数据;
地图构建单元,用于将由所述第二通信单元目前获取的所有帧点云数据进行融合;
第一地图生成单元,用于基于所述地图构建单元的融合结果生成第一地图;
第二地图生成单元,用于基于由所述第一地图生成单元生成的第一地图,生成更新的第二地图,
其中所述第一地图的数据量大于第二地图的数据量。
优选地,在根据本发明实施例的可移动电子设备中,所述第一地图为三维地图,且所述第二地图为二维地图。
优选地,在根据本发明实施例的可移动电子设备中,所述路径规划单元进一步包括:
地图解析单元,用于解析所述第一通信单元获得的最近更新的第二地图数据;
网格合并单元,用于基于可移动电子设备的大小合并网格;
判断单元,用于基于第二地图中网格的标识值来判断所述可移动电子设备是否能够到达目标点;
路径选择单元,用于当所述判断单元判断出所述可移动电子设备能够到达目标点时,基于最近更新的第二地图选择一最佳路径;而当所述判断单元判断出所述可移动电子设备不能到达目标点时,选择距离所述目标点最近的一临时目标点,并规划到达该临时目标点的路径。
优选地,在根据本发明实施例的可移动电子设备中,
当所述可移动电子设备移动到目标点时,所述控制单元向所述路径规划单元发送新的路径请求,以进行下一次移动。
优选地,在根据本发明实施例的可移动电子设备中,
当所述路径规划单元基于最近更新的第二地图选择了与基于上次更新的第二地图选择的第一临时目标点不同的第二临时目标点,且第一临时目标点对应第一路径而第二临时目标点对应第二路径时,所述控制单元控制所述可移动电子设备以便停止按照第一路径行进,而是按照第二路径行进。
根据本发明的另一个方面,提供了一种即时定位与地图构建系统,包括:
可移动电子设备,用于在未知环境中自主导航,且包括:
即时定位与地图构建单元,用于在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;
第一通信单元,用于与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;
路径规划单元,用于基于所述第一通信单元获得的地图数据,规划所述可移动电子设备到达目标点的路径;以及
控制单元,用于控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进;
服务器,用于辅助所述可移动电子设备移动至所述目标点,且包括:
第二通信单元,用于与所述可移动电子设备通信以从其接收最近获得的一帧点云数据并向其发送最近更新的第二地图数据;
地图构建单元,用于将由所述第二通信单元目前获取的所有帧点云数据进行融合;
第一地图生成单元,用于基于所述地图构建单元的融合结果生成第一地图;
第二地图生成单元,用于基于由所述第一地图生成单元生成的第一地图,生成更新的第二地图;
其中,在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发,并且
所述第一地图的数据量大于第二地图的数据量。
根据本发明的再一个方面,提供了一种信息处理方法,用于可移动电子设备,所述可移动电子设备在未知环境中自主导航,所述方法包括如下步骤:
在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;
与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;
基于所获得的第二地图数据,规划所述可移动电子设备到达目标点的路径;以及
控制所述可移动电子设备以便按照规划的路径行进。
优选地,在根据本发明实施例的信息处理方法中,
通过所述服务器与可移动电子设备通信以获取最近获得的一帧点云数据,基于目前获取的所有帧点云数据产生更新的第二地图数据,并将最近更新的第二地图数据发送到所述可移动电子设备,并且
在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。
优选地,在根据本发明实施例的信息处理方法中,基于目前获取的所有帧点云数据产生更新的第二地图数据的步骤包括:
将目前获取的所有帧点云数据进行融合;
基于融合结果生成第一地图;
基于第一地图,生成更新的第二地图,
其中所述第一地图的数据量大于第二地图的数据量。
优选地,在根据本发明实施例的信息处理方法中,所述第一地图为三维地图,且所述第二地图为二维地图。
优选地,在根据本发明实施例的信息处理方法中,规划所述可移动电子设备到达目标点的路径的步骤包括:
解析所获得的最近更新的第二地图数据;
基于可移动电子设备的大小合并网格;
基于第二地图中网格的标识值来判断所述可移动电子设备是否能够到达目标点;
当判断出所述可移动电子设备能够到达目标点时,基于最近更新的第二地图选择一最佳路径;而当判断出所述可移动电子设备不能到达目标点时,选择距离所述目标点最近的一临时目标点,并规划到达该临时目标点的路径。
优选地,根据本发明实施例的信息处理方法进一步包括:
当所述可移动电子设备移动到目标点时,发送新的路径请求,以进行下一次移动。
优选地,在根据本发明实施例的信息处理方法中,
当基于最近更新的第二地图选择了与基于上次更新的第二地图选择的第一临时目标点不同的第二临时目标点,且第一临时目标点对应第一路径而第二临时目标点对应第二路径时,控制所述可移动电子设备以便停止按照第一路径行进,而是按照第二路径行进。
根据本发明的又一个方面,提供了一种信息处理方法,应用于即时定位与地图构建系统,其包括可移动电子设备和服务器,所述方法包括如下步骤:
通过可移动电子设备,在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据,并将获取的点云数据发送到服务器;
通过服务器,将目前获取的所有帧点云数据进行融合,基于融合结果生成第一地图,并基于生成的第一地图,生成更新的第二地图并将其发送到可移动电子设备;
通过可移动电子设备,基于更新的第二地图数据,规划所述可移动电子设备到达目标点的路径,并控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进;
其中,在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发,并且
所述第一地图的数据量大于第二地图的数据量。
在根据本发明实施例的用于即时定位与地图构建的设备、系统和方法中,由于采用C/S结构,将计算量大的工作放大服务器端处理,以保证场景绘制过程的实时性。而场景的实时性,可以确保2D地图的实时生成,进而为机器人自身实时路径生成提供实时数据。
附图说明
图1是示出了根据本发明实施例的可移动电子设备、服务器的配置的功能框图;
图2是示出了应用于根据本发明实施例的可移动电子设备的信息处理方法的过程的流程图;
图3是示出图2中的步骤S203的具体过程的流程图;以及
图4是示出了应用于根据本发明实施例的即时定位与地图构建系统的信息处理方法的过程的流程图。
具体实施方式
下面将参照附图对本发明的各个优选的实施方式进行描述。提供以下参照附图的描述,以帮助对由权利要求及其等价物所限定的本发明的示例实施方式的理解。其包括帮助理解的各种具体细节,但它们只能被看作是示例性的。因此,本领域技术人员将认识到,可对这里描述的实施方式进行各种改变和修改,而不脱离本发明的范围和精神。而且,为了使说明书更加清楚简洁,将省略对本领域熟知功能和构造的详细描述。
首先,将参照图1描述根据本发明实施例的可移动电子设备(即上文中所述的机器人)、服务器以及它们所构成的系统。所述可移动电子设备用于在未知环境中自主导航。如图1所示,可移动电子设备100包括:即时定位与地图构建单元101、第一通信单元102、路径规划单元103和控制单元104。
即时定位与地图构建单元101用于在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧SLAM点云数据。
第一通信单元102与外部服务器通信以向其发送最近获得的一帧点云数据。例如,通信方式可以是经由TCP/IP网络的方式。
外部服务器200不断地从第一通信单元102获取即时定位与地图构建单元101获得的点云数据,并将一个一个单一帧的点云数据融合,从而基于目前获取的所有帧点云数据获得不断更新的第二地图数据。
需要指出的是,在所述第二地图中,以预定大小的方格划分第二地图从而生成网格状地图,其中每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。
具体来说,服务器200包括:第二通信单元201、地图构建单元202、第一地图生成单元203、第二地图生成单元204。
第二通信单元201与所述可移动电子设备的第一通信单元102通信以从其接收最近获得的一帧点云数据。
地图构建单元202将由所述第二通信单元201目前获取的所有帧点云数据进行融合。
第一地图生成单元203基于所述地图构建单元的融合结果生成第一地图。
第二地图生成单元204基于由所述第一地图生成单元203生成的第一地图,生成更新的第二地图。
这里,需要说明的是,第一地图的数据量大于第二地图的数据量。也就是说,这里进行的第一地图到第二地图的转换是为了减小接下来所要进行的路径规划中的运算量。例如,第一地图数据可以是三维(3D)地图,第二地图可以是二维(2D)地图。第一地图生成单元203根据地图构建单元202的融合结果以及RGB和点云位置信息,对可移动电子设备探索过的场景进行建模,生成3D地图。第二地图生成单元204根据可移动电子设备的位置和高度、障碍物的位置和高度、地面高度生成2D网格状地图,如上文中所述,在网格状地图中,每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。又如,第一地图可以是彩色地图,第二地图可以是灰度地图。在这种情况下,灰度地图也是网格状地图。
然后服务器200通过第二通信单元201将获取的最近更新的第二地图数据发送到第一通信单元102。例如,通信方式可以是经由TCP/IP网络的方式。
如上文中所述,可移动电子设备100不断地获取SLAM结果,并将所获取的SLAM结果发送到服务器200。服务器200基于目前获得的所有SLAM结果不断地更新第二地图,并将最新的第二地图发送给可移动电子设备。以这种方式,可以保持第二地图在服务器端和可移动电子设备端同步。
路径规划单元103基于第一通信单元102获得的第二地图数据,规划所述可移动电子设备到达目标点的路径。其中,目标点由用户设定。
具体来说,所述路径规划单元103进一步包括:地图解析单元1031、网格合并单元1032、判断单元1033和路径选择单元1034。
地图解析单元1031解析所述第一通信单元102获得的最近更新的第二地图数据。
网格合并单元1032基于可移动电子设备的大小合并网格。
判断单元1033基于第二地图中网格的标识值来判断所述可移动电子设备是否能够到达目标点。具体来说,首先在第二地图上找到当前位置点和期望终点位置。然后,例如,以Flood-Flux算法,检测是否在初始点到终点存在连通性。
当所述判断单元1033判断出所述可移动电子设备能够到达目标点时,路径选择单元1034基于最近更新的第二地图选择一最佳路径;而当所述判断单元1033判断出所述可移动电子设备不能到达目标点时,选择距离所述目标点最近的一临时目标点,并规划到达该临时目标点的路径。具体来说,路径选择单元1034在现有的新更新的第二地图中,找到可移动电子设备可以到达的离目标点最靠近的位置(可以是目标点,也可以是临时目标点),并用A*算法和本申请人之前提交的基于Pace-Lock机器人控制技术,找到最优路径。
控制单元104控制所述可移动电子设备以便按照所述路径规划单元103规划的路径行进。
需要说明的是,在上文中所述的过程中,可移动电子设备完成SLAM处理。第一地图和第二地图会随着可移动电子设备的探索过程而不断扩充。并且,上文中所述的过程不停地迭代,直到满足如下停止条件之一为止:
(1)机器人到达目标点;
(2)目标点位置为障碍物;
(3)可移动电子设备发现自身被关在封闭区域内。
当可移动电子设备100移动到目标点时,控制单元104向所述路径规划单元103发送新的路径请求,以进行下一次移动。
另外,需要说明的是,当路径规划单元103基于最近更新的第二地图选择了与基于上次更新的第二地图选择的第一临时目标点不同的第二临时目标点,且第一临时目标点对应第一路径而第二临时目标点对应第二路径时,控制单元104控制所述可移动电子设备100以便停止按照第一路径行进,而是按照第二路径行进。
在上文中,参照图1描述了根据本发明实施例的可移动电子设备和服务器的具体配置,其中可移动电子设备100和服务器200共同构成即时定位与地图构建系统。接下来,将参照图2描述应用于所述可移动电子设备的信息处理方法。
如图2所示,所述方法包括如下步骤:
首先,在步骤S201,在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据。
然后,在步骤S202,与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据。
如上文中所述,所述服务器与可移动电子设备通信以获取最近获得的一帧点云数据,基于目前获取的所有帧点云数据产生更新的第二地图数据,并将最近更新的第二地图数据发送到所述可移动电子设备。
具体来说,基于目前获取的所有帧点云数据产生更新的第二地图数据的步骤包括:将目前获取的所有帧点云数据进行融合;基于融合结果生成第一地图;基于第一地图,生成更新的第二地图。这里,需要说明的是,第一地图的数据量大于第二地图的数据量。也就是说,这里进行的第一地图到第二地图的转换是为了减小接下来所要进行的路径规划中的运算量。例如,第一地图数据可以是三维(3D)地图,第二地图可以是二维(2D)地图,第二地图生成单元204根据可移动电子设备的位置和高度、障碍物的位置和高度、地面高度生成2D网格状地图,如上文中所述,在网格状地图中,每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。又如,第一地图可以是彩色地图,第二地图可以是灰度地图。在这种情况下,灰度地图也是网格状地图。
接下来,在步骤S203,基于所获得的第二地图数据,规划所述可移动电子设备到达目标点的路径。
具体来说,如图3所述,步骤S203进一步包括如下步骤:
首先,在步骤S2031,解析所获得的最近更新的第二地图数据。
然后,在步骤S2032,基于可移动电子设备的大小合并网格。
接下来,在步骤S2033,基于第二地图中网格的标识值来判断所述可移动电子设备是否能够到达目标点。
当在步骤S2033判断出所述可移动电子设备能够到达目标点时,处理进行到步骤S2034。在步骤S2034,基于最近更新的第二地图选择一最佳路径。另一方面,当在步骤S2033判断出所述可移动电子设备不能到达目标点时,处理进行到步骤S2035。在步骤S2035,选择距离所述目标点最近的一临时目标点,并规划到达该临时目标点的路径。
返回图2,在步骤S204,控制所述可移动电子设备以便按照规划的路径行进。在步骤S205,判断是否满足停止条件。如果在步骤S205判断不满足停止条件,则处理返回到步骤S201,并重复以上处理。另一方面,如果在步骤S205判断满足停止条件,则处理结束。
需要指出的是,这里所说的处理结束意即一次路径规划结束。也就是说,当可移动电子设备满足一个停止条件,如移动到目标点时,还可以发送新的路径请求,以进行下一次移动。
另外,需要说明的是,与上文中所述的类似,当基于最近更新的第二地图选择了与基于上次更新的第二地图选择的第一临时目标点不同的第二临时目标点,且第一临时目标点对应第一路径而第二临时目标点对应第二路径时,控制所述可移动电子设备以便停止按照第一路径行进,而是按照第二路径行进。
接下来,将参照图4描述应用于即时定位与地图构建系统的方法。如上文中参照图1所述,即时定位与地图构建系统包括可移动电子设备和服务器。下面,参照图4描述所述方法如下:
首先,在步骤S401,通过可移动电子设备,在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据,并将获取的点云数据发送到服务器。
然后,在步骤S402,通过服务器,将目前获取的所有帧点云数据进行融合,基于融合结果生成第一地图,并基于生成的第一地图,生成更新的第二地图,并将更新的第二地图发送到可移动电子设备。
接着,在步骤S403,通过可移动电子设备,基于更新的第二地图数据,规划所述可移动电子设备到达目标点的路径,并控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进。
然后,在步骤S404,判断是否满足停止条件。如果不满足,则处理返回到步骤S401,并重复以上处理。另一方面,如果满足,则处理结束。
其中,与上文中类似,在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发,并且所述第一地图的数据量大于第二地图的数据量。
由于应用于根据本发明实施例的设备、系统的方法完全与上文中所述的设备、系统对应,因此为了简明起见,对于其具体细节不再赘述。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过软件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (16)
1.一种可移动电子设备,用于在未知环境中自主导航,包括:
即时定位与地图构建单元,用于在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;
第一通信单元,用于与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;
路径规划单元,用于基于所述通信单元获得的第二地图数据,规划所述可移动电子设备到达目标点的路径;以及
控制单元,用于控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进。
2.根据权利要求1所述的可移动电子设备,其中
所述服务器与可移动电子设备通信以获取最近获得的一帧点云数据,基于目前获取的所有帧点云数据产生更新的第二地图数据,并将最近更新的第二地图数据发送到所述通信单元,并且
在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。
3.根据权利要求1所述的可移动电子设备,其中所述服务器包括:
第二通信单元,用于与所述可移动电子设备通信以从其接收最近获得的一帧点云数据并向其发送最近更新的第二地图数据;
地图构建单元,用于将由所述第二通信单元目前获取的所有帧点云数据进行融合;
第一地图生成单元,用于基于所述地图构建单元的融合结果生成第一地图;
第二地图生成单元,用于基于由所述第一地图生成单元生成的第一地图,生成更新的第二地图,
其中所述第一地图的数据量大于第二地图的数据量。
4.根据权利要求1所述的所述可移动电子设备,其中所述第一地图为三维地图,且所述第二地图为二维地图。
5.根据权利要求1所述的可移动电子设备,其中所述路径规划单元进一步包括:
地图解析单元,用于解析所述第一通信单元获得的最近更新的第二地图数据;
网格合并单元,用于基于可移动电子设备的大小合并网格;
判断单元,用于基于第二地图中网格的标识值来判断所述可移动电子设备是否能够到达目标点;
路径选择单元,用于当所述判断单元判断出所述可移动电子设备能够到达目标点时,基于最近更新的第二地图选择一最佳路径;而当所述判断单元判断出所述可移动电子设备不能到达目标点时,选择距离所述目标点最近的一临时目标点,并规划到达该临时目标点的路径。
6.根据权利要求1所述的可移动电子设备,其中:
当所述可移动电子设备移动到目标点时,所述控制单元向所述路径规划单元发送新的路径请求,以进行下一次移动。
7.根据权利要求1所述的可移动电子设备,其中:
当所述路径规划单元基于最近更新的第二地图选择了与基于上次更新的第二地图选择的第一临时目标点不同的第二临时目标点,且第一临时目标点对应第一路径而第二临时目标点对应第二路径时,所述控制单元控制所述可移动电子设备以便停止按照第一路径行进,而是按照第二路径行进。
8.一种即时定位与地图构建系统,包括:
可移动电子设备,用于在未知环境中自主导航,且包括:
即时定位与地图构建单元,用于在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;
第一通信单元,用于与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;
路径规划单元,用于基于所述第一通信单元获得的地图数据,规划所述可移动电子设备到达目标点的路径;以及
控制单元,用于控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进;
服务器,用于辅助所述可移动电子设备移动至所述目标点,且包括:
第二通信单元,用于与所述可移动电子设备通信以从其接收最近获得的一帧点云数据并向其发送最近更新的第二地图数据;
地图构建单元,用于将由所述第二通信单元目前获取的所有帧点云数据进行融合;
第一地图生成单元,用于基于所述地图构建单元的融合结果生成第一地图;
第二地图生成单元,用于基于由所述第一地图生成单元生成的第一地图,生成更新的第二地图;
其中,在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发,并且
所述第一地图的数据量大于第二地图的数据量。
9.一种信息处理方法,用于可移动电子设备,所述可移动电子设备在未知环境中自主导航,所述方法包括如下步骤:
在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据;
与外部服务器通信以向其发送最近获得的一帧点云数据并从其获取最近更新的第二地图数据;
基于所获得的第二地图数据,规划所述可移动电子设备到达目标点的路径;以及
控制所述可移动电子设备以便按照规划的路径行进。
10.根据权利要求9所述的信息处理方法,其中
通过所述服务器与可移动电子设备通信以获取最近获得的一帧点云数据,基于目前获取的所有帧点云数据产生更新的第二地图数据,并将最近更新的第二地图数据发送到所述可移动电子设备,并且
在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发。
11.根据权利要求9所述的信息处理方法,其中基于目前获取的所有帧点云数据产生更新的第二地图数据的步骤包括:
将目前获取的所有帧点云数据进行融合;
基于融合结果生成第一地图;
基于第一地图,生成更新的第二地图,
其中所述第一地图的数据量大于第二地图的数据量。
12.根据权利要求9所述的信息处理方法,其中所述第一地图为三维地图,且所述第二地图为二维地图。
13.根据权利要求9所述的信息处理方法,其中规划所述可移动电子设备到达目标点的路径的步骤包括:
解析所获得的最近更新的第二地图数据;
基于可移动电子设备的大小合并网格;
基于第二地图中网格的标识值来判断所述可移动电子设备是否能够到达目标点;
当判断出所述可移动电子设备能够到达目标点时,基于最近更新的第二地图选择一最佳路径;而当判断出所述可移动电子设备不能到达目标点时,选择距离所述目标点最近的一临时目标点,并规划到达该临时目标点的路径。
14.根据权利要求9所述的信息处理方法,进一步包括:
当所述可移动电子设备移动到目标点时,发送新的路径请求,以进行下一次移动。
15.根据权利要求9所述的信息处理方法,其中:
当基于最近更新的第二地图选择了与基于上次更新的第二地图选择的第一临时目标点不同的第二临时目标点,且第一临时目标点对应第一路径而第二临时目标点对应第二路径时,控制所述可移动电子设备以便停止按照第一路径行进,而是按照第二路径行进。
16.一种信息处理方法,应用于即时定位与地图构建系统,其包括可移动电子设备和服务器,所述方法包括如下步骤:
通过可移动电子设备,在未知环境下进行即时定位与地图构建,从而每隔预定时间获得一帧点云数据,并将获取的点云数据发送到服务器;
通过服务器,将目前获取的所有帧点云数据进行融合,基于融合结果生成第一地图,并基于生成的第一地图,生成更新的第二地图并将其发送到可移动电子设备;
通过可移动电子设备,基于更新的第二地图数据,规划所述可移动电子设备到达目标点的路径,并控制所述可移动电子设备以便按照所述路径规划单元规划的路径行进;
其中,在所述第二地图中,以预定大小的方格划分第二地图,且每个方格均对应于第一标识值、第二标识值和第三标识值中之一,第一标识值表示该方格所对应的区域无障碍物,第二标识值表示该方格所对应的区域有障碍物,第三标识值表示该方格所对应的区域未开发,并且
所述第一地图的数据量大于第二地图的数据量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210559892.XA CN103885443B (zh) | 2012-12-20 | 2012-12-20 | 用于即时定位与地图构建单元的设备、系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210559892.XA CN103885443B (zh) | 2012-12-20 | 2012-12-20 | 用于即时定位与地图构建单元的设备、系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103885443A true CN103885443A (zh) | 2014-06-25 |
CN103885443B CN103885443B (zh) | 2017-02-08 |
Family
ID=50954391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210559892.XA Active CN103885443B (zh) | 2012-12-20 | 2012-12-20 | 用于即时定位与地图构建单元的设备、系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103885443B (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105136155A (zh) * | 2015-09-24 | 2015-12-09 | 联想(北京)有限公司 | 一种导航方法及电子设备 |
CN105203094A (zh) * | 2015-09-10 | 2015-12-30 | 联想(北京)有限公司 | 构建地图的方法和设备 |
CN105405156A (zh) * | 2014-06-30 | 2016-03-16 | 联想(北京)有限公司 | 一种信息处理方法、装置及电子设备 |
CN105467992A (zh) * | 2015-11-20 | 2016-04-06 | 纳恩博(北京)科技有限公司 | 移动电子设备路径的确定方法和装置 |
CN105739365A (zh) * | 2014-12-10 | 2016-07-06 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN106168805A (zh) * | 2016-09-26 | 2016-11-30 | 湖南晖龙股份有限公司 | 基于云计算的机器人自主行走的方法 |
WO2017000784A1 (zh) * | 2015-06-30 | 2017-01-05 | 芋头科技(杭州)有限公司 | 一种移动控制装置及移动控制方法 |
CN106339001A (zh) * | 2015-07-09 | 2017-01-18 | 松下电器(美国)知识产权公司 | 地图生成方法、移动机器人以及地图生成系统 |
CN106502253A (zh) * | 2016-12-22 | 2017-03-15 | 深圳乐行天下科技有限公司 | 一种移动装置全自主建图方法及装置 |
WO2018045538A1 (zh) * | 2016-09-08 | 2018-03-15 | 顾磊 | 无人机及其避障方法和避障系统 |
CN108732603A (zh) * | 2017-04-17 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 用于定位车辆的方法和装置 |
CN108780319A (zh) * | 2018-06-08 | 2018-11-09 | 珊口(深圳)智能科技有限公司 | 软件更新方法、系统、移动机器人及服务器 |
CN108789432A (zh) * | 2018-06-12 | 2018-11-13 | 芜湖乐创电子科技有限公司 | 一种基于定位逻辑式的捉迷藏机器人控制系统 |
CN108873908A (zh) * | 2018-07-12 | 2018-11-23 | 重庆大学 | 基于视觉slam和网络地图结合的机器人城市导航系统 |
CN109643489A (zh) * | 2016-08-26 | 2019-04-16 | 松下电器(美国)知识产权公司 | 三维信息处理方法以及三维信息处理装置 |
CN109843139A (zh) * | 2016-11-02 | 2019-06-04 | 东芝生活电器株式会社 | 电动吸尘器 |
CN109839118A (zh) * | 2017-11-24 | 2019-06-04 | 北京京东尚科信息技术有限公司 | 路径规划方法、系统、机器人和计算机可读存储介质 |
CN110177532A (zh) * | 2017-01-22 | 2019-08-27 | 四川金瑞麒智能科学技术有限公司 | 一种基于大数据及人工智能的智能轮椅系统 |
CN110276567A (zh) * | 2018-03-14 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 基于自动导引运输车检查地面区域标识码的方法和装置 |
CN110618436A (zh) * | 2019-04-04 | 2019-12-27 | 中国石油大学(北京) | 基于即时定位与地图构建的巡检方法、装置及设备 |
CN111609853A (zh) * | 2019-02-25 | 2020-09-01 | 北京奇虎科技有限公司 | 三维地图构建方法、扫地机器人及电子设备 |
CN112506178A (zh) * | 2020-08-25 | 2021-03-16 | 深圳市银星智能科技股份有限公司 | 一种机器人控制方法、装置、终端和介质 |
TWI735889B (zh) * | 2019-06-11 | 2021-08-11 | 萬潤科技股份有限公司 | 自走式裝置移動方法及執行該移動方法的自走式裝置 |
US20220182853A1 (en) * | 2020-12-03 | 2022-06-09 | Faro Technologies, Inc. | Automatic handling of network communication failure in two-dimensional and three-dimensional coordinate measurement devices |
CN114637298A (zh) * | 2022-03-17 | 2022-06-17 | 深圳艾灵网络有限公司 | 基于移动机器人的控制方法、装置及设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2992883B2 (ja) * | 1998-03-11 | 1999-12-20 | 北海道 | 移動ロボットの環境地図作成方法 |
US20050182518A1 (en) * | 2004-02-13 | 2005-08-18 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
CN101000507A (zh) * | 2006-09-29 | 2007-07-18 | 浙江大学 | 移动机器人在未知环境中同时定位与地图构建的方法 |
CN101619985A (zh) * | 2009-08-06 | 2010-01-06 | 上海交通大学 | 基于可变形拓扑地图的服务机器人自主导航方法 |
US20100094460A1 (en) * | 2008-10-09 | 2010-04-15 | Samsung Electronics Co., Ltd. | Method and apparatus for simultaneous localization and mapping of robot |
CN101996420A (zh) * | 2009-08-21 | 2011-03-30 | 索尼公司 | 信息处理装置、信息处理方法及程序 |
CN102359784A (zh) * | 2011-08-01 | 2012-02-22 | 东北大学 | 一种室内移动机器人自主导航避障系统及方法 |
CN102706341A (zh) * | 2011-03-28 | 2012-10-03 | 江苏久祥汽车电器集团有限公司 | 环境模块与自主导航技术 |
-
2012
- 2012-12-20 CN CN201210559892.XA patent/CN103885443B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2992883B2 (ja) * | 1998-03-11 | 1999-12-20 | 北海道 | 移動ロボットの環境地図作成方法 |
US20050182518A1 (en) * | 2004-02-13 | 2005-08-18 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
CN101000507A (zh) * | 2006-09-29 | 2007-07-18 | 浙江大学 | 移动机器人在未知环境中同时定位与地图构建的方法 |
US20100094460A1 (en) * | 2008-10-09 | 2010-04-15 | Samsung Electronics Co., Ltd. | Method and apparatus for simultaneous localization and mapping of robot |
CN101619985A (zh) * | 2009-08-06 | 2010-01-06 | 上海交通大学 | 基于可变形拓扑地图的服务机器人自主导航方法 |
CN101996420A (zh) * | 2009-08-21 | 2011-03-30 | 索尼公司 | 信息处理装置、信息处理方法及程序 |
CN102706341A (zh) * | 2011-03-28 | 2012-10-03 | 江苏久祥汽车电器集团有限公司 | 环境模块与自主导航技术 |
CN102359784A (zh) * | 2011-08-01 | 2012-02-22 | 东北大学 | 一种室内移动机器人自主导航避障系统及方法 |
Non-Patent Citations (1)
Title |
---|
彭胜军等: "移动机器人导航空间表示及SLAM问题研究", 《计算机仿真》 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105405156B (zh) * | 2014-06-30 | 2019-06-25 | 联想(北京)有限公司 | 一种信息处理方法、装置及电子设备 |
CN105405156A (zh) * | 2014-06-30 | 2016-03-16 | 联想(北京)有限公司 | 一种信息处理方法、装置及电子设备 |
CN105739365A (zh) * | 2014-12-10 | 2016-07-06 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
CN105739365B (zh) * | 2014-12-10 | 2018-10-12 | 联想(北京)有限公司 | 信息处理方法及电子设备 |
WO2017000784A1 (zh) * | 2015-06-30 | 2017-01-05 | 芋头科技(杭州)有限公司 | 一种移动控制装置及移动控制方法 |
CN106325268A (zh) * | 2015-06-30 | 2017-01-11 | 芋头科技(杭州)有限公司 | 一种移动控制装置及移动控制方法 |
CN106339001A (zh) * | 2015-07-09 | 2017-01-18 | 松下电器(美国)知识产权公司 | 地图生成方法、移动机器人以及地图生成系统 |
CN106339001B (zh) * | 2015-07-09 | 2021-01-08 | 松下电器(美国)知识产权公司 | 地图生成方法、移动机器人以及地图生成系统 |
CN105203094A (zh) * | 2015-09-10 | 2015-12-30 | 联想(北京)有限公司 | 构建地图的方法和设备 |
CN105203094B (zh) * | 2015-09-10 | 2019-03-08 | 联想(北京)有限公司 | 构建地图的方法和设备 |
CN105136155A (zh) * | 2015-09-24 | 2015-12-09 | 联想(北京)有限公司 | 一种导航方法及电子设备 |
CN105467992B (zh) * | 2015-11-20 | 2019-11-19 | 纳恩博(北京)科技有限公司 | 移动电子设备路径的确定方法和装置 |
CN105467992A (zh) * | 2015-11-20 | 2016-04-06 | 纳恩博(北京)科技有限公司 | 移动电子设备路径的确定方法和装置 |
CN109643489B (zh) * | 2016-08-26 | 2022-05-03 | 松下电器(美国)知识产权公司 | 三维信息处理方法以及三维信息处理装置 |
CN109643489A (zh) * | 2016-08-26 | 2019-04-16 | 松下电器(美国)知识产权公司 | 三维信息处理方法以及三维信息处理装置 |
WO2018045538A1 (zh) * | 2016-09-08 | 2018-03-15 | 顾磊 | 无人机及其避障方法和避障系统 |
CN106168805A (zh) * | 2016-09-26 | 2016-11-30 | 湖南晖龙股份有限公司 | 基于云计算的机器人自主行走的方法 |
CN109843139B (zh) * | 2016-11-02 | 2021-01-29 | 东芝生活电器株式会社 | 电动吸尘器 |
US11119484B2 (en) | 2016-11-02 | 2021-09-14 | Toshiba Lifestyle Products & Services Corporation | Vacuum cleaner and travel control method thereof |
CN109843139A (zh) * | 2016-11-02 | 2019-06-04 | 东芝生活电器株式会社 | 电动吸尘器 |
CN106502253A (zh) * | 2016-12-22 | 2017-03-15 | 深圳乐行天下科技有限公司 | 一种移动装置全自主建图方法及装置 |
CN106502253B (zh) * | 2016-12-22 | 2019-11-22 | 深圳乐动机器人有限公司 | 一种移动装置全自主建图方法及装置 |
CN110177532A (zh) * | 2017-01-22 | 2019-08-27 | 四川金瑞麒智能科学技术有限公司 | 一种基于大数据及人工智能的智能轮椅系统 |
CN108732603B (zh) * | 2017-04-17 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 用于定位车辆的方法和装置 |
CN108732603A (zh) * | 2017-04-17 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 用于定位车辆的方法和装置 |
CN109839118A (zh) * | 2017-11-24 | 2019-06-04 | 北京京东尚科信息技术有限公司 | 路径规划方法、系统、机器人和计算机可读存储介质 |
CN110276567A (zh) * | 2018-03-14 | 2019-09-24 | 北京京东尚科信息技术有限公司 | 基于自动导引运输车检查地面区域标识码的方法和装置 |
CN108780319A (zh) * | 2018-06-08 | 2018-11-09 | 珊口(深圳)智能科技有限公司 | 软件更新方法、系统、移动机器人及服务器 |
WO2019232804A1 (zh) * | 2018-06-08 | 2019-12-12 | 珊口(深圳)智能科技有限公司 | 软件更新方法、系统、移动机器人及服务器 |
CN108789432A (zh) * | 2018-06-12 | 2018-11-13 | 芜湖乐创电子科技有限公司 | 一种基于定位逻辑式的捉迷藏机器人控制系统 |
CN108873908A (zh) * | 2018-07-12 | 2018-11-23 | 重庆大学 | 基于视觉slam和网络地图结合的机器人城市导航系统 |
CN111609853A (zh) * | 2019-02-25 | 2020-09-01 | 北京奇虎科技有限公司 | 三维地图构建方法、扫地机器人及电子设备 |
CN110618436A (zh) * | 2019-04-04 | 2019-12-27 | 中国石油大学(北京) | 基于即时定位与地图构建的巡检方法、装置及设备 |
TWI735889B (zh) * | 2019-06-11 | 2021-08-11 | 萬潤科技股份有限公司 | 自走式裝置移動方法及執行該移動方法的自走式裝置 |
CN112506178A (zh) * | 2020-08-25 | 2021-03-16 | 深圳市银星智能科技股份有限公司 | 一种机器人控制方法、装置、终端和介质 |
CN112506178B (zh) * | 2020-08-25 | 2023-02-28 | 深圳银星智能集团股份有限公司 | 一种机器人控制方法、装置、终端和介质 |
US20220182853A1 (en) * | 2020-12-03 | 2022-06-09 | Faro Technologies, Inc. | Automatic handling of network communication failure in two-dimensional and three-dimensional coordinate measurement devices |
CN114637298A (zh) * | 2022-03-17 | 2022-06-17 | 深圳艾灵网络有限公司 | 基于移动机器人的控制方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103885443B (zh) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103885443A (zh) | 用于即时定位与地图构建单元的设备、系统和方法 | |
CN103278164B (zh) | 一种复杂动态场景下机器人仿生路径规划方法及仿真平台 | |
KR101048098B1 (ko) | 로봇의 경로계획 장치 및 방법 | |
CN109863513A (zh) | 用于自主车辆控制的神经网络系统 | |
CN109916393A (zh) | 一种基于机器人位姿的多重栅格值导航方法及其应用 | |
Khuswendi et al. | Uav path planning using potential field and modified receding horizon a* 3d algorithm | |
CN105955262A (zh) | 一种基于栅格地图的移动机器人实时分层路径规划方法 | |
CN109508035A (zh) | 基于分布式控制的多区域分级式无人机编队路径规划方法 | |
CN106352870B (zh) | 一种目标的定位方法及装置 | |
JP2006350776A (ja) | 移動体の経路生成装置 | |
CN110220517A (zh) | 一种结合环境语意的室内机器人鲁棒slam方法 | |
CN113686347A (zh) | 机器人导航路径的生成方法及装置 | |
Darweesh et al. | Openplanner 2.0: The portable open source planner for autonomous driving applications | |
CN113219999B (zh) | 一种机器人自动回充路径规划方法及系统 | |
Zhao et al. | Hybrid navigation method for multiple robots facing dynamic obstacles | |
CN108151742B (zh) | 机器人的导航控制方法及智能装置 | |
CN114391060A (zh) | 地下工地中的移动设备的定位 | |
CN116795101A (zh) | 一种融合改进a*与改进dwa算法的运动规划方法 | |
CN114571460A (zh) | 机器人控制方法、装置及存储介质 | |
CN109901589B (zh) | 移动机器人控制方法和装置 | |
CN112747752A (zh) | 基于激光里程计的车辆定位方法、装置、设备和存储介质 | |
JP2022042619A (ja) | 情報処理装置と情報処理方法およびプログラム | |
Chi et al. | A crash avoidance framework for heavy equipment control systems using 3D imaging sensors | |
Xavier et al. | Unknown Terrain modelling using 3D mapping | |
Adhipatiunus et al. | Implementation of informed rapidly-exploring random tree* on a pre-mapped Octomap generated by real time appearance based map |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |