|
@@ -657,6 +657,7 @@ int Ground_region::outOfRangeDetection(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud
|
|
|
// LOG_IF(WARNING, m_region.region_id() == 4)<< "border minmax x: "<< min_p.x<<", "<<max_p.x<<", res: "<<res;
|
|
|
return res;
|
|
|
#else
|
|
|
+ /*
|
|
|
if(min_p.x < m_region.border_minx()-0.000)
|
|
|
{
|
|
|
m_range_status_last |= Range_status::Range_left;
|
|
@@ -678,7 +679,38 @@ int Ground_region::outOfRangeDetection(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud
|
|
|
m_range_status_last &= (~t);
|
|
|
}
|
|
|
//else m_range_status_last no change
|
|
|
+*/
|
|
|
+ //huli 不再使用汽车左右边界来判断,直接使用中心点x值判断左右超界。
|
|
|
+ //plc坐标,1 3 5入口x为-1.8左右, 2 4 6入口为1.8左右
|
|
|
+ //要求x取值范围,1650~2150左右
|
|
|
+ float t_center_x = (min_p.x + max_p.x) / 2 + m_region.plc_offsetx();
|
|
|
+ if(t_center_x < m_region.border_minx()-0.000)
|
|
|
+ {
|
|
|
+ m_range_status_last |= Range_status::Range_left;
|
|
|
+ }
|
|
|
+ else if(t_center_x > m_region.border_minx()+0.010)
|
|
|
+ {
|
|
|
+ int t = Range_status::Range_left;
|
|
|
+ m_range_status_last &= (~t);
|
|
|
+ }
|
|
|
+ //else m_range_status_last no change
|
|
|
+
|
|
|
+ if(t_center_x > m_region.border_maxx()+0.000)
|
|
|
+ {
|
|
|
+ m_range_status_last |= Range_status::Range_right;
|
|
|
+ }
|
|
|
+ else if(t_center_x < m_region.border_maxx()-0.010)
|
|
|
+ {
|
|
|
+ int t = Range_status::Range_right;
|
|
|
+ m_range_status_last &= (~t);
|
|
|
+ }
|
|
|
+ //else m_range_status_last no change
|
|
|
|
|
|
+// LOG(WARNING) << "-------------------------------------------------------" <<std::endl;
|
|
|
+// LOG(WARNING) << "min_p.x = " << min_p.x <<std::endl;
|
|
|
+// LOG(WARNING) << "max_p.x = " << max_p.x <<std::endl;
|
|
|
+// LOG(WARNING) << "t_center_x = " << t_center_x <<std::endl;
|
|
|
+// LOG(WARNING) << "+++++++++++++++++++++++++++++++++++++++++++++++++++++++" <<std::endl;
|
|
|
|
|
|
return m_range_status_last;
|
|
|
#endif //ANTI_SHAKE
|
|
@@ -1008,8 +1040,11 @@ void Ground_region::thread_measure_func()
|
|
|
if (ec == SUCCESS)
|
|
|
{
|
|
|
// 20221208 added by yct, use avg car angle and width data.
|
|
|
- m_car_wheel_information.car_angle = t_wheel_info_stamped.wheel_data.car_angle;
|
|
|
- m_car_wheel_information.car_wheel_width = t_wheel_info_stamped.wheel_data.car_wheel_width;
|
|
|
+ // LOG(WARNING)<<m_region.region_id()<<" angles: "<<m_car_wheel_information.car_angle<<", "<<t_wheel_info_stamped.wheel_data.car_angle;
|
|
|
+ LOG(WARNING)<<m_region.region_id()<<" filter res: "<<t_wheel_info_stamped.wheel_data.to_string()<<std::endl;
|
|
|
+
|
|
|
+ // m_car_wheel_information.car_angle = t_wheel_info_stamped.wheel_data.car_angle;
|
|
|
+ // m_car_wheel_information.car_wheel_width = t_wheel_info_stamped.wheel_data.car_wheel_width;
|
|
|
|
|
|
m_car_wheel_information.car_wheel_base = t_wheel_info_stamped.wheel_data.car_wheel_base;
|
|
|
m_car_wheel_information.car_front_theta = t_wheel_info_stamped.wheel_data.car_front_theta;
|