|
@@ -30,6 +30,7 @@ void Get_AssociationMat(iv::lidar::objectarray& lidar_object_arry,iv::radar::rad
|
|
|
int nradar = radar_object_array.obj_size();
|
|
|
match_idx.clear();
|
|
|
radar_idx.clear();
|
|
|
+// std::cout<<"radar size: "<<nradar<<std::endl;
|
|
|
for(int i = 0; i<nlidar; i++)
|
|
|
{
|
|
|
match_index match;
|
|
@@ -67,8 +68,10 @@ void Get_AssociationMat(iv::lidar::objectarray& lidar_object_arry,iv::radar::rad
|
|
|
match_idx.push_back(match);
|
|
|
|
|
|
}
|
|
|
-//std::cout<<" match_size : "<<match_idx.size()<<" "<<match_idx[0].nradar<<std::endl;
|
|
|
-
|
|
|
+ for(int k = 0; k<match_idx.size(); k++)
|
|
|
+ {
|
|
|
+ std::cout<<" lidar radar "<<match_idx[k].nlidar<<" "<<match_idx[k].nradar<<std::endl;
|
|
|
+}
|
|
|
for(int k = 0; k<radar_object_array.obj_size(); k++)
|
|
|
{
|
|
|
std::vector<int> indexs;
|
|
@@ -118,6 +121,9 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
iv::fusion::VelXY *vel_relative_;
|
|
|
vel_relative.set_x(lidar_object_arr.obj(match_idx[i].nlidar).vel_relative().x());
|
|
|
vel_relative.set_y(lidar_object_arr.obj(match_idx[i].nlidar).vel_relative().y());
|
|
|
+ fusion_object.set_velocity_linear_x(-lidar_object_arr.obj(match_idx[i].nlidar).velocity_linear_x());
|
|
|
+// std::cout<<"lidar: "<<-lidar_object_arr.obj(match_idx[i].nlidar).velocity_linear_x()<<std::endl;
|
|
|
+
|
|
|
vel_relative_ = fusion_object.mutable_vel_relative();
|
|
|
vel_relative_->CopyFrom(vel_relative);
|
|
|
|
|
@@ -128,8 +134,10 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
centroid.set_z(lidar_object_arr.obj(match_idx[i].nlidar).centroid().z());
|
|
|
centroid_ = fusion_object.mutable_centroid();
|
|
|
centroid_->CopyFrom(centroid);
|
|
|
+// std::cout<<"lidar: "<<centroid.y()<<" "<<fusion_object.type()<<std::endl;
|
|
|
+#ifdef DEBUG_SHOW
|
|
|
std::cout<<"lidar: "<<centroid.x()<<","<<centroid.y()<<","<<centroid.z()<<std::endl;
|
|
|
-
|
|
|
+#endif
|
|
|
}else {
|
|
|
// std::cout<<" fusion is ok "<<std::endl;
|
|
|
fusion_object.set_yaw(radar_object_array.obj(match_idx.at(i).nradar).angle());
|
|
@@ -137,10 +145,13 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
|
|
|
iv::fusion::VelXY vel_relative;
|
|
|
iv::fusion::VelXY *vel_relative_;
|
|
|
-// vel_relative.set_x(radar_object_array.obj(match_idx.at(i).nradar).vx());
|
|
|
-// vel_relative.set_y(radar_object_array.obj(match_idx.at(i).nradar).vy());
|
|
|
- vel_relative.set_x(lidar_object_arr.obj(match_idx[i].nlidar).vel_relative().x());
|
|
|
- vel_relative.set_y(lidar_object_arr.obj(match_idx[i].nlidar).vel_relative().y());
|
|
|
+ vel_relative.set_x(radar_object_array.obj(match_idx.at(i).nradar).vx());
|
|
|
+ vel_relative.set_y(radar_object_array.obj(match_idx.at(i).nradar).vy());
|
|
|
+ fusion_object.set_velocity_linear_x(radar_object_array.obj(match_idx.at(i).nradar).vy());
|
|
|
+// std::cout<<"lidar: "<<-lidar_object_arr.obj(match_idx[i].nlidar).velocity_linear_x()<<" radar: "<<radar_object_array.obj(match_idx.at(i).nradar).vy()<<std::endl;
|
|
|
+// vel_relative.set_x(lidar_object_arr.obj(match_idx[i].nlidar).vel_relative().x());
|
|
|
+// vel_relative.set_y(lidar_object_arr.obj(match_idx[i].nlidar).vel_relative().y());
|
|
|
+// std::cout<<"radar: "<<radar_object_array.obj(match_idx.at(i).nradar).vx()<<","<<radar_object_array.obj(match_idx.at(i).nradar).vy()<<std::endl;
|
|
|
vel_relative_ = fusion_object.mutable_vel_relative();
|
|
|
vel_relative_->CopyFrom(vel_relative);
|
|
|
|
|
@@ -148,6 +159,7 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
iv::fusion::VelXY *vel_abs_;
|
|
|
vel_abs.set_x(radar_object_array.obj(match_idx.at(i).nradar).vx());
|
|
|
vel_abs.set_y(radar_object_array.obj(match_idx.at(i).nradar).vy());
|
|
|
+
|
|
|
vel_abs_ = fusion_object.mutable_vel_abs();
|
|
|
vel_abs_->CopyFrom(vel_abs);
|
|
|
|
|
@@ -158,6 +170,7 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
centroid.set_z(lidar_object_arr.obj(match_idx[i].nlidar).centroid().z());
|
|
|
centroid_ = fusion_object.mutable_centroid();
|
|
|
centroid_->CopyFrom(centroid);
|
|
|
+// std::cout<<"radar: "<<centroid.y()<<std::endl;
|
|
|
#ifdef DEBUG_SHOW
|
|
|
std::cout<<"radar: "<<centroid.x()<<","<<centroid.y()<<","<<centroid.z()<<std::endl;
|
|
|
#endif
|
|
@@ -171,7 +184,7 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
dimension_ = fusion_object.mutable_dimensions();
|
|
|
dimension_->CopyFrom(dimension);
|
|
|
|
|
|
- std::cout<<" x y z: "<<lidar_object_arr.obj(match_idx[i].nlidar).dimensions().x()<<" "<<lidar_object_arr.obj(match_idx[i].nlidar).dimensions().y()<<std::endl;
|
|
|
+// std::cout<<" x y z: "<<lidar_object_arr.obj(match_idx[i].nlidar).dimensions().x()<<" "<<lidar_object_arr.obj(match_idx[i].nlidar).dimensions().y()<<std::endl;
|
|
|
|
|
|
|
|
|
|
|
@@ -179,13 +192,15 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
pobj->CopyFrom(fusion_object);
|
|
|
}
|
|
|
for(int j = 0; j< radar_idx.size() ; j++){
|
|
|
- break;
|
|
|
+// break;
|
|
|
+ if(radar_object_array.obj(radar_idx[j]).y()<50) continue;
|
|
|
iv::fusion::fusionobject fusion_obj;
|
|
|
fusion_obj.set_yaw(radar_object_array.obj(radar_idx[j]).angle());
|
|
|
iv::fusion::VelXY vel_relative;
|
|
|
iv::fusion::VelXY *vel_relative_;
|
|
|
vel_relative.set_x(radar_object_array.obj(radar_idx[j]).vx());
|
|
|
vel_relative.set_y(radar_object_array.obj(radar_idx[j]).vy());
|
|
|
+ fusion_obj.set_velocity_linear_x(radar_object_array.obj(radar_idx[j]).vy());
|
|
|
vel_relative_ = fusion_obj.mutable_vel_relative();
|
|
|
vel_relative_->CopyFrom(vel_relative);
|
|
|
|
|
@@ -196,7 +211,7 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
centroid.set_z(1.0);
|
|
|
centroid_ = fusion_obj.mutable_centroid();
|
|
|
centroid_->CopyFrom(centroid);
|
|
|
-
|
|
|
+//std::cout<<"radar>50: "<<centroid.y()<<std::endl;
|
|
|
iv::fusion::Dimension dimension;
|
|
|
iv::fusion::Dimension *dimension_;
|
|
|
dimension.set_x(0.5);
|
|
@@ -261,8 +276,8 @@ void ObsToNormal(iv::fusion::fusionobjectarray& lidar_radar_fusion_object_array)
|
|
|
{
|
|
|
for(int i = 0; i < lidar_radar_fusion_object_array.obj_size(); i++)
|
|
|
{
|
|
|
- if((lidar_radar_fusion_object_array.obj(i).sensor_type() == 0) &&(lidar_radar_fusion_object_array.obj(i).centroid().y() > 20 || abs(lidar_radar_fusion_object_array.obj(i).centroid().x())>10) ) continue;
|
|
|
- if ((lidar_radar_fusion_object_array.obj(i).sensor_type() == 0)&&(lidar_radar_fusion_object_array.obj(i).centroid().y()>10 && abs(lidar_radar_fusion_object_array.obj(i).centroid().x())<1.3)) continue;
|
|
|
+// if((lidar_radar_fusion_object_array.obj(i).sensor_type() == 0) &&(lidar_radar_fusion_object_array.obj(i).centroid().y() > 20 || abs(lidar_radar_fusion_object_array.obj(i).centroid().x())>10) ) continue;
|
|
|
+// if ((lidar_radar_fusion_object_array.obj(i).sensor_type() == 0)&&(lidar_radar_fusion_object_array.obj(i).centroid().y()>10 && abs(lidar_radar_fusion_object_array.obj(i).centroid().x())<1.3)) continue;
|
|
|
if((lidar_radar_fusion_object_array.obj(i).sensor_type() == 0)&&(lidar_radar_fusion_object_array.obj(i).centroid().y() <1.0 && abs(lidar_radar_fusion_object_array.obj(i).centroid().x())<1.3)) continue;
|
|
|
|
|
|
if((lidar_radar_fusion_object_array.obj(i).dimensions().x()>0)&&
|