From c484cbb09d445e2ab30ea011c6d2ffd87202bb26 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期五, 23 十月 2020 18:05:34 +0800 Subject: [PATCH] 添加可用户配置的评判参数。 --- lib/src/main/cpp/test_items/stop_and_start.cpp | 21 ++++++++------------- 1 files changed, 8 insertions(+), 13 deletions(-) diff --git a/lib/src/main/cpp/test_items/stop_and_start.cpp b/lib/src/main/cpp/test_items/stop_and_start.cpp index d75ed70..477884b 100644 --- a/lib/src/main/cpp/test_items/stop_and_start.cpp +++ b/lib/src/main/cpp/test_items/stop_and_start.cpp @@ -19,12 +19,7 @@ using namespace std; -const double STOP_DISTANCE_THRESHOLD_RED = 0.5; -const double EDGE_DISTANCE_THRESHOLD_RED = 0.5; -const double EDGE_DISTANCE_THRESHOLD_YELLOW = 0.3; -const double SLIDE_DISTANCE_THRESHOLD_RED = 0.3; -const double SLIDE_DISTANCE_THRESHOLD_YELLOW = 0.1; -const uint32_t CAR_START_TIMEOUT = D_SEC(30); + const uint32_t STOP_CAR_TIME = D_SEC(1); const double EPSILON = 1e-3; @@ -126,7 +121,7 @@ DEBUG("DIS1 = %f DIS2 = %f", dis1, dis2); - if (dis1 > STOP_DISTANCE_THRESHOLD_RED) { + if (dis1 > examParam.ramp_stoppoint_red_distance) { // 璺濈鍋滄绾垮墠鍚庤秴鍑�50鍘樼背 AddExamFault(12, rtkTime); DEBUG("璺濈鍋滄绾垮墠鍚庤秴鍑�50鍘樼背锛屼笉鍚堟牸"); @@ -136,12 +131,12 @@ DEBUG("鍓嶄繚闄╂病鏈変綅浜庡仠姝㈠甫鍐咃紝浣嗘病鏈夎秴鍑�50鍘樼背"); } - if (dis2 > EDGE_DISTANCE_THRESHOLD_RED) { + if (dis2 > examParam.ramp_edge_red_distance) { // 璺濈杈圭嚎瓒呭嚭50鍘樼背,涓嶅悎鏍� AddExamFault(14, rtkTime); DEBUG("璺濈杈圭嚎瓒呭嚭50鍘樼背"); - } else if (dis2 > EDGE_DISTANCE_THRESHOLD_YELLOW) { - // 璺濈杈圭嚎瓒呭嚭30鍘樼背锛屼笉鍚堟牸 + } else if (dis2 > examParam.ramp_edge_yellow_distance) { + // 璺濈杈圭嚎瓒呭嚭30鍘樼背锛屾墸10鍒� AddExamFault(18, rtkTime); DEBUG("璺濈杈圭嚎瓒呭嚭30鍘樼背"); } @@ -158,11 +153,11 @@ // 鍙戠敓鍚庢粦 double slideDistance = DistanceOf(stopPoint, car->carXY[car->axial[AXIAL_FRONT]]); - if (slideDistance > SLIDE_DISTANCE_THRESHOLD_YELLOW) { + if (slideDistance > examParam.ramp_slide_yellow_distance) { slideNormalDistance = true; } - if (slideDistance > SLIDE_DISTANCE_THRESHOLD_RED && !slideLongDistance && !reportSlideFault) { + if (slideDistance > examParam.ramp_slide_red_distance && !slideLongDistance && !reportSlideFault) { // 鍚庢粦瓒呰繃30鍘樼背, 涓嶅悎鏍� AddExamFault(16, rtkTime); DEBUG("鍚庢粦瓒呰繃30鍘樼背"); @@ -174,7 +169,7 @@ if (!reportStartTimeout && (IntersectionOfLine(map->point[4], stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) != -1 || DistanceOf(stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) < 0.1)) { - if (TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10) - stopCarTime > CAR_START_TIMEOUT) { + if (TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10) - stopCarTime > examParam.ramp_start_car_limit_time) { // 璧锋鏃堕棿瓒呰繃30绉掞紝涓嶅悎鏍� AddExamFault(15, rtkTime); DEBUG("璧锋鏃堕棿瓒呰繃30绉�"); -- Gitblit v1.8.0