Quellcode durchsuchen

change lidar_radar_fusion_cnn.

name vor 2 Jahren
Ursprung
Commit
f7dd10feab

+ 1 - 1
src/detection/detection_lidar_cnn_segmentation/cnn_segmentation.cpp

@@ -241,7 +241,7 @@ bool CNNSegmentation::segment(const pcl::PointCloud<pcl::PointXYZI>::Ptr &pc_ptr
                               pcl::PointIndicesPtr & valid_idx_ptr)
 {
 
-    int64 npctime = std::chrono::system_clock::now().time_since_epoch().count()/1000000;
+    int64 npctime =  pc_ptr->header.stamp/1000;// std::chrono::system_clock::now().time_since_epoch().count()/1000000;
     if(use_gpu_)
     {
         caffe::Caffe::SetDevice(gpu_device_id_);

+ 6 - 3
src/fusion/lidar_radar_fusion_cnn/lidarbuffer.cpp

@@ -76,7 +76,7 @@ void lidarbuffer::AddLidarObj(iv::lidar::objectarray & xobjarray)
 
     mmutex.lock();
     iv::lidarobj_rec xrec;
-    xrec.nTime = xobjarray.timestamp()/1000; //to ms
+    xrec.nTime = xobjarray.timestamp(); //to ms
 
     xrec.xobjarray.CopyFrom(xobjarray);
     ChangePos(&xrec);
@@ -96,7 +96,7 @@ void lidarbuffer::ChangePos(iv::lidarobj_rec * xrec)
     unsigned int nnearindex = 0;
     int64_t ntimediff = mnLookTime;
 
-    xrec->nTime = std::chrono::system_clock::now().time_since_epoch().count()/1000000 - 100;
+//    xrec->nTime = std::chrono::system_clock::now().time_since_epoch().count()/1000000 - 100;
 
     unsigned int nsize = static_cast<unsigned int>( mvectorgps_rec.size());
     unsigned int i;
@@ -248,7 +248,7 @@ int lidarbuffer::FilterLidarObj(iv::lidar::objectarray & xobjarray)
     MergeLast(xlast);
 
     iv::lidarobj_rec xrec;
-    xrec.nTime = xobjarray.timestamp()/1000; //to ms
+    xrec.nTime = xobjarray.timestamp(); //to ms
     xrec.xobjarray.CopyFrom(xobjarray);
     mmutex.lock();
     ChangePos(&xrec);
@@ -306,6 +306,9 @@ int lidarbuffer::FilterLidarObj(iv::lidar::objectarray & xobjarray)
             pobj->mutable_position()->set_y(y_raw);
             std::cout<<" add: x:"<<x_raw<<" y: "<<y_raw<<std::endl;
 
+            iv::lidar::lidarobject * pnew =  xobjarray.add_obj();
+            pnew->CopyFrom(*pobj);
+
         }
     }
 

+ 16 - 1
src/fusion/lidar_radar_fusion_cnn/main.cpp

@@ -92,14 +92,29 @@ void Listenlidarcnndetect(const char * strdata,const unsigned int nSize,const un
         return;
     }
 
+//    static int a = 0;
+//    if(a != 0)
+//    {
+//        lidarobj.clear_obj();
+//    }
+//    a++;
+//    if(a == 2)a = 0;
+
 
+    std::cout<<" before obj size: "<<lidarobj.obj_size()<<std::endl;
     if(gbUseLastLidar)
     {
+        iv::lidar::objectarray lidarobjraw;
+        lidarobjraw.CopyFrom(lidarobj);
         gplidarbuffer->FilterLidarObj(lidarobj);
-        gplidarbuffer->AddLidarObj(lidarobj);
+        gplidarbuffer->AddLidarObj(lidarobjraw);
+
     }
 
 
+    std::cout<<" after obj size: "<<lidarobj.obj_size()<<std::endl;
+
+
     //    std::cout<<"  lidar  is  ok   "<<lidarobj.obj_size()<<std::endl;
     gMutex.lock();
 //        std::cout<<"   obj size  "<<lidarobj.obj_size()<<std::endl;