姿態和位置,四旋翼的控制流程

2021-07-10 23:33:32 字數 2508 閱讀 9323



姿態和位置計算:ekf

位置控制:pid

姿態控制:姿態環是直接p控制,姿態率是pid控制。

主要是濾波演算法和姿態演算法還有pid演算法。 濾波演算法主要是將獲取到的陀螺儀和加速度計的資料進行去雜訊及融合,得出正確的角度資料。主要採用互補濾波或者高大上的卡爾曼濾波。

姿態演算法是將獲得的濾波後的感測器資料計算得出飛行器自身座標系與地理空間座標系的偏差,即尤拉角。 一般採用四元數演算法。

pid演算法就是用來控制四個電機的轉速來糾正尤拉角,從而使機身保持平穩。

無人機或者飛行器的控制器叫做飛控,了解這種控制方法不但是其中的演算法還包括控制物件,控制器等等。飛控作為乙個體系來理解更容易入手。

飛控當中常用的演算法暫時還是pid,智慧型pid如模糊pid,也有採用lqr,變結構控制器等等。控制系統結構上面一般採用雙閉環的形式,分出姿態換和位置換進行控制。

姿態演算法提供控制所需要的閉環迴路,姿態的獲取有幾種途徑:陀螺儀積分,加速度計+強磁計,陀螺儀與加速度計強磁計的資料融合(濾波)。

姿態的標示方式有尤拉角(也叫姿態角),四元數,指數形式,矩陣形式等等。尤拉角畢竟是非全域性,非唯一的。四元數是全域性標示姿態,但不唯一。

至於原因,我把自己總結的公式貼在下面:

乙個旋翼類無人機系統的演算法主要有兩類:姿態檢測演算法、姿態控制演算法。

姿態控制、被控物件(即四旋翼無人機)、姿態檢測三個部分構成乙個閉環控制系統。被控物件的模型是由其物理系統決定,我們設計無人機的演算法就是設計姿態控制演算法、姿態檢測演算法。

1:姿態檢測演算法:姿態的三個自由度可以用尤拉角表示,也可以用四元數表示。姿態檢測演算法的作用就是將加速度計、陀螺儀等感測器的測量值解算成姿態,進而作為系統的反饋量。常用的姿態檢測演算法有卡爾曼濾波、互補濾波等。

2:姿態控制演算法:控制飛行器姿態的三個自由度,以給定姿態與姿態檢測演算法得出的姿態偏差作為輸入,被控物件模型的輸入量作為輸出(例如姿態增量),從而達到控制飛行器姿態的作用。最常用的就是pid控制及其各種pid擴充套件(分段、模糊等)、高階點的有自適應控制。當然,姿態控制演算法裡面又常用角速度、角度雙閉環控制,所以常常有pd外環+pid內環等等,這些細節就不說了。

這倆演算法搞清楚,再指導無刷電機的控制方法,基本就能搞清飛控的組成了。雲台控制也是同理。

四旋翼的控制流程:控制中心微控制器通過imu陀螺儀加速度計(mpu6050等等)獲取四旋翼的角度(俯仰、橫滾和偏航)的相對基準角度變化、然後濾波(卡爾曼濾波等等)處理獲得方向余弦矩陣和四元數得到尤拉角、使用pid控制或者pi,pd控制(p比例i積分d微分)將系統反饋值和期望值進行比較、並根據偏差不斷修復、直至達到期望的預定值。p的作用是加快系統達到預期的速度;i的作用是消除淨差;d有阻尼的作用、就是阻止系統突變。

通過pid自動控制演算法處理、輸出期望的pwm波給四個電調、控制四個無刷電機的轉速、從而得到乙個期望的力控制四旋翼的前後左右上下飛行。

自穩(stabilise)模式下:

沒有position and velocity estimator,只用根據imu得到的偏角對馬達轉速進行調整已達到自穩。偏轉補償角度控制器為pi,角度加速度控制器為pid。

定點(loiter)模式下:

ekf根據gps,imu,sonar(如果夠低),optical flow sensor(如果有)的資料計算出現在的位置。然後可以得到現在位置與desired position的差值,位置控制器有乙個pid控制偏轉角,然後再到角加速度的pid控制。

. 三角函式直接解算尤拉角+互補濾波+單級pid版本

效果:簡單暴力,但是補濾波效果差,單級pid響應慢,打舵跟隨效應差。

2. 三角函式直接解算尤拉角+卡爾曼濾波+單級pid版本

效果:卡爾曼濾波雜訊偏大,滯後略微嚴重,單級pid難操作,打舵響應慢,跟隨效應差。不過比較適合初學四軸的人,難度比四元數加串級pid版本低,易於理解。

3. 四元數姿態解算+互補濾波(德國開源四軸)+串級pid版本

效果:四元數難理解,基於pi控制的互補濾波不適合非專業人員,pid引數較單級pid引數難調。打舵響應極佳,穩定程度高,易於操作,是目前四軸的主流演算法

四旋翼位置控制之 定高篇

先mark一下,爭取兩周之內寫完 由於快要畢業了,所以一直都很忙,並沒有時間寫完,所以拖到現在,不好意思。現在開始介紹四旋翼定高以及除錯過程。首先介紹下四旋翼的模型 圖中為其中,其中x即為z軸位移距離,則推出四旋翼的模型 顯然,系統輸出z軸加速度與系統的輸入u成正比關係,因此採用pid線性控制器來作...

四旋翼的控制原理

為方便說明,我們把電機進行編號,右下為 9號,右上為 10號,左下為 11,左上為 3號 電機。1.飛行器保持懸停,4個電機的轉速保持一致,來使飛行器保持水平。四個電機的轉速 懸停油門 2.當我們希望飛行器向右飛的時候 我們設定在第一種情況的基礎上,增加左邊兩個電機 3,11 的轉速,減小右邊兩個電...

Pixhawk學習10 2 多旋翼位置控制

10.1中介紹了目標位置點的計算邏輯,知道下一時刻的目標位置後,飛控需要根據當前位置進行計算,依次得到期望速度,期望拉力向量,期望姿態。至此就完成了多旋翼的位置控制。1 期望速度計算 上篇計算得到期望位置之後,根據飛機當前位置,可知道位置差向量。在位置速度串級pid中,位置環只採用了比例,速度環採用...