瀏覽代碼

add transfer gps mode2 function

liusunan 4 年之前
父節點
當前提交
941e9dd858

+ 12 - 1
src/decition/decition_brain/decition/decide_gps_00.cpp

@@ -1911,6 +1911,10 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
     //------------------------------v2x traffic light end--------------------------------------------------------------------------------------
     //------------------------------v2x traffic light end--------------------------------------------------------------------------------------
 
 
 
 
+    transferGpsMode2(gpsMapLine);
+
+
+
     if((ServiceCarStatus.msysparam.mvehtype=="hapo")&&(abs(realspeed)<18)){
     if((ServiceCarStatus.msysparam.mvehtype=="hapo")&&(abs(realspeed)<18)){
         if(obsDistance>0 && obsDistance<6){
         if(obsDistance>0 && obsDistance<6){
                 dSpeed=0;
                 dSpeed=0;
@@ -3788,4 +3792,11 @@ bool iv::decition::DecideGps00::adjuseultra(){
 
 
 }
 }
 
 
-
+void iv::decition::DecideGps00::transferGpsMode2( const std::vector<GPSData> gpsMapLine){
+    if(  gpsMapLine[PathPoint]->mode2==3000){
+        if(obsDistance>5){
+            obsDistance=200;
+        }
+        dSpeed=min(dSpeed,5.0);
+    }
+}

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

@@ -208,6 +208,7 @@ public:
 
 
     iv::Station getNearestStation(iv::GPS_INS now_gps_ins,std::vector<Station> station_n,std::vector<GPSData> gpsMap);
     iv::Station getNearestStation(iv::GPS_INS now_gps_ins,std::vector<Station> station_n,std::vector<GPSData> gpsMap);
 
 
+    void transferGpsMode2( const std::vector<GPSData> gpsMapLine);
     GPS_INS aim_gps_ins;
     GPS_INS aim_gps_ins;
     GPS_INS chaoche_start_gps;
     GPS_INS chaoche_start_gps;
     bool is_arrivaled=false;
     bool is_arrivaled=false;

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

@@ -253,6 +253,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
         }else{
         }else{
             circleMode=false;
             circleMode=false;
         }
         }
+
         //     circleMode = true;
         //     circleMode = true;
 
 
 
 
@@ -1853,6 +1854,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
     //------------------------------v2x traffic light end--------------------------------------------------------------------------------------
     //------------------------------v2x traffic light end--------------------------------------------------------------------------------------
 
 
 
 
+    transferGpsMode2(gpsMapLine);
 
 
    // if(obsDistance>6.5){
    // if(obsDistance>6.5){
      //   obsDistance=500;
      //   obsDistance=500;
@@ -3400,4 +3402,11 @@ float iv::decition::DecideGps00::computeTrafficSpeedLimt(float trafficDis){
     return limit;
     return limit;
 }
 }
 
 
-
+void iv::decition::DecideGps00::transferGpsMode2( const std::vector<GPSData> gpsMapLine){
+    if(  gpsMapLine[PathPoint]->mode2==3000){
+        if(obsDistance>5){
+            obsDistance=200;
+        }
+        dSpeed=min(dSpeed,5.0);
+    }
+}

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

@@ -204,6 +204,8 @@ public:
     float computeTrafficSpeedLimt(float trafficDis);
     float computeTrafficSpeedLimt(float trafficDis);
 
 
 
 
+    void transferGpsMode2( const std::vector<GPSData> gpsMapLine);
+
     GPS_INS aim_gps_ins;
     GPS_INS aim_gps_ins;
     GPS_INS chaoche_start_gps;
     GPS_INS chaoche_start_gps;
     bool is_arrivaled=false;
     bool is_arrivaled=false;