hybridPosePositioning
version 1.3.11 : 转子钢芯, 将边距系数由内部参数转为输入参数
This commit is contained in:
parent
1a1c1c47fb
commit
dc667b4d34
@ -2340,7 +2340,8 @@ void HaiRuiMa_rotorCorePositioning_test(void)
|
|||||||
workpieceParam.radius = 45.0;
|
workpieceParam.radius = 45.0;
|
||||||
workpieceParam.height = 20.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
|
double groundRemoveOffset = 200; //料筐地面去除的Z偏置,实际地面去除高度为 groundCalibPara.planeHeight - groundRemoveOffset
|
||||||
long t1 = (long)GetTickCount64();//统计时间
|
long t1 = (long)GetTickCount64();//统计时间
|
||||||
|
|
||||||
@ -2353,6 +2354,7 @@ void HaiRuiMa_rotorCorePositioning_test(void)
|
|||||||
groundCalibPara,
|
groundCalibPara,
|
||||||
workpieceParam,
|
workpieceParam,
|
||||||
layerRatio,
|
layerRatio,
|
||||||
|
distToSideRatio,
|
||||||
groundRemoveOffset,
|
groundRemoveOffset,
|
||||||
workpiecePositions,
|
workpiecePositions,
|
||||||
binInfo,
|
binInfo,
|
||||||
|
|||||||
@ -21,7 +21,8 @@
|
|||||||
//version 1.3.8 : 添加了输入栅格格式检查, 调整边缘目标为目标距料筐外廓边的距离在直径的1.1倍以内
|
//version 1.3.8 : 添加了输入栅格格式检查, 调整边缘目标为目标距料筐外廓边的距离在直径的1.1倍以内
|
||||||
//version 1.3.9 : 转子钢芯, 改进了料筐检测方法
|
//version 1.3.9 : 转子钢芯, 改进了料筐检测方法
|
||||||
//version 1.3.10 : 转子钢芯, 将分层系数由内部参数转为输入参数
|
//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)
|
const char* wd_hybridPositioningVersion(void)
|
||||||
{
|
{
|
||||||
return m_strVersion.c_str();
|
return m_strVersion.c_str();
|
||||||
@ -1090,7 +1091,8 @@ void wd_HRM_RotorCorePositioning(
|
|||||||
std::vector<WD_objArea2D>& objROIs,
|
std::vector<WD_objArea2D>& objROIs,
|
||||||
const SSG_planeCalibPara groundCalibPara,
|
const SSG_planeCalibPara groundCalibPara,
|
||||||
const SWD_Cylinder workpieceParam, //圆柱形工件的标称半径和高度
|
const SWD_Cylinder workpieceParam, //圆柱形工件的标称半径和高度
|
||||||
const double layerRatio, //分层系数,分层门限=分层系数*工作高度;当两个工作的高度差大于分层门限时,判断为在不同层
|
const double layerRatio, //分层系数,分层门限=分层系数*工件高度;当两个工件的高度差大于分层门限时,判断为在不同层
|
||||||
|
const double distToSideRatio, //边距系数,边距门限=边距系数*工件直径;当工件距边的距离大于边距门限时,判断为边上的工件
|
||||||
const double groundRemoveOffset, //料筐地面去除的Z偏置,实际地面去除高度为 groundCalibPara.planeHeight - groundRemoveOffset
|
const double groundRemoveOffset, //料筐地面去除的Z偏置,实际地面去除高度为 groundCalibPara.planeHeight - groundRemoveOffset
|
||||||
std::vector< WD_workpieceInfo>& workpiecePositions,
|
std::vector< WD_workpieceInfo>& workpiecePositions,
|
||||||
WD_HRM_BinInfo& binInfo, //输出Bin信息,用于debug,确认料筐信息检测正确
|
WD_HRM_BinInfo& binInfo, //输出Bin信息,用于debug,确认料筐信息检测正确
|
||||||
@ -1605,7 +1607,7 @@ void wd_HRM_RotorCorePositioning(
|
|||||||
SWD_3DPointPair lineRight = linePoint[lineRightIdx];
|
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;
|
double lineTop_a, lineTop_b, lineTop_c;
|
||||||
compute2ptLine(lineTop.pt1, lineTop.pt2, &lineTop_a, &lineTop_b, &lineTop_c);
|
compute2ptLine(lineTop.pt1, lineTop.pt2, &lineTop_a, &lineTop_b, &lineTop_c);
|
||||||
double lineBtm_a, lineBtm_b, lineBtm_c;
|
double lineBtm_a, lineBtm_b, lineBtm_c;
|
||||||
|
|||||||
@ -63,7 +63,8 @@ SG_APISHARED_EXPORT void wd_HRM_RotorCorePositioning(
|
|||||||
std::vector<WD_objArea2D>& objROIs,
|
std::vector<WD_objArea2D>& objROIs,
|
||||||
const SSG_planeCalibPara groundCalibPara,
|
const SSG_planeCalibPara groundCalibPara,
|
||||||
const SWD_Cylinder workpieceParam, //圆柱形工件的标称半径和高度
|
const SWD_Cylinder workpieceParam, //圆柱形工件的标称半径和高度
|
||||||
const double layerRatio, //分层系数,分层门限=分层系数*工作高度;当两个工作的高度差大于分层门限时,判断为在不同层
|
const double layerRatio, //分层系数,分层门限=分层系数*工件高度;当两个工件的高度差大于分层门限时,判断为在不同层
|
||||||
|
const double distToSideRatio, //边距系数,边距门限=边距系数*工件直径;当工件距边的距离大于边距门限时,判断为边上的工件
|
||||||
const double groundRemoveOffset, //料筐地面去除的Z偏置,实际地面去除高度为 groundCalibPara.planeHeight - groundRemoveOffset
|
const double groundRemoveOffset, //料筐地面去除的Z偏置,实际地面去除高度为 groundCalibPara.planeHeight - groundRemoveOffset
|
||||||
std::vector< WD_workpieceInfo>& workpiecePositions,
|
std::vector< WD_workpieceInfo>& workpiecePositions,
|
||||||
WD_HRM_BinInfo& binInfo, //输出Bin信息,用于debug,确认料筐信息检测正确
|
WD_HRM_BinInfo& binInfo, //输出Bin信息,用于debug,确认料筐信息检测正确
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user