[0018] 如图1所示,本发明所述的一种适用于自动驾驶汽车的开门防撞系统由CAN总线模块、人车识别模块、信息预处理模块、开门防撞控制ECU、车门锁驱动模块和车门锁执行模块组成。其中,人车识别模块的输出端经信息预处理模块连接开门防撞控制ECU的输入端,CAN总线模块的输出端连接开门防撞控制ECU的输入端,开门防撞控制ECU的输出端经车门锁驱动模块连接车门锁执行模块。
[0019] CAN总线模块的输入端与CAN总线的输出端单向连接。CAN总线的输入端与车门锁传感器和车速传感器的输出端相连,其中车门锁传感器能实时获取车门锁状态信息并将车门状态信息发送至CAN总线,车速传感器能实时获取本车车速信息并将该信息发送至CAN总线。CAN总线将接收到的车门状态信息、本车车速信息传送给CAN总线模块。
[0020] 人车识别模块和信息预处理模块的输入端均连接自动驾驶系统,其中,自动驾驶系统包括摄像头、激光测距器和雷达传感器,自动驾驶系统是能感知外部环境并能向本发明开门防撞系统提供外部行人、机动车和非机动车相对于本车的车速信息、速度方向信息以及与本车的距离信息的外围硬件。摄像头的输出端连接人车识别模块的输入端,摄像头输出三维点云信息,车识别模块从摄像头获取三维点云信息。激光测距器和雷达传感器的输出端均连接信息预处理模块。激光测距器能利用激光脉冲技术测量物体距离激光测距器本身的距离以及其相对于激光测距器的坐标,并发送至信息预处理模块,雷达传感器利用微波感应物体并获取物体的相对车速、速度方向及其相对于雷达传感器的坐标并发送至信息预处理模块。
[0021] CAN总线模块从CAN总线获取本车车速信息并发送至开门防撞控制ECU,人车识别模块从摄像头获取三维点云信息并对平面进行提取,再对剩下的点云进行提取和分割,将获得的物体点云集合分别进行识别和匹配,计算点云集合,获得物体相对于摄像头的坐标(参见中国专利公开号为CN201610894251.8、名称是“一种基于RGB-D摄像头的视觉识别与定位方法”);人车识别模块将获得的物体相对于摄像头的坐标发送给信息预处理模块。信息预处理模块获取雷达传感器发送的车外个体相对于雷达传感器的坐标位置、速度大小和速度方向以及激光测距器发送的车外个体距激光测距器的坐标位置、距离以及人车识别模块发送的物体相对于摄像头的坐标等信息,同时将这些信息传递给开门防撞控制ECU。开门防撞控制ECU根据信息预处理模块发送的这些信息生成决定锁住控制指令或决定解锁控制指令,并将控制指令发送至车门锁驱动模块,车门锁驱动模块根据控制指令驱动车门锁执行模块对车门锁进行打开或锁住操作。具体工作步骤如下:
[0022] 步骤1:人车识别模块从摄像头获取三维点云信息,对三维点云进行识别,识别出个体是非机动车、机动车或是行人,并获得个体相对于摄像头的坐标A(t t=0,1,2,3……,n),At表示第t个个体相对于摄像头的坐标,n是所有个体数量的总和,个体由行人、机动车和非机动车组成。人车识别模块将坐标At信息发送给信息预处理模块。
[0023] 步骤2:信息预处理模块从激光测距器获取个体相对于激光测距器的距离st(t=0,1,2,3……,n),st表示第t个个体相对于激光测距器的距离,n是所有个体数量的总和。同时,信息预处理模块从激光测距器获取个体相对于激光测距器的坐标Bt(t=0,1,2,3……,n),坐标Bt表示第t个个体相对于激光测距器的坐标。信息预处理模块从雷达传感器获取个体相对于雷达传感器的速度vt大小以及方向(t=0,1,2,3……,n),vt表示第t个个体相对于雷达传感器的速度,同时,信息预处理模块从雷达传感器获取各个体相对于雷达传感器的坐标C(t t=0,1,2,3……,n),坐标Ct表示第t个个体相对于雷达传感器的坐标。
[0024] 步骤3:信息预处理模块将获取的个体相对于摄像头的坐标At、个体相对于激光测距器的坐标Bt、个体相对于雷达传感器的坐标Ct整合成相对本车的坐标Dt(参见中国专利公开号是CN104809718 A,名称是“一种车载摄像头自动匹配标定方法”)。同时,信息预处理模块将获取的相对于激光测距器的距离st整合成各个体相对于本车距离spx、smy、sbz(x,y,z=0,1,2,3……)(整合方法参见中国专利公开号是CN104809718 A,名称是“一种车载摄像头自动匹配标定方法”);spx表示第x位行人相对于本车的距离,smy表示第y辆机动车相对于本车的距离,sbz表示第z辆非机动车相对于本车的距离,x+y+z= n,即n是所有个体数量的总和。信息预处理模块将获取的各个体相对于雷达传感器的速度vt大小以及方向整合各个体相对于本车速度vpx、vmy、vbz大小以及方向(x,y,z=0,1,2,3……),vpx表示第x位行人相对于本车的速度大小以及方向,vmy表示第y辆机动车相对于本车的速度大小以及方向,vbz表示第z辆非机动车相对于本车的速度大小以及方向. x+y+z= n。如此,信息预处理模块通过整合从各传感器获取的坐标,从摄像头得到了相对于本车的坐标Dt个体与其对应的身份(非机动车、机动车还是行人),从激光测距器得到了相对于本车的坐标Dt个体与其对应的相对于本车的距离spx、smy、sbz,从雷达传感器得到了相对于本车的坐标Dt个体与其对应的相对于本车的速度vpx、vmy、vbz大小以及方向。信息预处理模块将个体数量n和获取的这些信息输出到开门防撞控制ECU。
[0025] 步骤4:开门防撞控制ECU从信息预处理模块获取个体数量n、开门防撞控制ECU从信息预处理模块获取各个体相对于本车距离spx、smy、sbz、各个体相对于本车的速度vpx、vmy、vbz大小及方向。
[0026] 步骤5:CAN总线模块通过CAN总线从车速传感器获取本车车速v,并输入到开门防撞控制ECU,开门防撞控制ECU从CAN总线模块获取本车当前车速v。
[0027] 步骤6:开门防撞控制ECU将本车当前车速v与预设的标准车速vmax进行比较,若v小于vmax,则执行步骤8;否则若v不小于vmax,将循环执行步骤6和步骤7直至v小于vmax。vmax为本车可以安全停车开门的最大车速。
[0028] 步骤7:根据本车周围车辆、非机动车和行人等个体的速度和方向,判断有无正在接近本车的车辆、非机动车和行人。若有车辆、非机动车和行人等个体正在接近本车,则执行步骤8,若无个体正在接近本车或周围个体数量n为0,则开门防撞控制ECU将直接生成车门解锁指令给车门解驱动模块。
[0029] 步骤8:开门防撞控制ECU根据个体的速度大小vpx、vmy、vbz及距本车的距离spx、smy、sbz进行如下判断:若有一行人正接近本车,开门防撞控制ECU根据该行人相对本车的速度大小及距本车的距离计算出该行人到达本车位置所需要的时间tp1,tp1=sp1/vp1,sp1是该行人距本车的距离,vp1是该行人行走速度大小。多个行人到达本车位置所需要的时间以tpx表示tpx=spx/vpx,其中x为从1至总行人个数的自然数即x∈N。同理,开门防撞控制ECU根据机动车、非机动车的相对速度大小、距本车的距离计算出第y辆机动车到达本车位置所需要的时间tmy,tmy=smy/vmy(y∈N),第z辆非机动车预计到达自身位置的时间tbz,tbz=smz/vmz(z∈N)。
[0030] 步骤9:开门防撞控制ECU将tpx与Tp比较,Tp表示任意行人面对前方车门突然开启的紧急情况可以从容停止前进或改变方向避免碰撞的最小时间,需预先将Tp设为一定值。同理将tmy与Tm比较,将tbz与Tb比较,Tm、Tb分别表示机动车驾驶员、非机动车驾驶员面对前车车门突然开启的紧急情况可以从容驻车或转向离开危险区域的最小时间,需预先将Tm、Tb设为定值。
[0031] 若同时满足任意tpx大于Tp,任意tmy 大于Tm,任意tbz大于Tb,则开门防撞控制ECU判断此时周围环境安全,生成车门解锁指令,否则生成车门锁住指令。
[0032] 步骤10:开门防撞控制ECU将车门解锁指令或车门锁住指令发送给车门锁驱动模块;车门锁驱动模块根据控制指令驱动车门锁控制模块对车门锁进行锁住或解锁操作。