|
@@ -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()){
|