CN114115263A - 用于agv的自主建图方法、装置、移动机器人及介质 - Google Patents
用于agv的自主建图方法、装置、移动机器人及介质 Download PDFInfo
- Publication number
- CN114115263A CN114115263A CN202111400534.XA CN202111400534A CN114115263A CN 114115263 A CN114115263 A CN 114115263A CN 202111400534 A CN202111400534 A CN 202111400534A CN 114115263 A CN114115263 A CN 114115263A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- agv
- map
- dimensional
- dimensional point
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000013507 mapping Methods 0.000 title claims description 95
- 238000010276 construction Methods 0.000 claims abstract description 18
- 230000003068 static effect Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 21
- 230000004888 barrier function Effects 0.000 claims description 15
- 238000001514 detection method Methods 0.000 claims description 11
- 238000005457 optimization Methods 0.000 claims description 9
- 230000002567 autonomic effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing 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/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Navigation (AREA)
Abstract
本申请适用于机器人技术领域,提供了一种用于AGV的自主建图方法、装置、移动机器人及介质,其中该自主建图方法包括:根据AGV在目标场所内扫描到的第一三维点云数据,检测AGV是否位于预先划定的关键区域内;当AGV位于关键区域内时,控制AGV通过第一点云扫描模式进行扫描,并根据通过第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;当AGV位于目标场所中除关键区域以外的其他区域时,控制AGV通过第二点云扫描模式进行扫描,并根据通过第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图;其中,第一点云扫描模式的精度高于第二点云扫描模式的精度。本申请能在兼顾建图精度的情况下,提高建图效率。
Description
技术领域
本申请属于机器人技术领域,尤其涉及一种用于AGV的自主建图方法、装置、移动机器人及介质。
背景技术
在移动机器人(AGV)技术领域,机器人的定位和导航工作需要提供工作环境的地图。地图构建的一般方法是即时定位与地图构建(SLAM,Simultaneous Localization AndMapping),即机器人在环境中移动,通过自身携带的传感器对环境信息进行探测并最终生成地图的过程。通常地图的构建是人工操作机器人在环境中进行扫描后生成地图,该方法需耗费较多的人力成本。
现在的主流自主建图方法是基于前沿(即未开发空间和已知空间之间的边界)进行探索,基于前沿的探索策略的思想是判断和前往未知区域扫描以完成全部可行驶范围的探索任务,这种方法的建图效率低且精度不可控。
发明内容
本申请实施例提供了一种用于AGV的自主建图方法、装置、移动机器人及介质,可以解决当前自主建图方法的效率低且精度不可控的问题。
第一方面,本申请实施例提供了一种用于AGV的自主建图方法,包括:根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内;
当所述AGV位于所述关键区域内时,控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
当所述AGV位于所述目标场所中除所述关键区域以外的其他区域时,控制所述AGV通过第二点云扫描模式进行扫描,并根据通过所述第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
其中,所述第一点云扫描模式的精度高于所述第二点云扫描模式的精度。
其中,在所述根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内的步骤之前,所述自主建图方法还包括:
获取所述AGV在目标场所扫描到的第二三维点云数据;
根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置;
控制所述AGV以所述初始位置为起点,按照预先得到的建图行驶路线开始在所述目标场所内移动,直至移动至所述建图行驶路线的终点。
其中,所述根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内的步骤,包括:
根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验二维导航地图上的实时位置;
根据所述实时位置,确定所述AGV是否位于预先划定的关键区域内。
其中,所述控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图的步骤,包括:
在所述先验三维点云地图中对所述关键区域进行栅格化;
根据所述先验三维点云地图,确定栅格化后每个栅格的状态;所述状态为可行驶、不可行驶、已探索和未知中的一种;
根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
其中,所述根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图的步骤,包括:
控制所述AGV移动到一状态为可行驶的栅格;
将所述AGV所在栅格的中心点确定为静止建图点,并当所述AGV移动到该静止建图点时,控制所述AGV停止移动;
控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据,并根据该第一三维点云数据构建实时点云地图;
根据该实时点云地图,更新所述关键区域内每个栅格的状态;其中,在更新所述关键区域内栅格的状态时,将所述AGV已到达的栅格的状态更新为已探索,将存在障碍物的栅格的状态更新为不可行驶,并将不存在障碍物、且所述AGV未到达的栅格的状态更新为可行驶;
判断所述关键区域内是否存在状态为可行驶的栅格,当所述关键区域内不存在状态为可行驶的栅格时,控制所述AGV离开所述关键区域,继续沿所述建图行驶路线移动;
当所述关键区域内存在状态为可行驶的栅格时,返回所述控制所述AGV移动到一状态为可行驶的栅格的步骤。
其中,所述AGV顶部设置有雷达旋转平台,所述雷达旋转平台顶部设置有激光雷达,所述雷达旋转平台用于带动所述激光雷达旋转;
所述控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据的步骤,包括:
控制所述雷达旋转平台带动所述激光雷达旋转完成扫描,获得所述AGV所在静止建图点的第一三维点云数据。
其中,所述自主建图方法还包括:
当所述AGV移动时扫描到的第一三维点云数据与所述先验三维点云地图的匹配度达到预设匹配度阈值时,根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验三维点云地图上的位姿;
通过位姿图优化算法,利用所述位姿对所述实时点云地图上的位姿进行修正。
其中,在所述根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置的步骤之前,所述自主建图方法还包括:
根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图;
在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域。
其中,所述根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图的步骤,包括:
删除所述建筑图纸中除建筑轮廓线段和障碍物线段以外的线段和标注;
将所述建筑轮廓线段和障碍物线段转移到预设坐标系中;
在所述预设坐标系中,分别针对所述建筑轮廓线段和障碍物线段中的每条线段,在该线段上每间隔一第一预设长度取一点,得到所述目标场所的二维点云数据;
在所述预设坐标系中,分别针对所述二维点云数据的每个点,沿该点的正上方向每间隔一第二预设长度生成一新的点,直至最新生成的点与所述二维点云数据所在平面之间的距离达到预设距离,形成先验三维点云地图;
在所述预设坐标系中,对所述二维点云数据进行二维栅格化,形成先验二维导航地图。
其中,所述在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域的步骤,包括:
根据所述AGV所需的行驶路线,在所述先验二维导航地图上绘制建图行驶路线;
将所述先验二维导航地图中与所述AGV的工作区域对应的区域划定为关键区域。
第二方面,本申请实施例提供了一种用于AGV的自主建图装置,包括:
检测模块,用于根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内,当所述AGV位于所述关键区域内时,触发第一建图模块;当所述AGV位于所述目标场所中除所述关键区域以外的其他区域时,触发第二建图模块;
第一建图模块,用于根据所述检测模块的触发,控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
第二建图模块,用于根据所述检测模块的触发,控制所述AGV通过第二点云扫描模式进行扫描,并根据通过所述第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
其中,所述第一点云扫描模式的精度高于所述第二点云扫描模式的精度。
其中,所述用于AGV的自主建图装置还包括:
第一获取模块,用于获取所述AGV在目标场所扫描到的第二三维点云数据;
第一确定模块,用于根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置;
控制模块,用于控制所述AGV以所述初始位置为起点,按照预先得到的建图行驶路线开始在所述目标场所内移动,直至移动至所述建图行驶路线的终点。
其中,所述检测模块,具体用于根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验二维导航地图上的实时位置;根据所述实时位置,确定所述AGV是否位于预先划定的关键区域内。
其中,所述第一建图模块包括:
划分单元,用于在所述先验三维点云地图中对所述关键区域进行栅格化;
确定单元,用于根据所述先验三维点云地图,确定栅格化后每个栅格的状态;所述状态为可行驶、不可行驶、已探索和未知中的一种;
执行单元,用于根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
其中,所述执行单元包括:
第一控制子单元,用于控制所述AGV移动到一状态为可行驶的栅格。
确定子单元,用于将所述AGV所在栅格的预设位置确定为静止建图点,并当所述AGV移动到该静止建图点时,控制所述AGV停止移动。
第二控制子单元,用于控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据,并根据该第一三维点云数据构建实时点云地图。
更新子单元,用于根据该实时点云地图,更新所述关键区域内每个栅格的状态;其中,在更新所述关键区域内栅格的状态时,将所述AGV已到达的栅格的状态更新为已探索,将存在障碍物的栅格的状态更新为不可行驶,并将不存在障碍物、且所述AGV未到达的栅格的状态更新为可行驶;
判断子单元,用于判断所述关键区域内是否存在状态为可行驶的栅格,当所述关键区域内不存在状态为可行驶的栅格时,控制所述AGV离开所述关键区域,继续沿所述建图行驶路线移动;
执行子单元,用于当所述关键区域内存在状态为可行驶的栅格时,返回所述控制所述AGV移动到一状态为可行驶的栅格的步骤。
其中,所述AGV顶部设置有雷达旋转平台,所述雷达旋转平台顶部设置有激光雷达,所述雷达旋转平台用于带动所述激光雷达旋转。
所述第二控制子单元,具体用于控制所述雷达旋转平台带动所述激光雷达旋转完成扫描,获得所述AGV所在静止建图点的第一三维点云数据。
其中,所述用于AGV的自主建图装置还包括:
处理模块,用于当所述AGV移动时扫描到的第一三维点云数据与所述先验三维点云地图的匹配度达到预设匹配度阈值时,根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验三维点云地图上的位姿;
修正模块,用于通过位姿图优化算法,利用所述位姿对所述实时点云地图上的位姿进行修正。
其中,所述用于AGV的自主建图装置还包括:
构建模块,用于根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图;
绘制模块,用于在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域。
其中,所述构建模块包括:
删除单元,用于删除所述建筑图纸中除建筑轮廓线段和障碍物线段以外的线段和标注;
转移单元,用于将所述建筑轮廓线段和障碍物线段转移到预设坐标系中;
第一构建单元,用于在所述预设坐标系中,分别针对所述建筑轮廓线段和障碍物线段中的每条线段,在该线段上每间隔一第一预设长度取一点,得到所述目标场所的二维点云数据;
第二构建单元,用于在所述预设坐标系中,分别针对所述二维点云数据的每个点,沿该点的正上方向每间隔一第二预设长度生成一新的点,直至最新生成的点与所述二维点云数据所在平面之间的距离达到预设距离,形成先验三维点云地图;
第三构建单元,用于在所述预设坐标系中,对所述二维点云数据进行二维栅格化,形成先验二维导航地图。
其中,所述绘制模块,具体用于根据所述AGV所需的行驶路线,在所述先验二维导航地图上绘制建图行驶路线,并将所述先验二维导航地图中与所述AGV的工作区域对应的区域划定为关键区域。
第三方面,本申请实施例提供了一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的自主建图方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的自主建图方法。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面所述的自主建图方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:
在本申请的实施例中,通过在AGV在目标场所内移动到预先划定的关键区域内时,控制AGV通过第一点云扫描模式进行扫描,并根据通过第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;在AGV移动到目标场所内除关键区域以外的其他区域时,控制AGV通过第二点云扫描模式进行扫描,并根据通过第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图。其中,第一点云扫描模式的精度高于第二点云扫描模式的精度,即控制AGV在关键区域内高精度建图,在其他区域快速通过,从而实现在兼顾建图精度的情况下,提高建图效率的效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的用于AGV的自主建图方法的流程图;
图2是本申请一实施例提供的确定AGV的移动路线的流程图;
图3是本申请一实施例提供的自主建图方法步骤12的流程图;
图4是本申请一实施例提供的步骤33的流程图;
图5是本申请一实施例提供的确定先验三维点云地图、先验二维导航地图、建图行驶路线以及关键区域的流程图;
图6是本申请一实施例提供的用于AGV的自主建图装置的结构示意图;
图7是本申请一实施例提供的移动机器人的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了便于理解本申请实施例描述的方案,下面对本申请实施例可能涉及到的部分用语进行解释说明:
点云数据:点云扫描模块(如激光雷达)输出的原始数据,是由无序的三维点构成的三维连续数据流。
目前的探索式自主建图方法由于运行路线的随机性强,只能在完全封闭的工作环境下使用。对于移动机器人(AGV)来说,工作场所可能不是封闭的,且运行路线和工作范围一般较为固定,不需要对所有可行使路线进行建图;并且AGV对不同性质工作区域的定位要求不同:在叉货点等关键区域,AGV对定位精度的要求极高,在其他区域(如道路)行使时,定位的精度要求低。因此有必要开发一种适用于AGV、且可控性强,兼顾效率和精度的自主建图方法。
针对上述问题,本申请实施例提供一种用于AGV的自主建图方法,该自主建图方法可应用于AGV,该AGV设置有用于扫描点云数据的点云扫描模块(如激光雷达)。具体的,AGV通过在目标场所内移动扫描到的第一三维点云数据,检测自身是否位于预先划定的关键区域内。当AGV移动到预先划定的关键区域内时,控制AGV通过第一点云扫描模式进行扫描,并根据通过第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;当AGV移动到目标场所内除关键区域以外的其他区域时,控制AGV通过第二点云扫描模式进行扫描,并根据通过第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图。其中,第一点云扫描模式的精度高于第二点云扫描模式的精度,
可见,在本申请的一些实施例中,AGV在关键区域内的建图精度高于其他区域的建图精度,即AGV在关键区域内高精度建图,在其他区域快速通过,从而实现了在兼顾建图精度的情况下,提高建图效率的效果。
下面结合具体实施例对本申请提供的自主建图方法进行示例性的说明。
如图1所示,本申请的实施例提供了一种用于AGV的自主建图方法,该自主建图方法包括:
步骤11,根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内,当所述AGV位于所述关键区域内时,执行步骤12,当所述AGV位于所述目标场所中除所述关键区域以外的其他区域时,执行步骤13。
在本申请的一些实施例中,上述目标场所可以是AGV的工作环境,例如车库、仓库等环境;上述第一三维点云数据是AGV的点云扫描模块对目标场所进行扫描得到的三维连续数据流;该点云扫描模块可以是激光雷达,如8线激光雷达、16线激光雷达、24线激光雷达、32线激光雷达、64线激光雷达、128线激光雷达等;上述关键区域是根据AGV的工作区域(例如叉货点区域)预先在先验二维导航地图上划定的。
步骤12,控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
在本申请的一些实施例中,上述第一点云扫描模式为:AGV移动时不扫描,也不建图,只有当AGV静止时,才进行扫描和建图,且在进行扫描时,点云扫描模块可以多角度扫描,获得丰富的点云数据,从而提升关键区域的建图精度。
即,在本申请的一些实施例中,当AGV位于关键区域内时,会在AGV静止时,控制点云扫描模块进行扫描。具体的,可通过设置于AGV顶部的雷达旋转平台带动激光雷达旋转,使激光雷达与水平面成0度,正负1度和正负2度,获得不同角度的点云数据(即上述第一三维点云数据),并将不同角度的点云数据合成为一帧点云数据,然后根据合成后的点云数据,构建实时点云地图,实现对关键区域的高精度建图。
步骤13,控制所述AGV通过第二点云扫描模式进行扫描,并根据通过所述第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
其中,所述第一点云扫描模式的精度高于所述第二点云扫描模式的精度。
在本申请的一些实施例中,上述第二点云扫描模式为:在AGV移动的同时进行扫描和建图,且在进行扫描时,通过激光雷达在某一个角度扫描到的三维点云数据即可。
即,在其他区域内,由于AGV对目标场所内其他区域的建图精度要求不高,因此可在AGV移动的同时进行扫描和建图,且不需要依据不同角度的三维点云数据构建实时点云地图,通过激光雷达在某一个角度扫描到的三维点云数据构建实时点云地图即可,从而使AGV在目标场所内的其他区域能快速完成建图,提高建图效率。
需要说明的是,在第一点云扫描模式下,AGV静止才扫描和建图,且扫描时是多角度的扫描,在第二点云扫描模下,在AGV移动的同时进行扫描和建图,且扫描角度单一。由于AGV移动时,激光雷达不可避免的存在晃动,因此点激光雷达在AGV静止时的扫描精度高于AGV移动时的扫描精度,且多角度扫描到的点云数据必定比单一角度扫描到的点云数据丰富,因此第一点云扫描模式的精度明显高于第二点云扫描模的精度。
在本申请的一些实施例中,为提高建图效率,只有当AGV位于关键区域内时,才会通过第一点云扫描模式扫描获得三维点云数据,而当AGV位于其他区域内时,均通过第二点云扫描模式扫描获得三维点云数据,如上述步骤11和步骤13中的三维点云数据均可通过第二点云扫描模式获得。
需要进一步说明的是,对于目标场所的其他区域,由于激光雷达在采集数据的过程中处于运动状态,激光雷达测量得到的点云存在运动畸变(例如当AGV的运动速度为1m/s,激光雷达的旋转频率为10Hz,则激光雷达完成一次360度扫描时,本次扫描测量第一个点时激光雷达的位置与测量最后一个点时激光雷达的位置相差10cm,导致雷达点云畸变)。因此为提高建图精度,需要使用扫描过程中的角速度和线速度纠正每个扫描点的位置,消除运动畸变,得到纠正后的三维点云数据,并利用纠正后的三维点云数据进行相应操作(例如是否位于关键区域的检测、在其他区域构建实时点云地图等)。其中角速度可以由设置于激光雷达上的惯性测量单元直接测量得到,线速度可由惯性测量单元测量的加速度计算得到,或者由AGV驱动电机的编码器的里程计算得到。
值得一提的是,在本申请的一些实施例中,由于第一点云扫描模式的精度高于第二点云扫描模式的精度,从而使得在AGV的移动建图过程中,在关键区域内高精度建图,在其他区域快速完成建图以快速通过,从而实现在兼顾建图精度的情况下,提高建图效率的效果。
其中,在本申请的一些实施例中,如图2所示,在执行上述步骤11之前,上述自主建图方法还包括如下确定AGV的移动路线的步骤:
步骤21,获取所述AGV在目标场所扫描到的第二三维点云数据。
在本申请的一些实施例中,上述第二三维点云数据是AGV的点云扫描模块对目标场所进行扫描得到的三维连续数据流。
步骤22,根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置。
在本申请的一些实施例中,上述先验三维点云地图指的是目标场所的三维点云地图,先验二维导航地图指的是目标场所的二维导航地图。
需要说明的是,先验三维点云地图和先验二维导航地图都是预先根据目标场所的建筑图纸得到的,且先验三维点云地图和先验二维导航地图是在同一坐标系中构建,因此当确定出AGV在先验三维点云地图上的位置时,便能确定出AGV在先验二维导航地图上的位置,同样,当确定出AGV在先验二维导航地图上的位置时,便能确定出AGV在先验三维点云地图上的位置。
具体的,在本申请的一些实施例中,可通过将第二三维点云数据与先验三维点云地图进行匹配的方式,确定出AGV在先验三维点云地图上的位置,进而确定出AGV在先验二维导航地图上的位置(即上述初始位置)。
类似的,在本申请的一些实施例中,上述步骤11中,根据所述AGV在目标场所内移动时扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内的具体实现方式可以为:根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验二维导航地图上的实时位置,然后根据所述实时位置,确定所述AGV是否位于预先划定的关键区域内。
即,在本申请的一些实施例中,可通过将第一三维点云数据与先验三维点云地图进行匹配的方式,确定出AGV在先验三维点云地图上的实时位置,进而确定出AGV在先验二维导航地图上的实时位置,接着再判断该实时位置是否位于关键区域内,便可确定AGV是否位于预先划定的关键区域内。具体的,若该实时位置位于关键区域内,则确定AGV位于关键区域内,否则,确定AGV位于其他区域内。
步骤23,控制所述AGV以所述初始位置为起点,按照预先得到的建图行驶路线开始在所述目标场所内移动,直至移动至所述建图行驶路线的终点。
在本申请的一些实施例中,上述建图行驶路线是根据AGV所需的行驶路线预先在先验二维导航地图上绘制的,其中,AGV所需的行驶路线可以为AGV的工作路线,以确保在建图过程中,AGV的运行路线是固定的、且与AGV的工作路线密切相关,从而确保后续构建出的地图包含AGV的所有工作区域。
其中,在本申请的一些实施例中,在AGV自主建图的过程中,上述自主建图方法还包括如下修正步骤:
当所述AGV移动时扫描到的第一三维点云数据与所述先验三维点云地图的匹配度达到预设匹配度阈值时,根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验三维点云地图上的位姿;然后通过位姿图优化算法,利用所述位姿对所述实时点云地图上的位姿进行修正。其中,上述位姿图优化算法可以为SLAM后端优化算法,例如G2O(G2O是一种通用图优化方法)。
具体的,在本申请的一些实施例中,可使用迭代最近点算法(ICP)或正态分布变换算法(NDT)或其他SLAM过程常用的点云匹配和位姿估计算法,将实时扫描的第一三维点云数据与先验三维点云地图进行匹配并估计AGV位姿。其中,具体可以根据两点云匹配点数/栅格比例,全部匹配点的平均距离差值或平均概率密度对匹配和位姿估计的精准程度进行评估。
例如:将当前扫描的第一三维点云数据转移到地图坐标系,然后搜索每个点在先验三维点云地图的最近点,获取最近点对的位置距离差。或者根据两点距离和激光雷达的扫描精度(标准误差)估计当前扫描点的正确概率。计算平均距离差或平均正确概率,若平均距离差大或平均概率低,则表明匹配情况差,位姿估计不准确,而若平均距离差小或者平均概率大(即第一三维点云数据与所述先验三维点云地图的匹配度达到预设匹配度阈值),则表明位姿准确。
值得一提的是,由于长时间即时定位和建图会导致积累误差,而建筑图纸只存在线性误差,所以在使用建筑图纸转换的先验三维点云地图上获取位置,可以使用位姿图优化的形式对实时定位和地图的积累误差进行消除,从而有效的避免定位积累误差,提高地图绝对精度。
接下来结合附图对关键区域的建图进行示例性的说明。
如图3所示,上述步骤12中控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图的具体实现方式包括如下步骤:
步骤31,在所述先验三维点云地图中对所述关键区域进行栅格化。
在本申请的一些实施例中,作为一个优选的示例,可在关键区域内进行1米为边长的栅格化,得到多个栅格。当然可以理解的是,在本申请的实施例中,并不限定栅格化时的具体距离值,可以理解的是,该距离值可根据实际情况进行设定。
步骤32,根据所述先验三维点云地图,确定栅格化后每个栅格的状态。
其中,上述状态为可行驶、不可行驶、已探索和未知中的一种。需要说明的是,若栅格的状态为可行驶,则表明该栅格内不存在障碍物,AGV可以在该栅格内行驶;若栅格的状态为不可行驶,则表明该栅格内存在障碍物(如墙壁、车辆等),AGV不可以在该栅格内行驶;若栅格的状态为已探索,则表明AGV已到达过该栅格;若栅格的状态为未知,则表明根据先验三维点云地图无法确定该栅格的状态,后续可根据实时点云地图,对该栅格的状态进行更新。
步骤33,根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
值得一提的是,在本申请的一些实施例中,通过对关键区域进行栅格化,并确定每个栅格的状态,以便AGV后续只前往状态为可行驶的栅格进行扫描和建图,从而在确保可行驶区域的建图精度的情况下,提升AGV的建图效率。
在本申请的一些实施例中,如图4所示,上述步骤33的具体实现方式包括如下步骤:
步骤3301,控制所述AGV移动到一状态为可行驶的栅格。
步骤3302,将所述AGV所在栅格的预设位置确定为静止建图点,并当所述AGV移动到该静止建图点时,控制所述AGV停止移动。
作为一个优选的示例,上述预设位置可以为栅格的中心点,以确保后续能扫描到丰富的点云数据。
在本申请的一些实施例中,由于运动中激光雷达的测距会出现畸变,而估计的速度信息难以完全准确,所以在关键区域仅静止时进行建图,运动时不进行建图只进行定位。即在关键区域内只有当AGV保持静止状态时进行建图。
步骤3303,控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据,并根据该第一三维点云数据构建实时点云地图。
在本申请的一些实施例中,由于激光雷达的扫描存在符合高斯分布的随机误差,因此可在激光雷达静止并进行重复扫描时,对每个扫描点的多次测距值进行平均,即可消除或减小随机误差,进而获取更准取的点云。
另外,由于激光雷达的角度固定,所以各扫描平面之间存在空隙,这些空隙对构建稠密点云地图不利,因此在本申请的一些实施例中,通过旋转激光雷达的水平角度,使激光雷达的扫描平面变动,获得更稠密的雷达点云。
具体的,在本申请的一些实施例中,AGV顶部设置有雷达旋转平台,所述雷达旋转平台顶部设置有激光雷达,所述雷达旋转平台用于带动所述激光雷达旋转。上述步骤3303中,控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据的具体实现方式可以为:控制所述雷达旋转平台带动所述激光雷达旋转完成扫描,获得所述AGV所在静止建图点的第一三维点云数据。
具体的,在本申请的实施例中,可控制雷达旋转平台带动激光雷达旋转完成扫描。作为一个优选的示例,可通过雷达旋转平台带动激光雷达旋转,使激光雷达与水平面成0度,正负1度和正负2度。在每个角度状态下扫描20次并进行高斯滤波得到精确的扫描点云,将不同角度下得到的扫描点云进行合成为一帧点云,用于构建实时点云地图。
步骤3304,根据该实时点云地图,更新所述关键区域内每个栅格的状态。
其中,在更新所述关键区域内栅格的状态时,将所述AGV已到达的栅格的状态更新为已探索,对于无法观测的栅格保留其原状态(即未知),将存在障碍物的栅格的状态更新为不可行驶,并将不存在障碍物、且所述AGV未到达的栅格的状态更新为可行驶,即将确定有障碍物的栅格的状态更新为不可行驶,将确定可行驶且所述AGV未到达的的栅格的状态更新为可行驶。
需要说明的是,因为建筑图纸缺少细节,或者建图时关键区域内有杂物、车辆等其他障碍物,无法直接通过先验二维导航地图确定关键区域内的可行驶区域,因此需要通过实时点云地图更新关键区域内每个栅格的状态。
步骤3305,判断所述关键区域内是否存在状态为可行驶的栅格,当所述关键区域内不存在状态为可行驶的栅格时,执行步骤3306,当所述关键区域内存在状态为可行驶的栅格时,返回步骤3301。
步骤3306,控制所述AGV离开所述关键区域,继续沿所述建图行驶路线移动。
即,在本申请的一些实施例中,当AGV到达一关键区域内时,AGV会到达一状态为可行驶的栅格,并在该栅格内静止完成建图,然后再移动至该关键区域内的下一个状态为可行驶的栅格,并在该栅格内静止完成建图,直至该关键区域内不存在状态为可行驶的栅格时,离开该关键区域,继续沿建图行驶路线移动。
由此可见,AGV在关键区域内的建图精度极高,而在其他区域的建图速度极快,因此本申请实施例提供的自主建图方法能在兼顾建图精度的情况下,提高建图效率。
接下来结合附图对先验三维点云地图、先验二维导航地图、建图行驶路线以及关键区域的确定过程进行示例性的说明。
如图5所示,本申请实施例提供的自主建图方法还包括如下确定先验三维点云地图、先验二维导航地图、建图行驶路线以及关键区域的步骤:
步骤51,根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图。
在本申请的实施例中,上述步骤51的具体实现方式包括如下步骤:
第一步,删除所述建筑图纸中除建筑轮廓线段和障碍物线段以外的线段和标注。
作为一个优选的示例,可删除建筑图纸中用于标识尺寸、方向等信息的线段和标注。
第二步,将所述建筑轮廓线段和障碍物线段转移到预设坐标系中。
作为一个优选的示例,上述预设坐标系可以为笛卡尔坐标系。当然可以理解的是,在本申请的实施例中,并不限定上述预设坐标系的具体形式。
第三步,在所述预设坐标系中,分别针对所述建筑轮廓线段和障碍物线段中的每条线段,在该线段上每间隔一第一预设长度取一点,得到所述目标场所的二维点云数据。
作为一个优选的示例,上述第一预设长度可以为5厘米。当然可以理解的是,在本申请的实施例中,并不限定上述第一预设长度的具体数值。
第四步,在所述预设坐标系中,分别针对所述二维点云数据的每个点,沿该点的正上方向每间隔一第二预设长度生成一新的点,直至最新生成的点与所述二维点云数据所在平面之间的距离达到预设距离,形成先验三维点云地图。
作为一个优选的示例,上述第二预设长度可以为5厘米,上述预设距离可以为20米,基于该数值举例,上述第四步为:在所述预设坐标系中,分别针对所述二维点云数据的每个点,取正上方高度差5厘米位置生成新的点,重复直到20米高度,形成先验三维点云地图。当然可以理解的是,在本申请的实施例中,并不限定上述第二预设长度和预设距离的具体数值。
第五步,在所述预设坐标系中,对所述二维点云数据进行二维栅格化,形成先验二维导航地图。
步骤52,在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域。
在本申请的一些实施例中,可根据所述AGV所需的行驶路线,在所述先验二维导航地图上绘制建图行驶路线,同时可将所述先验二维导航地图中与所述AGV的工作区域对应的区域划定为关键区域,从而确保后续AGV能按照固定的建图行驶路线移动,完成建图,提高建图效率,同时确保最终构建的实时点云地图包括AGV的所有工作区域。
对应于上文实施例所述的自主建图方法,如图6所示,本申请的实施例还提供了一种用于AGV的自主建图装置,该用于AGV的自主建图装置600包括:
检测模块601,用于根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内,当所述AGV位于所述关键区域内时,触发第一建图模块602;当所述AGV位于所述目标场所中除所述关键区域以外的其他区域时,触发第二建图模块603;
第一建图模块602,用于根据所述检测模块601的触发,控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
第二建图模块603,用于根据所述检测模块601的触发,控制所述AGV通过第二点云扫描模式进行扫描,并根据通过所述第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
其中,所述第一点云扫描模式的精度高于所述第二点云扫描模式的精度。
其中,上述用于AGV的自主建图装置600还包括:
第一获取模块,用于获取所述AGV在目标场所扫描到的第二三维点云数据;
第一确定模块,用于根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置;
控制模块,用于控制所述AGV以所述初始位置为起点,按照预先得到的建图行驶路线开始在所述目标场所内移动,直至移动至所述建图行驶路线的终点。
其中,上述检测模块601,具体用于根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验二维导航地图上的实时位置;根据所述实时位置,确定所述AGV是否位于预先划定的关键区域内。
其中,上述第一建图模块602包括:
划分单元,用于在所述先验三维点云地图中对所述关键区域进行栅格化;
确定单元,用于根据所述先验三维点云地图,确定栅格化后每个栅格的状态;所述状态为可行驶、不可行驶、已探索和未知中的一种;
执行单元,用于根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
其中,上述执行单元包括:
第一控制子单元,用于控制所述AGV移动到一状态为可行驶的栅格。
确定子单元,用于将所述AGV所在栅格的预设位置确定为静止建图点,并当所述AGV移动到该静止建图点时,控制所述AGV停止移动。
第二控制子单元,用于控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据,并根据该第一三维点云数据构建实时点云地图。
更新子单元,用于根据该实时点云地图,更新所述关键区域内每个栅格的状态;其中,在更新所述关键区域内栅格的状态时,将所述AGV已到达的栅格的状态更新为已探索,将存在障碍物的栅格的状态更新为不可行驶,并将不存在障碍物、且所述AGV未到达的栅格的状态更新为可行驶;
判断子单元,用于判断所述关键区域内是否存在状态为可行驶的栅格,当所述关键区域内不存在状态为可行驶的栅格时,控制所述AGV离开所述关键区域,继续沿所述建图行驶路线移动;
执行子单元,用于当所述关键区域内存在状态为可行驶的栅格时,返回所述控制所述AGV移动到一状态为可行驶的栅格的步骤。
其中,所述AGV顶部设置有雷达旋转平台,所述雷达旋转平台顶部设置有激光雷达,所述雷达旋转平台用于带动所述激光雷达旋转。
相应的,上述第二控制子单元,具体用于控制所述雷达旋转平台带动所述激光雷达旋转完成扫描,获得所述AGV所在静止建图点的第一三维点云数据。其中,上述用于AGV的自主建图装置600还包括:
处理模块,用于当所述AGV移动时扫描到的第一三维点云数据与所述先验三维点云地图的匹配度达到预设匹配度阈值时,根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验三维点云地图上的位姿;
修正模块,用于通过位姿图优化算法,利用所述位姿对所述实时点云地图上的位姿进行修正。
其中,上述用于AGV的自主建图装置600还包括:
构建模块,用于根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图;
绘制模块,用于在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域。
其中,上述构建模块包括:
删除单元,用于删除所述建筑图纸中除建筑轮廓线段和障碍物线段以外的线段和标注;
转移单元,用于将所述建筑轮廓线段和障碍物线段转移到预设坐标系中;
第一构建单元,用于在所述预设坐标系中,分别针对所述建筑轮廓线段和障碍物线段中的每条线段,在该线段上每间隔一第一预设长度取一点,得到所述目标场所的二维点云数据;
第二构建单元,用于在所述预设坐标系中,分别针对所述二维点云数据的每个点,沿该点的正上方向每间隔一第二预设长度生成一新的点,直至最新生成的点与所述二维点云数据所在平面之间的距离达到预设距离,形成先验三维点云地图;
第三构建单元,用于在所述预设坐标系中,对所述二维点云数据进行二维栅格化,形成先验二维导航地图。
其中,上述绘制模块,具体用于根据所述AGV所需的行驶路线,在所述先验二维导航地图上绘制建图行驶路线,并将所述先验二维导航地图中与所述AGV的工作区域对应的区域划定为关键区域。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图7所示,本申请的实施例提供了一种移动机器人,如图7所示,该实施例的移动机器人D10包括:至少一个处理器D100(图7中仅示出一个处理器)、存储器D101以及存储在所述存储器D101中并可在所述至少一个处理器D100上运行的计算机程序D102,所述处理器D100执行所述计算机程序D102时实现上述任意各个方法实施例中的步骤。
所称处理器D100可以是中央处理单元(CPU,Central Processing Unit),该处理器D100还可以是其他通用处理器、数字信号处理器(DSP,Digital Signal Processor)、专用集成电路(ASIC,Application Specific Integrated Circuit)、现成可编程门阵列(FPGA,Field-Programmable Gate Array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器D101在一些实施例中可以是所述移动机器人D10的内部存储单元,例如移动机器人D10的硬盘或内存。所述存储器D101在另一些实施例中也可以是所述移动机器人D10的外部存储设备,例如所述移动机器人D10上配备的插接式硬盘,智能存储卡(SMC,Smart Media Card),安全数字(SD,Secure Digital)卡,闪存卡(Flash Card)等。进一步地,所述存储器D101还可以既包括所述移动机器人D10的内部存储单元也包括外部存储设备。所述存储器D101用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器D101还可以用于暂时地存储已经输出或者将要输出的数据。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到自主建图装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (13)
1.一种用于AGV的自主建图方法,其特征在于,包括:
根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内;
当所述AGV位于所述关键区域内时,控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
当所述AGV位于所述目标场所中除所述关键区域以外的其他区域时,控制所述AGV通过第二点云扫描模式进行扫描,并根据通过所述第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
其中,所述第一点云扫描模式的精度高于所述第二点云扫描模式的精度。
2.根据权利要求1所述的自主建图方法,其特征在于,在所述根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内的步骤之前,所述自主建图方法还包括:
获取所述AGV在目标场所扫描到的第二三维点云数据;
根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置;
控制所述AGV以所述初始位置为起点,按照预先得到的建图行驶路线开始在所述目标场所内移动,直至移动至所述建图行驶路线的终点。
3.根据权利要求2所述的自主建图方法,其特征在于,所述根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内的步骤,包括:
根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验二维导航地图上的实时位置;
根据所述实时位置,确定所述AGV是否位于预先划定的关键区域内。
4.根据权利要求2所述的自主建图方法,其特征在于,所述控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图的步骤,包括:
在所述先验三维点云地图中对所述关键区域进行栅格化;
根据所述先验三维点云地图,确定栅格化后每个栅格的状态;所述状态为可行驶、不可行驶、已探索和未知中的一种;
根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图。
5.根据权利要求4所述的自主建图方法,其特征在于,所述根据所有栅格的状态,控制AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图的步骤,包括:
控制所述AGV移动到一状态为可行驶的栅格;
将所述AGV所在栅格的中心点确定为静止建图点,并当所述AGV移动到该静止建图点时,控制所述AGV停止移动;
控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据,并根据该第一三维点云数据构建实时点云地图;
根据该实时点云地图,更新所述关键区域内每个栅格的状态;其中,在更新所述关键区域内栅格的状态时,将所述AGV已到达的栅格的状态更新为已探索,将存在障碍物的栅格的状态更新为不可行驶,并将不存在障碍物、且所述AGV未到达的栅格的状态更新为可行驶;
判断所述关键区域内是否存在状态为可行驶的栅格,当所述关键区域内不存在状态为可行驶的栅格时,控制所述AGV离开所述关键区域,继续沿所述建图行驶路线移动;
当所述关键区域内存在状态为可行驶的栅格时,返回所述控制所述AGV移动到一状态为可行驶的栅格的步骤。
6.根据权利要求5所述的自主建图方法,其特征在于,所述AGV顶部设置有雷达旋转平台,所述雷达旋转平台顶部设置有激光雷达,所述雷达旋转平台用于带动所述激光雷达旋转;
所述控制所述AGV进行扫描,获得所述AGV所在静止建图点的第一三维点云数据的步骤,包括:
控制所述雷达旋转平台带动所述激光雷达旋转完成扫描,获得所述AGV所在静止建图点的第一三维点云数据。
7.根据权利要求2所述的自主建图方法,其特征在于,所述自主建图方法还包括:
当所述AGV移动时扫描到的第一三维点云数据与所述先验三维点云地图的匹配度达到预设匹配度阈值时,根据所述先验三维点云地图以及所述AGV移动时扫描到的第一三维点云数据,确定所述AGV在所述先验三维点云地图上的位姿;
通过位姿图优化算法,利用所述位姿对所述实时点云地图上的位姿进行修正。
8.根据权利要求2所述的自主建图方法,其特征在于,在所述根据所述第二三维点云数据和所述目标场所的先验三维点云地图,确定所述AGV在所述目标场所的先验二维导航地图上的初始位置的步骤之前,所述自主建图方法还包括:
根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图;
在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域。
9.根据权利要求8所述的自主建图方法,其特征在于,所述根据目标场所的建筑图纸,构建所述目标场所的先验三维点云地图和所述目标场所的先验二维导航地图的步骤,包括:
删除所述建筑图纸中除建筑轮廓线段和障碍物线段以外的线段和标注;
将所述建筑轮廓线段和障碍物线段转移到预设坐标系中;
在所述预设坐标系中,分别针对所述建筑轮廓线段和障碍物线段中的每条线段,在该线段上每间隔一第一预设长度取一点,得到所述目标场所的二维点云数据;
在所述预设坐标系中,分别针对所述二维点云数据的每个点,沿该点的正上方向每间隔一第二预设长度生成一新的点,直至最新生成的点与所述二维点云数据所在平面之间的距离达到预设距离,形成先验三维点云地图;
在所述预设坐标系中,对所述二维点云数据进行二维栅格化,形成先验二维导航地图。
10.根据权利要求8所述的自主建图方法,其特征在于,所述在所述先验二维导航地图上绘制建图行驶路线,并在所述先验二维导航地图上划定关键区域的步骤,包括:
根据所述AGV所需的行驶路线,在所述先验二维导航地图上绘制建图行驶路线;
将所述先验二维导航地图中与所述AGV的工作区域对应的区域划定为关键区域。
11.一种用于AGV的自主建图装置,其特征在于,包括:
检测模块,用于根据所述AGV在目标场所内扫描到的第一三维点云数据,检测所述AGV是否位于预先划定的关键区域内,当所述AGV位于所述关键区域内时,触发第一建图模块;当所述AGV位于所述目标场所中除所述关键区域以外的其他区域时,触发第二建图模块;
第一建图模块,用于根据所述检测模块的触发,控制所述AGV通过第一点云扫描模式进行扫描,并根据通过所述第一点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
第二建图模块,用于根据所述检测模块的触发,控制所述AGV通过第二点云扫描模式进行扫描,并根据通过所述第二点云扫描模式扫描到的第一三维点云数据构建实时点云地图;
其中,所述第一点云扫描模式的精度高于所述第二点云扫描模式的精度。
12.一种移动机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至10任一项所述的自主建图方法。
13.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述的自主建图方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111400534.XA CN114115263B (zh) | 2021-11-19 | 2021-11-19 | 用于agv的自主建图方法、装置、移动机器人及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111400534.XA CN114115263B (zh) | 2021-11-19 | 2021-11-19 | 用于agv的自主建图方法、装置、移动机器人及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115263A true CN114115263A (zh) | 2022-03-01 |
CN114115263B CN114115263B (zh) | 2024-04-09 |
Family
ID=80440776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111400534.XA Active CN114115263B (zh) | 2021-11-19 | 2021-11-19 | 用于agv的自主建图方法、装置、移动机器人及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115263B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114596293A (zh) * | 2022-03-11 | 2022-06-07 | 华南理工大学 | 基于agv对工件进行作业的方法及agv系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179082A (zh) * | 2017-07-07 | 2017-09-19 | 上海阅面网络科技有限公司 | 基于拓扑地图和度量地图融合的自主探索方法和导航方法 |
US20170343362A1 (en) * | 2016-05-30 | 2017-11-30 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method And Apparatus For Generating High Precision Map |
CN108732584A (zh) * | 2017-04-17 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 用于更新地图的方法和装置 |
CN111598916A (zh) * | 2020-05-19 | 2020-08-28 | 金华航大北斗应用技术有限公司 | 一种基于rgb-d信息的室内占据栅格地图的制备方法 |
CN112000130A (zh) * | 2020-09-07 | 2020-11-27 | 哈尔滨工业大学 | 一种无人机的多机协同高精度建图定位系统 |
CN112598807A (zh) * | 2020-12-22 | 2021-04-02 | 深圳数联天下智能科技有限公司 | 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 |
CN112652062A (zh) * | 2019-10-10 | 2021-04-13 | 北京京东乾石科技有限公司 | 一种点云地图构建方法、装置、设备和存储介质 |
CN112862894A (zh) * | 2021-04-12 | 2021-05-28 | 中国科学技术大学 | 一种机器人三维点云地图构建与扩充方法 |
CN113192142A (zh) * | 2021-05-27 | 2021-07-30 | 中国人民解放军国防科技大学 | 复杂环境下的高精度地图构建方法、装置和计算机设备 |
CN113602840A (zh) * | 2021-08-26 | 2021-11-05 | 武汉万集光电技术有限公司 | 一种智能装车系统及其控制方法 |
-
2021
- 2021-11-19 CN CN202111400534.XA patent/CN114115263B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170343362A1 (en) * | 2016-05-30 | 2017-11-30 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method And Apparatus For Generating High Precision Map |
CN108732584A (zh) * | 2017-04-17 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 用于更新地图的方法和装置 |
CN107179082A (zh) * | 2017-07-07 | 2017-09-19 | 上海阅面网络科技有限公司 | 基于拓扑地图和度量地图融合的自主探索方法和导航方法 |
CN112652062A (zh) * | 2019-10-10 | 2021-04-13 | 北京京东乾石科技有限公司 | 一种点云地图构建方法、装置、设备和存储介质 |
CN111598916A (zh) * | 2020-05-19 | 2020-08-28 | 金华航大北斗应用技术有限公司 | 一种基于rgb-d信息的室内占据栅格地图的制备方法 |
CN112000130A (zh) * | 2020-09-07 | 2020-11-27 | 哈尔滨工业大学 | 一种无人机的多机协同高精度建图定位系统 |
CN112598807A (zh) * | 2020-12-22 | 2021-04-02 | 深圳数联天下智能科技有限公司 | 人脸关键点检测模型的训练方法、装置、计算机设备及存储介质 |
CN112862894A (zh) * | 2021-04-12 | 2021-05-28 | 中国科学技术大学 | 一种机器人三维点云地图构建与扩充方法 |
CN113192142A (zh) * | 2021-05-27 | 2021-07-30 | 中国人民解放军国防科技大学 | 复杂环境下的高精度地图构建方法、装置和计算机设备 |
CN113602840A (zh) * | 2021-08-26 | 2021-11-05 | 武汉万集光电技术有限公司 | 一种智能装车系统及其控制方法 |
Non-Patent Citations (1)
Title |
---|
刘冠洲, 张元生, 张达: "基于三维激光点云数据的采空区形变区域识别算法", 冶金自动化, pages 1 - 6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114596293A (zh) * | 2022-03-11 | 2022-06-07 | 华南理工大学 | 基于agv对工件进行作业的方法及agv系统 |
CN114596293B (zh) * | 2022-03-11 | 2024-05-17 | 华南理工大学 | 基于agv对工件进行作业的方法及agv系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114115263B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111324121B (zh) | 一种基于激光雷达的移动机器人自动充电方法 | |
CN111881239B (zh) | 构建方法、构建装置、智能机器人及可读存储介质 | |
EP3633620A1 (en) | Method and device for calibrating external parameters of vehicle-mounted sensor | |
CN111121754A (zh) | 移动机器人定位导航方法、装置、移动机器人及存储介质 | |
CN114812581B (zh) | 一种基于多传感器融合的越野环境导航方法 | |
KR20190082291A (ko) | 차량 환경 맵 생성 및 업데이트 방법 및 시스템 | |
CN112539749B (zh) | 机器人导航方法、机器人、终端设备及存储介质 | |
CN111813101A (zh) | 机器人路径规划方法、装置、终端设备及存储介质 | |
CN104916216A (zh) | 一种地图构建方法及系统 | |
WO2018154579A1 (en) | Method of navigating an unmanned vehicle and system thereof | |
CN110764110B (zh) | 路径导航方法、装置及计算机可读存储介质 | |
CN114236564B (zh) | 动态环境下机器人定位的方法、机器人、装置及存储介质 | |
CN112363158A (zh) | 机器人的位姿估计方法、机器人和计算机存储介质 | |
CN110749895B (zh) | 一种基于激光雷达点云数据的定位方法 | |
CN111796258A (zh) | 雷达参数标定场的构建方法、构建装置及可读存储介质 | |
CN112686951A (zh) | 用于确定机器人位置的方法、装置、终端及存储介质 | |
CN110705385B (zh) | 一种障碍物角度的检测方法、装置、设备及介质 | |
CN114115263B (zh) | 用于agv的自主建图方法、装置、移动机器人及介质 | |
CN114842106A (zh) | 栅格地图的构建方法及构建装置、自行走装置、存储介质 | |
CN114187357A (zh) | 一种高精地图的生产方法、装置、电子设备及存储介质 | |
CN113768419A (zh) | 确定扫地机清扫方向的方法、装置及扫地机 | |
Deusch et al. | Improving localization in digital maps with grid maps | |
CN116429121A (zh) | 基于多传感器的定位方法、装置、自移动设备及存储介质 | |
CN116202509A (zh) | 一种面向室内多层建筑的可通行地图生成方法 | |
CN113554705B (zh) | 一种变化场景下的激光雷达鲁棒定位方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |