pid-controller

    0熱度

    1回答

    我是新來的PID控制器和quadcopters,我試圖寫一個非常簡單(但現實)的quadcopter仿真。我並沒有試圖建立一個真正的四軸飛行器控制器。 我大致瞭解PID的工作原理,但我不太明白如何使用它們。我知道我需要至少三個PID,每個旋轉軸一個,但我不確定這是否足夠。 我的模擬運行在每秒60滴答,每次滴答更新PID並且模擬無人機。 案例1) 這種情況有沒有什麼直接跟無人機模擬,這只是我想了解一

    0熱度

    1回答

    我正在使用MATLAB構建可以自動調整三個PID控制器增益的代碼。我想到的方式是最小化我的系統的錯誤(期望狀態和獲得狀態之間的差異),爲此,我編寫了一個函數,它接受PID增益作爲輸入參數並返回計算出的錯誤,即: errors_vector = closedLoopSimulation(pidGains) 由於我有三個設定點(輸入命令),則輸出errors_vector的尺寸是3 * N,其中N

    2熱度

    1回答

    我正在開發一個NXT mindstorms集的小型項目。我的目標是建立一個能夠非常順利且儘可能快地遵循一條線的機器人。因此,經過小範圍的研究,我發現了PID算法,並且我能夠理解並將算法實現爲NXC代碼。機器人根據算法正確地做了所有事情,但是當線路中斷(間隙)時,機器人失去了線路並且無法返回。問題是,當差距達到9釐米時,他可以回來但是在10點他就失去了線路。我正在使用一個光傳感器。有什麼方法可以調整

    0熱度

    2回答

    我正在做一個控制工程項目,爲自動天線跟蹤系統實現PID電機位置控制。該系統包含直流電機,絕對編碼器和電機驅動器。 一切按預期工作,但有一件事。電機不能在0度(350 - 359,0 - 10度)附近的設定值處停止。使用的代碼: #include <PID_v1.h> int RPWM = 5; int LPWM = 6; int L_EN = 7; int R_EN = 8; boole

    11熱度

    6回答

    我不理解PID控制器的組成部分。讓我們假設來自Wikipedia的這個僞代碼: previous_error = 0 integral = 0 start: error = setpoint - measured_value integral = integral + error*dt derivative = (error - previous_error)/d