hybridPosePositioning

version 1.4.9 : 转子钢芯,隔板下工作部分可见时虚假检测的滤除时的距离系数由0.3调整为2.0(直径)。当点云质量不好时,0.3会导致无法找到隔板上的比较点
This commit is contained in:
jerryzeng 2026-10-13 14:18:36 +08:00
parent 084f16ae6d
commit 0d847aa039

View File

@ -31,7 +31,8 @@
//version 1.4.6 : 转子钢芯,添加隔板下工作部分可见时虚假检测的滤除,非中央部分工作按高度排序 //version 1.4.6 : 转子钢芯,添加隔板下工作部分可见时虚假检测的滤除,非中央部分工作按高度排序
//version 1.4.7 : 转子钢芯,添加无隔板检测出来时的虚假检测的滤除 //version 1.4.7 : 转子钢芯,添加无隔板检测出来时的虚假检测的滤除
//version 1.4.8 : 转子钢芯,隔板下工作部分可见时虚假检测的滤除时的距离系数由0.3调整为0.75。当点云质量不好时,0.3会导致无法找到隔板上的比较点 //version 1.4.8 : 转子钢芯,隔板下工作部分可见时虚假检测的滤除时的距离系数由0.3调整为0.75。当点云质量不好时,0.3会导致无法找到隔板上的比较点
std::string m_strVersion = "HybridPositioning 1.4.8"; //version 1.4.9 : 转子钢芯,隔板下工作部分可见时虚假检测的滤除时的距离系数由0.3调整为2.0(直径)。当点云质量不好时,0.3会导致无法找到隔板上的比较点
std::string m_strVersion = "HybridPositioning 1.4.9";
const char* wd_hybridPositioningVersion(void) const char* wd_hybridPositioningVersion(void)
{ {
return m_strVersion.c_str(); return m_strVersion.c_str();
@ -1912,7 +1913,7 @@ void wd_HRM_RotorCorePositioning(
//搜索隔板点云与工件中心最接近的点 //搜索隔板点云与工件中心最接近的点
SVzNL3DPoint nearestPt = _searchNearestPoint(spacerPoints, a_workpiece.center); SVzNL3DPoint nearestPt = _searchNearestPoint(spacerPoints, a_workpiece.center);
double dist = sqrt(pow(nearestPt.x - a_workpiece.center.x, 2) + pow(nearestPt.y - a_workpiece.center.y, 2)); double dist = sqrt(pow(nearestPt.x - a_workpiece.center.x, 2) + pow(nearestPt.y - a_workpiece.center.y, 2));
if (dist < workpieceParam.radius*0.75) if (dist < workpieceParam.radius*2)
{ {
double heightDiff = nearestPt.z - a_workpiece.center.z; double heightDiff = nearestPt.z - a_workpiece.center.z;
if (heightDiff < workpieceParam.height / 4) if (heightDiff < workpieceParam.height / 4)