|
@@ -4209,14 +4209,16 @@ int iv::decition::DecideGps00::computeAvoidXDistance(iv::LidarGridPtr lidarGridP
|
|
|
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(front_car_id>0){
|
|
|
+ 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((obs_cur_distance<50)&&(front_car.front_car_dis<150)&&(front_car.avoidX!=0||front_car.vehState!=0)){
|
|
|
- signed_record_avoidX=front_car.avoidX;
|
|
|
- return signed_record_avoidX;
|
|
|
+ if((obs_cur_distance<50)&&(front_car.front_car_dis<150)&&(front_car.avoidX!=0||front_car.vehState!=0)){
|
|
|
+ signed_record_avoidX=front_car.avoidX;
|
|
|
+ return signed_record_avoidX;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if((signed_record_avoidX!=0)&&(obs_cur_distance<50))
|
|
@@ -4304,17 +4306,20 @@ 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(front_car_id>0)
|
|
|
{
|
|
|
- if(PathPoint+300<gpsMapLine.size()){
|
|
|
- for(int k=PathPoint;k<PathPoint+300;k++){
|
|
|
- if((gpsMapLine[k]->mfCurvature>0.02))
|
|
|
- return 20;
|
|
|
+ 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;
|
|
|
}
|
|
|
- return 0;
|
|
|
}
|
|
|
}
|
|
|
- if((obs_cur_distance>100)&&(vehState==normalRun))
|
|
|
+ if((obs_cur_distance>100)&&(GetDistance(now_gps_ins, startAvoidGps)>max(avoidMinDistance,40.0)))
|
|
|
{
|
|
|
if(PathPoint+300<gpsMapLine.size()){
|
|
|
for(int k=PathPoint;k<PathPoint+300;k++){
|