Browse Source

add obs bounary

zhangjia 4 years ago
parent
commit
9d5a14ac03

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

@@ -144,6 +144,8 @@ namespace iv {
         boost::array<iv::ObstacleBasic, 64> obs_radar;//毫米波雷达的障碍物数据
          boost::array<iv::ObstacleBasic, 64> obs_rear_radar;//houxiang毫米波雷达的障碍物数据
         iv::ultrasonic_obs multrasonic_obs;
+        std::vector<iv::TracePoint> obsTraceLeft,obsTraceRight;
+
         double mfGPSAcc = 0;
 
 //        iv::brain::decitionview mdecitionview;

+ 10 - 0
src/decition/decition_brain/decition/adc_tools/compute_00.cpp

@@ -433,6 +433,8 @@ iv::Point2D iv::decition::Compute00::getLidarObsPoint(std::vector<Point2D> gpsTr
         xiuzheng=0-ServiceCarStatus.msysparam.lidarGpsXiuzheng;
     }
 
+    ServiceCarStatus.obsTraceLeft.clear();
+    ServiceCarStatus.obsTraceRight.clear();
 
     for (int j = 0; j < gpsTrace.size(); j++)
     {
@@ -467,6 +469,14 @@ iv::Point2D iv::decition::Compute00::getLidarObsPoint(std::vector<Point2D> gpsTr
         gpsTraceLeft.push_back(ptLeft);
         gpsTraceRight.push_back(ptRight);
 
+
+        TracePoint obsptleft(ptLeft.x,ptLeft.y);
+        ServiceCarStatus.obsTraceLeft.push_back(obsptleft);
+
+        TracePoint obsptright(ptRight.x,ptRight.y);
+        ServiceCarStatus.obsTraceLeft.push_back(obsptright);
+
+
     }
 
 

+ 4 - 2
src/decition/decition_brain/decition/brain.cpp

@@ -166,6 +166,8 @@ iv::decition::BrainDecition::BrainDecition()
     void * pa = iv::modulecomm::RegisterRecvPlus(gstrmemchassis.data(),funchassis);
 
     mpaPlanTrace = iv::modulecomm::RegisterSend("plantrace",100000,1);
+    mpaObsTraceLeft = iv::modulecomm::RegisterSend("obstraceleft",100000,1);
+    mpaObsTraceRight = iv::modulecomm::RegisterSend("obstraceright",100000,1);
 
     mTime.start();
     mnOldTime = mTime.elapsed();
@@ -630,8 +632,8 @@ void iv::decition::BrainDecition::run() {
             }
             iv::modulecomm::ModuleSendMsg(mpaPlanTrace,(char *)decitionGps00->planTrace.data(),decitionGps00->planTrace.size()*sizeof(iv::TracePoint));
 
-
-
+            iv::modulecomm::ModuleSendMsg(mpaObsTraceLeft,(char *)ServiceCarStatus.obsTraceLeft.data(),ServiceCarStatus.obsTraceLeft.size()*sizeof(iv::TracePoint));
+            iv::modulecomm::ModuleSendMsg(mpaObsTraceRight,(char *)ServiceCarStatus.obsTraceRight.data(),ServiceCarStatus.obsTraceRight.size()*sizeof(iv::TracePoint));
             //      decition_gps = decitionLine00->getDecideFromGPS(*gps_data_, navigation_data, obs_lidar_grid_);
             //ODS("\n决策:%f\t%f\t\t", decition_gps->speed, decition_gps->wheel_angle);
             //ODS("\n接收到的实时GPS数据:%f\t%f\t%f\n", gps_data_->gps_x, gps_data_->gps_y,gps_data_->ins_heading_angle);

+ 2 - 0
src/decition/decition_brain/decition/brain.h

@@ -127,6 +127,8 @@ namespace iv {
             void * mpaVechicleState;
             void * mpaToPlatform;
             void * mpaPlanTrace;
+            void * mpaObsTraceLeft;
+            void * mpaObsTraceRight;
 
 
             void ShareDecition(iv::decition::Decition decition);