訓練與校正銑削係數
銑削係數為計算銑削力的必須參數。
訓練與校正銑削係數需先完成資料映射。
TrainMillingPara(API)訓練銑削係數,不需先設定工件銑削係數,輸出的新係數也與原工件銑削係數無關。
ReTrainMillingPara(API)校正銑削係數,需基於已設定之工件銑削係數,才可輸出校正後係數。校正時原係數的權重10%、從資訊映射而得的樣本權重90%。
Note
指令格式
//訓練銑削係數
TrainMillingPara(<樣本旗標>, <檔案輸出路徑>);
//校正銑削係數
ReTrainMillingPara(<樣本旗標>, <檔案輸出路徑>);
<樣本旗標> 為應用於訓練資料的資料種類,包含:Fx、Fy、Fz、Mx、My、Mz。
使用|號作聯集。
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|Fy或Mx|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) 後,動態註冊並設置到訓練區域內各步的步變數,用於評估該步的模擬與量測之間的誤差程度,數值越小表示該步的訓練品質越好。
其中:
- \(e_i = y_i - \hat{y}_i\):第 \(i\) 個樣本的誤差
- \(y_i\):量測值
- \(\hat{y}_i\):模擬預測值
此指標會嵌入到每個加工步驟的輸出資料中,可用於識別訓練品質較差的段落。
角度偏移 (AngleOffset)
角度偏移是在執行訓練函數後,動態註冊並設置到訓練區域內各步的步變數。\(\theta_{offset}\) 表示該步量測資料與模擬資料之間的刀刃旋轉相位差。系統會自動對齊相位以獲得最佳訓練結果。
其中:
- \(i_{min}\):使預測誤差最小的角度索引
- \(N_{div}\):一轉的角度分割數,即 MillingCycleDivisionNum(API)
Tip
如果同一批訓練中各段落的 AngleOffset 差異過大,可能表示主軸旋轉突然放慢或放快或資料缺失,或系統無法準確分析樣本並導致不理想訓練的結果。
Tip
較大的 MillingCycleDivisionNum(API) 設定可以得到更準確的 AngleOffset 結果,進而訓練出更準確的銑削係數。