新控制演算法
Ⅰ 電機的控制演算法
選用直流或則同步伺服電機,啟動慣性小,啟動轉矩大,可以快速加速,然後設置好電流環參數,減小電流環慣性系數,應當可以達到要求。如果在平衡點想力求快速平穩控制可以考慮其他高級控制演算法,如最優控制,模糊PID控制等
給電流環階躍信號,如果他能快速上升且產生微弱超調或者不超調,這樣的PI參數就可以,個人認為i參數不必設的挺大,甚至去掉就可以;可以加D參數,它能提高速度環的反應速度。電流環加PI兩個參數就可
Ⅱ 機器人控制演算法如何編寫
基於DSP運動控制器的5R工業機器人系統設計 摘要:以所設計的開放式5R關節型工業機器人為研究對象,分析了該機器人的結構設計。該機器人采 用基於工控PC及DSP運動控制器的分布式控制結構,具有開放性強、運算速度快等特點,對其工作原理 進行了詳細的說明。機器人的控制軟體採用基於Windows平台下的VC++實現,具有良好的人機交互 功能,對各組成模塊的作用進行了說明。所設計的開放式5R工業機器人系統,具有較好的實用性。 關鍵詞:開放式;關節型;工業機器人;控制軟體 0引言 工業機器人技術在現代工業生產自動化領域得到 了廣泛的應用,也對工程技術人員提出更高的要求,作 為機械工程及自動化專業的技術人才迫切需要掌握這 一 先進技術。為了能更好地加強技術人員對工業機器 人的技能實踐與技術掌握,需要開放性強的設備來滿 足要求。本文闡述了我們所開發設計的一種5R關節 型工業機器人系統,可以作為通用的工業機器人應用 於現場,也可作為教學培訓設備。 1 5R工業機器人操作機結構設計 關節型工業機器人由2個肩關節和1個肘關節進 行定位,由2個或3個腕關節進行定向,其中一個肩關節 繞鉛直軸旋轉,另一個肩關節實現俯仰,這兩個肩關節 軸線正交。肘關節平行於第二個肩關節軸線。這種構 型的機器人動作靈活、工作空間大,在作業空間內手臂 的干涉最小,結構緊湊,佔地面積小,關節上相對運動部 位容易密封防塵,但運動學復雜、運動學反解困難,控制 時計算量大。在工業用應用是一種通用型機器人¨。 1.1 5R工業機器人操作機結構 所設計的5R關節型機器人具有5個自由度,結構 簡圖如圖1所示。5個自由度分別是:肩部旋轉關節 J1、大臂旋轉關節J2、小臂旋轉關節J3、手腕仰俯運動 關節J4和在旋轉運動關節J5。總體設計思想為:選用 伺服電機(帶制動器)驅動,通過同步帶、輪系等機械機 構進行間接傳動。腕關節上設計有裝配手爪用法蘭, 通過不斷地更換手爪來實現不同的作業任務。 1.2 5R工業機器人參數 表1為設計的5R工業機器人參數。 2 5R工業機器人開放式控制系統 機器人控制技術對其性能的優良起著重大的作用。隨著機器人控制技術的發展,針對結構封閉的機 器人控制器的缺陷,開發「具有開發性結構的模塊化、 標准化機器人控制器」是當前機器人控制器發展的趨 勢]。為提高穩定性、可靠性和抗干擾性,採用「工業 PC+DSP運動控制器」的結構來實現機器人的控制:伺 服系統中伺服級計算機採用以信號處理器(DSP)為核 心的多軸運動控制器,藉助DSP高速信號處理能力與 運算能力,可同時控制多軸運動,實現復雜的控制演算法 並獲得優良的伺服性能。 2.1基於DSP的運動控制器MCT8000F8簡介 深圳摩信科技公司MCT8000F8運動控制器是基 於網路技術的開放式結構高性能DSP8軸運動控制器, 包括主控制板、介面板以及控制軟體等,具有開放式、 高速、高精度、網際在線控制、多軸同步控制、可重構 性、高集成度、高可靠性和安全性等特點,是新一代開 放式結構高性能可編程運動控制器。 圖2為DSP多軸運動控制器硬體原理圖。圖中增 量編碼器的A0(/A0)、B0(/B0)、c0(/CO)信號作為 位置反饋,運動控制器通過四倍頻、加減計數器得到實 際的位置,實際位置信息存在位置寄存器中,計算機可 以通過控制寄存器進行讀取。運動控制卡的目標位置 由計算機通過機器人運動軌跡規劃求得,通過內部計 算得到位置誤差值,再經過加減速控制和數字濾波後, 送到D/A轉換(DAC)、運算放大器、脈寬調制器 (PWM)硬體處理電路,轉化後輸出伺服電機的控制信 號或PWM信號。各個關節可以完成獨立伺服控制,能 夠實現線性插補控制、二軸圓弧插補控制。 2.2機器人控制系統結構及工作原理 基於PC的Windows操作系統,因其友好的人機界 面和廣泛的用戶基礎,而成為基於PC控制器的首選。 採用PC作為機器人控制器的主機系統的優點是:①成 本低;②具有開放性;③完備的軟體開發環境和豐富的 軟體資源;④良好的通訊功能。機器人控制結構上采 用了上、下兩級計算機系統完成對機器人的控制:上級 主控計算機負責整個系統管理,下級則實現對各個關 節的插補運算和伺服控制。這里通過採用一台工業 PC+DSP運動控制卡的結構來實現機器人控制。實驗 結果證明了採用Pc+DSP的計算結構可以充分利用 DSP運算的高速性,滿足機器人控制的實時需求,實現 較高的運動控制性能。 機器人伺服系統框圖如圖3所示。伺服系統由基 於DSP的運動控制器、伺服驅動器、伺服電動機及光電 編碼器組成。伺服系統包含三個反饋子系統:位置環、 速度環、電流環,其工作原理如下:執行元件為交流伺 服電動機,伺服驅動器為速度、電流閉環的功率驅動元 件,光電編碼器擔負著檢測伺服電機速度和位置的任 務。伺服級計算機的主要功能是接受控制級發出的各 種運動控制命令,根據位置給定信號及光電編碼器的 位置反饋信號,分時完成各關節的誤差計算、控制演算法 及D/A轉換、將速度給定信號加至伺服組件的控制端 子,完成對各關節的位置伺服控制。管理級計算機採用 586工控機(或便攜筆記本),主要完成離線編程、模擬、 與控制級通訊、作業管理等功能;控制級計算機採用586 工控機,主要完成用戶程序編輯、用戶程序解釋,向下位 機運動控制器發機器人運動指令、實時監控、輸入輸出 控制(如列印)等。示教盒通過控制級計算機可以獲得 機器人伺服系統中的數據(脈沖、轉角),並用於控制級 計算機控制軟體中實現對機器人的示教及控制。 3 5R工業機器人運動控制軟體設計 5R工業機器人控制軟體採用C++Builder編程, 最終軟體運行在Windows環境下。C++Builder對在 Windows平台下開發應用程序時所涉及到的圖形用戶 界面(GUI)編程具有很強的支持能力,提供了可視化 的開發環境,可以方便調用硬體廠商提供的底層函數, 直接對硬體進行操作,而且生成目標代碼效率高。 所設計的控制軟體為分級式模塊化結構。 管理級主模塊具有離線編程、圖形模擬、資料查詢 及故障診斷等功能,其結構如圖4所示。 (1)離線編程模塊利用計算機圖形學的成果,建立 機器人及其工作環境的模型,利用規劃演算法,通過對圖 形和對象的操作,編制各種運動控制,在離線情況下生 成工作程序。 (2)圖形模擬模塊可預先模擬結果,便於檢查及優 化。 (3)資料查詢模塊可以查閱當日工作及近期工作 記錄、相關資料(生產數量、班次等),並可以列印輸出 存檔。 (4)故障診斷模塊可以實時故障診斷,以代碼形式顯 示出故障類型,並為技術人員排除故障提供幫助信息。 控制級主模塊軟體結構如圖5所示。 (1)復位模塊使得機器人停機時或動作異常時,通 過特定的操作或自動的方式,使機器人回到作業原點。 機器人在作業原點,機構的各運動副所受力矩最小,它 確定了機器人待機的安全位姿。 (2)系統提供兩種示教方法。第一種示教方法即 「下位機+示教盒」的示教方法:示教盒和下位機操作 界面上的手動操作開關分別對應著裝配機器人的各種 動作和功能。通過高、中、低速、點動等速度檔次的選 擇,對機器人進行大致的定位和精確的位置微調。並 存儲期望的運動軌跡上機器人的位置、姿態參數。第 二種方法即離線模擬的示教方法。這種示教方法是在 計算機上建立起機器人作業環境的模型,再在這個模 型的基礎上生成示教數據的一種應用人工智慧的示教 方法。進行示教時使用計算機圖示的方法分析機器人與作業模型的位置關系,也可以通過特定指令指定機 器人的運動位置…。 4結束語 所開發的開放式工業機器人系統具有以下特點: (1)採用分布式二級控制結構,運動控制由基於 DSP的運動控制器M'CT8000F8完成,增加了系統的開 放性,以及運行處理的快速性及可靠性。 (2)考慮到具有良好的通用性,可以作為通用機器 人使用,具有較好的產業化、商品化前景。 (3)計算機輔助軟體採用基於Windows平台的 c++編程,通過調用底層函數可以對硬體進行直接操 作,可視化環境可提供良好的人機交互操作界面。 通過本機器人系統的研究開發,可極大地滿足工 業現場對機器人的開放性要求,進一步提高我國工礦 企業自動化水平。同時,也可作為機器人技術訓練平 台,加強工程人員能力鍛煉。 [參考文獻] [1]馬香峰,等.工業機器人的操作機設計[M].北京:冶金工 業出版社,1996. [2]吳振彪.工業機器人[M].武漢:華中理工大學出版社, 2006. [3]蔡自興.機器人學[M].北京:清華大學出版社,2003. [4]王天然,曲道奎.工業機器人控制系統的開放體系結構 [J].機器人,2002,24(3):256—261. [5]深圳摩信科技有限公司.MCT8000系列控制器使用手冊 [z].深圳:深圳摩信科技有限公司,2001. [6]張興國.環保壓縮機裝配機器人的運動學分析[J].南通 工學院學報,2004(1):32—34,38. [7]張興國.計算機輔助環保壓縮機裝配機器人運動學分析 [J].機械設計與製造,2005(3):98—100, [8]本書編寫委員會編著.程序設計VisualC++6[M].北京: 電子工業出版社,2000. [9]吳斌,等.OpenGL編程實例與技巧[M].北京:人民郵電出 版社,1999. [10]江早.OpenGLVC/VB圖形編程[M】.北京:中國科學技 術出版社,2001. [11]韓軍,等.6R機器人運動學控制實驗系統的研製[J].實 驗室研究與探索,2003(5):103—104.
Ⅲ 新能源汽車bms控制演算法有哪些
新能源汽車bms的控制演算法有熱管理控制。soc控制,soh計算控制和上下電管理等。
Ⅳ 一文搞懂PID控制演算法
PID演算法是工業應用中最廣泛演算法之一,在閉環系統的控制中,可自動對控制系統進行准確且迅速的校正。PID演算法已經有100多年歷史,在四軸飛行器,平衡小車、汽車定速巡航、溫度控制器等場景均有應用。
之前做過循跡車項目,簡單循跡搖擺幅度較大,效果如下所示:
PID演算法優化後,循跡穩定性能較大提升,效果如下所示:
PID演算法:就是「比例(proportional)、積分(integral)、微分(derivative)」,是一種常見的「保持穩定」控制演算法。
常規的模擬PID控制系統原理框圖如下所示:
因此可以得出e(t)和u(t)的關系:
其中:
Kp:比例增益,是調適參數;
Ki:積分增益,也是調適參數;
Kd:微分增益,也是調適參數;
e:誤差=設定值(SP)- 回授值(PV);
t:目前時間。
數學公式可能比較枯燥,通過以下例子,了解PID演算法的應用。
例如,使用控制器使一鍋水的溫度保持在50℃,小於50℃就讓它加熱,大於50度就斷電不就行了?
沒錯,在要求不高的情況下,確實可以這么干,如果換一種說法,你就知道問題出在哪裡了。
如果控制對象是一輛汽車呢?要是希望汽車的車速保持在50km/h不動,這種方法就存在問題了。
設想一下,假如汽車的定速巡航電腦在某一時間測到車速是45km/h,它立刻命令發動機:加速!
結果,發動機那邊突然來了個100%全油門,嗡的一下汽車急加速到了60km/h,這時電腦又發出命令:剎車!結果乘客吐......
所以,在大多數場合中,用「開關量」來控制一個物理量就顯得比較簡單粗暴了,有時候是無法保持穩定的,因為單片機、感測器不是無限快的,採集、控制需要時間。
而且,控制對象具有慣性,比如將熱水控制器拔掉,它的「余熱」即熱慣性可能還會使水溫繼續升高一小會。
此時就需要使用PID控制演算法了。
接著咱再來詳細了解PID控制演算法的三個最基本的參數:Kp比例增益、Ki積分增益、Kd微分增益。
1、Kp比例增益
Kp比例控制考慮當前誤差,誤差值和一個正值的常數Kp(表示比例)相乘。需要控制的量,比如水溫,有它現在的 當前值 ,也有我們期望的 目標值 。
當兩者差距不大時,就讓加熱器「輕輕地」加熱一下。
要是因為某些原因,溫度降低了很多,就讓加熱器「稍稍用力」加熱一下。
要是當前溫度比目標溫度低得多,就讓加熱器「開足馬力」加熱,盡快讓水溫到達目標附近。
這就是P的作用,跟開關控制方法相比,是不是「溫文爾雅」了很多。
實際寫程序時,就讓偏差(目標減去當前)與調節裝置的「調節力度」,建立一個一次函數的關系,就可以實現最基本的「比例」控制了~
Kp越大,調節作用越激進,Kp調小會讓調節作用更保守。
若你正在製作一個平衡車,有了P的作用,你會發現,平衡車在平衡角度附近來回「狂抖」,比較難穩住。
2、Kd微分增益
Kd微分控制考慮將來誤差,計算誤差的一階導,並和一個正值的常數Kd相乘。
有了P的作用,不難發現,只有P好像不能讓平衡車站起來,水溫也控製得晃晃悠悠,好像整個系統不是特別穩定,總是在「抖動」。
設想有一個彈簧:現在在平衡位置上,拉它一下,然後鬆手,這時它會震盪起來,因為阻力很小,它可能會震盪很長時間,才會重新停在平衡位置。
請想像一下:要是把上圖所示的系統浸沒在水裡,同樣拉它一下 :這種情況下,重新停在平衡位置的時間就短得多。
此時需要一個控製作用,讓被控制的物理量的「變化速度」趨於0,即類似於「阻尼」的作用。
因為,當比較接近目標時,P的控製作用就比較小了,越接近目標,P的作用越溫柔,有很多內在的或者外部的因素,使控制量發生小范圍的擺動。
D的作用就是讓物理量的速度趨於0,只要什麼時候,這個量具有了速度,D就向相反的方向用力,盡力剎住這個變化。
Kd參數越大,向速度相反方向剎車的力道就越強,如果是平衡小車,加上P和D兩種控製作用,如果參數調節合適,它應該可以站起來了。
3、Ki積分增益
Ki積分控制考慮過去誤差,將誤差值過去一段時間和(誤差和)乘以一個正值的常數Ki。
還是以熱水為例,假如有個人把加熱裝置帶到了非常冷的地方,開始燒水了,需要燒到50℃。
在P的作用下,水溫慢慢升高,直到升高到45℃時,他發現了一個不好的事情:天氣太冷,水散熱的速度,和P控制的加熱的速度相等了。
這可怎麼辦?
P兄這樣想:我和目標已經很近了,只需要輕輕加熱就可以了。
D兄這樣想:加熱和散熱相等,溫度沒有波動,我好像不用調整什麼。
於是,水溫永遠地停留在45℃,永遠到不了50℃。
根據常識,我們知道,應該進一步增加加熱的功率,可是增加多少該如何計算呢?
前輩科學家們想到的方法是真的巧妙,設置一個積分量,只要偏差存在,就不斷地對偏差進行積分(累加),並反應在調節力度上。
這樣一來,即使45℃和50℃相差不是太大,但是隨著時間的推移,只要沒達到目標溫度,這個積分量就不斷增加,系統就會慢慢意識到:還沒有到達目標溫度,該增加功率啦!
到了目標溫度後,假設溫度沒有波動,積分值就不會再變動,這時,加熱功率仍然等於散熱功率,但是,溫度是穩穩的50℃。
Ki的值越大,積分時乘的系數就越大,積分效果越明顯,所以,I的作用就是,減小靜態情況下的誤差,讓受控物理量盡可能接近目標值。
I在使用時還有個問題:需要設定積分限制,防止在剛開始加熱時,就把積分量積得太大,難以控制。
PID演算法的參數調試是指通過調整控制參數(比例增益、積分增益/時間、微分增益/時間) 讓系統達到最佳的控制效果 。
調試中穩定性(不會有發散性的震盪)是首要條件,此外,不同系統有不同的行為,不同的應用其需求也不同,而且這些需求還可能會互相沖突。
PID演算法只有三個參數,在原理上容易說明,但PID演算法參數調試是一個困難的工作,因為要符合一些特別的判據,而且PID控制有其限制存在。
1、穩定性
若PID演算法控制器的參數未挑選妥當,其控制器輸出可能是不穩定的,也就是其輸出發散,過程中可能有震盪,也可能沒有震盪,且其輸出只受飽和或是機械損壞等原因所限制。不穩定一般是因為過大增益造成,特別是針對延遲時間很長的系統。
2、最佳性能
PID控制器的最佳性能可能和針對過程變化或是設定值變化有關,也會隨應用而不同。
兩個基本的需求是調整能力(regulation,干擾拒絕,使系統維持在設定值)及命令追隨 (設定值變化下,控制器輸出追隨設定值的反應速度)。有關命令追隨的一些判據包括有上升時間及整定時間。有些應用可能因為安全考量,不允許輸出超過設定值,也有些應用要求在到達設定值過程中的能量可以最小化。
3、各調試方法對比
4、調整PID參數對系統的影響
Ⅳ 哪些控制類的演算法驚艷了你
談到控制演算法,有人說路徑規劃,有人說機器人運動學,還有人說卡爾曼濾波器,神經網路,蟻群演算法,或者粒子群優化演算法。我擦,這哪是控制演算法,完全不是一個層面的東西,至少不屬於狹義上的控制演算法。那上面那些東西屬於啥,搞控制的喜歡對系統分層,一般分為決策優化層和控制層。路徑規劃,機器人運動學都屬於決策優化層的東西,在這一層進行全局的規劃和優化,最後生成控制指令,傳給控制層,控制層通過閉環反饋實現對指令的跟蹤。
控制演算法,控制的是信號,信號是連續量,比如電壓,電流,轉速,功率,溫度,等等,說到底信號就是一個物理量在一個域(時間或者空間)上展開。系統是啥,系統就是信號到信號的變換,比如最普通的直流電機,我加一個電壓信號給電機,然後電機的轉速信號慢慢升到一個固定值,這里電機就是一個系統,它實現了電壓信號到轉速信號的變換,改變電壓,轉速信號也會隨著改變。