一种提高室内机器人位置精度的定位方法与流程

文档序号:20005090发布日期:2020-02-22 03:32阅读:326来源:国知局
一种提高室内机器人位置精度的定位方法与流程

本发明涉及一种提高室内机器人位置精度的定位方法。



背景技术:

随着人工智能,自动化的进一步发展,对自主移动机器人的要求也越来越高。首先自主移动机器人必须具备环境探测,定位导航,路径规划,自主移动的能力,但是对于室内的环境,无法接受到gps信号,要想实现准确的定位,必须依靠自身的传感器感知自身的状态和周围环境,再不断迭代更新周围的环境地图。

因此对于传感器的要求就很高,目前室内定位主流使用的是激光雷达,采用的算法是粒子滤波和拓展卡尔曼滤波,但拓展卡尔曼滤波忽略了高阶部分,当机器人探测范围增大,系统所需的计算量会随着地标数目的增多而明显增大,系统的实时性变差,但相对于粒子滤波来说,粒子滤波不局限于线性系统,能够应用于非高斯,非线性系统的系统,具有更高的鲁棒性和准确性,但是粒子滤波依赖于采样粒子的数量,采样粒子数量的增加对于准确的定位建图有着重要的意义,但采样粒子较多时,因为需要不断地对每个点进行迭代更新,计算量过大,会导致实时性下降。



技术实现要素:

针对上述现有技术存在的问题,本发明提供一种提高室内机器人位置精度的定位方法,能有效解决上述问题。

为了实现上述目的,本发明采用的技术方案是:一种提高室内机器人位置精度的定位方法,具体步骤为:

步骤一:在进行初始化之前对每个地图点进行相对于初始位置的储存,储存形式(x,y,θ),x为地图对应点的横坐标,y为地图对应点的纵坐标,θ为以x轴为基准的角度;

步骤二:然后将每个点进行初始化处理,按θ=0的方向将地图分为多个网栅,每个网栅里的数值为与到障碍物点的距离成正比的公差为1的等差序列,即距离障碍物越近值越小,到达障碍物时值为0;

步骤三:只保留网栅中数值为0所对应的(x,y,θ),存到一个索引表中;

步骤四:将索引表排序,构成地图的特征;

步骤五:在进行粒子滤波时,调用gpu对粒子运用光线投射算法(raycast)构建地图模型,从而实现室内机器人位置定位。

其中,所述gpu为x86架构。

其中,所述初始位置的储存在cpu数据库中。

有益效果是:本发明将激光雷达读取的数据进行进一步处理整合压缩,再进行粒子滤波时,调用gpu并行处理数据,并行最大程度提高多核处理器的运算能力,大大缩短计算时间的快速定位算法。

附图说明

图1是本发明的工作流程图。

具体实施方式

下面将对本发明作进一步说明。

如图所示,一种提高室内机器人位置精度的定位方法,具体步骤为:

步骤一:在进行初始化之前对每个地图点进行相对于初始位置的储存,储存形式(x,y,θ),x为地图对应点的横坐标,y为地图对应点的纵坐标,θ为以x轴为基准的角度;

步骤二:然后将每个点进行初始化处理,按θ=0的方向将地图分为多个网栅,每个网栅里的数值为与到障碍物点的距离成正比的公差为1的等差序列,即距离障碍物越近值越小,到达障碍物时值为0;

步骤三:只保留网栅中数值为0所对应的(x,y,θ),存到一个索引表中;

步骤四:将索引表排序,构成地图的特征;

步骤五:在进行粒子滤波时,调用gpu对粒子运用光线投射算法(raycast)构建地图模型,从而实现室内机器人位置定位。

其中,所述gpu为x86架构。

其中,所述初始位置的储存在cpu数据库中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1