具体实施方式
根据结合附图对本发明示例性实施例的以下详细描述,本发明的其它方面、优势和突出特征对于本领域技术人员将变得显而易见。
在本发明中,术语“包括”和“含有”及其派生词意为包括而非限制;术语“或”是包含性的,意为和/或。
在本说明书中,下述用于描述本发明原理的各种实施例只是说明,不应该以任何方式解释为限制发明的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本发明的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本发明的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同参考数字用于相似功能和操作。
如图1所示,以车辆所在地面(例如仓库地面)的平面为环境坐标系的XY平面,车辆的位置信息是环境坐标系中的X轴和Y轴坐标,车辆的姿态信息包括车头方向与X轴的夹角(航向角)的信息。本文中,将车辆的位置和姿态统称为位姿。
通过捷联惯性导航算法解算出车辆的航向角变化量的量测值Δθkg,
Δθkg=hk+vk hk=ωk·Δt
其中,ωk为车辆在状态k的瞬时角速度,vk为IMU的量测噪声,例如是高斯白噪声。k为车辆的状态编号,按时间先后从小到大依次取值。Δt是采样时间间隔,例如可以是两个状态之间的时间间隔。
根据本发明的实施例,在车辆左右相对的两个车轮(例如左前轮和右前轮、或左后轮和右后轮)上各安装有一个编码器,如图2所示。当车轮转动时,编码器会发出脉冲信号,通过计算脉冲信号的个数,可以得知相应车轮在测量时间内行走的距离,再除以测量时间,即可得出车辆的即时速度信息。根据本发明的实施例,所述编码器安装在车轮上,车轮每转动一定位移,编码器发出一个脉冲信号,通过计算脉冲个数即可知道车轮在采样时间内的总位移。
解车辆的运动学方程可以得到车辆的航向角变化量,解算公式为:
uk=UR(k)-UL(k)/W
其中,k为车辆的状态编号,按时间先后从小到大依次取值。UR(k)和UL(k)分别为状态k-1到状态k之间,右车轮和左车轮行进的距离,W为右车轮和左车轮的车轮间距。
将测得的左右相对的两个车轮各自的行进距离之差除以这两个车轮的间距,得到航向角变化量计算值Δθke,
Δθke=uk+wk
其中,wk为系统噪声,是高斯白噪声。k为车辆的状态编号,按时间先后从小到大依次取值。
于是,得到预测方程为:
其中P为预测均方误差阵,代表预测均方误差阵估计值,k-1表示状态k的前一状态。Q为系统噪声的方差矩阵。
初始状态的预测均方误差阵P0可以通过对具体环境分析给出,本文中初始状态通过下文描述的二维码阵列获取,通过估算或实测等方式可以得到P0,状态k下的预测均方误差阵Pk则可以通过迭代方法解算。
更新方程为:
其中,R为量测噪声的方差矩阵。
这样,将编码器和惯导解算出的航向角变化量进行融合,可以得到状态k的航向角变化量的最优解Δθk,根据这个最优解可以得到与预定轨迹的偏差,相应地调整车辆运动,可以使车辆回归到正确的轨迹上。根据本发明的实施例,将初始航向角与后续各个状态的航向角变化量最优解累加,可以得到当前状态的航向角。车辆的位置和航向角已知,则可以使用现有导航技术将调整车辆行驶状态,使其回到预设路线。
根据本发明的实施例,可以在地面铺设二维码方阵,如图3所示。通过设置在车辆中心的摄像头获取二维码,经过分析可以得到该二维码的路标点ID,进而得到车辆的X、Y坐标。通过分析二维码图像还可以得到车辆经过该二维码时的航向角信息。
根据本发明的实施例,已知每个二维码在环境坐标系中的位置坐标和该二维码的尺寸信息。由于车辆的航向角和车辆在X、Y轴上相对于二维码的偏移量会使得拍摄到的图像有所不同,所以通过对拍摄到的图像进行数据处理,可以得到拍摄时刻车辆在X、Y轴上的偏移量以及航向角。将车辆在X、Y轴上相对于二维码的的偏移量与二维码的X、Y坐标分别求和,可以得到车辆的X、Y坐标。
将车辆的X、Y坐标和航向角作为进一步导航的初始值,从而实现误差消除。
根据本发明的实施例,二维码间距在1.5-2米之间,车速最高1.2m/s,因此在不超过2s的时间内车辆的位姿信息会进行一次校正,用以补偿惯性导航和编码器的累积误差,达到精定位的要求。
根据本发明的实施例,从扫描二维码到得到车辆的位置和航向角数据的延时为精准的20ms,因此可以对这段时间的车辆位姿信息进行追溯,方法有以下两种。
第一种方法是从扫描二维码的时刻开始,每隔预定时间(例如10ms)对车辆的位置和航向角变化量进行保存,当得到根据二维码确定的位置和航向角数据时,将此前20ms内车辆的位置和航向角变化量提取出来,对根据二维码确定的位置和航向角数据进行补偿,即可得到当前车辆的位置和航向角。
第二种方法是通过对扫描二维码时刻车辆加速度和角速度进行提取,认为车在20ms内加速度角速度信息不变,即可算出这段时间内车的位移和航向角变化量,再将其与根据二维码确定的位置和航向角数据求和,即可得到当前车辆的位置和航向角。
根据车辆的当前位置和航向角,可以即时调整车辆的运动,引导车辆运行在正确的轨道上。
图4示意性示出了根据本发明实施例的车辆导航系统400的结构框图。
如图4所示,车辆导航系统400包括惯性测量单元(IMU)401、惯导计算单元402、分别安装在车辆的左右两侧相对车轮上的两个编码器403、运动学计算单元404、融合单元405、导航解算单元406、以及运动控制器407。
根据本发明的实施例,可以在车体的几何中心点安装IMU 401,用于采集车辆运动的角速度和加速度信息。根据本发明的实施例,IMU 401包括可以测量车辆的角速度的三轴陀螺仪和可以测量车辆的加速度信息的三轴加速计。惯导计算单元402基于车辆的加速度和角速度信息,以环境坐标系为导航坐标系,可以通过捷联惯性导航算法解算出车辆的位置以及航向角信息。
通过捷联惯性导航算法解算出车辆的航向角变化量的量测值Δθkg,
Δθkg=hk+vk hk=ωk·Δt
其中,ωk为车辆的瞬时角速度,vk为IMU 401的量测噪声,例如是高斯白噪声。k为车辆的状态编号,按时间先后从小到大依次取值。Δt是采样时间间隔,例如可以是两个状态之间的时间间隔。
根据本发明的实施例,在车辆左右相对的两个车轮(例如左前轮和右前轮)上各安装有一个编码器403,如图2所示。当车轮转动时,编码器会发出脉冲信号,运动学计算单元404接收到这个信号后,通过计算脉冲信号的个数,可以得知相应车轮在测量时间内行走的距离,再除以测量时间,即可得出车辆的即时速度信息。根据本发明的实施例,所述编码器安装在车轮上,车轮每转动一定位移,编码器发出一个脉冲,通过计算脉冲个数即可知道车轮在采样时间内的总位移。
解车辆的运动学方程可以得到车辆的航向角变化量,解算公式为:
uk=UR(k)-UL(k)/W
其中,k为车辆的状态编号,按时间先后从小到大依次取值。UR(k)和UL(k)分别为状态k-1到状态k之间,右车轮和左车轮行进的距离,W为右车轮和左车轮的车轮间距。
根据测得的左右相对的两个车轮各自的行进距离得到航向角变化量计算值Δθke,
Δθke=uk+wk
其中,wk为系统噪声,是高斯白噪声。k为车辆的状态编号,按时间先后从小到大依次取值。
融合单元405基于惯导计算单元402得到的航向角变化量量测值和运动学计算单元404得到的航向角变化量计算值,得到航向角变化量最优值。
预测方程为:
其中P为预测均方误差阵,代表预测均方误差阵估计值,k-1表示状态k的前一状态。Q为系统噪声的方差矩阵。
初始状态的预测均方误差阵P0可以通过对具体环境分析给出,本文中初始状态通过下文描述的二维码阵列获取,通过估算或实测等方式可以得到P0,状态k下的预测均方误差阵Pk则可以通过迭代方法解算。
更新方程为:
其中,R为量测噪声的方差矩阵。
这样,将编码器和惯导解算出的航向角变化量进行融合,可以得到状态k的航向角变化量的最优解Δθk,根据这个最优解可以得到与预定轨迹的偏差,相应地调整车辆运动,可以使车辆回归到正确的轨迹上。
根据本发明的实施例,导航解算单元406根据车辆航向角变化量的最优解Δθk,得到当前车体位姿信息。运动控制器407根据该位姿信息调整车辆运动,使车辆回到正确的轨迹上。
根据本发明的实施例,可以在地面铺设二维码方阵,如图3所示。通过设置在车辆上的二维码采集器408获取二维码,经过精确位姿计算单元409处理,可以得到该二维码的路标点ID,进而得到车辆的X、Y坐标。通过分析二维码图像还可以得到车辆经过二维码时的航向角信息。根据本发明的实施例,二维码采集器408例如可以设置在车辆底部中心的摄像头。
根据本发明的实施例,已知每个二维码在环境坐标系中的位置坐标和该二维码的尺寸信息。由于车辆的航向角和车辆在X、Y轴上相对于二维码的偏移量会使得拍摄到的图像有所不同,所以通过对拍摄到的图像进行数据处理,可以得到拍摄时刻车辆在X、Y轴上的偏移量以及航向角。将车辆在X、Y轴上相对于二维码的的偏移量与二维码的X、Y坐标分别求和,可以得到车辆的X、Y坐标。
将车辆的X、Y坐标和航向角发送给当前位置确定单元406,导航解算单元将该信息作为进一步导航的初始值,从而实现误差消除。
根据本发明的实施例,二维码间距在1.5-2米之间,车速最高1.2m/s,因此在不超过2s的时间内车辆的位姿信息会进行一次校正,用以补偿惯性导航和编码器的累积误差,达到精定位的要求。
根据本发明的实施例,从扫描二维码到得到车辆的位置和航向角数据的延时为精准的20ms,精确位姿计算单元409可以对这段时间的车辆位姿信息进行追溯,方法有以下两种。
第一种方法是从扫描二维码的时刻开始,精确位姿计算单元409每隔预定时间(例如10ms)对车辆的位置和航向角变化量进行保存,当得到根据二维码确定的位置和航向角数据时,将此前20ms内车辆的位置和航向角变化量变化量提取出来,对根据二维码确定的位置和航向角数据进行补偿,即可得到当前车辆的位置和航向角。
第二种方法是通过对扫描二维码时刻车辆加速度和角速度进行提取,认为车在20ms内加速度角速度信息不变,精确位姿计算单元409即可算出这段时间内车的位移和航向角变化量,再将其与根据二维码确定的位置和航向角数据求和,即可得到当前车辆的位置和航向角。
根据本发明的实施例,精确位姿计算单元409根据二维码确定车辆精确位姿。运动控制器407根据该位姿信息调整车辆运动,使车辆回到正确的轨迹上。运动控制器407根据该精确位姿调整车辆运动,使车辆回到正确的轨迹上。
根据本发明的实施例,运动控制器407例如是车载运动控制器。车辆轮系采用差速固定舵方式,驱动电机为伺服电机,运动控制器407通过控制两个电机的转速从而实现对车的速度控制和姿态控制。
根据本发明的实施例,可以在车的行进过程中实时给出精确的位置和航向信息,运动控制器通过这个信息可以即时调整轮系运动,从而导引车运行在正确的轨道上。本发明无需在库房实施复杂的磁条铺设等施工,结构简单、成本低、可移植性强,适用各种室内环境。
根据本发明各实施例的上述方法和各个单元(例如,惯导计算单元、运动学计算单元、融合单元、导航解算单元、精确位姿计算单元等)可以通过有计算能力的电子设备执行包含计算机指令的软件来实现。该系统可以包括存储设备,以实现上文所描述的各种存储。所述有计算能力的电子设备可以包含通用处理器、数字信号处理器、专用处理器、可重新配置处理器等能够执行计算机指令的装置,但不限于此。执行这样的指令使得电子设备被配置为执行根据本发明的上述各项操作。上述各设备和/或模块可以在一个电子设备中实现,也可以在不同电子设备中实现。这些软件可以存储在计算机可读存储介质中。计算机可读存储介质存储一个或多个程序(软件模块),所述一个或多个程序包括指令,当电子设备中的一个或多个处理器执行所述指令时,所述指令使得电子设备执行本发明的方法。
这些软件可以存储为易失性存储器或非易失性存储装置的形式(比如类似ROM等存储设备),不论是可擦除的还是可重写的,或者存储为存储器的形式(例如RAM、存储器芯片、设备或集成电路),或者被存储在光可读介质或磁可读介质上(比如,CD、DVD、磁盘或磁带等等)。应该意识到,存储设备和存储介质是适于存储一个或多个程序的机器可读存储装置的实施例,所述一个程序或多个程序包括指令,当所述指令被执行时,实现本发明的实施例。实施例提供程序和存储这种程序的机器可读存储装置,所述程序包括用于实现本发明的任何一项权利要求所述的装置或方法的代码。此外,可以经由任何介质(比如,经由有线连接或无线连接携带的通信信号)来电传递这些程序,多个实施例适当地包括这些程序。
根据本发明各实施例的方法、装置、单元和/或模块还可以使用例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC)或可以以用于对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。该系统可以包括存储设备,以实现上文所描述的存储。在以这些方式实现时,所使用的软件、硬件和/或固件被编程或设计为执行根据本发明的相应上述方法、步骤和/或功能。本领域技术人员可以根据实际需要来适当地将这些系统和模块中的一个或多个,或其中的一部分或多个部分使用不同的上述实现方式来实现。这些实现方式均落入本发明的保护范围。
尽管已经参照本发明的特定示例性实施例示出并描述了本发明,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的多种改变。因此,本发明的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。