机器人动力学与控制学习笔记(二)————机器人动力学建模
?
二、工業機器人動力學
? ? ? ? 機器人動力學描述的是關節力矩、動力學參數及關節運動的關系,用于機器人動力學建模的方法很多,如牛頓-歐拉方法、拉格朗日方法、凱恩方法、算子代數方法等。對于同一個機器人,無論采用何種建模方法,最終得到的動力學模型都是等價的,可以表示為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ??? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2-1)
? ? ? ? 其中為慣性項,為科氏力及離心力項,為重力項,每一項都是機器人慣性參數與關節運動參數的函數。機器人的10個慣性參數可表示為向量的形式:,其中,參數為機器人慣量矩陣中的6個參數,為的3個分量(為質心向量)。上述9個量均包含(2-1)在及項內,表示質量,包含在項。
? ? ? ? 基于模型的控制方案主要包括計算力矩控制、動力學前饋控制等,要想通過這些控制方法實現對軌跡的完全精確跟蹤,控制方法中的動力學模型必須與機器人實際的動態特性相符。而各種典型建模方法所得到的動力學模型(2-1),只是在理想情況下的結果。實際情況中,影響機器人動力學的因素很多,如加工、裝配、材料分布不均等引起的偏差;關節彈性引起的變形所帶來的運動學參數偏差;關節摩擦引起的摩擦力矩;由傳動方案所引起的不同關節間的運動耦合等。這些因素中,很多無法進行精確建模。為了不增加動力學模型的復雜性,理想的動力學建模方法并未完全考慮這些因素的作用,因此所得到的動力學模型(1-2)與實際的機器人動力學特性是有偏差的。動力學模型的偏差映射到控制方案中,就會引起軌跡的跟蹤誤差。
2.1? 動力學參數辨識
? ? ? ? 完整的動力學參數辨識主要包括動力學建模、動力學模型的線性化(辨識模型),辨識軌跡優化、辨識算法構造、參數采集與處理、試驗驗證等幾個方面。不同辨識方案在建模、線性化、軌跡優化及試驗驗證方面沒有太大區別,區別主要體現在辨識算法和采集方面。
? ? ? ? 就辨識算法而言,目前已有神經網絡辨識,遺傳算法辨識,最大似然估計辨識,卡爾曼濾波算法辨識,最小二乘法辨識等。
? ? ? ? 數據采集的區別主要體現在力矩的采集上,關節運動參數一般都是通過安裝在電機上的編碼器測得關節轉角,再對關節轉角進行微分得到角速度、角加速度。而力矩的采集大致分為兩類,即力傳感器直接測量及通過電機電流間接測量。對于直接測量,需要在幾機器人關節安裝力傳感器,一般選在末端或基座處,一是因為其他關節在裝配后沒有安裝力傳感器的空間,另一方面,每個關節都安裝測力傳感器勢必會大大增加辨識成本;間接測量是通過電機電流測測量值簡介計算出電機的驅動力矩值,電機電流與驅動力矩滿足:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ???
? ? ? ??為關節力矩,為電機轉矩常數,電機驅動電流。不同測量方案對可辨識的參數類型及參數辨識過程有影響,而不同辨識算法僅對辨識精度有影響。
2.2? 牛頓-歐拉動力學建模
? ? ? ? 牛頓-歐拉動力學方法基于兩個基本方程,即力平衡方程以及力矩平衡方程,分別為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ??表示作用于機械臂質心處的合力,表示機械臂質心的線加速度,表示作用于機械臂質心處的合力矩,表示相對機械臂質心表示的機械臂慣量矩陣,表示機械臂角的加速度,表示機械臂角的角速度。
? ? ? ? 牛頓-歐拉動力學建模方法包括兩部分,即正向運動學遞推及反向動力學遞推:
(1)正向運動學遞推
? ? ? ? 角速度遞推:
? ? ? ? 角加速度遞推:
? ? ? ? 線加速度遞推:
? ? ? ? 質心處線加速度:
? ? ? ? 其中,表示第與第坐標系間的姿態轉換矩陣,表示第與第坐標原點間的距離向量,表示關節的軸線方向,均為關節變量,分別表示關節的角速度和角加速度,其他各符號含義同前,其中左上標代表參數在哪個坐標系表示,右下標表示參數所隸屬的機械臂。
(2)反向運動學遞推
? ? ? ??機械臂質心處的合力:
? ? ? ??機械臂關節處的作用力:
? ? ? ??機械臂質心處的合力矩:
? ? ????機械臂關節處的合力矩:
? ? ? ? 最后,將作用于關節處的合力矩向關節軸線方向投影,得到關節的驅動力矩:
? ? ? ? 這樣,得到工業機器人的動力學方程,一般可寫為標準形式:
? ? ? ??為機器人的驅動力矩向量,滿足:
? ? ? ? 其中,?表示第關節的驅動力矩。
? ? ? ??稱為機械臂的質量矩陣,是一個對稱陣:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? 對角項通過第關節的角加速度產生對第?關節力矩的力矩分量,非對角項通過第關節的角加速度產生對第關節力矩的力矩分量。
? ? ? ??為科氏力及離心力項,滿足:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? 其中,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ?,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ??的后兩個下標表示此力矩分量與關節的速度有關,他們的動態力相互作用在關節處產生反作用力(力矩),標號總表示“感受”到速度引起的反作用力(力矩)的關節編號。當時,與關節“感受”到的關節的角速度產生的離心力有關;而當時,與關節“感受”到的關節和的速度產生的科氏力有關。
2.3 牛頓-歐拉動力學編程
? ? 利用Newton-Euler方程建立動力學模型,在Matlab中利用m語言編寫程序,完成動力學模型正反解驗證。
(1)建立牛頓-歐拉方程逆動力學模型。輸入是六個關節的期望角度、速度和加速度,輸出是六個關節力矩。
(2)建立凱恩方程正動力學模型。輸入是上一級的六個關節的力矩,輸出是實際期望角度、速度和加速度。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖 1 基于牛頓-歐拉方程和凱恩方程建立的機器人動力學模型simulink仿真圖
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖2 六個關節輸出力矩
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖3 六個關節實際輸出角度、速度和加速度?
總結
以上是生活随笔為你收集整理的机器人动力学与控制学习笔记(二)————机器人动力学建模的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cisco路由器密码恢复
- 下一篇: SQL2005的配置