Procházet zdrojové kódy

add finish point speed

zhangjia před 4 roky
rodič
revize
5abdc5428e

+ 3 - 3
src/decition/decition_brain_sf/decition/adc_tools/compute_00.cpp

@@ -256,11 +256,11 @@ int iv::decition::Compute00::getPlanSpeed(std::vector<GPSData> MapTrace)
                 {
                     if((doubledata[i][3]>-0.2)&&(doubledata[i][3]<0.2)){
                         MapTrace[i]->roadMode=0;
-                    }else if(((doubledata[i][3]>0.2)&&(doubledata[i][3]<0.4))||((doubledata[i][3]>-0.4)&&(doubledata[i][3]<-0.2))){
+                    }else if(((doubledata[i][3]>0.2)&&(doubledata[i][3]<1.0))||((doubledata[i][3]>-1.0)&&(doubledata[i][3]<-0.2))){
                         MapTrace[i]->roadMode=5;
-                    }else if(((doubledata[i][3]>0.4)&&(doubledata[i][3]<1))||((doubledata[i][3]>-1)&&(doubledata[i][3]<-0.4))){
+                    }else if(((doubledata[i][3]>1.0)&&(doubledata[i][3]<2.0))||((doubledata[i][3]>-2.0)&&(doubledata[i][3]<-1.0))){
                         MapTrace[i]->roadMode=18;
-                    }else if(((doubledata[i][3]>1))||((doubledata[i][3]<-1))){
+                    }else if(((doubledata[i][3]>2.0))||((doubledata[i][3]<-2.0))){
                         MapTrace[i]->roadMode=14;
                     }
                 }

+ 6 - 3
src/decition/decition_brain_sf/decition/decide_gps_00.cpp

@@ -968,9 +968,12 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
     DecideGps00::lastGpsIndex = PathPoint;
     //2020-01-03, kkcai
     //if(!circleMode && PathPoint>gpsMapLine.size()-200){
-    if(!circleMode && PathPoint>gpsMapLine.size()-250){
-        minDecelerate=-0.5;
-        std::cout<<"map finish brake"<<std::endl;
+
+    double brake_distance=200;
+    brake_distance=max(250,(int)(dSpeed*dSpeed+150));
+    if(!circleMode && PathPoint>gpsMapLine.size()-brake_distance){
+            minDecelerate=-0.5;
+            std::cout<<"map finish brake"<<std::endl;
     }
 
 

+ 1 - 1
src/ui/ui_ads_hmi/ADCIntelligentVehicle.cpp

@@ -1277,7 +1277,7 @@ void ADCIntelligentVehicle::paintEvent(QPaintEvent *)
                 {
                     for(int b = 0; b < xfusionarray.obj(a).nomal_centroid_size(); b++)
                     {
-                        painter->drawPoint((xfusionarray.obj(a).nomal_centroid(b).nomal_x())*10 + 450, -(xfusionarray.obj(a).nomal_centroid(b).nomal_y())*10 + 700);
+                        painter->drawPoint((xfusionarray.obj(a).nomal_centroid(b).nomal_x())*10 + 450, -(xfusionarray.obj(a).nomal_centroid(b).nomal_y() + ServiceCarStatus.lidar_y_offset)*10 + 700);
                     }
                 }
             }