ソースを参照

add speed decision

zhangjia 3 年 前
コミット
77e660360f
1 ファイル変更6 行追加0 行削除
  1. 6 0
      src/decition/decition_brain_sf/decition/decide_gps_00.cpp

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

@@ -240,6 +240,7 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
           front_car.front_car_ins.gps_lat=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().lat();
           front_car.front_car_ins.gps_lng=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().lon();
           front_car.front_car_ins.ins_heading_angle=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().heading();
+          front_car.front_car_ins.speed=xgroupgrpcinfo.mutable_mvehinfo(front_car_vector_id)->mgpsimu().speed();
           GaussProjCal(front_car.front_car_ins.gps_lng,front_car.front_car_ins.gps_lat, &front_car.front_car_ins.gps_x, &front_car.front_car_ins.gps_y);
           front_car.front_car_dis=GetDistance(now_gps_ins,front_car.front_car_ins);
        }else{
@@ -1533,6 +1534,11 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
 //        }
     }
 
+    if(front_car_id>0){
+        if((front_car.vehState!=0)&&(front_car.front_car_dis<30)){
+            dSpeed=min(dSpeed,front_car.front_car_ins.speed);
+        }
+    }
 
     dSpeed = limitSpeed(controlAng, dSpeed);
     dSecSpeed = dSpeed / 3.6;