|
@@ -158,12 +158,20 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
|
|
|
iv::fusion::Dimension dimension;
|
|
|
iv::fusion::Dimension *dimension_;
|
|
|
- dimension.set_x(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().x());
|
|
|
- dimension.set_y(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().y());
|
|
|
+ if(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().x() > lidar_object_arr.obj(match_idx[i].nlidar).dimensions().y()){
|
|
|
+ dimension.set_x(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().y());
|
|
|
+ dimension.set_y(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().x());
|
|
|
+ } else {
|
|
|
+ dimension.set_x(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().x());
|
|
|
+ dimension.set_y(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().y());
|
|
|
+ }
|
|
|
dimension.set_z(lidar_object_arr.obj(match_idx[i].nlidar).dimensions().z());
|
|
|
dimension_ = fusion_object.mutable_dimensions();
|
|
|
dimension_->CopyFrom(dimension);
|
|
|
|
|
|
+ std::cout<<" tyaw angle "<<lidar_object_arr.obj(match_idx[i].nlidar).angle()<<" __"
|
|
|
+ "________________________"<<lidar_object_arr.obj(match_idx[i].nlidar).tyaw()<<std::endl;
|
|
|
+
|
|
|
if((lidar_object_arr.obj(match_idx[i].nlidar).centroid().x()>0)&&
|
|
|
(lidar_object_arr.obj(match_idx[i].nlidar).centroid().y()>0))
|
|
|
{
|
|
@@ -181,10 +189,10 @@ void RLfusion(iv::lidar::objectarray& lidar_object_arr,iv::radar::radarobjectarr
|
|
|
float nomal_x = ix*0.2 - xp*0.2;
|
|
|
float nomal_y = iy*0.2 - yp*0.2;
|
|
|
float nomal_z = lidar_object_arr.obj(match_idx[i].nlidar).centroid().z();
|
|
|
- float s = nomal_x*cos(lidar_object_arr.obj(match_idx[i].nlidar).tyaw()) -
|
|
|
- nomal_y*sin(lidar_object_arr.obj(match_idx[i].nlidar).tyaw());
|
|
|
- float t = nomal_x*sin(lidar_object_arr.obj(match_idx[i].nlidar).tyaw()) +
|
|
|
- nomal_y*cos(lidar_object_arr.obj(match_idx[i].nlidar).tyaw());
|
|
|
+ float s = nomal_x*cos(lidar_object_arr.obj(match_idx[i].nlidar).angle()) -
|
|
|
+ nomal_y*sin(lidar_object_arr.obj(match_idx[i].nlidar).angle());
|
|
|
+ float t = nomal_x*sin(lidar_object_arr.obj(match_idx[i].nlidar).angle()) +
|
|
|
+ nomal_y*cos(lidar_object_arr.obj(match_idx[i].nlidar).angle());
|
|
|
nomal_centroid.set_nomal_x(lidar_object_arr.obj(match_idx[i].nlidar).centroid().x() + s);
|
|
|
nomal_centroid.set_nomal_y(lidar_object_arr.obj(match_idx[i].nlidar).centroid().y() + t);
|
|
|
nomal_centroid_ = fusion_object.add_nomal_centroid();
|
|
@@ -262,6 +270,7 @@ void AddMobileye(iv::fusion::fusionobjectarray& lidar_radar_fusion_object_array,
|
|
|
iv::fusion::VelXY vel_relative;
|
|
|
iv::fusion::VelXY *vel_relative_;
|
|
|
vel_relative.set_x(xobs_info.xobj(j).obs_rel_vel_x() * tan(xobs_info.xobj(j).obsang()));
|
|
|
+// vel_relative.set_x(xobs_info.xobj(j).obs_rel_vel_x());
|
|
|
vel_relative.set_y(xobs_info.xobj(j).obs_rel_vel_x());
|
|
|
vel_relative_ = fusion_obj.mutable_vel_relative();
|
|
|
vel_relative_->CopyFrom(vel_relative);
|
|
@@ -276,8 +285,19 @@ void AddMobileye(iv::fusion::fusionobjectarray& lidar_radar_fusion_object_array,
|
|
|
|
|
|
iv::fusion::Dimension dimension;
|
|
|
iv::fusion::Dimension *dimension_;
|
|
|
- dimension.set_x(xobs_info.xobj(j).obswidth());
|
|
|
- dimension.set_y(2.0);
|
|
|
+ if (xobs_info.xobj(j).obswidth() >= 2.5)
|
|
|
+ {
|
|
|
+ dimension.set_x(2.5);
|
|
|
+ if (xobs_info.xobj(j).obswidth() >= 5.0)
|
|
|
+ {
|
|
|
+ dimension.set_y(5.0);
|
|
|
+ }else {
|
|
|
+ dimension.set_y(xobs_info.xobj(j).obswidth());
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ dimension.set_x(xobs_info.xobj(j).obswidth());
|
|
|
+ dimension.set_y(2.5);
|
|
|
+ }
|
|
|
dimension.set_z(1.0);
|
|
|
dimension_ = fusion_obj.mutable_dimensions();
|
|
|
dimension_->CopyFrom(dimension);
|