Table of Contents

訓練與校正銑削係數

銑削係數為計算銑削力的必須參數。

訓練與校正銑削係數需先完成資料映射

TrainMillingPara(API)訓練銑削係數,不需先設定工件銑削係數,輸出的新係數也與原工件銑削係數無關。

ReTrainMillingPara(API)校正銑削係數,需基於已設定之工件銑削係數,才可輸出校正後係數。校正時原係數的權重10%、從資訊映射而得的樣本權重90%。

Note

指令格式

//訓練銑削係數
TrainMillingPara(<樣本旗標>, <檔案輸出路徑>);
//校正銑削係數
ReTrainMillingPara(<樣本旗標>, <檔案輸出路徑>);

<樣本旗標> 為應用於訓練資料的資料種類,包含:FxFyFzMxMyMz。 使用|號作聯集。

Tip

以動力計資料為例,輸出訓練銑削係數

ClearTimeMappingData();
AddTimeDataByFile( "lineA", "Mapping/sensor1.csv", "18:25:51.7100", "18:26:12.9910");
AddTimeDataByFile( "lineB", "Mapping/sensor1.csv", "18:26:30.5750", "18:27:12.2880");
PlayNcFile("NC/file1.nc")
TrainMillingPara(Fx|Fy|Fz, "StainlessSteel.mp");
Tip

以智慧刀把資料為例,輸出校正銑削係數

ClearTimeMappingData();
AddTimeDataByFile( "lineA", "Mapping/sensor1.csv", "18:25:51.7100", "18:26:12.9910");
AddTimeDataByFile( "lineB", "Mapping/sensor1.csv", "18:26:30.5750", "18:27:12.2880");
PlayNcFile("NC/file1.nc")
ReTrainMillingPara(Fz|Mx|My|Mz, "StainlessSteel.mp");

訓練條件

路徑樣本以穩定資料訓練佳,即資料波形有重複性維持至少兩轉。因系統演算法最低以一轉波形做訓練。 在非穩定情況,會因為模擬中的每刃進給固定、訓練資料不穩定,造成剪切力於總力占比降低,使得訓練出的犁切係數偏高。

樣本穩定的情況下,NC路徑沒有限制切削形狀,槽銑或側銑,任意形狀刀具皆可用來訓練及校正銑削係數。

TrainMillingPara訓練銑削係數,資訊映射須包含至少一組不同每刃進給的路徑樣本。訓練資料的資料種類建議最少為(動力計)Fx|Fy|Fz或(智慧刀把)Fz|Mx|My|Mz。 如果資料種類少於前述,如Fx|FyMx|My|Mz,則樣本的自由度太高,訓練出來的係數不能符合訓練樣本以外的路徑。

如果僅使用Mx|My|Mz,由於力矩資料為 \(\vec{r} \times \vec{F}\),所以r方向資料會遺失,相當於少了一個自由度,難以訓練材料系數。 所以力矩資料須搭配Fz使用。

ReTrainMillingPara校正銑削係數,沒有限制資料種類及每刃進給。

訓練品質指標

訓練完成後,系統會計算以下品質指標:

相關係數 (Correlation Coefficient, R)

相關係數 \(R\) 是整體訓練結果的單一數值,用於評估訓練後模擬值與量測值的線性相關程度,範圍為 \(0\)\(1\),越接近 \(1\) 表示訓練結果越好。新刀的相關係數通常介於 0.95 至 0.999 之間。

訓練誤差比 (TrainingErrRatio)

訓練誤差比是在執行 TrainMillingPara(API)ReTrainMillingPara(API) 後,動態註冊並設置到訓練區域內各步的步變數,用於評估該步的模擬與量測之間的誤差程度,數值越小表示該步的訓練品質越好。

\[ \text{TrainingErrRatio} = \sqrt{\frac{\sum_{i} e_i^2}{\sqrt{\sum_{i} y_i^2 \cdot \sum_{i} \hat{y}_i^2}}} \]

其中:

  • \(e_i = y_i - \hat{y}_i\):第 \(i\) 個樣本的誤差
  • \(y_i\):量測值
  • \(\hat{y}_i\):模擬預測值

此指標會嵌入到每個加工步驟的輸出資料中,可用於識別訓練品質較差的段落。

角度偏移 (AngleOffset)

角度偏移是在執行訓練函數後,動態註冊並設置到訓練區域內各步的步變數\(\theta_{offset}\) 表示該步量測資料與模擬資料之間的刀刃旋轉相位差。系統會自動對齊相位以獲得最佳訓練結果。

\[ \theta_{offset} = \frac{2\pi \cdot i_{min}}{N_{div}} \]

其中:

  • \(i_{min}\):使預測誤差最小的角度索引
  • \(N_{div}\):一轉的角度分割數,即 MillingCycleDivisionNum(API)
Tip

如果同一批訓練中各段落的 AngleOffset 差異過大,可能表示主軸旋轉突然放慢或放快或資料缺失,或系統無法準確分析樣本並導致不理想訓練的結果。

Tip

較大的 MillingCycleDivisionNum(API) 設定可以得到更準確的 AngleOffset 結果,進而訓練出更準確的銑削係數。

範例專案