【UAV】高度控制代码分析
生活随笔
收集整理的這篇文章主要介紹了
【UAV】高度控制代码分析
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 代碼分析
- MotorControl()
- 控制流程圖
代碼分析
MotorControl()
case PROCESS_31: {int16_t thr_temp;// 這里的定高標志在 Mode_Controller 中通過對按鍵的判定進行更改// height_lock 為 1 時標志進入定高飛行模型if(ALL_flag.height_lock) // 定高模式下 油門遙桿作為調(diào)整高度使用 {thr_temp = pidHeightRate.out + (Remote.thr -1000); // 輸出給電機的是定高輸出值}// 這里,定高比不定高多增加了一個高度內(nèi)環(huán)速度的輸出 pidHeightRate.outelse // 正常飛行狀態(tài),油門正常使用{thr_temp = Remote.thr - 1000; // 輸出給電機的是油門輸出值}if(Remote.thr<1020) // 油門太低了,則限制輸出 不然飛機亂轉(zhuǎn) {MOTOR1 = MOTOR2 = MOTOR3 = MOTOR4 = 0;break;}// thr_temp 用來給出電機的基礎(chǔ)轉(zhuǎn)速// 之后再增加上外環(huán) pidRateX.out 等來控制姿態(tài)MOTOR1 = MOTOR2 = MOTOR3 = MOTOR4 = LIMIT(thr_temp,0,900); // 留100給姿態(tài)控制MOTOR1 += + pidRateX.out - pidRateY.out - pidRateZ.out; // 姿態(tài)輸出分配給各個電機的控制量MOTOR2 += + pidRateX.out + pidRateY.out + pidRateZ.out; //MOTOR3 += - pidRateX.out + pidRateY.out - pidRateZ.out; //MOTOR4 += - pidRateX.out - pidRateY.out + pidRateZ.out; // } break;控制流程圖
總結(jié)
以上是生活随笔為你收集整理的【UAV】高度控制代码分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【UAV】光流传感器代码分析
- 下一篇: 【UGV】从单个麦轮受力到麦轮小车运动学