一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种激光器的偏移角度计算方法与流程

2021-12-01 01:09:00 来源:中国专利 TAG:


1.本发明涉及激光器测量领域,更具体地,涉及一种激光器的偏移角度计算方法。


背景技术:

2.2d(two dimensional,二维)激光器传感器是机器人身上常用的一种传感器,常用于测距、定位和建图。由于工装模具误差和安装误差,机器人身上的激光器传感器相对于机器人本体存在一定程度的倾斜,倾斜角度包括俯仰角、偏航角和翻滚角,也就是激光器相对于机器人的外参中的旋转部分。
3.一方面因为传感器工装安装的位移误差相对较小,另一方面因为位移误差在传感器融合的过程中影响较小,因此直接使用位移设计值作为传感器外参中的位移分量。在使用激光传感器的过程中,安装的角度误差是我们使用激光传感器中误差的主要来源之一,对于2d激光器,俯仰角和翻滚角是角度误差中最主要的两个角度。


技术实现要素:

4.本发明针对现有技术中存在的技术问题,提供一种激光器的偏移角度计算方法,包括:在机器人直线运动的过程中,获取两帧激光数据,每一帧激光数据包括激光距离信息和激光线入射到标定板上的位置;基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度;其中,激光器安装于机器人上,在机器人前方垂直于机器人坐标系的xoy平面设置标定板。
5.在上述技术方案的基础上,本发明还可以作出如下改进。
6.可选的,所述在机器人直线运动的过程中,获取两帧激光数据,之前包括:将机器人编码器的坐标系作为机器人坐标系,分别以机器人的右方、前方、上方为x轴正方向、y轴正方向和z轴正方向;机器人前方的标定板所在平面平行于机器人坐标系的xoz平面,垂直于机器人坐标系的xoy平面。
7.可选的,所述激光坐标系相对于机器人坐标系的偏移角度包括俯仰角、偏航角和翻滚角。
8.可选的,当所述偏移角度为俯仰角时,基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度,包括:获取在激光器处于两个不同位置时,位于机器人坐标系yoz平面的激光线入射到标定板上的位置p1点和p2点;分别获取p1点和p2点到对应的激光器位置的距离信息;基于标定板上的位置p1点和p2点,以及对应的到激光器的距离信息,计算激光坐标系相对于机器人坐标系的俯仰角。
9.可选的,所述基于标定板上的位置p1点和p2点,以及对应的到激光器的距离信息,计算激光坐标系相对于机器人坐标系的俯仰角,包括:
10.(a1‑
a2)sinα=(y1‑
y2);
11.其中a1,a2分别为激光线在两个不同位置测得的距离信息,α为位于机器人坐标系yoz平面的激光线和机器人xoy平面的夹角,即激光坐标系相对于机器人坐标系的俯仰角,
(y1‑
y2)为激光线两次入射在标定板上的位置p1点和p2点,在标定板y轴方向的距离差。
12.可选的,当所述偏移角度为偏航角时,基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度,包括:在激光器处于两个不同位置时,获取激光线中线入射到标定板上的位置点,得到两个位置点在标定板的x轴方向的距离差;
13.基于如下公式计算激光坐标系相对于机器人坐标系的偏航角:
[0014][0015]
其中,d0为机器人直线运动距离,a1,a2分别为激光线中线在两个不同位置测得的距离信息,α为激光线中线和机器人xoy平面的夹角,(x1‑
x2)为激光线中线两次入射在标定板上的位置在标定板x轴方向的距离差,β为激光坐标系绕机器人z轴旋转的偏航角。
[0016]
可选的,当偏移角度为翻滚角时,基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度,包括:基于位于机器人坐标系yoz平面内的第一激光线和另外一条第二激光线,分别获取第一激光线和第二激光线的距离信息、入射到标定板上的位置点以及和机器人坐标系xoy平面的夹角;根据第一激光线和第二激光线的距离信息、入射到标定板上的位置点以及和机器人坐标系xoy平面的夹角,计算激光坐标系绕机器人坐标系y轴旋转的翻滚角。
[0017]
可选的,通过如下方法确定位于机器人坐标系yoz平面内的第一激光线:在机器人直线运动过程中,获取同一条激光线在激光器处于两个不同位置时入射到标定板上的位置点在标定板坐标系上的x轴坐标值;若入射到标定板上的两个位置点的x轴坐标值相同,则所述同一条激光线为位于机器人坐标系yoz平面内的第一激光线。
[0018]
可选的,根据第一激光线和第二激光线的距离信息、入射到标定板上的位置点以及和机器人坐标系xoy平面的夹角,计算激光坐标系绕机器人坐标系y轴旋转的翻滚角,包括:获取第一激光线在激光器处于固定位置时,旋转过程中,入射到标定板上的位置点形成的直线f1(x);通过如下公式计算得到标定板坐标系绕机器人坐标系z轴旋转的角度ω:
[0019][0020]
式中,第一激光线入射到标定板上的位置点为p4点,第一激光线的距离信息为a4,第一激光线和机器人坐标系xoy平面夹角为α4;第二激光线入射到标定板上的位置点为p3点,第二激光线的距离信息为a3,第二激光线和机器人坐标系的xoy平面夹角为α3;将标定板坐标系绕机器人坐标系z轴旋转ω使得标定板坐标系xoy平面平行于机器人坐标系xoz平面;计算投影后的f1(x)与此时标定板坐标系x轴的夹角得到激光坐标系绕机器人坐标系y轴旋转的翻滚角γ:
[0021][0022]
其中,l是直线f1(x)在标定板上线段的长度,ω1为f1(x)与标定板坐标系x轴的夹角。
[0023]
本发明提供的一种激光器的偏移角度计算方法,使用本发明提供的激光器角度外参标定方法,在机器人进行简单的直线运动之后,只需前后两帧数据,就可以快速得到激光器相对于机器人编码器的角度外参,从而对纠正激光器传感器测量结果纠正起到了至关重
要的作用。
附图说明
[0024]
图1为本发明提供的一种激光器的偏移角度计算方法流程图;
[0025]
图2为计算激光器的俯仰角的原理示意图;
[0026]
图3为计算激光器的偏航角的原理示意图;
[0027]
图4为计算激光器的翻滚角的原理示意图。
具体实施方式
[0028]
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0029]
图1为本发明提供的一种激光器的偏移角度方法流程图,如图1所示,方法包括:s1,在机器人直线运动的过程中,获取两帧激光数据,每一帧激光数据包括激光距离信息和激光线入射到标定板上的位置;s2,基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度;其中,激光器安装于机器人上,在机器人前方垂直于机器人坐标系的xoy平面设置标定板。
[0030]
可以理解的是,基于背景技术中的需求,本发明提供了一种快速得到激光器相对于机器人坐标系的三个角度偏移的方法,其中,机器人坐标系会根据机器人设计结构的不同而有差异,这里的机器人坐标系指编码器坐标系。
[0031]
在对本发明实施例提供的激光器的偏移角度计算方法进行介绍之前,对本发明中涉及的基本知识进行介绍,主要包括以下几点:
[0032]
(1)将旋转的单线激光看做静止的多线激光。因为激光线扫描速率极快,机器人的运动不会对单帧激光扫码中不同角度激光线的位置带来影响。(2)将机器人编码器的坐标系作为机器人坐标系,xyz轴分别为机器人的右前上,机器人坐标系原点为o。xoy轴构成的平面平行于水平面,z轴垂直于水平面。这里主要是便于后文的计算推导,坐标系的选取不会改变结论。(3)机器人前方的标定板xoz平面垂直于水平面。这里提前计算得到了标定板的位姿,因此通过投影,将标定板平面投影到垂直于水平面的位置,这个结论可以对每一个需要进行角度修正的激光器可以复用,因此认为在开始计算激光器坐标系角度偏移前为已知量。(4)已知一种线模式匹配方法:使用特殊设计的标定板,可以通过激光距离信息和强度信息快速得到激光线以及激光线中每一根激光线在标定板上的位置。
[0033]
基于上述的基本知识,对激光器相对机器人坐标系的各个偏移角度进行计算,在本发明实施例中,在机器人直线运动的过程中,当机器人运动到不同位置,安装于机器人上的激光器也处于不同位置,激光器发射的激光线入射标定板,获取对应的两帧激光数据,每一帧激光数据包括激光距离信息和激光线入射到标定板上的位置;基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度。
[0034]
使用本发明提供的激光器角度外参标定方法,在机器人进行简单的直线运动之后,只需前后两帧数据,就可以快速得到激光器相对于机器人编码器的角度外参,从而对纠正激光器传感器测量结果纠正起到了至关重要的作用。
[0035]
在一种可能的实施例方式中,激光坐标系相对于机器人坐标系的偏移角度包括俯
仰角、偏航角和翻滚角。
[0036]
其中,当偏移角度为俯仰角时,步骤s2中的基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度,包括:获取在激光器处于两个不同位置时,位于机器人坐标系yoz平面的激光线入射到标定板上的位置p1点和p2点;分别获取p1点和p2点到对应的激光器位置的距离信息;基于标定板上的位置p1点和p2点,以及对应的到激光器的距离信息,计算激光坐标系相对于机器人坐标系的俯仰角。
[0037]
可以理解的是,考虑单条激光线绕机器人z轴旋转,激光线和水平面的夹角始终不变,同时激光线和z轴的夹角也不变,因此,单条激光线绕机器人z轴得到的圆锥平面和标定板相交得到一曲线,曲线上任意一点和水平面的夹角相同。
[0038]
可参见图2,可以通过对同一条激光线在激光器处于两个位置p1,p2下在标定板上的位置进行求解,得到该激光线和水平面的夹角,其中,图2中的p1和p2的两个不同的位置,p1和p2为该激光线在激光器分别位于p1处和位于p2处,入射到标定板上的位置点。
[0039]
(a1‑
a2)sinα=(y1‑
y2);
ꢀꢀꢀ
(1)
[0040]
其中a1,a2分别为该激光线在两个不同位置测得的距离信息,可以理解为p1p1的距离和p2p2的距离,α为该激光线和机器人xoy平面的夹角,也就是激光线和水平面的夹角,(y1‑
y2)为激光线两次打在标定板上位置在标定板y轴方向的距离差,也就是机器人z轴方向的高度差。
[0041]
其中,如果该激光线为机器人坐标系yoz平面内的激光线,那么该激光线和水平面的夹角即为激光坐标系相对于机器人坐标系水平面的俯仰角。使用(1)式即可求得该激光线和机器人坐标系水平面的夹角,即求得激光坐标系与机器人坐标系之间的俯仰角。
[0042]
为了得到激光坐标系绕机器人z轴旋转的偏航角,使用特定的机器人运动轨迹来得到两个位置p1、p2。当激光器偏航角为0的时候,如果机器人进行直线运动,两次位置下,激光线中线两次打到标定板上的点在标定板坐标系下的x轴坐标相同。当激光器偏航角不为0的时候,机器人进行直线运动,激光线中线两次打到标定板上的点在标定板坐标系下的x轴坐标不相同,但是存在另一条激光线绕机器人坐标系的z轴旋转的偏航角为0,该激光线两次打到标定板上的位置点在标定板坐标系下的x轴坐标相同,该激光线和激光线中线的夹角即为激光器绕机器人z轴旋转的偏航角在激光器坐标系下的投影。
[0043]
在本发明的一个实施例中,当偏移角度为偏航角时,步骤s2中的基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度,具体实现为,参见图3,在激光器处于两个不同位置时,获取激光线中线入射到标定板上的位置点,得到两个位置点在标定板的x轴方向的距离差;对水平面上的三条直线构成的三角形使用余弦定理即可求得激光坐标系绕机器人z轴旋转的偏航角。
[0044][0045]
其中,d0为机器人直线运动距离,a1,a2分别为激光线中线在两个不同位置测得的距离信息,α为激光线中线和机器人xoy平面的夹角,(x1‑
x2)为激光线中线两次入射在标定板上的位置在标定板x轴方向的距离差,β为激光坐标系绕机器人z轴旋转的偏航角。
[0046]
在一种可能的实施例方式中,当偏移角度为翻滚角时,步骤s2中的基于两帧激光数据,计算激光坐标系相对于机器人坐标系的偏移角度,包括:基于位于机器人坐标系yoz
平面内的第一激光线和另外一条第二激光线,分别获取第一激光线和第二激光线的距离信息、入射到标定板上的位置点以及和机器人坐标系xoy平面的夹角;根据第一激光线和第二激光线的距离信息、入射到标定板上的位置点以及和机器人坐标系xoy平面的夹角,计算激光坐标系绕机器人坐标系y轴旋转的翻滚角。
[0047]
其中,在寻找位于机器人坐标系yoz平面内的第一激光线时,其基于的原理为,激光线中存在一条激光线处于机器人yoz平面内,在机器人运动过程中,该条激光线打在标定板上的位置点在标定板坐标系上的x轴坐标值不变,通过判断p1、p2两个位置下激光线打在标定板上点横坐标值,就可以得到该激光线,下称第一激光线。
[0048]
在一种可能的实施例方式中,在计算激光器的翻滚角时,获取第一激光线在激光器处于固定位置时,旋转过程中,入射到标定板上的位置点形成的直线f1(x)。其中,当激光器处于一固定位置时,第一激光线在不断旋转的过程中,其入射到标定板上的所有位置点形成一条直线,其在标定板上的部分为一线段。
[0049]
其中,可参见图4,第一激光线入射到标定板上的位置点为p4点,第一激光线的距离信息为a4,第一激光线和机器人坐标系xoy平面夹角为α4;第二激光线入射到标定板上的位置点为p3点,第二激光线的距离信息为a3,第二激光线和机器人坐标系的xoy平面夹角为α3。
[0050]
通过如下公式计算得到标定板坐标系绕机器人坐标系z轴旋转的角度ω:
[0051][0052]
计算出标定板坐标系绕机器人z轴旋转的角度ω,需要先将标定板坐标系绕机器人z轴旋转ω使得标定板坐标系xoy平面平行于机器人xoz平面。此时标定板z轴平行于机器人坐标系y轴,标定板x轴平行于机器人坐标系x轴,标定板z轴平行于机器人坐标系y轴。此时再计算投影后的f1(x)与此时标定板x轴的夹角即可得到激光坐标系绕机器人坐标系y轴旋转的翻滚角γ。
[0053]
计算公式如下:
[0054][0055]
其中,l是直线f1(x)在标定板上形成的线段的长度,ω1为f1(x)与标定板坐标系x轴的夹角。
[0056]
这里需要说明的是,激光坐标系绕机器人坐标系y轴旋转的翻滚角不随激光坐标系绕机器人坐标系x轴旋转的俯仰角影响。
[0057]
在考虑一个坐标系绕另一个坐标系的一条坐标轴旋转的时候,例如激光坐标系绕机器人坐标系的x轴,可以在激光坐标系中找一条位于机器人坐标系yoz平面或者平行于机器人坐标系yoz平面的激光线,因为激光坐标系在绕机器人坐标系x轴旋转的过程中,垂直于旋转轴的激光线在旋转过程中始终垂直于旋转轴,并且垂直于旋转轴的激光线转过的角度就是激光坐标系绕机器人坐标系x轴旋转的角度。
[0058]
至此就得到了激光坐标系绕机器人坐标系三个轴旋转的角度,相比于使用非线性优化的方法,这种单次使用几何的方法只需要两帧激光数据就可以快速得到激光坐标系相对机器人坐标系的角度偏移。
[0059]
本发明实施例提供的一种激光器的偏移角度计算方法,在机器人进行简单的直线运动之后,只需前后两帧数据,就可以快速得到激光器相对于机器人编码器的角度外参,从而对纠正激光器传感器测量结果纠正起到了至关重要的作用。
[0060]
该方案解决了当前没有编码器和激光器联合标定技术的问题,为计算编码器和激光器角度外参提供了一种简便快速的方法,间接提高了激光器传感器在轮式机器人中的测量准确性。同时该方法需要的数据量较小,因此计算量较小,对机器人计算单元的要求较小,对激光器外参的标定的机器人运动路径要求较小。
[0061]
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0062]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0063]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0064]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0065]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0066]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0067]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献