diff --git a/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Inc/IVrConfig.h b/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Inc/IVrConfig.h index e9133a1e..c45852a9 100644 --- a/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Inc/IVrConfig.h +++ b/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Inc/IVrConfig.h @@ -81,6 +81,7 @@ struct VrRotorCoreParam double radius = 45.0; double height = 20.0; double layerRatio = 0.5; // 分层系数 + double distToSideRatio = 1.1; // 边�系数 double groundRemoveOffset = 200.0; // 地�去除Z�置 }; diff --git a/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Src/VrConfig.cpp b/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Src/VrConfig.cpp index 2904f7e8..a61f4ab6 100644 --- a/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Src/VrConfig.cpp +++ b/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/Src/VrConfig.cpp @@ -171,6 +171,8 @@ int CVrConfig::LoadConfig(const std::string& filePath, ConfigResult& configResul rotorParam.height = rotorCoreParamElement->DoubleAttribute("height"); if (rotorCoreParamElement->Attribute("layerRatio")) rotorParam.layerRatio = rotorCoreParamElement->DoubleAttribute("layerRatio"); + if (rotorCoreParamElement->Attribute("distToSideRatio")) + rotorParam.distToSideRatio = rotorCoreParamElement->DoubleAttribute("distToSideRatio"); if (rotorCoreParamElement->Attribute("groundRemoveOffset")) rotorParam.groundRemoveOffset = rotorCoreParamElement->DoubleAttribute("groundRemoveOffset"); } @@ -436,6 +438,7 @@ bool CVrConfig::SaveConfig(const std::string& filePath, ConfigResult& configResu rotorCoreParamElement->SetAttribute("radius", configResult.algorithmParams.rotorCoreParam.radius); rotorCoreParamElement->SetAttribute("height", configResult.algorithmParams.rotorCoreParam.height); rotorCoreParamElement->SetAttribute("layerRatio", configResult.algorithmParams.rotorCoreParam.layerRatio); + rotorCoreParamElement->SetAttribute("distToSideRatio", configResult.algorithmParams.rotorCoreParam.distToSideRatio); rotorCoreParamElement->SetAttribute("groundRemoveOffset", configResult.algorithmParams.rotorCoreParam.groundRemoveOffset); algoParamsElement->InsertEndChild(rotorCoreParamElement); diff --git a/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/config/config.xml b/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/config/config.xml index 7890b034..72419007 100644 --- a/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/config/config.xml +++ b/App/StatorWorkpiecePosition/StatorWorkpiecePositionConfig/config/config.xml @@ -28,7 +28,7 @@ minRectVertex1_0="5000.0" minRectVertex1_1="-5000.0" minRectVertex1_2="0.0" minRectVertex2_0="5000.0" minRectVertex2_1="5000.0" minRectVertex2_2="0.0" minRectVertex3_0="-5000.0" minRectVertex3_1="5000.0" minRectVertex3_2="0.0"/> - + 0.0 && algorithmBinInfo.width > 0.0) { - detectionResult.binInfo = algorithmBinInfo; - detectionResult.hasBinInfo = true; + // Some versions of the rotor algorithm return the detected bin size and + // center but leave minRectVertex untouched. Projecting those four zero + // points produces a degenerate polygon, so complete the geometry before + // handing it to the presenter. Do not manufacture a bin when the + // algorithm returned no bin information at all. + const bool hasBinOutput = algorithmBinInfo.length > 0.0 || algorithmBinInfo.width > 0.0; + if (hasBinOutput) { + EnsureUsableBinInfo(algorithmBinInfo); + if (algorithmBinInfo.length > 0.0 && algorithmBinInfo.width > 0.0) { + detectionResult.binInfo = algorithmBinInfo; + detectionResult.hasBinInfo = true; + LOG_INFO("[Rotor] bin output: length=%.3f width=%.3f topZ=%.3f " + "center=(%.3f,%.3f,%.3f) " + "vertices=(%.3f,%.3f,%.3f),(%.3f,%.3f,%.3f)," + "(%.3f,%.3f,%.3f),(%.3f,%.3f,%.3f)\n", + algorithmBinInfo.length, algorithmBinInfo.width, + algorithmBinInfo.binTopZ, + algorithmBinInfo.center.x, algorithmBinInfo.center.y, + algorithmBinInfo.center.z, + algorithmBinInfo.minRectVertex[0].x, algorithmBinInfo.minRectVertex[0].y, + algorithmBinInfo.minRectVertex[0].z, + algorithmBinInfo.minRectVertex[1].x, algorithmBinInfo.minRectVertex[1].y, + algorithmBinInfo.minRectVertex[1].z, + algorithmBinInfo.minRectVertex[2].x, algorithmBinInfo.minRectVertex[2].y, + algorithmBinInfo.minRectVertex[2].z, + algorithmBinInfo.minRectVertex[3].x, algorithmBinInfo.minRectVertex[3].y, + algorithmBinInfo.minRectVertex[3].z); + } } if (workpiecePositions.empty()) { detectionResult.errorCode = ERR_CODE(SX_ERR_ZERO_OBJECTS); diff --git a/App/StatorWorkpiecePosition/WorkpieceRotorApp/Presenter/Src/StatorWorkpiecePositionPresenter.cpp b/App/StatorWorkpiecePosition/WorkpieceRotorApp/Presenter/Src/StatorWorkpiecePositionPresenter.cpp index 63ac3b5c..f1bced38 100644 --- a/App/StatorWorkpiecePosition/WorkpieceRotorApp/Presenter/Src/StatorWorkpiecePositionPresenter.cpp +++ b/App/StatorWorkpiecePosition/WorkpieceRotorApp/Presenter/Src/StatorWorkpiecePositionPresenter.cpp @@ -1327,19 +1327,32 @@ int StatorWorkpiecePositionPresenter::ProcessAlgoDetection(std::vector displayIndices = Build2DDisplayIndicesFromResult( - detections, detectionResult.positions); - const int highlightedDetectionIndex = detectionResult.positions.empty() - ? -1 - : detectionResult.positions.front().sourceDetectionIndex; - detectionResult.image = Draw2DDetectionsOnImage( - modelInputImage, detections, modelInputOriginX, modelInputOriginY, - &displayIndices, highlightedDetectionIndex); - SaveDebug2DDataIfNeeded( - detectionCameraIndex, debugParam, QImage(), detectionResult.image, - detections, QStringLiteral("final")); + } + + // Keep the 2D result image even when the subsequent 3D positioning step + // fails. DetectPresenter can still return valid bin geometry before a + // later 3D error (for example, no workpiece found), and that geometry is + // useful to diagnose the scan and must be visible in the UI. + if (!modelInputImage.isNull()) { + const std::vector displayIndices = Build2DDisplayIndicesFromResult( + detections, detectionResult.positions); + const int highlightedDetectionIndex = detectionResult.positions.empty() + ? -1 : detectionResult.positions.front().sourceDetectionIndex; + detectionResult.image = Draw2DDetectionsOnImage( + modelInputImage, detections, modelInputOriginX, modelInputOriginY, + &displayIndices, highlightedDetectionIndex); + if (detectionResult.hasBinInfo) { + DrawProjectedBin(detectionResult.image, + detectionCameraIndex, + detectionResult.binInfo.minRectVertex, + modelInputOriginX, + modelInputOriginY); + } else { + LOG_WARNING("[2D] skip bin drawing: hasBinInfo=0 cameraIndex=%d imageNull=%d\n", + detectionCameraIndex, detectionResult.image.isNull() ? 1 : 0); } + SaveDebug2DDataIfNeeded(detectionCameraIndex, debugParam, QImage(), detectionResult.image, + detections, QStringLiteral("final")); } // 根�项目类型选择处�方� if (GetStatusCallback()) { @@ -1899,4 +1912,3 @@ void StatorWorkpiecePositionPresenter::floatToRegisters(float value, uint16_t& h low = static_cast(bits & 0xFFFF); } } - diff --git a/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.h b/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.h index 1ff46642..3d367fb4 100644 --- a/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.h +++ b/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.h @@ -5,7 +5,7 @@ #define STATORWORKPIECEPOSITION_APP_NAME "转�钢芯定�" #define STATORWORKPIECEPOSITION_APP_KEY "WorkpieceRotorApp" #define STATORWORKPIECEPOSITION_VERSION_STRING "1.0.2" -#define STATORWORKPIECEPOSITION_BUILD_STRING "2" +#define STATORWORKPIECEPOSITION_BUILD_STRING "3" #define STATORWORKPIECEPOSITION_FULL_VERSION_STRING "V" STATORWORKPIECEPOSITION_VERSION_STRING "_" STATORWORKPIECEPOSITION_BUILD_STRING // 构建日期 diff --git a/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.md b/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.md index 74a585d9..6c87a572 100644 --- a/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.md +++ b/App/StatorWorkpiecePosition/WorkpieceRotorApp/Version.md @@ -1,4 +1,10 @@ # 1.0.2 +## build_3 +1. 更新了算法,增加了边�系数 + +## build_2 +1. 更新算法, 增加了分层系数 + ## build_1 1. 更新算法,已�去掉了料框的检测,直接检测工件�置,输出了料框的�置 diff --git a/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.cpp b/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.cpp index fb198b91..cf15615b 100644 --- a/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.cpp +++ b/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.cpp @@ -30,6 +30,7 @@ DialogAlgoarg::DialogAlgoarg(ConfigManager* configManager, QWidget *parent) if (ui->lineEdit_rotorRadius) ui->lineEdit_rotorRadius->setValidator(new QDoubleValidator(0.0, 1e6, 6, ui->lineEdit_rotorRadius)); if (ui->lineEdit_rotorHeight) ui->lineEdit_rotorHeight->setValidator(new QDoubleValidator(0.0, 1e6, 6, ui->lineEdit_rotorHeight)); if (ui->lineEdit_layerRatio) ui->lineEdit_layerRatio->setValidator(new QDoubleValidator(0.0, 10.0, 6, ui->lineEdit_layerRatio)); + if (ui->lineEdit_distToSideRatio) ui->lineEdit_distToSideRatio->setValidator(new QDoubleValidator(0.0, 10.0, 6, ui->lineEdit_distToSideRatio)); if (ui->lineEdit_groundRemoveOffset) ui->lineEdit_groundRemoveOffset->setValidator(new QDoubleValidator(-1e6, 1e6, 6, ui->lineEdit_groundRemoveOffset)); ui->tabWidget->setCurrentIndex(0); @@ -254,18 +255,19 @@ bool DialogAlgoarg::SaveBinDetectionParamsFromUI(VrBinParam& binParam) void DialogAlgoarg::LoadRotorCoreParamsToUI(const VrRotorCoreParam& rotorParam) { - if (!ui || !ui->lineEdit_rotorRadius || !ui->lineEdit_rotorHeight || !ui->lineEdit_layerRatio || !ui->lineEdit_groundRemoveOffset) { + if (!ui || !ui->lineEdit_rotorRadius || !ui->lineEdit_rotorHeight || !ui->lineEdit_layerRatio || !ui->lineEdit_distToSideRatio || !ui->lineEdit_groundRemoveOffset) { return; } ui->lineEdit_rotorRadius->setText(QString::number(rotorParam.radius, 'f', 6)); ui->lineEdit_rotorHeight->setText(QString::number(rotorParam.height, 'f', 6)); ui->lineEdit_layerRatio->setText(QString::number(rotorParam.layerRatio, 'f', 6)); + ui->lineEdit_distToSideRatio->setText(QString::number(rotorParam.distToSideRatio, 'f', 6)); ui->lineEdit_groundRemoveOffset->setText(QString::number(rotorParam.groundRemoveOffset, 'f', 6)); } bool DialogAlgoarg::SaveRotorCoreParamsFromUI(VrRotorCoreParam& rotorParam) { - if (!ui || !ui->lineEdit_rotorRadius || !ui->lineEdit_rotorHeight || !ui->lineEdit_layerRatio || !ui->lineEdit_groundRemoveOffset) { + if (!ui || !ui->lineEdit_rotorRadius || !ui->lineEdit_rotorHeight || !ui->lineEdit_layerRatio || !ui->lineEdit_distToSideRatio || !ui->lineEdit_groundRemoveOffset) { return false; } @@ -276,6 +278,8 @@ bool DialogAlgoarg::SaveRotorCoreParamsFromUI(VrRotorCoreParam& rotorParam) if (!ok || rotorParam.height <= 0.0) return false; rotorParam.layerRatio = ui->lineEdit_layerRatio->text().toDouble(&ok); if (!ok || rotorParam.layerRatio <= 0.0) return false; + rotorParam.distToSideRatio = ui->lineEdit_distToSideRatio->text().toDouble(&ok); + if (!ok || rotorParam.distToSideRatio <= 0.0) return false; rotorParam.groundRemoveOffset = ui->lineEdit_groundRemoveOffset->text().toDouble(&ok); if (!ok) return false; return true; diff --git a/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.ui b/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.ui index 20d69b4b..ea67c618 100644 --- a/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.ui +++ b/App/StatorWorkpiecePosition/WorkpieceRotorApp/dialogalgoarg.ui @@ -74,7 +74,7 @@ QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; 20 20 651 - 181 + 251 @@ -134,7 +134,7 @@ QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; - + @@ -146,7 +146,7 @@ QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; - + @@ -155,17 +155,28 @@ QGroupBox::title { subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px; - + 16 分层系数 - + 16 + + + 16 + 边�系数 + + + + + 16 + + diff --git a/App/WeldSeam/WeldSeamApp/Version.h b/App/WeldSeam/WeldSeamApp/Version.h index 5855d1e3..8ea391ac 100644 --- a/App/WeldSeam/WeldSeamApp/Version.h +++ b/App/WeldSeam/WeldSeamApp/Version.h @@ -3,7 +3,7 @@ #define WELDSEAM_APP_NAME "焊�定�" #define WELDSEAM_VERSION_STRING "1.0.1" -#define WELDSEAM_BUILD_STRING "1" +#define WELDSEAM_BUILD_STRING "3" #define WELDSEAM_FULL_VERSION_STRING "V" WELDSEAM_VERSION_STRING "_" WELDSEAM_BUILD_STRING // 获�版本信�的便�函数 diff --git a/App/WeldSeam/WeldSeamApp/Version.md b/App/WeldSeam/WeldSeamApp/Version.md index 858aaa3c..3dc918fc 100644 --- a/App/WeldSeam/WeldSeamApp/Version.md +++ b/App/WeldSeam/WeldSeamApp/Version.md @@ -1,4 +1,10 @@ # 1.0.1 +## build_3 +1. 结果二维图�增加缩放功能 + +## build_2 +1. 修�相机�留调用C模�失败 + ## build_1 1. 更新算法版本,增加了焊�类型 diff --git a/App/WeldSeam/WeldSeamApp/WeldSeamApp.pro b/App/WeldSeam/WeldSeamApp/WeldSeamApp.pro index 85e2303b..b6a19b41 100644 --- a/App/WeldSeam/WeldSeamApp/WeldSeamApp.pro +++ b/App/WeldSeam/WeldSeamApp/WeldSeamApp.pro @@ -29,6 +29,7 @@ unix:!macx { } INCLUDEPATH += $$PWD/Presenter/Inc +INCLUDEPATH += $$PWD/../../../Utils/ImageView/Inc INCLUDEPATH += $$PWD/../../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../../Utils/VrUtils/Inc @@ -85,6 +86,7 @@ win32 { } win32:CONFIG(debug, debug|release) { + LIBS += -L../../../Utils/ImageView/debug -lImageView LIBS += -L../../../Utils/VrUtils/debug -lVrUtils LIBS += -L../../../AppUtils/UICommon/debug -lUICommon LIBS += -L../../../AppUtils/AppCommon/debug -lAppCommon @@ -100,6 +102,7 @@ win32:CONFIG(debug, debug|release) { LIBS += -L../../../Nets/debug -lVrTcpServer }else:win32:CONFIG(release, debug|release){ + LIBS += -L../../../Utils/ImageView/release -lImageView LIBS += -L../../../Utils/VrUtils/release -lVrUtils LIBS += -L../../../AppUtils/UICommon/release -lUICommon LIBS += -L../../../AppUtils/AppCommon/release -lAppCommon @@ -114,6 +117,7 @@ win32:CONFIG(debug, debug|release) { LIBS += -L../../../Nets/release -lVrModbus LIBS += -L../../../Nets/release -lVrTcpServer }else:unix:!macx { + LIBS += -L../../../Utils/ImageView -lImageView LIBS += -L../WeldSeamConfig -lWeldSeamConfig LIBS += -L../../../AppUtils/UICommon -lUICommon LIBS += -L../../../AppUtils/AppCommon -lAppCommon diff --git a/App/WeldSeam/WeldSeamApp/mainwindow.cpp b/App/WeldSeam/WeldSeamApp/mainwindow.cpp index b49367f4..bc378cb6 100644 --- a/App/WeldSeam/WeldSeamApp/mainwindow.cpp +++ b/App/WeldSeam/WeldSeamApp/mainwindow.cpp @@ -1,6 +1,5 @@ #include "mainwindow.h" #include "ui_mainwindow.h" -#include #include #include #include @@ -83,10 +82,6 @@ MainWindow::MainWindow(QWidget *parent) ui->label_work->setVisible(false); // �始化GraphicsScene - QGraphicsScene* scene = new QGraphicsScene(this); - ui->detect_image->setScene(scene); - QGraphicsScene* scene2 = new QGraphicsScene(this); - ui->detect_image_2->setScene(scene2); // �始化日志辅助类 m_logHelper = new DetectLogHelper(ui->detect_log, this); @@ -201,12 +196,7 @@ void MainWindow::displayImage(const QImage& image) return; } - QGraphicsScene* scene = ui->detect_image->scene(); - scene->clear(); - - QPixmap pixmap = QPixmap::fromImage(image); - scene->addPixmap(pixmap); - ui->detect_image->fitInView(scene->sceneRect(), Qt::KeepAspectRatio); + ui->detect_image->setImage(image); } void MainWindow::displayImageInSecondView(const QImage& image) @@ -216,10 +206,7 @@ void MainWindow::displayImageInSecondView(const QImage& image) return; } - QGraphicsScene* scene = ui->detect_image_2->scene(); - scene->clear(); - scene->addPixmap(QPixmap::fromImage(image)); - ui->detect_image_2->fitInView(scene->sceneRect(), Qt::KeepAspectRatio); + ui->detect_image_2->setImage(image); } // 添加扩展版本的检测结果函数 diff --git a/App/WeldSeam/WeldSeamApp/mainwindow.h b/App/WeldSeam/WeldSeamApp/mainwindow.h index 8569be21..6d0b7a76 100644 --- a/App/WeldSeam/WeldSeamApp/mainwindow.h +++ b/App/WeldSeam/WeldSeamApp/mainwindow.h @@ -11,6 +11,7 @@ #include #include #include +#include "ImageView.h" #include #include #include "AboutDialog.h" diff --git a/App/WeldSeam/WeldSeamApp/mainwindow.ui b/App/WeldSeam/WeldSeamApp/mainwindow.ui index e872dc3e..fa1e0e8c 100644 --- a/App/WeldSeam/WeldSeamApp/mainwindow.ui +++ b/App/WeldSeam/WeldSeamApp/mainwindow.ui @@ -20,7 +20,7 @@ background-color:rgb(25, 26, 28) - + 20 @@ -33,7 +33,7 @@ background-color: rgb(37, 38, 42); - + 970 @@ -367,5 +367,12 @@ background-color: rgba(255, 255, 255, 0); + + + ImageView + QGraphicsView +
ImageView.h
+
+
diff --git a/AppAlgo/hybridPosePositioning/Arm/aarch64/libhybridPosePositioning.so b/AppAlgo/hybridPosePositioning/Arm/aarch64/libhybridPosePositioning.so index 114b1d83..264d3a6f 100644 Binary files a/AppAlgo/hybridPosePositioning/Arm/aarch64/libhybridPosePositioning.so and b/AppAlgo/hybridPosePositioning/Arm/aarch64/libhybridPosePositioning.so differ diff --git a/AppAlgo/hybridPosePositioning/Inc/hybridPosePositioning_Export.h b/AppAlgo/hybridPosePositioning/Inc/hybridPosePositioning_Export.h index a1d73f1b..33901f8a 100644 --- a/AppAlgo/hybridPosePositioning/Inc/hybridPosePositioning_Export.h +++ b/AppAlgo/hybridPosePositioning/Inc/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£¬È·ÈÏÁÏ¿ðÐÅÏ¢¼ì²âÕýÈ· diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.dll b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.dll index e8376088..367afe9f 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.dll and b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.dll differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.pdb b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.pdb index 2ee5216e..e2d36e36 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.pdb and b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/baseAlgorithm.pdb differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.dll b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.dll index cd99bc46..27393ab1 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.dll and b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.dll differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.lib b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.lib index ffa000ca..8e386606 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.lib and b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.lib differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.pdb b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.pdb index 154a4e4e..a307e569 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.pdb and b/AppAlgo/hybridPosePositioning/Windows/x64/Debug/hybridPosePositioning.pdb differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.dll b/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.dll index 6989ed2b..2d9a95b6 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.dll and b/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.dll differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.pdb b/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.pdb index 64ac46ee..8175f091 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.pdb and b/AppAlgo/hybridPosePositioning/Windows/x64/Release/baseAlgorithm.pdb differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.dll b/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.dll index 9f05b6a7..fc362c4c 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.dll and b/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.dll differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.lib b/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.lib index 69038362..0b309f45 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.lib and b/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.lib differ diff --git a/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.pdb b/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.pdb index 1a84a9c6..4f9674ad 100644 Binary files a/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.pdb and b/AppAlgo/hybridPosePositioning/Windows/x64/Release/hybridPosePositioning.pdb differ diff --git a/AppAlgo/hybridPosePositioning/hybridPosePositioning_test.cpp b/AppAlgo/hybridPosePositioning/hybridPosePositioning_test.cpp index d89edd59..5998521d 100644 --- a/AppAlgo/hybridPosePositioning/hybridPosePositioning_test.cpp +++ b/AppAlgo/hybridPosePositioning/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,