一种基于KNN-ICP算法的自由曲面定位方法与流程

文档序号:22799371发布日期:2020-11-04 03:56阅读:187来源:国知局
一种基于KNN-ICP算法的自由曲面定位方法与流程

本发明属于计算机辅助制造及机器人加工技术领域,更具体地,涉及一种基于knn-icp算法的自由曲面定位方法。



背景技术:

机器人离线编程打磨是当下最合适的机器人打磨方式。其具体思路是通过软件在电脑上模拟出机器人周围的工况,在虚拟的三维工况中,根据加工零件的材料、大小、形状配合上操作者的操作,直接在计算机内部生成机器人的运动轨迹,并产生相应的程序,导入机器人系统中进行作业。

机器人打磨过程中,工件坐标系定位(建立工件相对于机器人的坐标系)非常重要。工件自定位指利用计算机及传感器测量系统,通过位姿求解算法,实现工件实际工况下的精确定位,其本质是三维点云的精确配准。近年来,国内外研究者围绕三维点云匹配问题展开了系统的研究其中最具代表性的是由besl和mckay提出的迭代最近点算法(iterativeclosestpoint,icp),该算法实现简单、精度高,但是计算效率低。



技术实现要素:

针对现有技术的以上缺陷或改进需求,为了更高效准确的建立工件相对于机器人的工件坐标系,本发明采用机器人系统获取整个曲面的实际测量点云数据,并提出了基于knn-icp算法的自由曲面定位方法;该方法实现简单,计算效率高,可以准确地计算出工件坐标系。

本发明通过下述技术方案实现:

一种基于knn-icp算法的自由曲面定位方法,其特征在于,包括以下步骤:

(1)利用机器人,对曲面进行采点,获得实际测量点云数据

(2)根据加工公差,对曲面的cad模型进行离散,生成理论目标点云数据

(3)利用knn算法,计算实际测量点云中每个数据点在上的最近点和对应的最短距离,其中表示迭代次数,初始情况,;设为给定的迭代终止精度,若,则转到步骤(5),否则转到步骤(4);

(4)采用四元数法,计算旋转矩阵和平移矩阵,得到新的测量点云位置=,使得当前测量点云逼近,并返回步骤(3);

(5)终止迭代,并输出工件相对于机器人的工件坐标系。

对本发明技术方案的进一步优选,步骤(1)中,机器人对自由曲面采点,获得的点云数据数量,且

对本发明技术方案的进一步优选,步骤(4)中采用四元数法,计算旋转矩阵和平移矩阵,假设实际测量点集和理论目标点集分别为,旋转矩阵为,平移矩阵为,则具体计算步骤为:

(4.1)计算点集的中心,并进行中心化处理:

,,

(4.2)根据中心化后的数据点集,计算协方差矩阵,并通过协方差矩阵构造正定矩阵

(4.3)计算出正定矩阵n的特征值,其中对应最大特征值的特征向量对应着旋转四元数为:

(4.4)用旋转四元数表示旋转矩阵r为:

(4.5)根据,计算平移矩阵

本发明与与现有技术相比具有的有益效果:自由曲面定位方法通过knn算法,搜索最近点,实现简单,计算效率高。

附图说明

图1是基于knn-icp算法的自由曲面定位方法的总流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图1及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,一种基于knn-icp算法的自由曲面定位方法,包括以下步骤:

(1)利用机器人,对曲面进行采点,获得实际测量点云数据

(2)根据加工公差,对曲面的cad模型进行离散,生成理论目标点云数据

(3)利用knn算法,计算实际测量点云中每个数据点在上的最近点和对应的最短距离,其中表示迭代次数,初始情况,;设为给定的迭代终止精度,若,则转到步骤(5),否则转到步骤(4);

(4)采用四元数法,计算旋转矩阵和平移矩阵,得到新的测量点云位置=,使得当前测量点云逼近,并返回步骤(3);

(5)终止迭代,并输出工件相对于机器人的工件坐标系。

本实施例中,步骤(1)中,机器人对自由曲面采点,获得的点云数据数量,且

本实施例中,步骤(4)中采用四元数法,计算旋转矩阵和平移矩阵,假设实际测量点集和理论目标点集分别为,旋转矩阵为,平移矩阵为,则具体计算步骤为:

(4.1)计算点集的中心,并进行中心化处理:

,,

(4.2)根据中心化后的数据点集,计算协方差矩阵,并通过协方差矩阵构造正定矩阵

(4.3)计算出正定矩阵n的特征值,其中对应最大特征值的特征向量对应着旋转四元数为:

(4.4)用旋转四元数表示旋转矩阵r为:

(4.5)根据,计算平移矩阵

实施例1

机器人离线编程打磨是当下最合适的机器人打磨方式。其具体思路是通过软件在电脑上模拟出机器人周围的工况,在虚拟的三维工况中,直接在计算机内部生成机器人的运动轨迹,并产生相应的程序,导入机器人系统中进行工程作业。

本实施例以机器人离线编程轮毂打磨为例,进一步说明本实施例方法。

本实施例以规格为(550mm550mm250mm)的轮毂cad模型为例。在机器人离线编程打磨方案中,利用机器人,对曲面进行采点,获得实际测量点云数据;根据加工公差,对曲面的cad模型进行离散,生成理论点云数据;本实施例中获得实际测量点云数据(12个),理论上,实测点云数据越多,计算越精准;离散成理论点云数据(2303316个)。

本实施例中给定迭代终止精度为0.01mm,算法运行时间:15.4288s,算出的姿态变换矩阵为:

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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