| | |
| | | if (CrashRedLine(map, car)) { |
| | | // 车轮压线,不合格 |
| | | if (!occurCrashRedLine) { |
| | | AddExamFault(13, rtkTime); |
| | | AddExamFault(10116, rtkTime); |
| | | DEBUG("车轮压线"); |
| | | } |
| | | occurCrashRedLine = true; |
| | |
| | | } else if (stopCar && !handBreakActive) { |
| | | // 检查是否拉住手刹 |
| | | handBreakActive = true; |
| | | AddExamFault(19, rtkTime); |
| | | AddExamFault(20306, rtkTime); |
| | | DEBUG("没拉手刹"); |
| | | } |
| | | prevMoveDirect = moveDirect; |
| | |
| | | |
| | | if (dis1 > examParam.ramp_stoppoint_red_distance) { |
| | | // 距离停止线前后超出50厘米 |
| | | AddExamFault(12, rtkTime); |
| | | AddExamFault(20301, rtkTime); |
| | | DEBUG("距离停止线前后超出50厘米,不合格"); |
| | | } else if (fabs(dis1) > EPSILON) { |
| | | // 前保险没有位于停止带内,但没有超出50厘米,扣10分 |
| | | AddExamFault(17, rtkTime); |
| | | AddExamFault(20304, rtkTime); |
| | | DEBUG("前保险没有位于停止带内,但没有超出50厘米"); |
| | | } |
| | | |
| | | if (dis2 > examParam.ramp_edge_red_distance) { |
| | | // 距离边线超出50厘米,不合格 |
| | | AddExamFault(14, rtkTime); |
| | | AddExamFault(20302, rtkTime); |
| | | DEBUG("距离边线超出50厘米"); |
| | | } else if (dis2 > examParam.ramp_edge_yellow_distance) { |
| | | // 距离边线超出30厘米,扣10分 |
| | | AddExamFault(18, rtkTime); |
| | | AddExamFault(20305, rtkTime); |
| | | DEBUG("距离边线超出30厘米"); |
| | | } |
| | | } |
| | |
| | | |
| | | if (slideDistance > examParam.ramp_slide_red_distance && !slideLongDistance && !reportSlideFault) { |
| | | // 后滑超过30厘米, 不合格 |
| | | AddExamFault(16, rtkTime); |
| | | AddExamFault(10106, rtkTime); |
| | | DEBUG("后滑超过30厘米"); |
| | | slideLongDistance = true; |
| | | reportSlideFault = true; |
| | |
| | | DistanceOf(stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) < 0.1)) { |
| | | if (TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10) - stopCarTime > examParam.ramp_start_car_limit_time) { |
| | | // 起步时间超过30秒,不合格 |
| | | AddExamFault(15, rtkTime); |
| | | AddExamFault(20303, rtkTime); |
| | | DEBUG("起步时间超过30秒"); |
| | | reportStartTimeout = true; |
| | | } |
| | |
| | | if (slideNormalDistance && !slideLongDistance && !reportSlideFault) { |
| | | reportSlideFault = true; |
| | | // 后滑超过10厘米,但没超过30厘米 |
| | | AddExamFault(20, rtkTime); |
| | | AddExamFault(10204, rtkTime); |
| | | DEBUG("后滑超过10厘米,但没超过30厘米"); |
| | | } |
| | | } |