厉庭华,杨庆华,屠晓伟,任 彬
(上海大学机电工程与自动化学院,上海 200444)
在仓储物流配送中,由于货物的数量与种类繁多,工人们花费大量时间在仓库中取货,并需要使用叉车协助搬运[1-2]。为提高工作效率并节约人力成本,自主移动机器人与无人叉车已被引入仓储空间,代替人工搬运货物[3]。
为建立系统、科学的仓储物流管理体系,需要对自主移动机器人与无人叉车进行实时、准确的室内定位。现有方法主要有全球定位系统(global positioning system,GPS)、航迹推算定位、声波网络定位与无线射频识别(radio frequency identification,RFID)等[4],分别使用了GPS技术、惯性导航技术、超声技术与无线传感器技术。但以上方法都存在一些不足,如GPS的布局范围小、惯性传感器随时间累积误差大、超声受环境影响大、无线射频成本高等[5-7]。
为了在节约人力资源的同时提高物流配送效率,无人叉车在仓储物流中起着关键性作用。实时掌握无人叉车在室内的位置信息,可有效提高控制精度与配送准确度。
本文主要提出了一种基于线性电荷耦合器件(charge coupled device,CCD)图像传感器的室内定位方法。将三轴向CCD传感器与飞行时间(time of flight,TOF)深度相机固定装配在无人叉车上,在室内正上方天花板均匀布局光点并随机点亮,通过检测光线在三轴向CCD组件上的投影偏移;经过物象空间坐标系转换,可解算出叉车在大地全局坐标系下的坐标值。这样就实现了对叉车的实时室内定位,提高了叉车在仓储物流环境下的工作效率。
1971年,Abdel-Aziz等提出了直接线性变换方法(direct linear transform,DLT),通过计算11个内外方位元素来对CCD成像组件进行校准[8]。1992年,Gazzani提出了只需解算7个系数的方法[8]。吴剑等在此基础上重建了多组一维成像单元的标志点三维坐标[9]。骆文博与王东红等分别在2002年和2006年对DLT方法中的成像进行了成像误差校正[10-12]。
本文设计的光学三维投影成像模型由两个互相垂直的一维线阵CCD组件与TOF相机固定链接,相互垂直构成XYZ三个轴向。CCD组件用于测量水平面轴向上的偏移量,TOF相机用于测量竖直方向上CCD组件平面距离天花板平面的距离。若要实现叉车的室内定位,则需将柱面透镜、线性CCD与TOF等成像组件装载在叉车上,并将天花板平面内点光源在成像组件上形成的交点成像位置视为叉车的坐标点。
CCD光学三维投影成像模型如图1所示。
图1 光学三维投影成像模型
TOF相机在大地坐标系X下的测距示意图如图2所示。
图2 TOF相机测距示意图
在与叉车固连的光学组件中,线性CCD传感器与柱面透镜共同组成了水平面,而TOF相机测距则为竖直方向。因此,由于室内环境的竖直高度固定,当叉车水平地面移动时,TOF深度相机可直接测得其在大地坐标系竖直X轴上的坐标值为:
(1)
本文主要以点光源A在线性CCD组件y轴方向上的光学成像为例。以柱形透镜的中心点为原点O′,垂直向上方向为X′轴,指向线性CCD方向为Z′轴,与X′Y′平面垂直的方向为Y′轴。同时,在线阵CCD上建立一维像坐标系①,以线阵CCD中点O1为原点,与Y′轴平行但方向相反的y轴。点光源A在经过光面镜投影后形成的平行直线与线阵CCD交于点y1,透镜光轴与线阵CCD交于点y0,距离约为焦距f。点y0与y1之间的距离Δy就是点光源A投影在线阵CCD的y轴方向上的偏移量。
记点光源A在大地坐标系下的坐标为(X,Y,Z),若要将三维大地坐标系转换到三维柱面镜坐标系,只需进行一次坐标系的旋转和平移。在旋转矩阵R′和平移矩阵T′的辅助下,可得到点光源A在三维柱面镜坐标系①下的坐标(X′,Y′,Z′):
(2)
由于像点坐标系是一维矩阵,所以无法通过坐标系之间的旋转与平移直接得到,而需要进行间接转换。设镜头没有畸变,f为镜片焦距,根据针孔成像原理可得到理想的成像模型,投影关系为:
(3)
(4)
(5)
(6)
在此基础上求解出各个L系数的值,并可得到y轴方向上的偏移量:
(7)
(8)
(9)
由此,已解算出从大地坐标系转换到三维柱面镜坐标系①时,旋转矩阵R′的9个旋转系数和平移矩阵T′的3个分量。若已知其中某一坐标系的坐标值,就可在两个坐标系之间进行转换。
由于TOF相机可直接测出叉车在大地坐标系X轴向上的坐标,不需要在该方向进行坐标变换和解算,因此在本节中只考虑大地水平面Y和Z轴方向上的变换。已知从大地坐标系到三维柱面镜坐标系①的转换关系,利用矩阵求逆,可以反推出从柱面镜坐标系①到大地坐标系的计算方程,具体表达式如下:
(10)
当空间内三坐标系之间的关系确定时,本文将一个光点在CCD上的成像位置视为叉车的坐标点。只要测出叉车上CCD组件的偏移量Δx和Δy,便可得到辅助坐标系o4x4y4z4上像点的坐标值(0,Δy,Δx)(按照x4、y4、z4轴顺序)。又由于柱面镜与CCD组件为固定链接,可直接推算出像点在三维柱面镜坐标系①下的坐标值(0,-Δy,f+Δx)(按照X′、Y′、Z′轴顺序)。再将该坐标值代入式(10),进行柱面镜坐标系与大地坐标系之间的变换,加上TOF测得的大地X轴坐标,所得即为叉车在大地坐标系下的准确位置。
在室内天花板上取7个随机点光源,利用三坐标激光跟踪仪测得它们的坐标值。其中,天花板高度为3 m,所以它们在x轴向上的坐标值为3 000 mm。同时,给定对应的7个像点的三轴向坐标值,设定柱面镜的定焦距为50 mm。在Matlab运行本文的算法进行仿真试验。
7个点光源(A点)在大地坐标系和其投影在三个一维像坐标系O2x、O1y、O3z下的坐标值如表1所示。
表1 点光源在不同坐标系下的坐标值
像点在不同坐标系下的位置分布如图3所示。
图3 像点在不同坐标系下的位置分布
图3(a)和图3(b)分别展示了7个预先点光源(黑色实点)和1个测试光点(白色空心点)在大地坐标系及其投影在CCD组件所在的三个一维像坐标系下的位置分布。
利用L′系数,可解算出光轴线与像坐标系x轴与y轴的交点位置y0=484.993 mm。同时,也可解算出坐标系转换中的旋转矩阵R′和平移矩阵T′,分别为:
(11)
(12)
最终可得出从三维柱面镜坐标系①转换回大地坐标系的变换关系为:
(13)
将像点在柱面镜坐标系下的坐标代入式(13),即可得出最终7组叉车在大地坐标系XYZ下的位置,以及其在三维柱面镜坐标系①O′X′Y′Z′下的坐标。叉车像点在不同坐标系下的坐标值如表2所示。
表2 叉车像点在不同坐标系下的坐标值
在建立与解算7组成像模型的基础上,空间内三个坐标系的关系已确定。随机取天花板平面内一测试光点B,它在大地坐标系下的坐标为(3000.000,2736.000,3239.000),在三轴向CCD组件上的投影坐标为(0,-3.273,52.826) (按照X′轴、Y′轴、Z′轴顺序)。代入式(22)后可解算出其在大地坐标系下的位置为(1000.000,2947.173,5707.520),即为此时叉车在大地坐标系下的位置。像点在大地坐标系下的位置分布如图4所示。
图4 像点在大地坐标系下的位置分布
图4中,8组像点在大地坐标系下的三维分布。其中,黑色实心球代表7组事先测定的点光源在叉车CCD组件上的投影点,空心球代表测试光点B的投影成像点。
综上所述,对本文所提出的方法进行仿真,验证了方法的可行性和准确性。当室内固定点光源发光,利用事先采集好的至少7组大地坐标值和像点坐标值,在光学成像基础上,快速、准确地计算出像点坐标系与大地坐标系之间的变换方程(包括旋转矩阵和平移矩阵的各个分量)。此时,只要随机点亮室内天花板上某一点光源,测得光点在三轴向CCD组件上的投影偏移,即可推算出叉车像点在大地坐标系下的准确位置。在仓储物流环境中,有效、实时地定位无人叉车在室内的精准位置,将有助于提高物流配送与控制效率,对物流产业有极大的促进作用。