chenxiaowei před 3 roky
rodič
revize
a88624e7d5

+ 1 - 0
src/decition/common/common/sysparam_type.h

@@ -32,6 +32,7 @@ namespace iv {
         float vehLenth= 4.6;
 
         bool keni =false;
+        int mWaitTimeCnt=3000;
 
 
     };

+ 5 - 1
src/decition/decition_brain_sf_jsrunlegs/decition/brain.cpp

@@ -471,6 +471,10 @@ void iv::decition::BrainDecition::run() {
         ServiceCarStatus.avoidObs = false;
     }
 
+    std::string WaitTimeCnt = xp.GetParam("WaitTimeCnt","3000");
+
+   ServiceCarStatus.msysparam.mWaitTimeCnt = atoi(WaitTimeCnt.data());
+
     mstrmemmap_index = xp.GetParam("msg_mapindex","map_index");
 
 
@@ -483,7 +487,7 @@ void iv::decition::BrainDecition::run() {
                {
                        ServiceCarStatus.mbRunPause=true;
                     //待命停车
-                       if(ServiceCarStatus.mbOvertimeCnt<=3000)//待命计时
+                       if(ServiceCarStatus.mbOvertimeCnt<=ServiceCarStatus.msysparam.mWaitTimeCnt)//待命计时
                        {
                            ServiceCarStatus.mbOvertimeCnt++;
                        }

+ 10 - 0
src/decition/decition_brain_sf_jsrunlegs/decition/decide_gps_00.cpp

@@ -2425,6 +2425,16 @@ static int file_num;
    }
 //超声波逻辑,end
 
+   //状体机逻辑
+    if((ServiceCarStatus.mbTaskCmdType == 3)||(ServiceCarStatus.mbErrState ==1)
+            ||(ServiceCarStatus.mbTakeOverEn == 1))//收到取消任务/接管/故障后车辆停止
+    {
+        minDecelerate=min(-0.3f,minDecelerate);
+    }
+
+    givlog->debug("decition_brain","mbTaskCmdType: %d,mbErrState: %d,mbTakeOverEn: %d",
+                  ServiceCarStatus.mbTaskCmdType,ServiceCarStatus.mbErrState,ServiceCarStatus.mbTakeOverEn);
+
    if((dSpeed-realspeed>2.0)&&(final_brake_lock==false))
    {
        dSpeed = min(realspeed+0.5,dSpeed) ;