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

一种基于三维激光雷达的定位导航方法

文献发布时间:2023-06-19 11:08:20


一种基于三维激光雷达的定位导航方法

技术领域

本发明属于AGV定位导航领域,具体而言,是一种基于三维激光雷达的定位导航方法。

背景技术

激光雷达技术广泛应用在移动机器人、AGV和无人驾驶领域,现在AGV领域主要使用二维激光雷达进行定位导航,可以获得较高的定位精度,但是对于环境的依赖性较大;但是对于复杂多变的环境,二维激光雷达的信息获取有限,对于环境的有效特征不能充分利用,故不同的环境定位导航精度波动较大。

在AGV作业过程中二维激光雷达不能获取障碍物的三维点云信息,仅可获取到二维激光雷达同一平面的点云信息,在复杂多变的环境中导航作业存在很高的风险。

发明内容

为了解决上述问题,本发明公开了一种基于三维雷达定位导航方法,利用环境特征进行定位与建图,可以充分利用环境的有效信息,提高定位导航信息的精度、稳定性以及导航信息的完备性。

为了达到上述目的,本发明的技术方案如下:一种基于三维激光的定位导航方法,包括有:AGV车体部分、三维激光雷达SLAM定位部分和AGV导航部分。

步骤1:采用了LOAM的关键算法对三维点云进行同步定位与建图,获取实际作业环境的三维点云地图。

S1、对输入点云进行滤波,根据曲率大小区分提取特征点,选出曲率大的边缘点和曲率小的平面点。

S2、根据提取的特征点进行相邻两帧点云的特征匹配,获取精度较低的高频的激光里程计信息。

S3、根据前述的特征点,进行数据帧与子地图的点云特征配准,获取精度较高的低频里程计信息。

S4、对低频高精度里程计信息与高频低精度的里程计信息,进行双频数据的融合处理,获取高精度高频率的里程计信息。

步骤2:利用octomap_server技术将三维点云地图转化为二维栅格地图。

步骤2过程是基于八叉树的方法将PCD点云转化为octomap,后进行投影处理获取二维栅格地图。

步骤3:采用Ray Ground Filter算法分割三维激光产生的地面点云和环境点云。

S1、Ray Ground Filter算法的核心是以射线(Ray)的形式来组织点云。

S2、将点云的(x, y, z)三维空间降到(x, y)平面来看,计算每一个点到车辆正方向(x轴)的平面夹角θ, 对360度以激光雷达的角度分辨率进行微分,同一夹角上的n线激光雷达应该由n束射线。

S3、为了方便对同一角度的线束进行处理,要将原来直角坐标系的点云转换成柱坐标描述的点云数据结构。

S4、对同一夹角的线束上的点,按照半径的大小进行排序,通过前后两点的坡度是否大于我们事先设定的坡度阈值,从而判断点是否为地面点。

步骤4:使用move_base导航算法对AGV进行全局路径规划、局部路径规划以及避障处理。

move_base是在ROS上运行的节点,用于配置、运行和与机器人上的导航功能包进行交互。

S1、编写yaml文件,配置插件参数,使用move_base订阅步骤1的里程计和tf信息、订阅步骤2生成的栅格地图、订阅步骤3生成的环境点云。

S2、配置全局规划、局部规划与行为恢复,配置AGV的速度、加速度和位置参数。

下面结合附图对本发明做进一步说明。

附图说明

图1为本发明的流程图简图,对本发明的算法流程进行说明。

图2为本发明的系统框图。

图3为Ray Ground Filter算法的示意图。

图4为move_base导航框架图。

图5为本发明在ROS下的节点图。

具体实施方式

下面结合附图对本发明作进一步详细的说明。

图2为本发明的系统框图,本系统基于ROS测试,包括AGV车体、三维激光雷达、SLAM定位模块和AGV导航部分。

步骤1:Loam模块订阅仿真环境中三维激光雷达发布的点云话题,进行同步定位与建图,获取实际作业环境的点云地图。

步骤2:利用octomap_server技术将三维点云地图转化为二维栅格地图并保存,AGV导航时使用。

步骤3:采用Ray Ground Filter算法分割三维激光产生的地面点云和环境点云。

Ray Ground Filter算法的核心是以射线的形式来组织三维点云,这样方便下一步处理。

S1、将点云的(x, y, z)三维空间降到(x, y)平面,计算每一个点到车辆正方向(x轴)的平面夹角θ, 对360度以激光雷达的角度分辨率进行微分,如图3所示。

同一夹角上的n线激光雷达应该由n束这样的射线。

S2、如图3所示:为了方便对同一角度的线束进行处理,要将原来直角坐标系的点云转换成柱坐标描述的点云数据结构。

为了方便地对点进行半径和夹角的表示,将PCL库中激光雷达点云的数据结构 (pcl::PointCloudXYZI),通过R=

S3、对同一夹角的线束上的点,按照半径的大小进行排序,通过前后两点的坡度是否大于我们事先设定的坡度阈值,从而判断点是否为地面点。

图4是move_base导航框架图。

move_base提供了ROS导航的配置、运行、交互接口,它主要包括两个部分:全局路径规划:根据给定的目标位置进行总体路径的规划;本地实时规划:根据附近的障碍物进行躲避路线规划。

S1、move_base订阅Loam模块发布的高频高精度的里程计信息。

S2、move_base订阅步骤2产生的二维栅格地图。

S3、move_base订阅Ray Ground Filter算法节点发布的不含地面点云的环境点云,用于本地实时的路径规划。

S4、编写yaml文件,配置控制器插件参数。

S4、move_base订阅发布的目标位置的请求,并且输出AGV的控制指令。

图5是本发明在ROS中进行仿真时的计算图。

图5中gazebo发布三维点云数据 velodyne_points话题分别有两个订阅者ScanRegistration和Ray_Ground_Filter。

ScanRegistration对输入点云进行滤波,根据曲率大小区分提取特征点,选出曲率大的边缘点和曲率小的平面点,然后将特征点话题发布给下一个节点。

Ray Ground Filter算法分割三维激光产生的地面点云和环境点云,将分割后的点云话题发布。

ScanRegistration节点发布的话题被 LaserOdometry节点订阅,实现运动补偿和两帧数据间配准,得到一个高频低精度的里程计信息,同时将里程计数据、环境点云和特征点云,发布给下一个节点laserMapping。

laserMapping节点根据前述的特征点,进行数据帧与子地图的点云特征配准,获取精度较高的低频里程计信息,并构建三维点云地图;对低频高精度里程计信息与高频低精度的里程计信息,进行双频数据的融合处理,获取高精度高频率的里程计信息。

move_base节点订阅 octomap_server保存的二维栅格地图、Ray_Ground_Filter地面点云分割后的环境点云和loam模块发布的高频高精度的里程计信息。

通过以上操作可以实现基于三维激光的定位导航。

应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

相关技术
  • 一种基于三维激光雷达的定位导航方法
  • 一种基于视觉与激光雷达信息融合的机器人室内外定位导航系统方法
技术分类

06120112812528