我是新來的PID控制器和quadcopters,我試圖寫一個非常簡單(但現實)的quadcopter仿真。我並沒有試圖建立一個真正的四軸飛行器控制器。使用PID控制器計算quadcopter力
我大致瞭解PID的工作原理,但我不太明白如何使用它們。我知道我需要至少三個PID,每個旋轉軸一個,但我不確定這是否足夠。
我的模擬運行在每秒60滴答,每次滴答更新PID並且模擬無人機。
案例1)
這種情況有沒有什麼直接跟無人機模擬,這只是我想了解一下感情的的PID。 假設無人機處於世界座標(0 -60 0)(Y是上軸),並且我希望它在世界原點(0 0 0)平整,所以它需要向上加速。對於這種情況,讓我們完全忽略轉子,我可以直接將力量直接施加到無人機上。無人機也是直立的,只能向上或向下移動。
爲了順利向原加快,我想我需要一個PID(我們稱之爲PID0),並與設定爲0(世界座標系原點的y座標)計算的話,和過程變量是無人機的y座標。但是,輸出不是強制。我可以將輸出作爲速度直接應用,效果很好,但這不是我想要的。是否需要附加的PID(PID1 )與設定值作爲輸出PID0和過程變量是電流無人駕駛飛機速度的,來計算力?
這將意味着我需要6個PID(除了3個旋轉PID)用於所有軸上的運動?這對我來說並不合適。
如何計算我需要應用的力PID0?
情況2)
對於這種情況,讓我們假設無人駕駛飛機具有自由流動,而雄蜂的線速度和角速度被轉子升力和轉子轉矩確定。比方說,無人機具有角度間距= 20,偏航= 0和卷= 0(正間距朝下,meaing無人駕駛飛機向前飛行),我希望它在間距拉平= 0,yaw = 0 and roll = 0。
要旋轉無人機,我需要增加前轉子的轉速(和/或降低後轉子的轉速)。
如果我計算PID的輸出對於俯仰軸,與設定值爲0和過程變量爲20,餘得到另一個角作爲結果。我如何使用它來改變轉子的功率?
我不需要任何的這些問題的切實可行的解決方案,我只是需要一些提示/在正確的方向輕推。