Переглянути джерело

add front car avoid decide

zhangjia 3 роки тому
батько
коміт
a3c07d7c98

+ 1 - 1
src/decition/common/main.cpp

@@ -23,7 +23,7 @@ iv::Ivlog * givlog;
 
 int main(int argc, char *argv[])
 {
-    //RegisterIVBackTrace();
+    RegisterIVBackTrace();
     showversion("decition_brain");
     QCoreApplication a(argc, argv);
 

+ 14 - 1
src/decition/decition_brain_sf/decition/decide_gps_00.cpp

@@ -1711,7 +1711,6 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
             gpsTraceAvoidXY = getGpsTraceOffsetBackOri(gpsTraceOri, avoidXPre,now_gps_ins,gpsTraceNow);
             startBackGpsIns = now_gps_ins;
         }
-
         vehState = backOri;
         avoidXNew=0;
         hasCheckedBackLidar = false;
@@ -4205,6 +4204,10 @@ int iv::decition::DecideGps00::computeAvoidXDistance(iv::LidarGridPtr lidarGridP
                     signed_record_avoidX-=1;
                     givlog->debug("decition_brain","singrecord_Y: %d",signed_record_avoidX);
           }
+   }
+   if((obs_cur_distance<50)&&(front_car.front_car_dis<30)&&(front_car_decide_avoid==true)){
+            signed_record_avoidX=front_car.avoidX;
+            return signed_record_avoidX;
    }
     if((signed_record_avoidX!=0)&&(obs_cur_distance<50))
     {
@@ -4291,6 +4294,16 @@ int iv::decition::DecideGps00::computeBackDistance(iv::LidarGridPtr lidarGridPtr
 
 //    if((obs_cur_distance>100)&&(GetDistance(now_gps_ins, startAvoidGps)>max(avoidMinDistance,40.0)))
 //                        return 0;
+    if((front_car.avoidX==0)&&(front_car.vehState==0)&&(front_car.front_car_dis<150)&&(vehState==normalRun))
+    {
+        if(PathPoint+300<gpsMapLine.size()){
+            for(int k=PathPoint;k<PathPoint+300;k++){
+                    if((gpsMapLine[k]->mfCurvature>0.02))
+                                     return 20;
+            }
+            return 0;
+        }
+    }
     if((obs_cur_distance>100)&&(vehState==normalRun))
     {
         if(PathPoint+300<gpsMapLine.size()){

+ 1 - 0
src/decition/decition_brain_sf/decition/decide_gps_00.h

@@ -138,6 +138,7 @@ public:
         double obs_distance;
         double obs_speed;
         double front_car_dis;
+        bool   front_car_avoid;
     };
     front front_car;