廉文昊 李波 葛國慶 張海濤


摘要:本設計主要分析了四軸飛行器的飛行原理,通過STM32單片機作為控制核心對四軸飛行器進行姿態信息采集和姿態控制,根據四軸飛行器的飛行特點,設計了四軸飛行器運動控制系統。通過對四旋翼工作模式與控制參數的研究,設計了串級PID控制器驅動電動機工作,從而實現四軸飛行器的起飛,懸停等姿態控制。
關鍵詞:四軸飛行器;STM32;四元數;串級PID控制器
四軸飛行器作為一種具有特殊結構的旋轉翼無人飛行器,體積小,負載能力強,易于控制,能夠垂直起降,單位體積能夠產生更大升力,具有很強的機動性,且能執行各種特殊、危險任務。四軸飛行器包含四個獨立的控制輸入以及六個自由度的輸出,是一種非完全驅動性系統,所以四軸飛行器在軟件控制上具有一定的復雜性,在飛行控制上,為了達到比較好的控制效果,需要通過合理的控制算法。本文主要分析了其飛行原理和相關飛行控制算法。
以STM32f103芯片為控制核心,陀螺儀保持四軸飛行器的穩定,3軸加速度傳感器MPU6050對四軸飛行器的姿態進行檢測,兩者構成慣性導航模塊,將位置信息發送給主控芯片,STM32f103芯片通過算法進行姿態解算,MCU再通過串級PID控制器以PWM信號調節電子調速器,從而控制電機的轉速,實現飛行器的飛行姿態控制,其控制原理示意圖如圖1所示。
二、姿態運動原理
如圖2所示。四軸飛行器有四個動力源,但四軸飛行器有六個自由度。四個動力源控制六個自由度,因此是欠驅動系統。電機轉動會產生對機身的反扭矩,為平衡其對機身的反扭矩,對角線上的電機旋轉方向應該相同,相鄰的電機旋轉方向應該相反。下面結合四軸飛行器的前后運動及俯仰運動姿態進行分析。
圖2中,增加3號電機轉速,同時減小1號電機轉速,保持其它兩個電機轉速不變,但是反扭矩仍然要保持平衡。飛行器會發生一定程度的傾斜,使旋翼拉力產生水平分量,四軸飛行器會向前運動。
保持2,4電機轉速相等,改變1,3電機轉速。根據右手螺旋定則可判斷出四軸機身繞X軸方向旋轉即可實現俯仰運動。
飛行器在進行俯仰、翻滾運動的同時也會產生沿X、Y軸的水平運動。因此飛行器系統是一個高度耦合的非線性系統。
三、坐標變換矩陣
如圖2,根據右手定則建立坐標系,用右手螺旋定則確定軸的正旋轉方向。剛體固連坐標系b系為機體坐標系,并規定沿Y軸正方向為機頭指向。n系為地理坐標系,并規定XYZ軸指向為東、北、天。根據空間向量在另兩坐標軸上投影坐標的關系,可得到基本旋轉的坐標變換矩陣。
飛行器的空間姿態可看作依次繞偏航軸、俯仰軸、翻滾軸做基本旋轉后的復合結果。根據單位正交矩陣的性質從機體坐標系到地理坐標系的坐標變換陣為
四、四元數法求歐拉角
由于旋轉矩陣法求歐拉角有奇異點,故采用四元數法。 根據四元數與向量旋轉的關系,可得
上式對比坐標變換陣,發現可用四元數來求歐拉角??捎靡浑A龍格庫塔法更新四元數,其中 為采樣周期。則有
即只需知道在機體坐標系下的角速度即可更新四元數。
五、控制算法
利用串級PID控制算法,外環為角度環,內環為角速度環。角度期望值減去傳感器反饋的角度值得到角度偏差值,這個值作為內環角速度環的輸入,角速度環輸出姿態控制量,控制量轉化為PWM信號去控制電機,從而控制四軸飛行器的姿態。
六、總結
本文對四軸運動原理、姿態表示、數學模型、控制算法的一些方法進行了討論,由于篇幅有限,本文僅為讀者提供大概思路。
參考文獻:
[1]何瑜.四軸飛行器控制系統設計及其姿態解算和控制算法研究[D].成都:電子科技大學,2015.
[2]劉豹,唐萬生.現代控制理論[M].3版.北京:機械工業出版社,2006.
[3]秦永元.慣性導航[M].2版.北京:科學出版社,2014.
項目:該項目受河南科技大學大學生研究訓練計劃(SRTP)項目資助(NO.2018082)