CN108520571B - 利用加速度计判断车辆行驶状态的算法和装置 - Google Patents

利用加速度计判断车辆行驶状态的算法和装置 Download PDF

Info

Publication number
CN108520571B
CN108520571B CN201810323235.2A CN201810323235A CN108520571B CN 108520571 B CN108520571 B CN 108520571B CN 201810323235 A CN201810323235 A CN 201810323235A CN 108520571 B CN108520571 B CN 108520571B
Authority
CN
China
Prior art keywords
quaternion
acceleration vector
vehicle
acceleration
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810323235.2A
Other languages
English (en)
Other versions
CN108520571A (zh
Inventor
陈重奋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201810323235.2A priority Critical patent/CN108520571B/zh
Publication of CN108520571A publication Critical patent/CN108520571A/zh
Application granted granted Critical
Publication of CN108520571B publication Critical patent/CN108520571B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data

Abstract

本发明公开了一种利用加速度计判断车辆行驶状态的算法和装置,所述算法包括:持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;对旋转后的加速度向量进行偏航校正;将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。由于在使用中持续使用渐次迫近技术,本算法能够很好地适应各种应用场景:水平、坡道或颠簸等多种路面状况,三轴加速度计与待识别车辆的相对摆放角度发生变化,以及三轴加速度计存在测量误差等场景;并且,无需初始化过程,即开即用。

Description

利用加速度计判断车辆行驶状态的算法和装置
技术领域
本发明涉及车辆驾驶状态识别领域,尤其涉及一种利用加速度计判断车辆行驶状态的算法和装置。
背景技术
驾驶行为指的是驾驶员在驾驶车辆过程中根据车辆行驶状况,周围道路环境对车辆做出的不同控制行为。驾驶行为直接影响着道路交通安全,统计数据表明,我国每年发生的交通事故中,相当比例是由于驾驶员不当驾驶行驶行为导致。正确识别驾驶员的驾驶行为,并给予激励,由此降低事故率,具有巨大的社会意义。将手机固定放在车内某个平稳的地方,读取手机的三轴加速度输出结果,解算出汽车的各个方向加速度,再识别出是否有猛刹车、急加速、急转弯、急变道等驾驶行为,或者路面颠簸,造成车辆行驶姿态异常。汽车的加速度可以用A{x,y,z}来表示,这里,x代表汽车身方向侧向的加速度,表示汽车过弯所受的惯性;y代表沿汽车前进方向的加速度,代表加速或刹车减速,而z代表往车顶方向(垂直于汽车四轮组成的平面)的加速度,它携带了大量路面颠簸起伏的信号或信息。
当今移动终端大部分内置有三轴加速度计,可以输出三个方向轴的加速度的数值,我们可以用向量V=[x y z]来表示。如图1所示,图1是移动终端三轴加速度计坐标系图,当前两大流行手机操作系统Android和iOS,都把垂直于手机屏幕的平面的直线定义为z轴,而手机长度方向定义为y轴方向,宽度方向定义为x轴。
由于所述移动终端在汽车内可能以任意角度摆放,因人为或非人为因素发生倾斜,导致所述移动终端难以与待识别车辆前进方向保持一致,手机内置三轴加速度计的坐标系和汽车的坐标系定义是不一致的,如图2所示,图2为本发明移动终端的摆放示意图,以移动终端为手机为例,假设把手机屏幕朝上,手机长度方向朝向汽车的正前方,手机长度方向与汽车4轮平面成θ夹角,这里称之为手机摆放倾斜角θ,因而三轴加速度计采集的加速度向量仅是移动终端的加速度向量,而并不是汽车本身的加速度向量。
目前的处理方法,一般是要求检测功能启用前,把汽车停泊在水平的道路上一段时间,摆放好手机进行初始化,解算出手机倾斜角θ和重力加速度g的平均值,经过初始化阶段消除倾斜误差,然而移动终端随时可能发生移动,倾斜角都会发生变化,造成最终计算错误。
发明内容
本发明的主要目的在于提供一种利用加速度计判断车辆行驶状态的算法和装置,旨在解决现有技术中初始化过程无法较准确地消除倾斜误差的技术问题。
为实现上述目的,本发明提供一种利用加速度计判断车辆行驶状态的算法,所述方法包括以下步骤:
持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;
持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;
对旋转后的加速度向量进行偏航校正;
将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。
优选地,所述持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,具体包括:
随机预设第一四元数;
根据所述第一四元数和所述第一加速度向量计算第二四元数;
对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数;
根据所述第一四元数或者所述第三四元数对所述第一加速度向量进行旋转,获得当前加速度向量,将所述当前加速度向量作为旋转后的加速度向量;
将所述第三四元数替换所述第一四元数,将所述当前加速度向量替换所述第一加速度向量,并返回所述根据所述第一四元数和所述第一加速度向量计算第二四元数的步骤。
优选地,所述根据所述第一四元数和所述第一加速度向量计算第二四元数,具体包括:
根据所述第一四元数对所述第一加速度向量进行旋转,获得第二加速度向量;
对所述第二加速度向量的三轴坐标值进行修正,获得第三加速度向量;
计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数。
优选地,所述对所述第二加速度向量的三轴坐标值进行修正,获得第三加速度向量,具体包括:
将重力加速度替换所述第二加速度向量的Z轴坐标值;
对所述第二加速度向量的X轴坐标值与Y轴坐标值进行弱化,获得第三加速度向量。
优选地,所述计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数,具体包括:
计算所述第一加速度向量与所述第三加速度向量的第一夹角;
根据所述第一加速度向量与所述第三加速度向量进行叉积计算,获得向量积,对所述向量积进行归一化处理;
根据处理后的向量积与所述第一夹角进行计算,获得第二四元数。
优选地,所述对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数,具体包括:
对所述第一四元数与所述第二四元数进行归一化处理;
计算所述第一四元数与所述第二四元数的点积,根据所述点积计算所述第一四元数与所述第二四元数的第二夹角;
根据预设公式与所述第二夹角对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数,所述预设公式为:
Figure BDA0001624082950000031
其中,q1为第一四元数,q2为第二四元数,qt为第三四元数,θ为第二夹角,t为插值系数。
优选地,所述三轴加速度计安装于移动终端内,所述移动终端以任意角度摆放于所述待识别车辆内。
优选地,所述待识别车辆所驶的当前路况为水平路面、坡道路面或颠簸路面中的任一项。
此外,为实现上述目的,本发明还提供一种利用加速度计判断车辆行驶状态的装置,基于所述利用加速度计判断车辆行驶状态的算法,所述装置包括:
获取模块,用于持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;
第一校正模块,用于持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;
第二校正模块,用于对旋转后的加速度向量进行偏航校正;
识别模块,用于将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。
优选地,所述第一校正模块包括:
若干子模块,各子模块级联,前一子模块输出的加速度向量作为后一子模块输入的加速度向量。
在本发明中,通过持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;对旋转后的加速度向量进行偏航校正;将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。由于在使用中持续使用渐次迫近技术,本算法能够很好地适应各种应用场景:水平、坡道或颠簸等多种路面状况,三轴加速度计与待识别车辆的相对摆放角度发生变化,以及三轴加速度计存在测量误差等场景;并且,无需初始化过程,即开即用。
附图说明
图1为移动终端三轴加速度计坐标系图;
图2为本发明移动终端的摆放示意图;
图3为本发明利用加速度计判断车辆行驶状态的算法第一实施例的流程示意图;
图4为本发明利用加速度计判断车辆行驶状态的算法第二实施例的流程示意图;
图5为本发明利用加速度计判断车辆行驶状态的装置一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图3,图3为本发明利用加速度计判断车辆行驶状态的算法第一实施例的流程示意图。
在第一实施例中,所述利用加速度计判断车辆行驶状态的算法包括以下步骤:
步骤S10:持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量。
可以理解的是,所述三轴加速度计安装于移动终端内,所述移动终端以任意角度摆放于所述待识别车辆内。
需要说明的是,本实施例的执行主体为移动终端的处理器,所述移动终端为内置加速度计的智能手机、平板电脑等可移动设备,本实施例对此不加以限制。所述三轴加速度计安装于移动终端内,为测量该移动终端三轴加速度的仪表,该三轴加速度计实时检测待识别车辆的第一加速度向量,通过本实施例利用加速度计判断车辆行驶状态的算法对所述三轴加速度计采集的第一加速度向量进行校正,使所述第一加速度向量渐次迫近期望向量,以实现通过加速度向量判断车辆行驶状态,其中,所述期望向量的Z轴方向与重力方向重合。
在具体实现中,三轴加速度计连续不间断地采集第一加速度向量,并进行输出。
步骤S20:持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态。
可以理解的是,所述期望四元数指的是能将所述第一加速度向量旋转至期望向量以消除倾斜误差的四元数。为了校正移动终端倾斜引起的误差,将通过四元数对所述第一加速度向量进行旋转,以校正第一加速度向量相对于待识别车辆前进方向在竖直方向上的倾斜角。
在具体实现中,对第一加速度向量进行旋转,输出第三加速度向量,它的模与第一加速度向量一样。
计算重力加速度g值,或者获取预设值(约为9.8m/s2,或1.0g),根据该重力加速度或者预设值对第一加速度向量进行校正,获得第三加速度向量,在任意时刻,期望所述第三加速度向量的Z轴方向与重力方向重合,对第三加速度向量的X、Y轴的指向不作要求。
步骤S30:对旋转后的加速度向量进行偏航校正。
需要说明的是,通过对第一加速度向量进行旋转,校正了竖直方向上第一加速度向量的倾斜角,在水平方向,旋转后的加速度向量与待识别车辆前进方向仍具有偏航角,为了消除该偏航角,将对旋转后的加速度向量进行偏航校正。
在具体实现中,利用汽车由静止到运动转换的那一段时间,汽车总的加速度方向是沿车身向前,或汽车由运动到静止转换的那一段时间,汽车的加速度方向是沿车身向后的特性,可以计算出第一加速度向量的偏航角,即第一加速度向量的Y轴方向与汽车前进方向的夹角;最后对第一加速度向量进行旋转,得到水平加速度向量,一般来说,水平加速度向量的Y轴方向为汽车前进方向。
判断车辆是否处于静止状态的原理是,汽车行驶过程,它不可能完全匀速前进,车身也不可能完全不发生倾斜,因为是第一加速度向量的X/Y轴,Z轴与重力加速度的差值不可能完全等于0,如果它们的绝对值小于预设阈值,则认为汽车静止,反之为运动。
倾斜角变化量也可以被用来判断汽车是否静止,在本实施例中,建议时间长短为1秒;预设阈值为0.1度,即1秒内,如果姿态角小0.1度认为汽车处于静止状态,反之为行驶状态。
步骤S40:将校正后的加速度向量与预设加速度向量进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。
可以理解的是,初始加速度向量消除了倾斜角与偏航角的误差,获得校正后的加速度向量,当前校正后的加速度向量方向与待识别车辆前进方向一致,校正后的加速度向量可代表待识别车辆的加速度向量。将水平加速度向量作为校正后的加速度向量,并进行输出,经简单的预设阈值比较,就可以判断出待识别车辆的行驶状态。本实施例中,X轴加速度绝对值≥0.2g时为弯道或急变道;Y轴加速度≥0.2g时为急加速,-0.3g≤Y轴加速度≤-0.2g时为点刹,Y轴加速度≤-0.3g时为急刹,其中,g为重力加速度。
在本实施例中,通过持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;对旋转后的加速度向量进行偏航校正;将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。由于在使用中持续使用渐次迫近技术,本算法能够很好地适应各种应用场景:水平、坡道或颠簸等多种路面状况,三轴加速度计与待识别车辆的相对摆放角度发生变化,以及三轴加速度计存在测量误差等场景;并且,无需初始化过程,即开即用。
参照图4,图4为本发明利用加速度计判断车辆行驶状态的算法第二实施例的流程示意图,基于上述图3所示的实施例,提出本发明利用加速度计判断车辆行驶状态的算法的第二实施例。
在第二实施例中,所述步骤S20,具体包括:
步骤S201:随机预设第一四元数。
步骤S202:根据所述第一四元数和所述第一加速度向量计算第二四元数;
步骤S203:对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数。
步骤S204:根据所述第一四元数或者所述第三四元数对所述第一加速度向量进行旋转,获得当前加速度向量,将所述当前加速度向量作为旋转后的加速度向量。
步骤S205:将所述第三四元数替换所述第一四元数,将所述当前加速度向量替换所述第一加速度向量,并返回所述根据所述第一四元数和所述第一加速度向量计算第二四元数的步骤。
进一步地,所述步骤S202,具体包括:
根据所述第一四元数对所述第一加速度向量进行旋转,获得第二加速度向量。
对所述第二加速度向量的三轴坐标值进行修正,获得第三加速度向量。
计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数。
进一步地,所述对所述第二加速度向量的三轴坐标值进行修正,获得第三加速度向量,具体包括:
将重力加速度替换所述第二加速度向量的Z轴坐标值。
对所述第二加速度向量的X轴坐标值与Y轴坐标值进行弱化,获得第三加速度向量。
进一步地,所述计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数,具体包括:
计算所述第一加速度向量与所述第三加速度向量的第一夹角。
根据所述第一加速度向量与所述第三加速度向量进行叉积计算,获得向量积,对所述向量积进行归一化处理。
根据处理后的向量积与所述第一夹角进行计算,获得第二四元数。
进一步地,所述步骤S203,具体包括:
对所述第一四元数与所述第二四元数进行归一化处理。
计算所述第一四元数与所述第二四元数的点积,根据所述点积计算所述第一四元数与所述第二四元数的第二夹角。
根据预设公式与所述第二夹角对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数,所述预设公式为:
Figure BDA0001624082950000081
其中,q1为第一四元数,q2为第二四元数,qt为第三四元数,θ为第二夹角,t为插值系数。
在具体实现中,确定线性插值系数t:0≤t≤1。
随机预设第一四元数Q=[1 0 0 0]或其它值。
用第一四元数,旋转输入第一加速度向量,得到第二加速度向量。
以第二加速度向量和重力加速度为基础,构造目标坐标系的第三加速度向量,第三加速度向量更接近第一加速度向量的期望向量,有多种构造方法。
当第二当前向量为V2[V2x,V2y,V2z]时,通过公式:V1x=V2x-Xavg*t2,V1y=V2y-Yavg*t2计算第一当前向量的X轴与Y轴坐标值;其中,Xavg是x轴加速度分量的平均值,Yavg是y轴加速度分量的平均值,t2是削弱系数,0<t2<1,在实施例中t2取值0.01,一般不超过0.1。
将平均重力加速度g替换V2的Z轴分量,即获得所述第一当前向量V1[V1x,V1y,g]。
可选构造方法1:用预设重力加速度g代替第二加速度的Z轴分量,即V3=[V2x,V2y,g]。
可选构造方法2:削弱第二加速度向量的x,y轴分量:
当第二加速度向量表示为V2[V2x,V2y,V2z],第三加速度向量表示为V3[V3x,V3y,V3z]时,根据下式计算第三加速度向量的X,Y轴分量,并根据重力加速度g替换第二加速度向量的Z轴分量,即V3=[V3x,V3y,g]。
V3x=V2x-Xavg*t2
V3y=V2y-Yavg*t2
其中,Xavg是之前N点输出结果的x轴加速度分量的平均值,Yavg是之前N点输出结果的y轴加速度分量的平均值,t2是削弱系数,0≤t2<1,在实施例中取值取值0.01,建议不要超过0.1。t2=0时,即不削弱。不削弱会引入系统误差,不建议使用。
可选构造方法3:削弱第二加速度向量的x,y轴分量:
当第二加速度向量表示为V2[V2x,V2y,V2z],第三加速度向量表示为V3[V3x,V3y,V3z]时,根据下式计算第三加速度向量的X,Y轴分量,并根据重力加速度g替换第二加速度向量的Z轴分量,即V3=[V3x,V3y,g]。
V3x=V2x*(1-t2),
V3y=V2y*(1-t2),
其中,Xavg是之前N点输出结果的x轴加速度分量的平均值,Yavg是之前N点输出结果的y轴加速度分量的平均值,t2是削弱系数,0≤t2<1,在实施例中取值取值0.01,建议不要超过0.1。t2=0时,即不削弱。
上述三种可选构造方法的作用是并列的,可以选择其中一种,此外还可能有它的变体,调整一些细节实现,在某些特定场合,获得更好性能和准确度。
对所述第一四元数与所述第二四元数进行归一化处理。
计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数。
将插值系数设为t,对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数。
将所述第三四元数替换所述第一四元数。
根据新的第一四元数旋转第一加速度向量,得到当前加速度向量,并将当前加速度向量作为旋转后的加速度向量,进行返回。
将所述当前加速度向量替换所述第一加速度向量,并返回所述根据所述第一四元数和所述第一加速度向量计算第二四元数的步骤,不断重复迭代步骤重复即使用多个t,可渐次逼近期望向量。
在本实施例中,以上步骤采用了递归算法,对启动时刻汽车的行驶状态、汽车是否在坡道上行驶、手机的摆放位置和角度、手机的坐标系定义方法、手机三轴加速度的精度、三轴加速度的输出单位都不敏感,描述系统姿态的四元数可以在递归调用中,渐次迫近正确结果。
本算法正确运行的前置条件是构造的第三加速度向量,与第二加速度向量相比,更接近期望向量(z轴与重力加速度方向重合);然后用球面线性插值算法,不断迭代,让姿态四元数渐次逼近期望值。
在算法使用过程,手机的摆放位置和角度发生变化,系统也能渐次迫近新的姿态,不会造成累积误差。
上述三种可选构造方法中,本实施例建议采用可选构造方法2,它可以更好地消除移动终端三轴加速度的设备误差,渐次迫近速度更快。可选构造方法1与3是可选构造方法2的替代实现方法,如果没有特别声明,都缺省采用可选构造方法2。
返回最终输出结果即旋转后的加速度向量具有如下性质,它的坐标系与地球重力加速度的坐标系定义相重合,即z轴输出g值的测试值,而x、y轴代表水平面的加速度。
本实施例仅校正z轴方向,没有校正x、y轴的方向,x、y轴的指向和第一四元数的取值有关,如果第一四元数取值[1 0 0 0],那么它的x,y轴坐标定义与移动终端的x,y轴坐标定义相一致。
进一步地,所述待识别车辆所驶的当前路况为水平路面、坡道路面或颠簸路面中的任一项。
可以理解的是,由于在使用中持续使用渐次迫近技术,所述待识别车辆所驶的当前路况为水平路面、坡道路面或颠簸路面中的任一项,均可逐步迫近正确结果。
系统误差分析:
正常的汽车行驶,它在地球重力加速度方向,即垂直于水平面,不可能有持续的加速度。
汽车车身的振动、汽车的颠簸,在地球重力加速度方向,产生的加速度是高频的,有正有负,利用算法很快可以抵消。
只有当汽车在坡道上持续做加速或减速行驶时,它沿坡道斜面的加速度,投影到地球重力加速度方向的有一个分量,才会造成算法的系统性误差,这个误差是本算法不能消除的。
但我们知道,汽车不可能在坡道上持续做加速或减速行驶,并且现在大部分道路坡道并不陡,所以这个例外不影响本算法的广泛使用。
在本实施例中,将一次旋转输出的待定向量作为下一次旋转的初始加速度向量,将一次旋转输出的目标四元数作为下一次旋转的预设四元数,通过多次旋转,使得每次旋转输出的向量渐次迫近期望向量。
在本实施例中所使用到的计算机函数伪码包括:
1、四元数的点积函数
Figure BDA0001624082950000111
2、四元数的归一化函数
Figure BDA0001624082950000112
Figure BDA0001624082950000121
3、两个向量的点积
Figure BDA0001624082950000122
4、向量的归一化
Figure BDA0001624082950000123
5、向量的向量积
Figure BDA0001624082950000124
6、计算向量V1旋转至V2的四元数
Figure BDA0001624082950000125
Figure BDA0001624082950000131
7、共轭四元数
Figure BDA0001624082950000132
8、两四元数q和p相乘
qmul(q,p)
{
rq.w=q.w*p.w-q.x*p.x-q.y*p.y-q.z*p.z;
rq.x=q.w*p.x+q.x*p.w+q.y*p.z-q.z*p.y;
rq.y=q.w*p.y+q.y*p.w+q.z*p.x-q.x*p.z;
rq.z=q.w*p.z+q.z*p.w+q.x*p.y-q.y*p.x;
return rq;
}
9、假设已知四元数q,旋转向量V1
Figure BDA0001624082950000141
10、球面线性插值(Spherical linear interpolation,Slerp)
Figure BDA0001624082950000142
Figure BDA0001624082950000151
11、步骤S20对应的计算机函数伪码为:
Figure BDA0001624082950000152
Figure BDA0001624082950000161
在本实施例中,通过持续实时计算渐次迫近期望四元数的四元数,对所述第一加速度向量进行更新,根据所述四元数对每个第一加速度向量进行旋转,输出旋转后的加速度向量。由于四元数渐次迫近期望四元数,使得初始加速度向量渐次迫近期望向量,通过旋转后的加速度向量可消除移动终端相对于待识别车辆前进方向的倾斜角,提高了后续识别效率。
进一步地,基于上述图4所示的实施例,提出本发明利用加速度计判断车辆行驶状态的算法的第三实施例。
在本实施例中,可以提取其它特征数据,例如一段时间内,z方向的输出变化值,四元数的倾角变化值等,识别汽车是否在通过颠簸的异常路面。
在本实施例中,在对第一加速度向量进行旋转之后,输出主输出数据与辅助输出数据。在主输出数据中,加速度向量的z轴大小视作g值测量值,并用移动滑动窗口计算g值的平均值,窗口大小是401,这是一个质数,窗口大小取值质数,有助消拟系统可能隐藏的算法误差,这些误差有可能是本系统产生的,也有可能是外部引入的。
在本实施例中,需要计算之前N点x、y轴加速度之平均值,这里N取值5,和输入频率相一致,即时间长度1秒(1秒内测5次)。
主输出数据的x,y分量,各取5点平均,以时间计为1秒,再用勾股定理求它们的综合值ACC,ACC为代表汽车的水平方向加速度,如果ACC大于0.2g,认为汽车有轻度异动,如果ACC大于0.3g,则认为汽车有重度异动。
如果ACC小于0.1g,且z变化量大于0.1g,即z<0.9g或z>1.1g,则认为汽车遇到颠簸路面。
在本实施例中,利用辅助输出数据,求解1秒前后,两个姿态四元数之夹角Tilt是否大于5度,来检测汽车是否遇到颠簸路面,其步骤是:
如果之前3005主输出数据之ACC值大于0.1g,为了防止误判,不作检测。
记录姿态描述四元数。
最新四元数与之前第5个四元数PrefQ的共轭四元数相乘,得到DiffQ,即DiffQ=Qconj(PrefQ)。
对DiffQ做归一化处理DiffQ=qnormalize(DiffQ)。
用下面公式求两个四元数之旋转夹角:Tilt=cos-1(DiffQ.w)*2*180/π。
如果Tilt>5°,则认为汽车遇到颠簸路面。
因为第一加速度向量的输入频次只有5Hz,频次太小,丢失了大量代表颠簸的信息,本实施例对异常路面的检出率有进一步提高的可能性。
提升检出率的一个方法是提高频次。
提升检出率另一种方法是用神经网络,从上述子系统采集更多特征变量,采集训练数据训练神经网络,再用神经网络检测。
在本实施例中,根据平均水平加速度能够较准确地对当前路况进行识别,判断所述待识别车辆是否在通过颠簸的异常路面。
参照图5,图5为本发明利用加速度计判断车辆行驶状态的装置一实施例的结构框图,本实施例提供一种利用加速度计判断车辆行驶状态的装置,基于所述利用加速度计判断车辆行驶状态的算法,所述装置包括:
获取模块101,用于持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;
第一校正模块102,用于持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;
第二校正模块103,用于对旋转后的加速度向量进行偏航校正;
识别模块104,用于将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。
可以理解的是,所述三轴加速度计安装于移动终端内,所述移动终端以任意角度摆放于所述待识别车辆内。
需要说明的是,所述移动终端为内置加速度计的智能手机、平板电脑等可移动设备,本实施例对此不加以限制。所述三轴加速度计安装于移动终端内,为测量该移动终端三轴加速度的仪表,该三轴加速度计实时检测待识别车辆的第一加速度向量,通过本实施例利用加速度计判断车辆行驶状态的算法对所述三轴加速度计采集的第一加速度向量进行校正,使所述第一加速度向量渐次迫近期望向量,以实现通过加速度向量判断车辆行驶状态,其中,所述期望向量的Z轴方向与重力方向重合。
在具体实现中,三轴加速度计连续不间断地采集第一加速度向量,并进行输出。
可以理解的是,所述期望四元数指的是能将所述第一加速度向量旋转至期望向量以消除倾斜误差的四元数。为了校正移动终端倾斜引起的误差,将通过四元数对所述第一加速度向量进行旋转,以校正第一加速度向量相对于待识别车辆前进方向在竖直方向上的倾斜角。
在具体实现中,对第一加速度向量进行旋转,输出第三加速度向量,它的模与第一加速度向量一样。
计算重力加速度g值,或者获取预设值(约为9.8m/s2,或1.0g),根据该重力加速度或者预设值对第一加速度向量进行校正,获得第三加速度向量,在任意时刻,期望所述第三加速度向量的Z轴方向与重力方向重合,对第三加速度向量的X、Y轴的指向不作要求。
需要说明的是,通过对第一加速度向量进行旋转,校正了竖直方向上第一加速度向量的倾斜角,在水平方向,旋转后的加速度向量与待识别车辆前进方向仍具有偏航角,为了消除该偏航角,将对旋转后的加速度向量进行偏航校正。
在具体实现中,利用汽车由静止到运动转换的那一段时间,汽车总的加速度方向是沿车身向前,或汽车由运动到静止转换的那一段时间,汽车的加速度方向是沿车身向后的特性,可以计算出第一加速度向量的偏航角,即第一加速度向量的Y轴方向与汽车前进方向的夹角;最后对第一加速度向量进行旋转,得到水平加速度向量,一般来说,水平加速度向量的Y轴方向为汽车前进方向。
判断车辆是否处于静止状态的原理是,汽车行驶过程,它不可能完全匀速前进,车身也不可能完全不发生倾斜,因为是第一加速度向量的X/Y轴,Z轴与重力加速度的差值不可能完全等于0,如果它们的绝对值小于预设阈值,则认为汽车静止,反之为运动。
倾斜角变化量也可以被用来判断汽车是否静止,在本实施例中,建议时间长短为1秒;预设阈值为0.1度,即1秒内,如果姿态角小0.1度认为汽车处于静止状态,反之为行驶状态。
可以理解的是,初始加速度向量消除了倾斜角与偏航角的误差,获得校正后的加速度向量,当前校正后的加速度向量方向与待识别车辆前进方向一致,校正后的加速度向量可代表待识别车辆的加速度向量。将水平加速度向量作为校正后的加速度向量,并进行输出,经简单的预设阈值比较,就可以判断出待识别车辆的行驶状态。本实施例中,X轴加速度绝对值≥0.2g时为弯道或急变道;Y轴加速度≥0.2g时为急加速,-0.3g≤Y轴加速度≤-0.2g时为点刹,Y轴加速度≤-0.3g时为急刹,其中,g为重力加速度。
进一步地,所述第一校正模块102包括:
若干子模块,各子模块级联,前一子模块输出的加速度向量作为后一子模块输入的加速度向量。
需要说明的是,本实施例具有可级联的特性:多个子模块级联,组成一个完整的级联结构,并且可以从不同位置的子模块提取数据比较分析。每个级联子模块采用相同或不相同的参数,以适应不同的应用场景,获得更好的准确度。较优地,采用三级级联结构:第一级线性插值系数t取值0.01;第二级线性插值系数t取值0.1;第三级线性插值系数t取值0.7。
在本实施例中,通过持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;持续实时计算渐次迫近期望四元数的四元数,根据所述四元数对所述第一加速度向量进行旋转,所述四元数代表汽车姿态;对旋转后的加速度向量进行偏航校正;将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。由于在使用中持续使用渐次迫近技术,本算法能够很好地适应各种应用场景:水平、坡道或颠簸等多种路面状况,三轴加速度计与待识别车辆的相对摆放角度发生变化,以及三轴加速度计存在测量误差等场景;并且,无需初始化过程,即开即用。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
单词第一、第二、以及第三等的使用不表示任何顺序,可将这些单词解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (9)

1.一种利用加速度计判断车辆行驶状态的算法,其特征在于,所述算法包括以下步骤:
持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;
随机预设第一四元数;
根据所述第一四元数和所述第一加速度向量计算第二四元数;
对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数;
根据所述第一四元数或者所述第三四元数对所述第一加速度向量进行旋转,获得当前加速度向量,将所述当前加速度向量作为旋转后的加速度向量;
将所述第三四元数替换所述第一四元数,将所述当前加速度向量替换所述第一加速度向量,并返回所述根据所述第一四元数和所述第一加速度向量计算第二四元数的步骤,所述四元数代表汽车姿态;
对旋转后的加速度向量进行偏航校正;
将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。
2.如权利要求1所述的利用加速度计判断车辆行驶状态的算法,其特征在于,所述根据所述第一四元数和所述第一加速度向量计算第二四元数,具体包括:
根据所述第一四元数对所述第一加速度向量进行旋转,获得第二加速度向量;
对所述第二加速度向量的三轴坐标值进行修正,获得第三加速度向量;
计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数。
3.如权利要求2所述的利用加速度计判断车辆行驶状态的算法,其特征在于,所述对所述第二加速度向量的三轴坐标值进行修正,获得第三加速度向量,具体包括:
将重力加速度替换所述第二加速度向量的Z轴坐标值;
对所述第二加速度向量的X轴坐标值与Y轴坐标值进行弱化,获得第三加速度向量。
4.如权利要求3所述的利用加速度计判断车辆行驶状态的算法,其特征在于,所述计算所述第一加速度向量旋转至所述第三加速度向量的第二四元数,具体包括:
计算所述第一加速度向量与所述第三加速度向量的第一夹角;
根据所述第一加速度向量与所述第三加速度向量进行叉积计算,获得向量积,对所述向量积进行归一化处理;
根据处理后的向量积与所述第一夹角进行计算,获得第二四元数。
5.如权利要求4所述的利用加速度计判断车辆行驶状态的算法,其特征在于,所述对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数,具体包括:
对所述第一四元数与所述第二四元数进行归一化处理;
计算所述第一四元数与所述第二四元数的点积,根据所述点积计算所述第一四元数与所述第二四元数的第二夹角;
根据预设公式与所述第二夹角对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数,所述预设公式为:
Figure FDA0002589019700000021
其中,q1为第一四元数,q2为第二四元数,qt为第三四元数,θ为第二夹角,t为插值系数。
6.如权利要求1-5中任一项所述的利用加速度计判断车辆行驶状态的算法,其特征在于,所述三轴加速度计安装于移动终端内,所述移动终端以任意角度摆放于所述待识别车辆内。
7.如权利要求1-5中任一项所述的利用加速度计判断车辆行驶状态的算法,其特征在于,所述待识别车辆所驶的当前路况为水平路面、坡道路面或颠簸路面中的任一项。
8.一种利用加速度计判断车辆行驶状态的装置,其特征在于,所述装置包括:
获取模块,用于持续实时获取由三轴加速度计采集的待识别车辆的第一加速度向量;
第一校正模块,用于随机预设第一四元数;根据所述第一四元数和所述第一加速度向量计算第二四元数;对所述第一四元数与所述第二四元数进行球面线性插值,将插值结果作为第三四元数;根据所述第一四元数或者所述第三四元数对所述第一加速度向量进行旋转,获得当前加速度向量,将所述当前加速度向量作为旋转后的加速度向量;将所述第三四元数替换所述第一四元数,将所述当前加速度向量替换所述第一加速度向量,并返回所述根据所述第一四元数和所述第一加速度向量计算第二四元数的步骤,所述四元数代表汽车姿态;
第二校正模块,用于对旋转后的加速度向量进行偏航校正;
识别模块,用于将校正后的加速度向量与加速度向量阈值进行比较,根据比较结果识别所述待识别车辆的当前驾驶行为。
9.如权利要求8所述的装置,其特征在于,所述第一校正模块包括:
若干子模块,各子模块级联,前一子模块输出的加速度向量作为后一子模块输入的加速度向量。
CN201810323235.2A 2018-04-10 2018-04-10 利用加速度计判断车辆行驶状态的算法和装置 Active CN108520571B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810323235.2A CN108520571B (zh) 2018-04-10 2018-04-10 利用加速度计判断车辆行驶状态的算法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810323235.2A CN108520571B (zh) 2018-04-10 2018-04-10 利用加速度计判断车辆行驶状态的算法和装置

Publications (2)

Publication Number Publication Date
CN108520571A CN108520571A (zh) 2018-09-11
CN108520571B true CN108520571B (zh) 2020-12-01

Family

ID=63432402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810323235.2A Active CN108520571B (zh) 2018-04-10 2018-04-10 利用加速度计判断车辆行驶状态的算法和装置

Country Status (1)

Country Link
CN (1) CN108520571B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111196166A (zh) * 2018-11-19 2020-05-26 宝沃汽车(中国)有限公司 电动汽车及其工况识别方法、装置
CN113635907B (zh) * 2020-04-24 2023-03-14 丰图科技(深圳)有限公司 一种驾驶行为的检测方法、装置、电子设备及其存储介质
CN113866449A (zh) * 2020-06-30 2021-12-31 比亚迪股份有限公司 一种测速方法、装置及车辆
CN112419720A (zh) * 2020-11-18 2021-02-26 联通智网科技有限公司 交通状况监测方法、装置和电子设备
CN113419531A (zh) * 2021-06-29 2021-09-21 东风汽车有限公司东风日产乘用车公司 车载部品控制方法、电子设备及存储介质
CN114429713A (zh) * 2021-12-22 2022-05-03 深圳市锐明技术股份有限公司 识别交通设备急变速运动状态的方法、装置和存储介质
CN114280332B (zh) * 2021-12-31 2024-04-23 成都路行通信息技术有限公司 一种三轴加速度传感器校正方法
CN117405109B (zh) * 2023-12-15 2024-04-16 北京神导科技股份有限公司 基于四元数球面线性加权的三套惯导系统姿态表决方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7683883B2 (en) * 2004-11-02 2010-03-23 Pierre Touma 3D mouse and game controller based on spherical coordinates system and system for use
CN102538781A (zh) * 2011-12-14 2012-07-04 浙江大学 基于机器视觉和惯导融合的移动机器人运动姿态估计方法
CN105092892A (zh) * 2015-08-11 2015-11-25 东软集团股份有限公司 一种车辆加速度数据的获取方法和装置
CN105783921A (zh) * 2014-12-17 2016-07-20 高德软件有限公司 一种校正汽车姿态数据的方法及装置
CN106052584A (zh) * 2016-05-24 2016-10-26 上海工程技术大学 一种基于视觉及惯性信息融合的轨道空间线形测量方法
CN106530696A (zh) * 2016-11-17 2017-03-22 捷开通讯(深圳)有限公司 一种驾驶行为监控方法及路况监控方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7683883B2 (en) * 2004-11-02 2010-03-23 Pierre Touma 3D mouse and game controller based on spherical coordinates system and system for use
CN102538781A (zh) * 2011-12-14 2012-07-04 浙江大学 基于机器视觉和惯导融合的移动机器人运动姿态估计方法
CN105783921A (zh) * 2014-12-17 2016-07-20 高德软件有限公司 一种校正汽车姿态数据的方法及装置
CN105092892A (zh) * 2015-08-11 2015-11-25 东软集团股份有限公司 一种车辆加速度数据的获取方法和装置
CN106052584A (zh) * 2016-05-24 2016-10-26 上海工程技术大学 一种基于视觉及惯性信息融合的轨道空间线形测量方法
CN106530696A (zh) * 2016-11-17 2017-03-22 捷开通讯(深圳)有限公司 一种驾驶行为监控方法及路况监控方法

Also Published As

Publication number Publication date
CN108520571A (zh) 2018-09-11

Similar Documents

Publication Publication Date Title
CN108520571B (zh) 利用加速度计判断车辆行驶状态的算法和装置
Choi et al. Gaussian yolov3: An accurate and fast object detector using localization uncertainty for autonomous driving
US9630625B2 (en) Apparatus and method for identifying surrounding vehicles
US8055020B2 (en) Method for object tracking
US9253603B1 (en) Accelerometer-based calibration of vehicle and smartphone coordinate systems
KR20220047732A (ko) 차량 감시 방법 및 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램, 클라우드 제어 플랫폼 및 차량 도로 협조 시스템
WO2020010715A1 (zh) 电子装置、驾驶行为评分方法及存储介质
CN110275191A (zh) 一种静态漂移修正方法、装置、车载设备及存储介质
KR20220001498A (ko) 자동차의 환경에서 타겟 자동차의 궤적을 예측하기 위한 방법 및 시스템
CN113581101A (zh) 工程车辆事故检测处理方法及装置
CN109923438A (zh) 用于确定车辆速度的装置和方法
US20230392938A1 (en) Navigation information processing method, electronic device, and storage medium
CN110909718A (zh) 驾驶状态识别方法、装置及车辆
CN113933858A (zh) 定位传感器的异常检测方法、装置及终端设备
CN109933945B (zh) 交通环境建模方法
CN112477851B (zh) 一种减速带识别方法、装置、车辆和可读存储介质
CN110006422B (zh) 一种设备安全运行参数的确定方法、装置、设备和存储介质
CN113619589B (zh) 驾驶行为信息的确定方法、装置、电子设备及存储介质
CN115257720A (zh) 基于转弯场景的紧急避撞方法、装置、设备及介质
CN115329866A (zh) 碰撞事件检测方法、装置、设备及存储介质
CN116670536A (zh) 使用位置一致性进行距离变化率的解混叠的系统和方法
CN112287797A (zh) 一种数据处理方法、装置、电子设备及可读存储介质
EP3396317A1 (en) Method and device for classifying driving maneuvers in a vehicle
JP2011055342A (ja) 車両用撮像装置
US20230202487A1 (en) Onboard device and orientation converting method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant