本發明涉及一種永磁同步伺服電機參數精確辨識的新方法,屬于伺服電機驅動液壓泵智能控制領域。
背景技術:
永磁同步伺服電機采用永磁體,體積小,具有調速范圍寬、過載能力強、質量輕、控制系統易于實現、可靠性高等優點, 如今永磁同步伺服電機的矢量控制技術、無位置傳感器控制技術和直接轉矩控制技術已經得到廣泛應用,而高精度的控制依賴于電機本身的參數,但是轉子磁鏈、繞組電感和定子電阻等參數卻不易辨識,容易受到信號頻率、電機溫度、工作負載的影響,這對電機參數辨識帶來了困難。
永磁同步伺服電機的參數辨識通常可以通過離線辨識、最小二乘法參數辨識來實現,但離線辨識需要進行電機堵轉、空轉實驗,會對電機造一定損害,電機的參數也會在不同的狀態下發生變化,因此離線辨識存在很大的局限性。而最小二乘法辨識是基于最小二乘思想通過建立最小二乘模型將計算所得的觀測值與實際值比較做差,二者差值的平方和為最小時,即被認為參數參數被辨識出來。但當有噪聲存在時,最小二乘法只能做短時間的辨識,對未知恒定值較敏感, 在轉速較低時辨識結果偏差較大。而單純的依賴于傳統遺傳算法的參數辨識存在局部搜索能力差,尋找最優解耗費時間長、對高維問題存在隨機游走和過早收斂的缺點,導致收斂精度差無法獲得滿意的最優解。
技術實現要素:
針對上述采用最小二乘法和傳統遺傳算法對永磁同步伺服電機進行參數辨識存在的問題,本發明提出一種將遺傳算法與分支限界法相結合的新型混合遺傳算法。分支限界法在搜索過程中能夠不斷加速,使搜索方向朝最優解推進,可以彌補傳統遺傳算法局部搜索能力差,尋找最優解耗費時間長的缺陷。
為實現上述目的,本發明采用如下技術方案,具體步驟如圖2所示:
一種基于混合遺傳算法的永磁同步伺服電機參數辨識方法,包括如下步驟:
步驟1對永磁同步伺服電機建立d-q軸坐標系數學模型;
步驟2確定混合遺傳算法的編碼方案;
步驟3確定目標函數和適應度函數;
步驟4種群初始化;
步驟5混合遺傳操作;
步驟6對新生種群進行適應度評價判斷是否收斂,若不收斂繼續步驟5,直至收斂。
所述方案步驟1具體為:
設永磁體基波磁場方向為d軸,垂直基波磁場方向為q軸,忽略渦流和磁滯損耗及永磁體阻尼作用,在轉子參考坐標系下對永磁同步伺服電機建立數學模型。
電壓方程為 (1)
、——為d、q軸電壓;
、——為d、q軸電流;
、——為d、q軸電感;
——定子每相相電阻;
——轉子電氣角速度;
——微分算子;
——永磁體基波勵磁磁場鏈過定子繞組的磁鏈。
磁鏈方程: (2)
轉矩方程 (3)
——電機極對數;
運動方程: (4)
——轉動慣量;
——電磁轉矩;
——負載轉矩;
——粘滯摩擦系數。
于是可以得出dq軸坐標系下永磁同步電機的狀態方程:
(5)
為便于對待變參數離散化仍采用如下方式書寫,
(6)
其中待辨識參數為; (7)
所述方案步驟2具體為:用遺傳算法求解問題必須在目標實際問題表示與遺傳算法的染色體位串之間建立關系,即通過編碼與解碼來實現,有二進制編碼、實數編碼、序列編碼等多種方案可選擇。雖然二進制編碼簡單易操作適應范圍廣,但二進制編碼存在的問題字符串長度大,在復制、雜交、變異等操作時占用電腦時間長,并且在變異時二進制位串的各位上權重不同可能會導致接近極值的個體被漏掉,另外這種編碼也很難直接描述出問題的性質。本專利采用十進制浮點數編碼來實現混合遺傳算法,不僅能夠節約遺傳操作時間,而且辨識精度高,易于理解,有明確的物理意義。
所述步驟3確定目標函數和適應度函數具體為:
設采樣周期為,則對狀態方程(6)離散化為:
(8)
設為參數辨識值,則跟蹤系統可以表示為:
(9)
混合遺傳算法的目標函數可以表示為:
(10)
遺傳算法中適應函數構成個體的生存環境,是個體生存機會的唯一確定性指標。最大化適應值函數即為最小化誤差性能函數,取目標函數的倒數作為適應值函數。
適應值函數: , (11)
所述步驟4種群初始化具體為:對問題解空間進行均勻采樣,隨機生成一定數目的個體。給出混合遺傳算法的一些初始參數如種群規模、染色體長度、限界函數、剪枝函數、步長、進化代數、收斂條件。
收斂條件設置為 , (12)
——無窮小常數。
所述步驟5混合遺傳操作具體為:
初始化之后,對遺傳種群個體執行分支限界搜索,將種群的中心(即個體平均值)作為搜索起點,可以提高搜索的效率。設有個種群個體,分別為,那么種群中心則表示為:,。將個體做為分支限界法的根節點,并向四周進行局部擴展,生成子節點,然后再從當前的活節點中選擇下一個擴展節點。為了加速搜索的進程,需要有效地選擇下一個擴展節點,因此在每一個活節點處,分別估算這些子結點的目標函數的可能取值,如果超出限界函數值則舍棄該子節點,使搜索朝著解空間上有最優解的分支推進,以便盡快地找出一個最優解。在新結點的生成過程中,需要用限界函數殺死還沒有全部生成子結點的一些活結點,因為這些活結點無法滿足限界函數的條件,不可能得到滿意搜索結果。剪枝函數給出每個可行節點相應的子樹可能獲得的最大價值的上界,若這上界不比當前最大價值大,則剪枝,可避免無效搜索,提高分支限界法的搜索效率。
所述步驟6進行適應度評價判斷具體為:
經過步分支限界搜索后,設得到的結果為,對代入適應度函數計算,丟掉適應度小的值,將生存下來的做為新生個體加入種群中,對種群進行遺傳算法的選擇、交叉、變異操作,組成新生種群,并保持種群規模穩定,找出新種群中適應值最大個體進行計算,代入公式(12)判斷是否收斂,若達到要求精度則終止,否則返回第5步繼續進行直至收斂。
附圖說明
圖1是永磁同步伺服電機結構簡圖。
圖2是混合遺傳算法具體實施流程圖。
具體實施方案
下面結合附圖以及具體實施方式對本發明作進一步詳細說明:
如圖1所示,一種基于混合遺傳算法的永磁同步伺服電機參數辨識方法,包括如下步驟:
步驟1對永磁同步伺服電機建立d-q軸坐標系數學模型,具體為:
設永磁體基波磁場方向為d軸,垂直基波磁場方向為q軸,忽略渦流和磁滯損耗及永磁體阻尼作用,在轉子參考坐標系下對永磁同步伺服電機建立數學模型,永磁同步伺服電機結構簡圖如圖1所示。
電壓方程為 (1)
、——為d、q軸電壓;
、——為d、q軸電流;
、——為d、q軸電感;
——定子每相相電阻;
——轉子電氣角速度;
——微分算子;
——永磁體基波勵磁磁場鏈過定子繞組的磁鏈。
磁鏈方程: (2)
轉矩方程 (3)
——電機極對數;
運動方程: (4)
——轉動慣量;
——電磁轉矩;
——負載轉矩;
——粘滯摩擦系數。
于是可以得出dq軸坐標系下永磁同步電機的狀態方程:
(5)
為便于對待變參數離散化仍采用如下方式書寫,
(6)
其中待辨識參數為; (7)
步驟2確定混合遺傳算法的編碼方案:
具體為:用遺傳算法求解問題必須在目標實際問題表示與遺傳算法的染色體位串之間建立關系,即通過編碼與解碼來實現,有二進制編碼、實數編碼、序列編碼等多種方案可選擇。雖然二進制編碼簡單易操作適應范圍廣,但二進制編碼存在的問題字符串長度大,在復制、雜交、變異等操作時占用電腦時間長,并且在變異時二進制位串的各位上權重不同可能會導致接近極值的個體被漏掉,另外這種編碼也很難直接描述出問題的性質。本專利采用十進制浮點數編碼來實現混合遺傳算法,不僅能夠節約遺傳操作時間,而且辨識精度高,易于理解,有明確的物理意義。
步驟3確定目標函數和適應度函數具體為:
設采樣周期為,則對狀態方程(6)離散化為:
(8)
設為參數辨識值,則跟蹤系統可以表示為:
(9)
混合遺傳算法的目標函數可以表示為:
(10)
遺傳算法中適應函數構成個體的生存環境,是個體生存機會的唯一確定性指標。最大化適應值函數即為最小化誤差性能函數,取目標函數的倒數作為適應值函數。
適應值函數: , (11)
步驟4種群初始化具體為:對問題解空間進行均勻采樣,隨機生成一定數目的個體。給出混合遺傳算法的一些初始參數如種群規模、染色體長度、限界函數、剪枝函數、步長、進化代數、收斂條件。
收斂條件設置為 , (12)
——無窮小常數;
步驟5混合遺傳操作具體為:
初始化之后,對遺傳種群個體執行分支限界搜索,將種群的中心(即個體平均值)作為搜索起點,可以提高搜索的效率。設有個種群個體,分別為,那么種群中心則表示為:,。將個體做為分支限界法的根節點,并向四周進行局部擴展,生成子節點,然后再從當前的活節點中選擇下一個擴展節點。為了加速搜索的進程,需要有效地選擇下一個擴展節點,因此在每一個活節點處,分別估算這些子結點的目標函數的可能取值,如果超出限界函數值則舍棄該子節點,使搜索朝著解空間上有最優解的分支推進,以便盡快地找出一個最優解。在新結點的生成過程中,需要用限界函數殺死還沒有全部生成子結點的一些活結點,因為這些活結點無法滿足限界函數的條件,不可能得到滿意搜索結果。剪枝函數給出每個可行節點相應的子樹可能獲得的最大價值的上界,若這上界不比當前最大價值大,則剪枝,可避免無效搜索,提高分支限界法的搜索效率。
步驟6對新生種群進行適應度評價判斷是否收斂;
經過步分支限界搜索后,設得到的結果為,對代入適應度函數計算,丟掉適應度小的值,將生存下來的做為新生個體加入種群中,對種群進行遺傳算法的選擇、交叉、變異操作,組成新生種群,并保持種群規模穩定,找出新種群中適應值最大個體進行計算,代入公式(12)判斷是否收斂,若達到要求精度則終止,否則返回第5步繼續進行直至收斂。