一种基于智能手机的危险驾驶行为检测方法与流程

文档序号:11100798阅读:1427来源:国知局
一种基于智能手机的危险驾驶行为检测方法与制造工艺

本发明属于智能交通领域,涉及一种基于智能手机的危险驾驶行为检测方法。



背景技术:

危险驾驶行为检测技术在智能交通尤其是交通安全领域具有重要意义。现有的危险驾驶行为检测技术普遍存在成本高,需要借助外部设施等问题,如汽车内部的CAN总线信息、卫星导航信息、照相机等,很难满足低成本的要求。

基于智能手机的危险驾驶行为检测可以有效降低检测方法的成本。现有的基于智能手机的危险驾驶行为检测算法需要借助卫星导航信息、内部磁传感器信息、照相机等辅助信息。其中卫星导航信息具有定位精度高,不随时间发散等优点,但是长时间使用功耗大,且在城市地区容易受到多径效应影响造成结果不准确或者不可用。内部磁传感器可以提供汽车的航向信息,操作简单,但是容易受到电磁干扰的影响。使用手机的照相机需要将手机以某一个固定的姿态固定在汽车上,且计算量大,使得该方法的使用受到很大限制。在一些不使用卫星导航、磁传感器和照相机的智能手机解决方案中,对于手机的放置位置以及姿态做出了限定,造成使用不便。



技术实现要素:

针对现有危险驾驶行为检测方法成本高、使用不方便等缺点,本发明提供了一种基于智能手机的危险驾驶行为检测方法。本发明的危险驾驶行为检测方法以智能手机内部的加速度计和陀螺仪作为传感器,通过一定的软件算法,实现对于危险驾驶行为的实时检测,具有成本低、操作简单等优点。

本发明提供了一种基于智能手机的危险驾驶行为检测方法,通过以下步骤实现:

步骤一:以智能手机中的加速度计和陀螺仪作为传感器,判定出汽车和手机均为相对于惯性系静止状态,计算出该静止状态下手机相对于汽车的俯仰角和横滚角。在该俯仰角和横滚角基础上,当汽车有直线加减速运动时,可以根据加速度差值进一步估计出手机相对于汽车的偏航角。

步骤二:基于上述姿态角计算方法,通过实时判定汽车和手机是否处于静止状态,当满足静止状态的条件时,根据倾角仪算法更新手机相对于汽车的俯仰角和横滚角。同时给出一个偏航角的可信度定义及计算方法,该可信度与时间相关,随着时间增长,当前所采用的偏航角可信度降低,当有新的可信度大于当前可信度的偏航角出现,用新的偏航角更新当前使用的偏航角,通过以上步骤实现手机相对于汽车的姿态实时更新。

步骤三:当得到了手机相对于汽车的偏航角、俯仰角和横滚角信息之后,通过计算方向余弦矩阵,将手机直接测得的加速度信息和角速率信息转换为能够直接描述汽车运动的加速度信息和角速率信息。通过对加速度和角速率的进一步计算,可以得到行驶过程中汽车相对于水平地面的汽车俯仰角和汽车横滚角,根据汽车俯仰角和汽车横滚角以及经过进一步计算的加速度和角速率信息,可以得到急加速急减速、急转向、连续变道和驾驶过程中操作手机等危险驾驶行为的实时信息,并实时输出危险驾驶行为初步检测结果。

步骤四:当手机相对于汽车的姿态角计算完成后,通过对已经转换到汽车坐标系的陀螺仪角速率积分,并对所得积分结果进行分段直线拟合,找出上下坡的区间段。

步骤五:如果存在步骤四中所述的上下坡区间段,则从初步检测结果中去掉对应该区间段的危险驾驶行为检测结果,得到最终检测结果,达到提高危险驾驶行为检测准确度的目的。

如果不存在所述的上下坡区间段,直接将步骤三中的初步检测结果作为最终检测结果。

本发明的优点和积极效果在于:

(1)本发明提供了一种简单易行、成本低廉的危险驾驶行为检测方法,在能保证检测精度的前提下,仅使用智能手机内部的加速度计和陀螺仪,弥补现有危险驾驶行为成本高、需要卫星导航或者磁传感器的不足,具有较高的经济价值。

(2)本发明中手机可以放置在汽车内的任何位置,在启动软件之后可以自动计算出手机相对于汽车的姿态角,并且实时更新姿态角,保证了长时间使用的精度,并且具有检测的实时性,操作简单,易于推广使用。

附图说明

图1是本发明的危险驾驶行为检测的流程示意图;

图2是本发明所采用的汽车坐标系;

图3是本发明所采用的手机坐标系;

图4是本发明所采用的从汽车系到手机系的旋转角定义;

图5是本发明里危险驾驶行为中急加速急减速的示意图;

图6是本发明里危险驾驶行为中急转向的示意图;

图7是本发明里危险驾驶行为中连续变道的示意图;

图8是本发明里危险驾驶行为中驾驶过程中操作手机的示意图;

图9是本发明的急加速急减速判定具体实施例;

图10A和图10B是本发明的急转向判定具体实施例;

图11是本发明的连续变道判定具体实施例;

图12A和图12B是本发明的驾驶过程中驾驶过程中操作手机判定具体实施例;

图13是本发明的基于低精度陀螺的上下坡检测具体实施例。

具体实施方式

下面结合附图和实施例来说明本发明的技术方案。

本发明是一种基于智能手机的危险驾驶行为检测方法,流程图如图1所示,包括以下几个步骤:

步骤一:以智能手机中的加速度计和陀螺仪作为传感器,判定出汽车和手机均为相对于惯性系静止状态,计算出该静止状态下手机相对于汽车的俯仰角和横滚角。在该俯仰角和横滚角基础上,当汽车有直线加减速运动时,可以根据加速度差值进一步估计出手机相对于汽车的偏航角。

具体包括:

定义汽车坐标系和手机坐标系分别如图2、图3所示,假定汽车一直在水平面行进,汽车坐标系XVYVZV,具体定义为:坐标系原点为汽车中心点,XV轴正向为垂直于车体方向水平向右,YV轴正向为沿车头方向水平向前,ZV轴正向为垂直于水平面向上。手机坐标系XPYPZP具体定义为:坐标系原点位于手机中心点,XP轴正向沿着手机屏幕所在平面向右,YP轴正向沿着手机屏幕所在平面向前,ZP轴正向垂直于屏幕所在平面向上。从汽车系(V系)到手机系(P系)的坐标旋转可以通过方向余弦矩阵来完成,其中偏航角俯仰角θ、横滚角γ的定义如图4所示,偏航角定义为手机Y轴在水平面投影相对于汽车Y轴的夹角,逆时针为正,俯仰角定义为手机Y轴正向与水平面夹角,高于水平面为正,横滚角定义为手机沿着Y轴所倾斜的角度,角度正负满足右手定则,方向余弦矩阵如下:

当汽车和手机都处于静止状态或者匀速直线运动状态,并且手机和汽车之间没有相对运动,定义该状态为稳定状态,判定汽车为稳定状态的公式为:

kend-kstart≥Nsteady (4)

其中,表示k时刻P系下的三轴陀螺仪测量的xyz三个方向的角速率测量值,表示k时刻P系下的三轴加速计测量的xyz三个方向的加速度测量值。Δωsteady是陀螺仪角速率阈值,通过该角速率阈值可以消除转向运动的影响。Nsteady是检测静止状态的时间阈值。Δa为检测静止状态的加速度阈值,为了消除震动和噪声干扰,加速度阈值Δa一般取0.03g。kstart,kend分别表示稳定状态的开始时刻和结束时刻。

那么稳定状态下可以采用倾角仪算法计算手机的俯仰角和横滚角,计算公式如下:

通过此方法可以有效计算出手机相对于汽车的俯仰角和横滚角。

手机输出的加速度测量值可以通过方向余弦矩阵转换到汽车系下,具体为:

其中,表示手机系下的三轴加速度计输出,表示汽车系下的三轴加速度计值。当汽车处于稳定状态时,所以(8)可以表示为:

其中s表示稳定状态的最后一个时刻。

当汽车在水平面上进行直线加速或者直线减速运动时,所以(8)可以表示为:

结合(9)和(10),可以得到如下公式:

其中k为结束稳定状态后的采样时刻,s为稳定状态时间段内最后一个时刻点。

由式(11)可以得出,即使手机是任意放置的,但是当手机放置之后,只要和汽车之间没有相对滑动,即手机相对于汽车没有姿态改变,即(11)等号右边为一常值向量,那么手机直接测量的加速度改变量具有比值不变性,

根据上述推导,本发明采用如下算法计算手机相对于汽车的偏航角

其中n表示求取偏航角均值所采用的n个时刻,为k时刻的手机相对于汽车的偏航角。i的初值取(k-n+1)。

并且同时满足下式:

其中表示偏航角的标准差,是P系下陀螺仪X轴、Y轴、Z轴测量的角速率,Δω是计算偏航角所用的角速率阈值,通过该角速率阈值可以判断汽车有无转向等动作。是计算偏航角所用的加速度阈值,用来消除测量噪声等的干扰。

当手机启动程序至第一次计算出偏航角、俯仰角和横滚角,定义为初始化完成。

步骤二:基于上述姿态角计算方法,通过实时判定汽车和手机是否处于相对于惯性系静止状态,当满足静止状态的条件时,根据倾角仪算法更新手机相对于汽车的俯仰角和横滚角。同时给出一个偏航角的可信度定义及计算方法,该可信度与时间相关,随着时间增长,当前所采用的偏航角可信度降低,当有新的可信度大于当前可信度的偏航角出现,用新的偏航角更新当前使用的偏航角,通过以上步骤实现手机相对于汽车的姿态实时更新算法。

手机是以任意姿态放置到汽车里的,在汽车行驶过程中,比如缓慢的转弯、上下陡坡会导致手机产生滑动或者姿态改变,为了提高检测精度,手机相对于汽车的姿态需要进行更新。

判断手机和汽车处于静止状态的方法同步骤一,并且根据步骤一中的方法更新俯仰角和横滚角,定义偏航角的可信度如下:

其中,Var_k是当前k时刻计算的偏航角与前面N个时刻计算的偏航角的标准差,N值的大小根据实验数据调整获得。

当前正在使用的偏航角的可信度定义为

其中,t(now)表示当前时刻,t(k)表示该偏航角计算的时刻。t_atten为根据经验值选取的时间常数。

当实时计算的偏航角的可信度fk,now大于正在使用的可信度fk,work时,将当前时刻的偏航角更新为实时计算的偏航角值。

步骤三:当得到了手机相对于汽车的偏航角、俯仰角和横滚角信息之后,通过计算方向余弦矩阵,将手机直接测得的加速度信息和角速率信息转换为能够直接描述汽车运动的加速度信息和角速率信息。通过对加速度和角速率的进一步计算,可以得到行驶过程中汽车相对于水平地面的汽车俯仰角和汽车横滚角,根据汽车俯仰角和汽车横滚角以及经过进一步计算的加速度和角速率信息,可以得到急加速急减速、急转向、连续变道和驾驶过程中操作手机等危险驾驶行为的实时信息,并实时输出危险驾驶行为检测结果。其中急加速急减速、急转向、连续变道和驾驶过程中操作手机的示意图分别如图5、图6、图7和图8所示。具体定义为:急加速急减速定义为短时间内将汽车速度迅速提高或者降低,本发明中定义为车速在10s内变化30km/h;急转向定义为采用30km/h的速度左转或者右转超过0.7rad,转弯半径小于60m;连续变道定义为短时间内频繁更换车道;驾驶过程中操作手机定义为驾驶员在驾驶过程中对手机进行拿起然后进一步操作如接打电话、打字和操作软件等。

定义类似静止状态:

其中Δasimilar是为检测类似静止状态设置的加速度阈值,具体阈值大小根据实验数据由经验选定。

当转换到汽车系下的加速度满足(17)式的时候,认为其符合类似静止条件,然后根据倾角仪算法计算一个汽车相对于水平地面的汽车俯仰角θv和汽车横滚角γv,即:

当不满足(17)式的时候,采用四元数法更新姿态角,计算过程采用四阶龙格库塔法,中间采样数据采用前一时刻的汽车俯仰角和汽车横滚角作为当前时刻的汽车俯仰角和汽车横滚角。

急加速急减速检测算法:

计算出稳定状态下汽车俯仰角θv(s)和汽车横滚角γv(s),当满足条件

θv_th_low≤|θv(k)-θv(s)|≤θv_th_high k∈[kstart,kend] (20)

v(k)-γv(s)|≤γv_th k∈[kstart,kend] (21)

kend-kstart>Nspeeding (22)

其中,θv_th_low和θv_th_high分别为汽车俯仰角的低阈值和高阈值,γv_th为横滚角阈值,均根据实验经验选定,Nspeeding是时间阈值,根据θv(k)-θv(s)的正负区分加速还是减速,正为加速,负为减速。

在急转向区间内,V系下X轴加速度和V系下Z轴角速率都会有一个比较大的变化,具体的检测算法如下:

kend-kstart>Nsteering (25)

其中Δasteering和分别为急转向判定条件下的加速度和角速率阈值,Nsteering是急转向判定条件下的时间阈值。

连续变道检测算法为:定义汽车横滚角的正负阈值分别为ΔγWP和ΔγWN,同时定义汽车横滚角越过汽车横滚角正阈值计数器rP,rP只取整数,汽车横滚角越过汽车横滚角负阈值计数器rN,rN只取整数,定义Nweaving为连续变道检测中设置的时间间隔阈值。当汽车横滚角由低于汽车横滚角正阈值ΔγWP变为高于汽车横滚角正阈值ΔγWP或者当汽车横滚角由高于汽车横滚角正阈值ΔγWP变为低于汽车横滚角正阈值ΔγWP,则将汽车横滚角正阈值计数器rP加1。当汽车横滚角由高于汽车横滚角负阈值ΔγWN变为低于汽车横滚角负阈值ΔγWN或者当汽车横滚角由低于汽车横滚角负阈值ΔγWN变为高于汽车横滚角负阈值ΔγWN,则将汽车横滚角负阈值计数器rN加1。在Nweaving时间阈值之内,当满足(rP+rN)≥4的条件时,认为检测出连续变道的驾驶行为。

本发明中采用一个3s的滑动时间窗来检测驾驶过程中操作手机,如果在该时间窗内,加速度计三轴测量中有两轴或者两轴以上有较大变化(超过设定阈值),或者陀螺仪三轴测量中有两轴或者两轴以上较大变化(超过设定阈值),即认为手机被拿起。

因为驾驶过程中操作手机后手机相对于汽车的姿态变化很大,而且此时姿态不易求出,不能准确反应汽车的行驶状态,所以在检测出驾驶过程中操作手机之后要停止急加速急减速,急转向,连续变道的检测,当再一次出现稳定状态,重新计算出手机相对于汽车的俯仰角和横滚角,并且计算出手机与汽车之间的偏航角之后,再开始检测急加速急减速,急转向和连续变道等危险驾驶行为。

本发明还提供了一种基于低精度陀螺的上下坡检测算法。当手机相对于汽车的姿态角计算完成后,通过对已经转换到汽车坐标系的陀螺仪角速率积分,并对所得结果进行分段直线拟合,找出上下坡区间段,并去掉该区间段的危险驾驶行为判定结果,达到提高危险驾驶行为检测准确度的目的。

因为本发明中汽车系的定义是假设汽车行驶在水平面上的,所以在有上下坡的路段,会对检测结果造成干扰。而低精度的陀螺测量数据,即使转换到了汽车系下,也会因为噪声干扰比较大,不能准确识别上下坡路段。为了消除噪声影响,本发明采用最小二乘拟合的方法对(V系下X轴的角速率)的积分值进行处理,即:

其中表示P系下陀螺仪三轴角速率矢量,表示陀螺仪固定零偏矢量,表示陀螺仪三轴随机漂移矢量,表示陀螺仪三轴白噪声矢量,S(n)=[Sx(n),Sy(n),Sz(n)]T表示三轴角速率积分矢量。b0固定不变所以是一个线性改变量,bi在短时间内可以认为不变,所以也是一个线性改变量,在长时间计算后趋近于零。所以S(n)的值将主要体现的一个变化趋势。为了检测上下坡区域,本发明中选取S(n)的X轴分量,即Sx(n)进行后续的计算。

然后筛选出Sx(n)中在3.5s窗口内(该阈值根据实验经验选取,可变)标准差小于0.04(该阈值根据实验经验选取,可变)的区域,采用一个3.5s的滑动窗口进行线性拟合。拟合参数为直线的斜率α和截距β。拟合公式为:

其中

Z=[Sx(1) Sx(2) … Sx(m-1) Sx(m)]T,m是3.5s滑动窗口内的采样个数。

在进行线性拟合的区域,计算拟合直线的斜率α的拟合误差,定义拟合误差小于误差阈值的点定义为稳定点,否则为不稳定点,然后计算不稳定点左右两端第一个稳定点对应的拟合直线斜率对应倾斜角的改变量:

δ(n)=tan-1right)-tan-1left) (28)

δ(n)≥Δδ (29)

其中αright和αleft分别是不稳定点右侧和左侧第一个稳定点对应拟合曲线的斜率,Δδ是直线斜率对应倾角改变量的阈值。

检测出上下坡区域后,因为上下坡区域的姿态角是不准确的,所以在此区域附近不进行载体运动状态判别,直到上下坡区域结束之后再进行运动状态检测。

如果存在上述的上下坡区域段,需要从步骤三的检测结果中去掉所述的上下坡区域段,得到最终的检测结果。

实施例中:

采用小米2s、华为荣耀6、魅族3和小米3放置在同一辆出租车上,如果手机是固定放置的,计算的姿态角误差在3度以内。

依据本发明提供的方法,本实例中急加速急减速、急转向、连续变道、驾驶过程中操作手机的总检测精度可以达到90%以上。

急加速急减速、急转向、连续变道、驾驶过程中操作手机的一个具体的判断实施例分别如图9、图10、图11和图12所示。如图9所示,图中汽车俯仰角和汽车横滚角是根据本发明中具体实施方式所介绍的步骤计算出的结果,在虚线框所示时间区域内,汽车俯仰角有一个很大的变化,同时汽车横滚角变化很小,可以通过步骤三中的急加速急减速检测算法有效检测出来。如图10A所示,图中汽车坐标系下加速度差值曲线是根据本发明中具体实施方式所介绍的步骤计算出的结果,在虚线框所示时间区域内,汽车坐标系下X轴加速度差值曲线有一个很大的变化,如图10B所示,图中汽车坐标系下角速率差值曲线是根据本发明中具体实施方式所介绍的步骤计算出的结果,在虚线框所示时间区域内,汽车坐标系下Z轴角速率差值曲线有一个很大变化,则通过本发明具体实施方式中步骤三所述的急转向检测算法可以有效检测出一个急转向动作。如图11所示,图中汽车俯仰角和汽车横滚角是根据本发明中具体实施方式所介绍的步骤计算出的结果,在虚线框所示时间区域内,汽车横滚角在给定的时间阈值内越过正阈值和越过负阈值的次数大于4,所以该连续变道驾驶行为可以被本发明提出的连续变道检测算法有效检测出。如图12A所示是手机坐标系下的加速度值,图12B所示是手机系下陀螺仪角速率值,可以看出加速度计和陀螺仪均至少有两个轴发生较大变化,根据本发明所提出的驾驶过程中操作手机检测算法,可以有效检测该驾驶过程中操作手机动作。

上下坡检测的一个具体实施例如图13所示,图中实线曲线是汽车坐标系下X轴角速率的积分值,其中点画线区域表示实际的下坡区域,虚线区域表示实际的上坡区域,点线区域是根据本发明中提出的基于低精度陀螺的上下坡检测算法识别出的上下坡区域,由图中可以看出,本发明提出的基于低精度陀螺的上下坡检测算法可以有效检测出上下坡区域。

本发明以智能手机内部的加速度计和陀螺仪为基础,无需外界辅助测量,对于手机放置姿态无要求,可以对四种危险驾驶行为进行有效检测,操作简单,成本低廉,为危险驾驶行为检测提供了一种有效的解决方案。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1