From fe55e87597b8c742fd08ff533ffc90188a243d36 Mon Sep 17 00:00:00 2001 From: iamboss Date: Fri, 7 Aug 2026 15:21:34 +0800 Subject: [PATCH] data: record the dt-side S50C training state Seven new .mp fits from the fine/test sweeps (0.0001 .. 0.3), the S50C workpiece material and CuttingParameter side-files they reference, the schema-migrated S50C.hincproj, and the test-err-ratio project. These were produced by runs on HiNC-1 and existed only in dt's working tree. Co-Authored-By: Claude Opus 5 --- BT40-ER16-090.Holder | 8 +- CuttingParameter/S50C.mp | 12 + Output/S50C-2-fine-0.3.mp | 10 + Output/S50C-3-fine-0.01.mp | 12 + Output/S50C-3-fine-0.1.mp | 12 + Output/S50C-3-fine-0.3.mp | 12 + Output/S50C-3-test-0.0001.mp | 12 + Output/S50C-3-test-0.01.mp | 12 + Output/S50C-fine-0.05.mp | 10 + Output/S50C-fine-Copy-00.mp | 12 - Output/S50C-fine.mp | 22 +- S50C.hincproj | 336 ++++++++--- SpindleCapability/test3.SpindleCapability | 18 +- WorkpieceMaterial/FC30.WorkpieceMaterial | 2 +- WorkpieceMaterial/S50C.WorkpieceMaterial | 15 + test-err-ratio.hincproj | 661 ++++++++++++++++++++++ 16 files changed, 1069 insertions(+), 97 deletions(-) create mode 100644 CuttingParameter/S50C.mp create mode 100644 Output/S50C-2-fine-0.3.mp create mode 100644 Output/S50C-3-fine-0.01.mp create mode 100644 Output/S50C-3-fine-0.1.mp create mode 100644 Output/S50C-3-fine-0.3.mp create mode 100644 Output/S50C-3-test-0.0001.mp create mode 100644 Output/S50C-3-test-0.01.mp create mode 100644 Output/S50C-fine-0.05.mp delete mode 100644 Output/S50C-fine-Copy-00.mp create mode 100644 WorkpieceMaterial/S50C.WorkpieceMaterial create mode 100644 test-err-ratio.hincproj diff --git a/BT40-ER16-090.Holder b/BT40-ER16-090.Holder index 4308158..04f07ae 100644 --- a/BT40-ER16-090.Holder +++ b/BT40-ER16-090.Holder @@ -2,7 +2,7 @@ default BT40-ER16-090 - + (0,25) (36.5,25) (36.5,44.5) @@ -10,4 +10,10 @@ (106.6,40) (136.44,40) + + + 0.5 + 5 + + \ No newline at end of file diff --git a/CuttingParameter/S50C.mp b/CuttingParameter/S50C.mp new file mode 100644 index 0000000..e374c03 --- /dev/null +++ b/CuttingParameter/S50C.mp @@ -0,0 +1,12 @@ + + + S50C + S50C-fine-outlier-0.2. Built on 2025-01-17. + 781.9193047583416 + 534.2515063930691 + -1341.4299667097694 + 12.488024348568263 + 19.81313632613896 + -20.852754261520523 + 8 + \ No newline at end of file diff --git a/Output/S50C-2-fine-0.3.mp b/Output/S50C-2-fine-0.3.mp new file mode 100644 index 0000000..6a95da3 --- /dev/null +++ b/Output/S50C-2-fine-0.3.mp @@ -0,0 +1,10 @@ + + + S50C-2-fine-0.3.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 55.68%; FilteredSampleNum = 634500 + 835.9393964937811 + -1715.130695335738 + 2.6644883557656196 + 25.33143525147404 + 8 + \ No newline at end of file diff --git a/Output/S50C-3-fine-0.01.mp b/Output/S50C-3-fine-0.01.mp new file mode 100644 index 0000000..bef008a --- /dev/null +++ b/Output/S50C-3-fine-0.01.mp @@ -0,0 +1,12 @@ + + + S50C-3-fine-0.01.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 95.60%; FilteredSampleNum = 897480 + 756.0011397107872 + 578.1852014605149 + -1269.635543586671 + 12.937742653493165 + 20.98247082327636 + -20.584080069799537 + 8 + \ No newline at end of file diff --git a/Output/S50C-3-fine-0.1.mp b/Output/S50C-3-fine-0.1.mp new file mode 100644 index 0000000..21cae5d --- /dev/null +++ b/Output/S50C-3-fine-0.1.mp @@ -0,0 +1,12 @@ + + + S50C-3-fine-0.1.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.18%; FilteredSampleNum = 815940 + 780.3669554854422 + 596.9316596203435 + -1310.417015838393 + 12.391230831194346 + 20.907192079571796 + -19.681727830259238 + 8 + \ No newline at end of file diff --git a/Output/S50C-3-fine-0.3.mp b/Output/S50C-3-fine-0.3.mp new file mode 100644 index 0000000..84b1fa0 --- /dev/null +++ b/Output/S50C-3-fine-0.3.mp @@ -0,0 +1,12 @@ + + + S50C-3-fine-0.3.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.28%; FilteredSampleNum = 634500 + 763.3180746167471 + 566.0043676932464 + -1287.559686419554 + 11.883071961513604 + 21.802523813110582 + -19.372653671987635 + 8 + \ No newline at end of file diff --git a/Output/S50C-3-test-0.0001.mp b/Output/S50C-3-test-0.0001.mp new file mode 100644 index 0000000..141fb9e --- /dev/null +++ b/Output/S50C-3-test-0.0001.mp @@ -0,0 +1,12 @@ + + + S50C-3-test-0.0001.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 94.76%; FilteredSampleNum = 1814757 + 764.3643665468655 + 583.164258920612 + -1282.345636177419 + 13.756805454814529 + 22.056273893144933 + -21.96725029340066 + 8 + \ No newline at end of file diff --git a/Output/S50C-3-test-0.01.mp b/Output/S50C-3-test-0.01.mp new file mode 100644 index 0000000..14a0f9a --- /dev/null +++ b/Output/S50C-3-test-0.01.mp @@ -0,0 +1,12 @@ + + + S50C-3-test-0.01.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 95.59%; FilteredSampleNum = 1797444 + 779.5872688486478 + 596.28930993024 + -1309.5868403168329 + 13.324542326012962 + 21.64485174584508 + -21.192715147229002 + 8 + \ No newline at end of file diff --git a/Output/S50C-fine-0.05.mp b/Output/S50C-fine-0.05.mp new file mode 100644 index 0000000..64bc559 --- /dev/null +++ b/Output/S50C-fine-0.05.mp @@ -0,0 +1,10 @@ + + + S50C-fine-0.05.mp + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 60.40%; FilteredSampleNum = 861300 + 619.7559292263653 + -1542.9923942107466 + 16.215754378180414 + 10.991111697078493 + 8 + \ No newline at end of file diff --git a/Output/S50C-fine-Copy-00.mp b/Output/S50C-fine-Copy-00.mp deleted file mode 100644 index 1d5e3e1..0000000 --- a/Output/S50C-fine-Copy-00.mp +++ /dev/null @@ -1,12 +0,0 @@ - - - S50C-fine.mp - - 781.9193047583416 - 534.2515063930691 - -1341.4299667097694 - 12.488024348568263 - 19.81313632613896 - -20.852754261520523 - NaN - \ No newline at end of file diff --git a/Output/S50C-fine.mp b/Output/S50C-fine.mp index 1d5e3e1..57cf89f 100644 --- a/Output/S50C-fine.mp +++ b/Output/S50C-fine.mp @@ -1,12 +1,12 @@ - - + + S50C-fine.mp - - 781.9193047583416 - 534.2515063930691 - -1341.4299667097694 - 12.488024348568263 - 19.81313632613896 - -20.852754261520523 - NaN - \ No newline at end of file + SampleFlags = Fx, Fy, Fz; Correlation Coefficient R = 97.19%; FilteredSampleNum = 725220 + 767.4540541691283 + 577.5625378331987 + -1295.7562085248198 + 12.105248061444964 + 21.088662078505013 + -19.446881671931408 + 8 + \ No newline at end of file diff --git a/S50C.hincproj b/S50C.hincproj index a2579e8..364c1d0 100644 --- a/S50C.hincproj +++ b/S50C.hincproj @@ -1,13 +1,182 @@  - - + + - + EmptyMachine.mt - + SpindleCapability/test3.SpindleCapability + + P-SE0604 (Speed Tiger) + + BT40-ER16-090.Holder + + + + + + SolidEnd + + + + + 6 + 0 + 16 + + + + + + + + + + + + + + + (16,3) + (50,3) + + + + + 0.015625 + 15 + + + 4 + + + 0 + + + 35 + 8 + 5 + + + + + + + + + + WC-Co6-800nm + + 600 + 0 + 1440 + 6.7 + 70 + 0.34 + 14.95 + 3143.16 + 400 + 0.44 + + 17500 + 14800 + 12500 + 10000 + + + 1.19 + 1.86 + 7.1 + 25.7 + + + + + + WC-Co6-800nm + + 600 + 0 + 1440 + 6.7 + 70 + 0.34 + 14.95 + 3143.16 + 400 + 0.44 + + 17500 + 14800 + 12500 + 10000 + + + 1.19 + 1.86 + 7.1 + 25.7 + + + + + + + + TiAlN + Titanium Aluminum Nitride Coating + 500 + 0.25 + 1350 + 7.5 + 25 + 0.55 + 4.2 + 3273 + 380 + 0.35 + + 25000 + 21000 + 17000 + 13000 + + + 0.9 + 1.3 + 4.8 + 18.5 + + 3 + + + 0.003 + + + 16.806603351650548 + 30 + 5 + + + true + 2 + true + true + 0 + 999 + + + + + 21 + SpindleBuckleAnc + -56.6 + 44.5 + @@ -21,9 +190,12 @@ - + + + + - + @@ -47,44 +219,37 @@ - - - AA7075 (update on 20241219) - AA7075 (update on 20241219) exp on 2017 - 347.79177234887237 - 1605.0902189483 - -1481.6923735052892 - 0.6751705314777301 - 0.9948729460349305 - -0.7964217170018251 - NaN - - + + CuttingParameter/S50C.mp + - WorkpieceMaterial/FC30.WorkpieceMaterial + WorkpieceMaterial/S50C.WorkpieceMaterial - - 25 - 1000 - + 25 + + 25 + 1000 + - - + + - + P-SE0604 (Speed Tiger) BT40-ER16-090.Holder - SolidEnd + + + SolidEnd @@ -107,7 +272,7 @@ - + (16,3) (50,3) @@ -134,7 +299,7 @@ - + WC-Co6-800nm @@ -142,7 +307,7 @@ 0 1440 6.7 - 70 + 70 0.34 14.95 3143.16 @@ -161,7 +326,35 @@ 25.7 - + + + + WC-Co6-800nm + + 600 + 0 + 1440 + 6.7 + 70 + 0.34 + 14.95 + 3143.16 + 400 + 0.44 + + 17500 + 14800 + 12500 + 10000 + + + 1.19 + 1.86 + 7.1 + 25.7 + + + @@ -172,7 +365,7 @@ 0.25 1350 7.5 - 25 + 25 0.55 4.2 3273 @@ -196,33 +389,35 @@ 0.003 - 16.806603351650548 + 16.806603351650548 30 5 - + true 2 true + true 0 999 - + - 5 + 21 SpindleBuckleAnc -56.6 44.5 - + - + Fanuc (0, 0, 0) - + (0, 0, 0) + (0, 0, 0) true @@ -237,18 +432,18 @@ false true false - + - (INF, INF, INF) - (-INF, -INF, -INF) + (-INF, -INF, -INF) + (INF, INF, INF) - - + + - (INF, INF, INF) - (-INF, -INF, -INF) + (-INF, -INF, -INF) + (INF, INF, INF) - + (60, 60, 60) 60000 20000 @@ -276,22 +471,36 @@ - + + + LineBeginCsScript + LineEndCsScript + MC. + CL. + ToolId + SpindleSpeed_rpm + Spd.Dir. + Feedrate_mmdmin + StepDuration + ActualTime + + + - + + true train ////一般設定//// -MillingForceCycleDivisionNum=180; +MillingForceCycleDivisionNum=360; MachiningResolution=0.125/8; -DispCache_Mb = 860; //GRAM暫存空間 (Mb) MachiningMotionResolution = FeedPerTooth; EnableCollisionDetection = false; //是否啟用碰撞檢測開啟 EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 -EnableMillingForceEvaluation=true; +DefaultParaTemplateDimension=3; ClearTimeMappingData(); string dynamometerFile=$"./Managed/dynamometer-S50C/Exp09/Exp09.csv"; @@ -305,18 +514,18 @@ AddTimeDataByFile("high3",dynamometerFile,66.8694,67.2146); //WriteRuntimeGeom("Cache/raw.wct"); //寫入暫存檔 //ReadRuntimeGeom("Cache/raw.wct"); //讀取暫存檔 -RunNcFile("NC/lines.nc"); +PlayNcFile("NC/lines.nc"); -TrainMillingPara(Fx|Fy|Fz, "Output/S50C-fine.mp",0.2); +var outlierRatio=0.1; +TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-fine-{outlierRatio}.mp",outlierRatio); - true - + - + @@ -366,15 +575,15 @@ TrainMillingPara(Fx|Fy|Fz, "Output/S50C-fine.mp",0.2); false - false + false + true - true - true false - + + 35 TrainingErrRatio @@ -617,5 +826,4 @@ TrainMillingPara(Fx|Fy|Fz, "Output/S50C-fine.mp",0.2); - 860 - \ No newline at end of file + \ No newline at end of file diff --git a/SpindleCapability/test3.SpindleCapability b/SpindleCapability/test3.SpindleCapability index ed2b258..1c3fdfe 100644 --- a/SpindleCapability/test3.SpindleCapability +++ b/SpindleCapability/test3.SpindleCapability @@ -4,8 +4,10 @@ 0.4 4000.0000000000005 - - + 4.82 + 90 + + 0 0 @@ -23,7 +25,7 @@ 2.5 - + 0 0 @@ -41,7 +43,7 @@ 5 - + 0 0 @@ -59,9 +61,9 @@ 3 - - - + + + 0 50 @@ -91,5 +93,5 @@ 5 - + \ No newline at end of file diff --git a/WorkpieceMaterial/FC30.WorkpieceMaterial b/WorkpieceMaterial/FC30.WorkpieceMaterial index bbbb723..a7eec62 100644 --- a/WorkpieceMaterial/FC30.WorkpieceMaterial +++ b/WorkpieceMaterial/FC30.WorkpieceMaterial @@ -8,7 +8,7 @@ 200 0.01 0.46 - 52 + 52 7.2 220 1150 diff --git a/WorkpieceMaterial/S50C.WorkpieceMaterial b/WorkpieceMaterial/S50C.WorkpieceMaterial new file mode 100644 index 0000000..61e81f7 --- /dev/null +++ b/WorkpieceMaterial/S50C.WorkpieceMaterial @@ -0,0 +1,15 @@ + + + S50C + + 205 + 0.28 + 580 + 540 + 0.16 + 0.49 + 50 + 7.85 + 270 + 1495 + \ No newline at end of file diff --git a/test-err-ratio.hincproj b/test-err-ratio.hincproj new file mode 100644 index 0000000..7fe6def --- /dev/null +++ b/test-err-ratio.hincproj @@ -0,0 +1,661 @@ + + + + + + EmptyMachine.mt + + + SpindleCapability/test3.SpindleCapability + + + + + + + + + (-45, -70, 0) + (45, 70, 10) + + + + + + + + + + + + + + + 0.125 + + + + + + (0, 0, -30) + (90, 140, 0) + + + + + + + + + + + + + CuttingParameter/S50C.mp + + + WorkpieceMaterial/S50C.WorkpieceMaterial + + + + + + + 25 + + 25 + 1000 + + + + + + + + P-SE0604 (Speed Tiger) + + BT40-ER16-090.Holder + + + + + + SolidEnd + + + + + 6 + 0 + 16 + + + + + + + + + + + + + + + (16,3) + (50,3) + + + + + 0.015625 + 15 + + + 4 + + + 0 + + + 35 + 8 + 5 + + + + + + + + + + WC-Co6-800nm + + 600 + 0 + 1440 + 6.7 + 70 + 0.34 + 14.95 + 3143.16 + 400 + 0.44 + + 17500 + 14800 + 12500 + 10000 + + + 1.19 + 1.86 + 7.1 + 25.7 + + + + + + WC-Co6-800nm + + 600 + 0 + 1440 + 6.7 + 70 + 0.34 + 14.95 + 3143.16 + 400 + 0.44 + + 17500 + 14800 + 12500 + 10000 + + + 1.19 + 1.86 + 7.1 + 25.7 + + + + + + + + TiAlN + Titanium Aluminum Nitride Coating + 500 + 0.25 + 1350 + 7.5 + 25 + 0.55 + 4.2 + 3273 + 380 + 0.35 + + 25000 + 21000 + 17000 + 13000 + + + 0.9 + 1.3 + 4.8 + 18.5 + + 3 + + + 0.003 + + + 16.806603351650548 + 30 + 5 + + + true + 2 + true + true + 0 + 999 + + + + + 21 + SpindleBuckleAnc + -56.6 + 44.5 + + + + + + + Fanuc + (0, 0, 0) + (0, 0, 0) + (0, 0, 0) + true + + + + 3 + 0 + 157.44 + 0 + + + + false + true + false + + + (-INF, -INF, -INF) + (INF, INF, INF) + + + + + (-INF, -INF, -INF) + (INF, INF, INF) + + + (60, 60, 60) + 60000 + 20000 + PT0S + + 0 + + + + + + + + + + + + + + + + + + + + + + + + LineBeginCsScript + LineEndCsScript + MC. + CL. + ToolId + SpindleSpeed_rpm + Spd.Dir. + Feedrate_mmdmin + StepDuration + ActualTime + + + + + + + true + + + train + ////一般設定//// +MillingForceCycleDivisionNum=360; +MachiningResolution=0.125/8; +MachiningMotionResolution = FeedPerTooth; +EnableCollisionDetection = false; //是否啟用碰撞檢測開啟 +EnablePauseOnCollision = false; //是否啟用碰撞發生時暫停 + +DefaultParaTemplateDimension=3; +ClearTimeMappingData(); + +string dynamometerFile=$"./Managed/dynamometer-S50C/Exp09/Exp09.csv"; + +AddTimeDataByFile("low1",dynamometerFile,16.4726,21.6107); +AddTimeDataByFile("low2",dynamometerFile,39.5988,42.2784); +AddTimeDataByFile("low3",dynamometerFile,51.9493,53.7441); +AddTimeDataByFile("high1",dynamometerFile,60.0392,60.9723); +AddTimeDataByFile("high2",dynamometerFile,64.3404,64.8226); +AddTimeDataByFile("high3",dynamometerFile,66.8694,67.2146); + +//WriteRuntimeGeom("Cache/raw.wct"); //寫入暫存檔 +//ReadRuntimeGeom("Cache/raw.wct"); //讀取暫存檔 +PlayNcFile("NC/lines.nc"); + +var outlierRatio=0.01; +TrainMillingPara(Fx|Fy|Fz, $"Output/S50C-{DefaultParaTemplateDimension}-test-{outlierRatio}.mp",outlierRatio); + + + + + + + + + + + + + + ./Managed/dynamometer-S50C/Exp09/Exp09.csv + 00:00:16.4726000 + 00:00:21.6107000 + + + + + ./Managed/dynamometer-S50C/Exp09/Exp09.csv + 00:00:39.5988000 + 00:00:42.2784000 + + + + + ./Managed/dynamometer-S50C/Exp09/Exp09.csv + 00:00:51.9493000 + 00:00:53.7441000 + + + + + ./Managed/dynamometer-S50C/Exp09/Exp09.csv + 00:01:00.0392000 + 00:01:00.9723000 + + + + + ./Managed/dynamometer-S50C/Exp09/Exp09.csv + 00:01:04.3404000 + 00:01:04.8226000 + + + + + ./Managed/dynamometer-S50C/Exp09/Exp09.csv + 00:01:06.8694000 + 00:01:07.2146000 + + + + + + + + true + false + false + true + false + false + + + + 35 + + + TrainingErrRatio + + + + + TrainingErrRatio + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 1 + + + + + + + + Linear + 0 + 2 + + + + + + + + Linear + 0 + 1 + + + + + + + + + Fit + + -400 + 400 + + ForceToToolOnToolRunningCoordinate + + + + + + Fit + + -10 + 10 + + + + + + + + Fit + + -10 + 10 + + + + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + Fit + + 0 + 1 + + + + + + + + + + \ No newline at end of file