diff --git a/hybridPosePositioning_test/hybridPosePositioning_test.cpp b/hybridPosePositioning_test/hybridPosePositioning_test.cpp index d89edd5..5998521 100644 --- a/hybridPosePositioning_test/hybridPosePositioning_test.cpp +++ b/hybridPosePositioning_test/hybridPosePositioning_test.cpp @@ -2340,7 +2340,8 @@ void HaiRuiMa_rotorCorePositioning_test(void) workpieceParam.radius = 45.0; workpieceParam.height = 20.0; - double layerRatio = 0.5; //分层系数,分层门限=分层系数*工作高度;当两个工作的高度差大于分层门限时,判断为在不同层 + double layerRatio = 0.5; //分层系数,分层门限=分层系数*工件高度;当两个工件的高度差大于分层门限时,判断为在不同层 + const double distToSideRatio = 1.1; //边距系数,边距门限=边距系数*工件直径;当工件距边的距离大于边距门限时,判断为边上的工件 double groundRemoveOffset = 200; //料筐地面去除的Z偏置,实际地面去除高度为 groundCalibPara.planeHeight - groundRemoveOffset long t1 = (long)GetTickCount64();//统计时间 @@ -2353,6 +2354,7 @@ void HaiRuiMa_rotorCorePositioning_test(void) groundCalibPara, workpieceParam, layerRatio, + distToSideRatio, groundRemoveOffset, workpiecePositions, binInfo, diff --git a/sourceCode/hybridPosePositioning.cpp b/sourceCode/hybridPosePositioning.cpp index c65c378..c65f46b 100644 --- a/sourceCode/hybridPosePositioning.cpp +++ b/sourceCode/hybridPosePositioning.cpp @@ -21,7 +21,8 @@ //version 1.3.8 : դʽ飬 ԵĿΪĿϿߵľֱ1.1 //version 1.3.9 : תӸо ĽϿⷽ //version 1.3.10 : תӸо ֲϵڲתΪ -std::string m_strVersion = "HybridPositioning 1.3.10"; +//version 1.3.11 : תӸо ߾ϵڲתΪ +std::string m_strVersion = "HybridPositioning 1.3.11"; const char* wd_hybridPositioningVersion(void) { return m_strVersion.c_str(); @@ -1090,7 +1091,8 @@ void wd_HRM_RotorCorePositioning( std::vector& objROIs, const SSG_planeCalibPara groundCalibPara, const SWD_Cylinder workpieceParam, //Բιıư뾶͸߶ - const double layerRatio, //ֲϵֲ=ֲϵ*߶ȣĸ߶ȲڷֲʱжΪڲͬ + const double layerRatio, //ֲϵֲ=ֲϵ*߶ȣĸ߶ȲڷֲʱжΪڲͬ + const double distToSideRatio, //߾ϵ߾=߾ϵ*ֱߵľڱ߾ʱжΪϵĹ const double groundRemoveOffset, //ϿȥZƫãʵʵȥ߶Ϊ groundCalibPara.planeHeight - groundRemoveOffset std::vector< WD_workpieceInfo>& workpiecePositions, WD_HRM_BinInfo& binInfo, //BinϢdebugȷϿϢȷ @@ -1605,7 +1607,7 @@ void wd_HRM_RotorCorePositioning( SWD_3DPointPair lineRight = linePoint[lineRightIdx]; //㹤λãϡϡ¡ĸǣߣ벿 //е۶ԲֵͬĹòͬץȡ - double distToSideTh = (workpieceParam.radius * 2) * 1.1; + double distToSideTh = (workpieceParam.radius * 2) * distToSideRatio; double lineTop_a, lineTop_b, lineTop_c; compute2ptLine(lineTop.pt1, lineTop.pt2, &lineTop_a, &lineTop_b, &lineTop_c); double lineBtm_a, lineBtm_b, lineBtm_c; diff --git a/sourceCode/hybridPosePositioning_Export.h b/sourceCode/hybridPosePositioning_Export.h index a1d73f1..33901f8 100644 --- a/sourceCode/hybridPosePositioning_Export.h +++ b/sourceCode/hybridPosePositioning_Export.h @@ -63,7 +63,8 @@ SG_APISHARED_EXPORT void wd_HRM_RotorCorePositioning( std::vector& objROIs, const SSG_planeCalibPara groundCalibPara, const SWD_Cylinder workpieceParam, //Բιıư뾶͸߶ - const double layerRatio, //ֲϵֲ=ֲϵ*߶ȣĸ߶ȲڷֲʱжΪڲͬ + const double layerRatio, //ֲϵֲ=ֲϵ*߶ȣĸ߶ȲڷֲʱжΪڲͬ + const double distToSideRatio, //߾ϵ߾=߾ϵ*ֱߵľڱ߾ʱжΪϵĹ const double groundRemoveOffset, //ϿȥZƫãʵʵȥ߶Ϊ groundCalibPara.planeHeight - groundRemoveOffset std::vector< WD_workpieceInfo>& workpiecePositions, WD_HRM_BinInfo& binInfo, //BinϢdebugȷϿϢȷ