基于adams與simulink的七自由度機械臂模型與控制仿真
最近在搞adams與simulink聯合仿真,發現網上關于高自由度機械臂的建模與仿真中文資料很少,也沒有開源模型,因此將我的學習成果開源出來,供大家學習和參考,做的效果不是很好,仍有許多不足之處,還請見諒,
github地址
https://github.com/zzy5510/adams_simulink_robotarm
所有代碼、模型均放在以上倉庫中,后續還會進行維護,開發其他控制演算法,如自適應控制、最優控制等等,如果覺得做的不錯,希望能幫忙點個star,
機械臂模型
機械臂DH坐標圖如下:

來自實驗室楊師兄的論文《An Adaptive Force Control Method for 7-Dof Space Manipulator Repairing Malfunctioning Satellite》,
按照此圖在adams建立了機械臂模型:

注意事項:為了方便逆動力學運算,對桿件的質量引數進行了簡化,桿件1、3、4垂直于地面的一段質量設為0,使得桿件的質心位于水平段的中心,
PD控制
PD控制被證明是穩定的,PD控制的數學原理和公式 推導如下:

控制框圖如下:
經試驗,發現該種控制方法效果很差,我認為,李雅普諾夫第二定律只證明了其穩定性,但是收斂速度的快慢卻沒有證明,由于多個關節之間存在動力學耦合,獨立關節的加速度不僅與自身的運動學引數有關,還與其他關節的引數有關,因此該種控制方法的效果很差,
當然也可能和我PID引數沒調好有關,
兩環PID控制
三環PID控制是工業中常用的一種控制方案,期望位置經過位置環PID得到期望速度,期望速度由速度環PID輸出得到期望電流,期望電流經電流環輸出得到實際電流,輸出到電機處,
由于adams里沒法對電機電流進行仿真,因此將電流環省略,認為速度環PID輸出期望力矩,直接施加在機械臂關節兩端,
三環PID控制如下:

圖源論文《空間大型機械臂關節控制系統及軌跡規劃研究》
然而,因為動力學耦合,該種控制的效果也非常差,為什么用電流環PID能取得較好的效果,用力矩就不行呢?
這是因為電流與電機輸出力矩成正比,其他關節對本關節的力矩耦合經過減速齒輪的作用,以及變得非常小了,這種情況下,用PID才能取得較好的效果,而直接用力矩控制,則無法忽略其他關節的耦合作用,
在《機器人建模與控制》中,解釋如下:


基于牛頓——歐拉迭代法的逆動力學求解與控制
牛頓歐拉法考慮了關節之間的動力學耦合,已知各個關節的關節角度、加速度,即可求出想獲得期望角加速度的施加力矩,本系統建立了改進DH坐標系,得到隨體坐標系的牛頓歐拉迭代方程,公式如下:

圖源https://blog.csdn.net/qq_26565435/article/details/94303159
控制框圖如下:

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/254023.html
標籤:AI
