CN109947118B - 一种使用gpu加速的代价地图快速更新方法 - Google Patents
一种使用gpu加速的代价地图快速更新方法 Download PDFInfo
- Publication number
- CN109947118B CN109947118B CN201910326154.2A CN201910326154A CN109947118B CN 109947118 B CN109947118 B CN 109947118B CN 201910326154 A CN201910326154 A CN 201910326154A CN 109947118 B CN109947118 B CN 109947118B
- Authority
- CN
- China
- Prior art keywords
- cost map
- gpu
- map
- obstacle
- 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.)
- Active
Links
Images
Abstract
本发明公开了一种使用GPU加速的代价地图快速更新方法,包括步骤:步骤S1,在当前位置获取一组传感器数据;步骤S2,在全局代价地图中复制机器人当前位置周围一块指定大小的矩形区域,作为局部代价地图复制到显存中;步骤S3,将获取到的传感器数据复制到显存中;步骤S4,GPU并行地处理传感器数据中的每一部分,在显存上的局部代价地图内标记障碍位置和自由空间;步骤S5,GPU并行地处理每一个障碍栅格,在局部代价地图上根据障碍物膨胀模型修改其周围栅格的代价数值;步骤S6,将显存中的局部代价地图复制回内存中原来的位置并覆盖。本发明将代价地图更新这一任务分配给适宜大规模并行计算的GPU完成,运算效率更高,改善了移动机器人闭环控制的实时性。
Description
技术领域
本发明涉及环境地图建模领域,尤其涉及一种使用GPU加速的代价地图快速更新方法。
背景技术
近年来,移动机器人的应用领域逐渐扩展。在机器人完成预设的任务时,必须对当前所处的工作环境以及自身在环境中的位置和姿态具备足够的认知。
目前移动机器人工作的典型流程是,机器人通过对任务的认知和路径规划产生可行的路径和动作序列,由运动控制组件执行,改变机器人在周围环境中的状态;这样的改变被搭载于机器人的传感器感知到,生成周围局部环境的抽象信息;再将局部信息与全局地图进行匹配,解算出机器人的全局位置并在有必要时对全局地图进行必要的修正或补充,将其再次作为认知和路径规划的输入。上述流程构成一个控制闭环,使机器人根据外部环境的反馈不断地接近最终目标。
移动机器人工作的环境受多种因素影响,如果全部由机器人原样记录下来,机器人无法承受储存和处理的代价。因此,通行的做法是机器人对感知得到的周围环境经过抽象处理后再保存供后续处理。地图的抽象有多种方法,一种常见的处理方法是将环境中的连续空间抽象为大小相同的栅格,用恰当的数值表示栅格代表的区域内的状况,并依据实际需求选取每一栅格的大小。这样,每一栅格内的数值就可以被认为是机器人从邻近栅格移动到该位置所需的代价。进一步地,在处理避障任务时,离障碍越近的位置可以赋予更大的代价数值以表示更大的碰撞风险,移动机器人自主导航进行路径规划时,选取“安全的最短路径”的目标,也可以转化为规划并选取一条路径上各栅格代价之和最小的序列。
这样,路径规划、地图构建等流程就可以使用成熟的图论方法实现。这些方法通常以循环的方式依次处理每一个栅格或传感器输入的每一个分量,且对不同栅格或传感器输入的处理方法基本相同。
在移动机器人的运动过程中,需要保证充分的实时性,否则无法实现有效的闭环控制。这对闭环中每一个流程的计算效率都产生了要求。受机器人成本、重量、续航时间等因素影响,无法选用高性能处理器作为运动机器人的主控制器,限制了机器人的计算规模。
图形处理器(GPU,Graphics Processing Unit)是针对图像运算做出特殊设计的处理器,其结构为图形运算做了专门优化,对大规模并行处理尤其有效。代价地图更新时,对每一个栅格独立处理的执行逻辑与图形运算具备相似性,因此可以交给GPU处理以提升性能。
发明内容
本发明鉴于上述情况而作出,其目的是提供一种使用GPU加速的代价地图快速更新方法,将对栅格地图的更新与传感器数据的解算分配给GPU完成,计算效率得到提高,改善了机器人运动控制的实时性,同时不使机器人整体硬件成本大幅提高。
本发明提供一种使用GPU加速的代价地图快速更新方法,包括步骤:
步骤S1,在当前位置获取一组传感器数据。
步骤S2,在全局代价地图中复制机器人当前位置周围一块指定大小的矩形区域,作为局部代价地图复制到显存中。
步骤S3,将获取到的传感器数据复制到显存中。
步骤S4,GPU并行地处理传感器数据中的每一部分,在显存上的局部代价地图内标记障碍位置和自由空间。
步骤S5,GPU并行地处理每一个障碍栅格,在局部代价地图上根据障碍物膨胀模型修改其周围栅格的代价数值。
步骤S6,将显存中的局部代价地图复制回内存中原来的位置并覆盖。
进一步地,步骤S2中,局部代价地图的长、宽尺寸与分辨率具有可配置性。
其中,尺寸可以指定以机器人所在位置为中心任意长宽的矩形;分辨率可以与全局代价地图相同,也可以比全局代价地图更细腻。
其中,在机器人中心位于全局地图边界区域时,局部代价地图可以有一部分区域在全局地图之外。
进一步优选的,步骤S5中,膨胀模型的计算公式为:
其中,scale_factor是由用户自定义的缩放因子,dobs是待计算栅格与周围最近障碍的距离,dmax是受到膨胀影响圆形区域的半径,以像素为单位,weightobs是表示障碍物代价的常数。
进一步地,在上述公式的计算下,障碍物周围以障碍物自身为圆心的圆形区域内,各栅格的代价随着远离障碍物而减小,圆形区域外的栅格仍然是标记为表示自由空间的最小值。
进一步地,步骤S1之前还包括以下准备工作:
步骤S201,运动机器人使用同时定位与地图构建(SLAM,SimultaneousLocalization and Mapping)方法生成整个工作环境内的栅格地图。
步骤S202,运动机器人被放置在工作环境中的某个位置。
步骤S203,将步骤S201生成的栅格地图作为已知数据提供给机器人。
步骤S204,运动机器人通过传感器数据完成自身位置的定位。
步骤S205,使用步骤S2至步骤S6的方法,GPU并行地预处理全局地图上每一个障碍栅格,在全局代价地图上根据障碍物膨胀模型修改静态障碍物周围栅格的代价数值。
进一步地,步骤S201中生成的栅格地图,其中的每一个栅格只被标记为障碍物、自由空间、未知三种状态之一。
本发明将代价地图更新这一任务,根据其特性分配给适宜大规模并行计算的GPU完成。与仅由CPU完成相比,运算效率更高。同时,CPU可以将节省的计算资源用于处理其它串行任务,改善了移动机器人闭环控制的实时性,也提高了闭环控制的控制频率上限,使更精细的运动控制成为可能。
附图说明
图1是本发明的一种使用GPU加速的代价地图快速更新方法的流程示意图。
图2是本发明的一种使用GPU加速的代价地图快速更新方法的子流程示意图。
具体实施方式
为使本发明的目的、技术方案和有点优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明提供一种使用GPU加速的代价地图快速更新方法,根据其特性分配给适宜大规模并行计算的GPU完成,改善了移动机器人闭环控制的实时性,也提高了闭环控制的控制频率上限,使更精细的运动控制成为可能。
如图1所示,一种使用GPU加速的代价地图快速更新方法,包括步骤:
步骤S1,在当前位置获取一组传感器数据。
所述传感器数据来自使用提供距离或深度数据的传感器。
优选的,这样的传感器可以选用激光雷达,典型的激光雷达在每个测量周期返回的数据中,包含包含一个扇形区域内,激光雷达原点与每个方向最近障碍物的距离。
步骤S2,在全局代价地图中复制机器人当前位置周围一块指定大小的矩形区域,作为局部代价地图复制到显存中。
其中,矩形区域的长和宽由用户作为运行时参数写入配置文件,其中长和宽的单位为米,由控制系统自动转换为以像素为单位的长和宽。
步骤S3,将获取到的传感器数据复制到显存中。
步骤S4,GPU并行地处理传感器数据中的每一部分,在显存上的局部代价地图内标记障碍位置和自由空间。
其中,GPU的并行线程数量与传感器数据中采样点的数量相同。每个线程在完成坐标到栅格的变换后,使用线性插值方法将从激光雷达原点到采样点之间的栅格标记为自由空间,再将采样点标记为障碍物。
步骤S5,GPU并行地处理每一个障碍栅格,在局部代价地图上根据障碍物膨胀模型修改其周围栅格的代价数值。
其中,GPU的并行线程数量与局部代价地图内标记的障碍物数量相同。每个线程标记其对应障碍物为圆心的圆形区域内栅格的代价信息。
优选的,膨胀模型的计算公式为:
其中,scale_factor是由用户自定义的缩放因子,dobs是待计算栅格与周围最近障碍的距离,dmax是受到膨胀影响圆形区域的半径,以像素为单位,weightobs是表示障碍物代价的常数,取地图中每个栅格可表示的代价的最大值。
步骤S6,将显存中的局部代价地图复制回内存中原来的位置并覆盖。
如图2所示,步骤S1之前还包括:
步骤S201,运动机器人使用同时定位与地图构建(SLAM,SimultaneousLocalization and Mapping)方法生成整个工作环境内的栅格地图。
优选的,可以使用gmapping方法完成了工作环境栅格地图的构建。
进一步地,步骤S201中生成的栅格地图,其中的每一个栅格只被标记为障碍物、自由空间、未知三种状态之一。
步骤S202,运动机器人被放置在工作环境中的某个位置。
步骤S203,将步骤S201生成的栅格地图作为已知数据提供给机器人。
步骤S204,运动机器人通过传感器数据完成自身位置的定位。
其中,根据激光雷达返回的观测数据,机器人使用粒子滤波的方法确定其位于地图内每个栅格上的概率大小,并保存经过重采样等步骤处理后所有有效的粒子,供下一个周期的粒子滤波方法使用。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本范明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种使用GPU加速的代价地图快速更新方法,其特征在于,包括步骤:
步骤S1,在当前位置获取一组传感器数据;
步骤S2,在全局代价地图中复制机器人当前位置周围一块指定大小的矩形区域,作为局部代价地图复制到显存中;
步骤S3,将获取到的传感器数据复制到显存中;
步骤S4,GPU并行地处理传感器数据中的每一部分,在显存上的局部代价地图内标记障碍位置和自由空间;
步骤S5,GPU并行地处理每一个障碍栅格,在局部代价地图上根据障碍物膨胀模型修改其周围栅格的代价数值,障碍物膨胀模型满足以下性质:
对每一个障碍栅格,其周围的栅格都会进行代价数值的修改;障碍栅格周围的栅格,修改后的代价数值不小于修改前的代价数值;对同一个障碍栅格,与其距离更近的周围栅格,修改后的代价数值不小于与其距离更远的其它周围栅格;
步骤S6,将显存中的局部代价地图复制回内存中原来的位置并覆盖。
2.根据权利要求1所述的方法,其特征在于,使用提供距离或深度数据的传感器作为代价地图更新的数据输入源。
3.根据权利要求2所述的方法,其特征在于,步骤S4中,使用的GPU能使所有传感器数据同时并行处理。
4.根据权利要求3所述的方法,其特征在于,步骤S5中,使用的GPU能使所有障碍栅格同时并行处理。
5.根据权利要求4所述的方法,其特征在于,步骤S2中,局部代价地图的长、宽尺寸与分辨率具有可配置性,尺寸按需配置为以机器人所在位置为中心任意长宽的矩形;分辨率按需配置为不比全局代价地图更精细的分辨率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910326154.2A CN109947118B (zh) | 2019-04-19 | 2019-04-19 | 一种使用gpu加速的代价地图快速更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910326154.2A CN109947118B (zh) | 2019-04-19 | 2019-04-19 | 一种使用gpu加速的代价地图快速更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947118A CN109947118A (zh) | 2019-06-28 |
CN109947118B true CN109947118B (zh) | 2021-10-26 |
Family
ID=67014560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910326154.2A Active CN109947118B (zh) | 2019-04-19 | 2019-04-19 | 一种使用gpu加速的代价地图快速更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947118B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112447065B (zh) * | 2019-08-16 | 2022-04-26 | 北京地平线机器人技术研发有限公司 | 一种轨迹规划方法及装置 |
CN110824489A (zh) * | 2019-11-06 | 2020-02-21 | 博信矿山科技(徐州)股份有限公司 | 一种提高室内机器人位置精度的定位方法 |
CN113917912A (zh) * | 2020-07-08 | 2022-01-11 | 珠海格力电器股份有限公司 | 一种全局路径规划方法、装置、终端及可读存储介质 |
CN112066976B (zh) * | 2020-09-07 | 2023-06-16 | 北京信息科技大学 | 一种自适应膨胀处理方法、系统、机器人及存储介质 |
CN112033413B (zh) * | 2020-09-07 | 2023-06-16 | 北京信息科技大学 | 一种基于结合环境信息的改进a*算法的路径规划方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014012400A1 (zh) * | 2012-07-16 | 2014-01-23 | 华为技术有限公司 | 生成聚合层网络图和聚合层开销图的方法及装置 |
CN104039008A (zh) * | 2014-05-16 | 2014-09-10 | 南京大学 | 一种混合定位方法 |
CN105955262A (zh) * | 2016-05-09 | 2016-09-21 | 哈尔滨理工大学 | 一种基于栅格地图的移动机器人实时分层路径规划方法 |
CN106772434A (zh) * | 2016-11-18 | 2017-05-31 | 北京联合大学 | 一种基于TegraX1雷达数据的无人车障碍物检测方法 |
CN107239076A (zh) * | 2017-06-28 | 2017-10-10 | 仲训昱 | 基于虚拟扫描与测距匹配的agv激光slam方法 |
CN107479558A (zh) * | 2017-09-22 | 2017-12-15 | 中国人民解放军63983部队 | 基于车辆运动模型的无人车辆野外路径规划方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
CN107990903A (zh) * | 2017-12-29 | 2018-05-04 | 东南大学 | 一种基于改进a*算法的室内agv路径规划方法 |
CN108572646A (zh) * | 2018-03-19 | 2018-09-25 | 深圳悉罗机器人有限公司 | 机器人轨迹和环境地图的呈现方法和系统 |
CN108775902A (zh) * | 2018-07-25 | 2018-11-09 | 齐鲁工业大学 | 基于障碍物虚拟膨胀的伴随机器人路径规划方法及系统 |
CN109521767A (zh) * | 2018-10-18 | 2019-03-26 | 李培 | 自主导航机器人系统 |
CN109521794A (zh) * | 2018-12-07 | 2019-03-26 | 南京航空航天大学 | 一种多无人机航路规划及动态避障方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609971A (zh) * | 2012-01-11 | 2012-07-25 | 南京大学 | 嵌入式gpu实现3d-gis的快速渲染系统 |
US9495790B2 (en) * | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US20190004524A1 (en) * | 2016-08-31 | 2019-01-03 | Faraday&Future Inc. | System and method for planning a vehicle path |
CN108205314A (zh) * | 2016-12-19 | 2018-06-26 | 广东技术师范学院 | 基于立体视觉匹配的机器人导航装置及系统 |
US10613547B2 (en) * | 2017-08-14 | 2020-04-07 | GM Global Technology Operations LLC | System and method for improved obstacle awareness in using a V2X communications system |
CN107480096B (zh) * | 2017-08-21 | 2020-03-31 | 西安交通大学 | 一种大规模群体仿真中的高速并行计算方法 |
CN108241370B (zh) * | 2017-12-20 | 2021-06-22 | 北京理工华汇智能科技有限公司 | 通过栅格地图获取避障路径的方法及装置 |
CN108549378B (zh) * | 2018-05-02 | 2021-04-20 | 长沙学院 | 一种基于栅格地图的混合路径规划方法和系统 |
-
2019
- 2019-04-19 CN CN201910326154.2A patent/CN109947118B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014012400A1 (zh) * | 2012-07-16 | 2014-01-23 | 华为技术有限公司 | 生成聚合层网络图和聚合层开销图的方法及装置 |
CN104039008A (zh) * | 2014-05-16 | 2014-09-10 | 南京大学 | 一种混合定位方法 |
CN105955262A (zh) * | 2016-05-09 | 2016-09-21 | 哈尔滨理工大学 | 一种基于栅格地图的移动机器人实时分层路径规划方法 |
CN106772434A (zh) * | 2016-11-18 | 2017-05-31 | 北京联合大学 | 一种基于TegraX1雷达数据的无人车障碍物检测方法 |
CN107239076A (zh) * | 2017-06-28 | 2017-10-10 | 仲训昱 | 基于虚拟扫描与测距匹配的agv激光slam方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
CN107479558A (zh) * | 2017-09-22 | 2017-12-15 | 中国人民解放军63983部队 | 基于车辆运动模型的无人车辆野外路径规划方法 |
CN107990903A (zh) * | 2017-12-29 | 2018-05-04 | 东南大学 | 一种基于改进a*算法的室内agv路径规划方法 |
CN108572646A (zh) * | 2018-03-19 | 2018-09-25 | 深圳悉罗机器人有限公司 | 机器人轨迹和环境地图的呈现方法和系统 |
CN108775902A (zh) * | 2018-07-25 | 2018-11-09 | 齐鲁工业大学 | 基于障碍物虚拟膨胀的伴随机器人路径规划方法及系统 |
CN109521767A (zh) * | 2018-10-18 | 2019-03-26 | 李培 | 自主导航机器人系统 |
CN109521794A (zh) * | 2018-12-07 | 2019-03-26 | 南京航空航天大学 | 一种多无人机航路规划及动态避障方法 |
Non-Patent Citations (5)
Title |
---|
A visual-range in-door positioning method based on guidance from the target position;Miao xiaowei等;《In proceedings of the 11th International collaboration Symposium on Informatica, Production and Systems(ISIPS)》;20171231;第261-264页 * |
Construction of the local patency map on the data from Velodyne LiDAR;Stanislav A. Goll等;《2016 5th Mediterranean Conference on Embedded Computing (MECO)》;20160616;第184-187页 * |
GPU Accelerated Multi-agent Path Planning Based on Grid Space Decomposition;Giuseppe Caggianese,等;《Procedia Computer Science》;20121231(第9期);第1847-1856页 * |
基于GPU的地图切片系统的设计与实现;毛开祥;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215(第02(2019)期);第I138-1569页 * |
基于双目视觉的清洁机器人障碍检测设计与实现;邓祥;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170215(第02(2017)期);第I138-3859页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109947118A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947118B (zh) | 一种使用gpu加速的代价地图快速更新方法 | |
CN112859859B (zh) | 一种基于三维障碍物体素对象映射的动态栅格地图更新方法 | |
CN110927740B (zh) | 一种移动机器人定位方法 | |
TWI662388B (zh) | 機器人之避障控制系統及方法 | |
US11300964B2 (en) | Method and system for updating occupancy map for a robotic system | |
Sudhakara et al. | Trajectory planning of a mobile robot using enhanced A-star algorithm | |
CN109895100B (zh) | 一种导航地图的生成方法、装置及机器人 | |
CN111949027A (zh) | 自适应的机器人导航方法和装置 | |
CN112684789A (zh) | 控制设备的移动 | |
CN111045433B (zh) | 一种机器人的避障方法、机器人及计算机可读存储介质 | |
Marbate et al. | Role of voronoi diagram approach in path planning | |
Cocoma-Ortega et al. | Overcoming the blind spot in CNN-based gate detection for autonomous drone racing | |
CN113310484B (zh) | 一种移动机器人定位方法和系统 | |
Kanehiro et al. | Efficient reaching motion planning method for low-level autonomy of teleoperated humanoid robots | |
JP7439822B2 (ja) | 地図作成装置、地図作成方法、及びプログラム | |
CN115061499A (zh) | 无人机控制方法及无人机控制装置 | |
JP2024502523A (ja) | 位置特定方法および装置、コンピュータ装置、ならびにコンピュータ可読ストレージ媒体 | |
US20220300002A1 (en) | Methods and systems for path planning in a known environment | |
Feng et al. | A global localization system for mobile robot using lidar sensor | |
Qin et al. | Dynamic detection of topological information from grid-based generalized Voronoi diagrams | |
Geiser et al. | Online SLAM for Forestry Robot | |
Ibrahim et al. | Path planning with polygonal obstacles avoidance based on the virtual circles of the visible vertices | |
Guo et al. | Autonomous navigation in dynamic environments with multi-modal perception uncertainties | |
Afaghani et al. | On-line collision avoidance of two command-based industrial robotic arms using advanced collision map | |
Barros et al. | Multiple dynamic perimeter surveillance by an autonomous robot |
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 |