本发明涉及一种车斗形容器三维扫描系统及其标定方法,尤其涉及一种基于二维激光雷达的车斗形容器三维扫描系统标定方法。
背景技术:
激光雷达具有测距速度快、精度高、获取的测量信息直观等优点,在军事、航空和民用等领域得到了越来越广泛的应用。目前,激光雷达主要分为二维激光雷达和三维激光雷达两种。二维激光雷达只能在单一扫描平面上得到距离和角度信息,以极坐标的形式进行保存,而且把得到的数据经过后期处理还原成的图像也只是被扫描物体在激光雷达扫描平面上的二维轮廓图。而三维激光雷达可以在二维扫描的同时还能转动扫面平面,这样便可以直接扫描得到空间点的三维数据信息,并能更直观的反映被扫描物体的外形特征,因此在一些导航、工程测量等重要的领域具有更大应用价值,但价格昂贵。
在实际工业生产中,车斗形容器非常常见,尤其在物料运输过程中的装车环节。目前,人们在装车环节中对车斗的外形尺寸的获取还主要依靠人工的直接测量,这样不仅测量误差较大,而且在一些环境恶劣的情况下,对工作人员的身体健康危害也极大。为解决这些问题,解放劳动力,我们可以直接选用三维激光雷达对车斗进行扫描,然后对扫描数据直接提取出车斗的外形轮廓的尺寸信息。但是三维激光雷达价格昂贵,在普通的民用企业的装车环节中使用并不现实。因此,发明一种廉价、简单的车斗形容器三维扫描系统对于民用工业应用具有非常强的现实意义。而对车斗形容器外形尺寸进行测量首先需要对标定件进行标定。
技术实现要素:
基于以上目的,本发明提出一种基于二维激光雷达的车斗形容器三维扫描系统标定方法。
所述方法包括如下步骤:
1、首先建立对车斗形容器外形尺寸的三维扫描系统,所述系统安装在被扫描车斗形容器的正上方,通过旋转二维激光雷达的扫面平面,完成对车斗形容器的扫描,实现三维扫描,所述系统所采用的硬件包括:二维激光雷达1,旋转工作台2,电机3,支架4,装有点云数据存储和处理程序的计算机5和标定件6,二维激光雷达1扫描平面位于激光雷达的前端,垂直于激光雷达侧面。二维激光雷达1安装到旋转工作台2的台面上,电机3安装在旋转工作台2的侧面,带动旋转工作台2的台面在水平面上完成旋转动作,进而带动安装在旋转工作台2台面上的二维激光雷达1转动,旋转工作台2的上端安装在支架4上,而支架4安装到距离地面有一定高度的某一固定位置,并保证旋转工作台2的台面与地面平行,装有点云数据存储和处理程序的计算机5放置在二维激光雷达1的扫描范围外,二维激光雷达1和电机3分别通过数据传输线与装有点云数据存储和处理程序的计算机5连接到一起,标定件6是内部为中空三棱柱的长方体,标定件6放在二维激光雷达1正下方的地面上。
2、将支架4安装到距离地面有一定高度的某一固定位置,使旋转工作台2的台面与地平面尽量保持平行。并将标定件6放置于选转工作台正下方的地平面上。控制二维激光雷达1,对该位置下的标定件6扫描一次,保存扫描数据。
3、对上步扫描的数据进行处理,用最小二乘法拟合出二维激光雷达1的扫描平面与标定件6所交各线段的直线方程。
4、利用上步求得的相应直线方程进行两两组合求解,求出交点坐标,即为二维激光雷达1的扫描平面与标定件6棱边的交点坐标,由此可得到任意两交点之间的距离,并根据所求得的距离与标定件6高度的三角函数关系计算出绕y坐标轴的旋转角β。
5、将二维激光雷达1旋转180度,对标定件6扫描第二次,对扫描数据进行同上的数据处理,根据两次扫描所求得的扫面平面与棱边交点之间的距离及其几何关系可以计算求得旋转圆半径R。
6、由于标定件6中空,两次扫描必然扫到了地平面,根据扫描数据的特点,利用最小二乘法拟合出二维激光雷达1的扫描平面与底面交线的直线方程,根据直线方程的斜率,计算出绕x轴的旋转角γ。
7、将二维激光雷达1逆向旋转180度,回到起始位置。
8、将计算得到的标定数据,带入到坐标系转换的平移和旋转矩阵中,由此完成该系统的标定。
附图说明
图1是根据本发明方法的三维扫描系统总体结构示意图;
图2是根据本发明方法的测量坐标系关系图;
图3是根据本发明方法的第一次扫描示意图;
图4是根据本发明方法的第二次扫描示意图;
图5是根据本发明方法的底面投影示意图;
图6是根据本发明方法的整体结构右侧投影示意图。
具体实施方式
结合附图1-6对本发明做具体描述。
建立如图1所示的三维扫描系统。
所述系统安装在被扫描车斗形容器的正上方,通过旋转二维激光雷达1的扫面平面,完成对车斗形容器的扫描,实现三维扫描,所述系统所采用的硬件包括:二维激光雷达1,旋转工作台2,电机3,支架4,装有点云数据存储和处理程序的计算机5和标定件6,二维激光雷达1扫描平面位于激光雷达的前端,垂直于激光雷达侧面。二维激光雷达1安装到旋转工作台2的台面上,电机3安装在旋转工作台2的侧面,带动旋转工作台2的台面在水平面上完成旋转动作,进而带动安装在旋转工作台2台面上的二维激光雷达1转动,旋转工作台2的上端安装在支架4上,而支架4安装到距离地面有一定高度的某一固定位置,并保证旋转工作台2的台面与地面平行,装有点云数据存储和处理程序的计算机5放置在二维激光雷达1的扫描范围外,二维激光雷达1和电机3分别通过数据传输线与装有点云数据存储和处理程序的计算机5连接到一起,标定件6是内部为中空三棱柱的长方体,标定件6放在二维激光雷达1正下方的地面上。
建立如图2所示的两个坐标系:(1)旋转工作台坐标系o-xyz;(2)激光雷达坐标系o1-x1y1z1。其中,旋转工作台坐标系的原点在旋转工作台2的旋转中心,z轴正方向垂直于地面向下,当面对二维激光雷达1初始位置的顶端站立时,y轴正方向平行于地平面向左,x轴方向由右手定则判断。由于在工作过程中,旋转工作台坐标系固定不动,因此可以将旋转工作台坐标系定义为世界坐标系;激光雷达坐标系的原点在扫描中心,因为二维激光雷达1扫描平面上有自身的二维坐标系,我们定义激光雷达坐标系的y1轴、z1轴的正方向与自身二维坐标系坐标轴的正方向相同,x1轴的方向根据右手定则判断。
将旋转工作台坐标系的原点o向激光雷达坐标系的o1x1y1平面投影于点o’,得到两坐标系原点在o1x1y1平面内的距离为o1o’,而o’o的距离h在安装过程中测量得到。则激光雷达的扫描平面应垂直于o1x1y1平面以o1o’为半径绕o’做圆周运动,我们定义o1o’为旋转圆半径R。因为安装误差的存在,平面o1x1y1相对于平面oxy必会产生绕三坐标轴的旋转角,但由于系统的特性及所建立的两坐标轴关系,平面o1x1y1相对于平面oxy绕z轴的旋转角为0。因此对该系统的标定主要就是对绕y坐标轴的旋转角β、绕x轴的旋转角γ和旋转圆半径R三个量的标定。
首先建立对车斗形容器外形尺寸的测量系统,所述系统安装在被扫描车斗形容器的正上方,通过旋转二维激光雷达1的扫面平面,完成对车斗形容器的扫描,实现三维扫描,所述系统所采用的硬件包括:二维激光雷达1,旋转工作台2,电机3,支架4,装有点云数据存储和处理程序的计算机5和标定件6,二维激光雷达1的扫描平面位于激光雷达的前端,垂直于激光雷达侧面。二维激光雷达1安装到旋转工作台2的台面上,电机3安装在旋转工作台2的侧面,带动旋转工作台2的台面在水平面上完成旋转动作,进而带动安装在旋转工作台2台面上的二维激光雷达1转动,旋转工作台2的上端安装在支架4上,而支架4安装到距离地面有一定高度的某一固定位置,并保证旋转工作台2的台面与地面平行,装有点云数据存储和处理程序的计算机5放置在二维激光雷达1的扫描范围外,二维激光雷达1和电机3分别通过数据传输线与装有点云数据存储和处理程序的计算机5连接到一起,标定件6是内部为中空三棱柱的长方体,标定件6放在二维激光雷达1正下方的地面上。
将支架4安装到距离地面有一定高度的某一固定位置,使旋转工作台2的台面与地平面尽量保持平行。并将标定件6放置于选转工作台正下方的地平面上。控制二维激光雷达1,对该位置下的标定件6扫描一次,保存扫描数据。
对上步扫描的数据进行处理,用最小二乘法拟合出二维激光雷达1的扫描平面与标定件6所交各线段的直线方程。
利用上步求得的相应直线方程进行两两组合求解,求出交点坐标,即为二维激光雷达1的扫描平面与标定件6棱边的交点坐标,由此可得到任意两交点之间的距离,并根据所求得的距离与标定件6高度的三角函数关系计算出绕y坐标轴的旋转角β。
将二维激光雷达1旋转180度,对标定件6扫描第二次,对扫描数据进行同上的数据处理,根据两次扫描所求得的扫面平面与棱边交点之间的距离及其几何关系可以计算求得旋转圆半径R。
由于标定件6中空,两次扫描必然扫到了地平面,根据扫描数据的特点,利用最小二乘法拟合出二维激光雷达1的扫描平面与底面交线的直线方程,根据直线方程的斜率,计算出绕x轴的旋转角γ。
将二维激光雷达1逆向旋转180度,回到起始位置。
将计算得到的标定数据,带入到坐标系转换的平移和旋转矩阵中,由此完成该系统的标定。
具体实施步骤如下:
1、初始位置对标定件完成第一次扫描
按照该系统硬件的设计及安装要求,将各结构组合到一起,并将支架4安装到距离地面有一定高度的某一固定位置,使旋转工作台2的台面与地平面尽量保持平行。并将标定件6放置于选转工作台及二维激光雷达1正下方的地平面上,使内部三棱柱的一个侧面与激光雷达初始扫描平面尽量平行。由装有点云数据存储和处理程序的计算机5发送扫描指令经数据传输线传递给二维激光雷达1,二维激光雷达1对标定件6完成第一次扫描,扫描得到的数据经数据传输线返回到计算机,保存下来。
2、拟合二维激光雷达扫描平面与标定件所交各线段的直线方程
由于二维激光雷达1的扫描面是一个平面,因此二维激光雷达1对标定件6第一次扫描所得到的数据就是标定件6与扫描平面相交形成的线段上各点的数据。标定件6放置在地平面上,所以标定件6的顶面和底面平行于地平面,各侧面垂直于地平面。因此,二维激光雷达1扫描的顶面和底面的数据呈现横坐标递增、纵坐标在某一小范围内变化(由于雷达测量误差的存在)的特点,而扫描侧面的数据呈现纵坐标递增、横坐标在某一小范围内变化的特点。由此可以将数据划分区域,每一区域的数据代表着扫描平面与标定件6相交的每条线段上的数据。对每一区域的数据利用最小二乘法对直线进行拟合,求出交线所在的直线方程。
3、求取二维激光雷达扫描平面与标定件棱边的交点坐标并求取其中一个旋转角β
二维激光雷达1的扫描平面是由一束束激光组成,他存在着角分辨率,因此二维激光雷达1的扫描平面与标定件6棱边的交点坐标并不能保证直接扫描得到。我们利用上步中求取的直线方程,将相邻交线所拟合的直线方程两两相交,求得的交点就是二维激光雷达1的扫描平面与标定件6棱边的交点坐标,即为图3中A1、B1、C1、D1四点。过A1、D1分别作标定件6底面的垂线,交于三棱柱底面A’1、D’1。连接A’1D’1,则A’1D’1= A1D1,且A’1D’1||B1C1。过三棱柱底面一顶点K作A’1D’1、B1C1的垂线分别交于M’1、N1两点,再过M’1作A1D1垂线,交于点M1。连接M1、N1两点,M1N1的大小即为A1点到直线B1C1的距离(由点到直线的距离公式求得),M1M’1大小即为标定件6的高度。则∠N1M1M′1即所求旋转角β,其大小为:
4、求旋转圆半径R
计算机发送旋转指令,驱动电机3带动旋转工作台2顺时针旋转180度,然后发送扫描指令,对标定件6进行第二次扫描,数据处理同上一步,其原理图如图4所示。由于B1C1、A’1D’1、D’2A’2、C2B2大小已经由最小二乘法求出,将四条直线投影到同一底面如图5所示,根据相似三角形原理可以求得N1N2的大小。两次扫描合并到一起,并从整体结构右侧投影(右视图),得到视图6。I是雷达在第二次扫描时的扫描中心,过I做标定件6上表面的平行线,交雷达在第一次扫描时的扫描平面于点J。由此可知N1N2=IJ。根据前面求得旋转角β,可以计算求得旋转圆半径R,即:
5、求取旋转角γ
由于标定件6中空,激光雷达第一次对标定件6扫描相交形成的线段B1C1,实际上就是二维激光雷达1的扫面平面与地平面的交线,设线段B1C1所拟合的直线方程的斜率为V,则激光雷达绕轴的方向上产生的角度γ为:
6、驱动电机带动激光雷达回到初始位置
由于以上求取标定参数的值,都是对激光雷达初始位置而言的,激光雷达对物体扫描时一定要从标定的初始位置开始。如果激光雷达扫描物体的初始位置改变,那么在新的初始位置还要对该三维扫描系统重新标定。由于标定时工作台顺时针旋转了180度,所以计算机发送指令给电机3,电机3带动旋转工作台2逆向旋转180度,带动激光雷达回到初始位置。
7、将得到的标定参数带入到坐标系转换矩阵
根据两坐标系平移和旋转的转换矩阵,将计算求得的三个标定参数带入到此矩阵方程中,得到该系统下激光雷达坐标系中坐标向旋转工作台坐标系中坐标转换的矩阵,完成对该系统的标定。该系统的转换矩阵为:
其中,(x1,y1,z1)是在激光雷达坐标系下的坐标,(x,y,z)是在旋转工作台坐标系的坐标。