|
@@ -1863,7 +1863,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
|
|
int road_permit_sum=0;
|
|
int road_permit_sum=0;
|
|
for(int k=PathPoint;k<PathPoint+400;k++){
|
|
for(int k=PathPoint;k<PathPoint+400;k++){
|
|
//if((gpsMapLine[k]->mbnoavoid==false)&&(gpsMapLine[k]->roadSum>1))
|
|
//if((gpsMapLine[k]->mbnoavoid==false)&&(gpsMapLine[k]->roadSum>1))
|
|
- if(gpsMapLine[k]->mbnoavoid==false) //apollo_fu 20220622
|
|
|
|
|
|
+ if((gpsMapLine[k]->mbnoavoid==false) && (abs(gpsMapLine[k]->mfCurvature) < 0.03) ) //apollo_fu 20220622
|
|
road_permit_sum++;
|
|
road_permit_sum++;
|
|
}
|
|
}
|
|
if(road_permit_sum>=400)
|
|
if(road_permit_sum>=400)
|
|
@@ -4364,9 +4364,13 @@ double iv::decition::DecideGps00::computeDistToEnd(const std::vector<GPSData> gp
|
|
|
|
|
|
void iv::decition::DecideGps00::computeAvoidBoundary(int roadOriginal,int roadSumMap,double roadWidthEvery,double vehicleWidth,int* avoidXLeft, int* avoidXRight ){
|
|
void iv::decition::DecideGps00::computeAvoidBoundary(int roadOriginal,int roadSumMap,double roadWidthEvery,double vehicleWidth,int* avoidXLeft, int* avoidXRight ){
|
|
|
|
|
|
- double RightBoundary=(((double)roadOriginal+0.5)*roadWidthEvery-vehicleWidth/2);
|
|
|
|
|
|
+ //double RightBoundary=(((double)roadOriginal+0.5)*roadWidthEvery-vehicleWidth/2);
|
|
|
|
+ double RightBoundary=(((double)roadOriginal+0.5)*roadWidthEvery-vehicleWidth);
|
|
|
|
+
|
|
*avoidXRight=((int)RightBoundary);
|
|
*avoidXRight=((int)RightBoundary);
|
|
- double LeftBoundary=(((double)(roadSumMap-roadOriginal-1)+0.5)*roadWidthEvery-vehicleWidth/2);
|
|
|
|
|
|
+ //double LeftBoundary=(((double)(roadSumMap-roadOriginal-1)+0.5)*roadWidthEvery-vehicleWidth/2);
|
|
|
|
+ double LeftBoundary=(((double)(roadSumMap-roadOriginal-1)+0.5)*roadWidthEvery-vehicleWidth);
|
|
|
|
+
|
|
*avoidXLeft=(-(int)LeftBoundary);
|
|
*avoidXLeft=(-(int)LeftBoundary);
|
|
}
|
|
}
|
|
|
|
|