|
@@ -1033,10 +1033,9 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
|
|
|
|
|
|
|
|
|
double acc_end = 0.1;
|
|
|
-
|
|
|
+ static double distoend=1000;
|
|
|
if((ServiceCarStatus.table_look_up_on==true)&&(hapo_Adapter->IsINterpolationOK()))
|
|
|
{
|
|
|
- static double distoend=1000;
|
|
|
if(PathPoint+1000>gpsMapLine.size()){
|
|
|
distoend=computeDistToEnd(gpsMapLine,PathPoint);
|
|
|
}else{
|
|
@@ -1051,7 +1050,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
|
|
|
if(acc_end<(-3.0))acc_end = -3.0;
|
|
|
}
|
|
|
|
|
|
- if(distoend < 0.1)acc_end = -0.5;
|
|
|
+ if((distoend < 0.1)||(PathPoint>=gpsMapLine.size()-2))acc_end = -0.5;
|
|
|
}
|
|
|
}else{
|
|
|
// if(!circleMode && PathPoint>gpsMapLine.size()-brake_distance){
|
|
@@ -1621,8 +1620,31 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
|
|
|
ServiceCarStatus.mObsDistance=obsDistance;
|
|
|
ServiceCarStatus.mObsSpeed=obs_speed_for_avoid;
|
|
|
|
|
|
- //old_bz--------------------------------------------------------------------------------------------------
|
|
|
+ //group map end park pro--------start
|
|
|
+ if(front_car_id>0){
|
|
|
+ static bool final_lock=false;
|
|
|
+ if((distoend<90)&&(front_car.front_car_dis<obsDistance+10)){
|
|
|
+ if((obsDistance>5)&&(obsDistance<15)){
|
|
|
+ if((realspeed>3)&&(final_lock==false)){
|
|
|
+ minDecelerate=-0.5;
|
|
|
+ }else{
|
|
|
+ dSpeed = min(3.0,dSpeed);
|
|
|
+ final_lock=true;
|
|
|
+ }
|
|
|
+ obsDistance=200;
|
|
|
+ }else if((obsDistance>2)&&(obsDistance<5)){
|
|
|
+ minDecelerate=-0.5;
|
|
|
+ }else{
|
|
|
+ minDecelerate=-1.0;
|
|
|
+ }
|
|
|
+ if(realspeed<1){
|
|
|
+ final_lock=false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //group map end park pro-----------end
|
|
|
|
|
|
+ //old_bz--------------------------------------------------------------------------------------------------
|
|
|
if (vehState == avoiding)
|
|
|
{
|
|
|
double avoidDistance=GetDistance(startAvoidGpsIns,now_gps_ins);
|
|
@@ -4121,7 +4143,7 @@ void iv::decition::DecideGps00::transferGpsMode2( const std::vector<GPSData> gps
|
|
|
if(speed_slowdown_flag==1)
|
|
|
{
|
|
|
if((realspeed>ServiceCarStatus.mroadmode_vel.mfmode18)&&(lock_flag==false)){
|
|
|
- minDecelerate=-0.5;
|
|
|
+ minDecelerate=-0.3;
|
|
|
}else{
|
|
|
dSpeed=min(dSpeed,ServiceCarStatus.mroadmode_vel.mfmode18);
|
|
|
lock_flag=true;
|