zhangjia 3 vuotta sitten
vanhempi
commit
7e8ff287d0

+ 1 - 0
src/decition/common/common/car_status.h

@@ -88,6 +88,7 @@ namespace iv {
               float group_frontDistance=0.0;
 
               float mfttc = 0;
+              bool txt_log_on=false;
 
 
         std::vector <iv::platform::station> car_stations;

+ 14 - 27
src/decition/decition_brain_sf/decition/adc_adapter/hapo_adapter.cpp

@@ -192,14 +192,11 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
     lastTorque=(*decition)->torque;
 
 
-    givlog->debug("brain_decition","brake: %f,obsDistance: %f,obsSpeed: %f,reverse_speed: %f",
-                            (*decition)->brake,obsDistance,obsSpeed,reverse_speed);
-
-    givlog->debug("brain_decition","dSpeed: %f,realspeed: %f,brake: %f,torque: %f",
-                            dSpeed,realSpeed,(*decition)->brake,(*decition)->torque);
-
-
+//    givlog->debug("brain_decition","brake: %f,obsDistance: %f,obsSpeed: %f,reverse_speed: %f",
+//                            (*decition)->brake,obsDistance,obsSpeed,reverse_speed);
 
+//    givlog->debug("brain_decition","dSpeed: %f,realspeed: %f,brake: %f,torque: %f",
+//                            dSpeed,realSpeed,(*decition)->brake,(*decition)->torque);
 
     (*decition)->grade=1;
     (*decition)->mode=1;
@@ -250,32 +247,22 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
     (*decition)->wheel_angle+=ServiceCarStatus.mfEPSOff;
 
     (*decition)->wheel_angle=max((float)-870.0,(*decition)->wheel_angle);
-     (*decition)->wheel_angle=min((float)870.0,(*decition)->wheel_angle);
-
-
-
-
-        //dangweiTrasfer
-//             if((decition_gps->dangWei!=ServiceCarStatus.dangwei_st && ServiceCarStatus.dangwei_st!=0)){
-//                 decition_gps->dangWei=2;
-//                 decition_gps->torque=0;
-//             }
+    (*decition)->wheel_angle=min((float)870.0,(*decition)->wheel_angle);
      lastDangWei= (*decition)->dangWei;
 
-            (*decition)->topLight=0; //1116
-            (*decition)->nearLight=0;
-             (*decition)->farLight=0;
-
+     (*decition)->topLight=0; //1116
+     (*decition)->nearLight=0;
+     (*decition)->farLight=0;
 
 
-       (*decition)->door=3;
 
-std::cout<<"==========================================="<<std::endl;
-     std::cout<<"dSpeed:"<<dSpeed<<"   realSpeed:"<<realSpeed<<"   acc:"<<accAim<<"  torque_st:"<<ServiceCarStatus.torque_st
-             <<"  decideTorque:"<<(*decition)->torque <<"  decideBrake:"<<(*decition)->brake
-    <<std::endl;
-std::cout<<"========================================="<<std::endl;
+     (*decition)->door=3;
 
+//std::cout<<"==========================================="<<std::endl;
+//     std::cout<<"dSpeed:"<<dSpeed<<"   realSpeed:"<<realSpeed<<"   acc:"<<accAim<<"  torque_st:"<<ServiceCarStatus.torque_st
+//             <<"  decideTorque:"<<(*decition)->torque <<"  decideBrake:"<<(*decition)->brake
+//    <<std::endl;
+//std::cout<<"========================================="<<std::endl;
 
    (*decition)->accelerator=  (*decition)->torque ;
     return *decition;

+ 9 - 9
src/decition/decition_brain_sf/decition/adc_tools/compute_00.cpp

@@ -343,15 +343,15 @@ int iv::decition::Compute00::getPlanSpeed(std::vector<GPSData> MapTrace)
                     }
                 }
 
-                for(int i=0;i<MapTrace.size();i++){
-                    //将数据写入文件开始
-                    ofstream outfile;
-                    outfile.open("ctr0108003.txt", ostream::app);
-                    outfile<<"Delta"<< ","  <<doubledata[i][3]<< ","<<"roadMode"<< ","  <<MapTrace[i]->roadMode<< ","
-                           <<"plan_speed"<< ","  << doubledata[i][4]<< ","<<endl;
-                    outfile.close();
-                    //将数据写入文件结束
-                }
+//                for(int i=0;i<MapTrace.size();i++){
+//                    //将数据写入文件开始
+//                    ofstream outfile;
+//                    outfile.open("ctr0108003.txt", ostream::app);
+//                    outfile<<"Delta"<< ","  <<doubledata[i][3]<< ","<<"roadMode"<< ","  <<MapTrace[i]->roadMode<< ","
+//                           <<"plan_speed"<< ","  << doubledata[i][4]<< ","<<endl;
+//                    outfile.close();
+//                    //将数据写入文件结束
+//                }
 
 }
 

+ 21 - 0
src/decition/decition_brain_sf/decition/brain.cpp

@@ -9,7 +9,10 @@
 #include <iostream>
 #include "xmlparam.h"
 #include "qcoreapplication.h"
+#include <fstream>
+#include <QTime>
 
+using namespace std;
 
 extern std::string gstrmemdecition;
 extern std::string gstrmembrainstate;
@@ -309,7 +312,25 @@ void iv::decition::BrainDecition::run() {
         ServiceCarStatus.speed_control=false;
     }
 
+    std::string log_on= xp.GetParam("log","false");
+    if(log_on=="true"){
+        ServiceCarStatus.txt_log_on=true;
+    }else{
+        ServiceCarStatus.txt_log_on=false;
+    }
 
+    if(ServiceCarStatus.txt_log_on==true){
+        QDateTime dt = QDateTime::currentDateTime();
+        //将数据写入文件开始
+        ofstream outfile;
+        outfile.open("control_log.txt", ostream::ate);
+        outfile.flush();
+        outfile<<dt.date().year()<<"-"<<dt.date().month()<<"-"<<dt.date().day()<<" "<<dt.time().hour()<<":"<<dt.time().minute()<<":"<<dt.time().second()<<"-"<<dt.time().msec()<<'\t'
+              <<"vehState"<<'\t'<<"PathPoint"<<'\t'<<setprecision(4)<<"dSpeed"<<'\t'<<"obsDistance"<<'\t'<<"obsSpeed"<<'\t'<<"realspeed"<<'\t'<<"minDecelerate"<<'\t'
+             <<"torque"<<'\t'<<"brake"<<'\t'<<"wheel_angle"<<endl;
+        outfile.close();
+        //将数据写入文件结束
+    }
 
     std::string strparklat = xp.GetParam("parklat","39.0624557");
     std::string strparklng = xp.GetParam("parklng","117.3575493");

+ 20 - 29
src/decition/decition_brain_sf/decition/decide_gps_00.cpp

@@ -16,6 +16,7 @@
 #include <decition/adc_planner/lane_change_planner.h>
 #include <decition/adc_planner/frenet_planner.h>
 #include <QTime>
+#include <iomanip>
 
 using namespace std;
 
@@ -1116,8 +1117,8 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
         }
     }
 
-    givlog->debug("brain_decition","vehState: %d,controlAng: %f",
-            vehState,controlAng);
+//    givlog->debug("brain_decition","vehState: %d,controlAng: %f",
+//            vehState,controlAng);
 
 
     //准备驻车
@@ -1168,18 +1169,6 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
                 readyZhucheMode = false;
                 cout<<"jinru ZHECHE STATE+++++++++++++++++++++++++++++++++"<<endl;
 
-                //1125
-                //                 gps_decition->brake=20;
-                //                 gps_decition->accelerator = -3;
-                //                 gps_decition->wheel_angle = 0-controlAng;
-                //                 gps_decition->speed = 0;
-                //                 gps_decition->torque=0;
-                //                 return gps_decition;
-
-
-
-
-
             }
 
         }
@@ -1326,8 +1315,8 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
 
     dSpeed = limitSpeed(controlAng, dSpeed);
     dSecSpeed = dSpeed / 3.6;
-    givlog->debug("brain_decition_speed","dspeed: %f",
-                  dSpeed);
+//    givlog->debug("brain_decition_speed","dspeed: %f",
+//                  dSpeed);
 
 
     if(vehState==changingRoad){
@@ -1884,7 +1873,6 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
     }else if(obsDistance>0 && obsDistance<15){
         dSpeed=0;
     }
-    //  obsDistance=-1; //1227
 
     if(ServiceCarStatus.group_control){
         dSpeed = ServiceCarStatus.group_comm_speed;
@@ -1893,21 +1881,24 @@ iv::decition::Decition iv::decition::DecideGps00::getDecideFromGPS(GPS_INS now_g
         minDecelerate=min(-1.0f,minDecelerate);
     }
 
-    std::cout<<"dSpeed= "<<dSpeed<<std::endl;
-
-    // givlog->debug("SPEED","dSpeed is %f",dSpeed);
-
-    std::cout<<"obs_distance++++++++++++++++++++++++++++++++++="<<obsDistance<<std::endl;
-
     gps_decition->wheel_angle = 0.0 - controlAng;
     phaseSpeedDecition(gps_decition, secSpeed, obsDistance, obsSpeed,now_gps_ins);
 
 
+    givlog->debug("decition_brain","vehState: %d,PathPoint: %d,dSpeed: %f,obsDistance: %f,obsSpeed: %f,realspeed: %f,minDecelerate: %f,torque: %f,brake: %f,wheel_angle: %f",
+            vehState,PathPoint,dSpeed,obsDistance,obsSpeed,realspeed,minDecelerate,gps_decition->torque,gps_decition->brake,gps_decition->wheel_angle);
 
-
-
-
-
+    if(ServiceCarStatus.txt_log_on==true){
+        QDateTime dt = QDateTime::currentDateTime();
+        //将数据写入文件开始
+        ofstream outfile;
+        outfile.open("control_log.txt", ostream::app);
+        outfile<<dt.date().year()<<"-"<<dt.date().month()<<"-"<<dt.date().day()<<" "<<dt.time().hour()<<":"<<dt.time().minute()<<":"<<dt.time().second()<<"-"<<dt.time().msec()<<'\t'
+              <<vehState<<'\t'<<PathPoint<<'\t'<<setprecision(4)<<dSpeed<<'\t'<<obsDistance<<'\t'<<obsSpeed<<'\t'<<realspeed<<'\t'<<minDecelerate<<'\t'
+             <<gps_decition->torque<<'\t'<<gps_decition->brake<<'\t'<<gps_decition->wheel_angle<<endl;
+        outfile.close();
+        //将数据写入文件结束
+    }
 
 
     lastAngle=gps_decition->wheel_angle;
@@ -3654,8 +3645,8 @@ void iv::decition::DecideGps00::transferGpsMode2( const std::vector<GPSData> gps
             obsDistance=200;
         }
         dSpeed=min(dSpeed,5.0);
-        givlog->debug("brain_decition","mode2: %d",
-                      gpsMapLine[PathPoint]->mode2);
+//        givlog->debug("brain_decition","mode2: %d",
+//                      gpsMapLine[PathPoint]->mode2);
 
     }
     else if(gpsMapLine[PathPoint]->mode2==3001){