運(yùn)動(dòng)補(bǔ)償:從PID調(diào)參到系統(tǒng)抗干擾策略)
最近在整理往年電賽資料時(shí)發(fā)現(xiàn)一個(gè)很有意思的現(xiàn)象很多隊(duì)伍在準(zhǔn)備“桿球平衡”這類經(jīng)典控制題目時(shí)會(huì)把絕大部分精力放在PID調(diào)參、算法仿真和硬件搭建上。這當(dāng)然沒錯(cuò)但往往在比賽現(xiàn)場(chǎng)決定最終成績(jī)上限的可能并不是你的控制算法有多精妙而是你的系統(tǒng)能否扛住真實(shí)物理世界里的各種“意外擾動(dòng)”——比如電機(jī)啟動(dòng)的抖動(dòng)、傳感器安裝的微小形變、甚至裁判走動(dòng)帶來的地面震動(dòng)。“桿球平衡”的核心是穩(wěn)定但“運(yùn)動(dòng)補(bǔ)償”要解決的恰恰是“不穩(wěn)定”本身。它不是一個(gè)獨(dú)立的算法模塊而是一套貫穿硬件選型、機(jī)械結(jié)構(gòu)、信號(hào)處理和控制律設(shè)計(jì)的系統(tǒng)性抗干擾策略。很多人以為補(bǔ)償就是加個(gè)濾波或者調(diào)個(gè)前饋結(jié)果在實(shí)驗(yàn)室跑得飛起的小球一上賽場(chǎng)就“翩翩起舞”。問題出在哪很可能從一開始對(duì)“補(bǔ)償”的理解就停留在表面了。2026年電賽若真以“桿球平衡運(yùn)動(dòng)補(bǔ)償”為題其考察重點(diǎn)絕不會(huì)是讓你復(fù)現(xiàn)一個(gè)平衡狀態(tài)而是在存在持續(xù)或突變外部擾動(dòng)的條件下如何讓系統(tǒng)依然保持穩(wěn)定并快速準(zhǔn)確地響應(yīng)新的位置指令。這要求我們跳出“單點(diǎn)調(diào)參”的思維建立一套從“現(xiàn)象感知”到“擾動(dòng)歸類”再到“分層抑制”的完整工程化應(yīng)對(duì)框架。今天我們就來拆解一下面對(duì)這樣一個(gè)題目從理解到實(shí)現(xiàn)真正需要關(guān)注的是什么。1. 先厘清核心矛盾我們要補(bǔ)償?shù)牡降资鞘裁础斑\(yùn)動(dòng)”拿到題目第一反應(yīng)不應(yīng)該是去找代碼而是先拆解“運(yùn)動(dòng)補(bǔ)償”這個(gè)目標(biāo)里的“運(yùn)動(dòng)”究竟指什么。如果定義不清后續(xù)所有工作都可能跑偏。1.1 擾動(dòng)來源的三層分解內(nèi)部、耦合與外部在桿球平衡系統(tǒng)中“運(yùn)動(dòng)”干擾可以按來源分為三層每一層需要的補(bǔ)償策略截然不同。執(zhí)行器與傳動(dòng)層擾動(dòng)內(nèi)部這是最基礎(chǔ)也最常被忽視的一層。你的電機(jī)通常是舵機(jī)或直流減速電機(jī)本身就不是理想的。它可能存在齒槽轉(zhuǎn)矩電機(jī)轉(zhuǎn)子轉(zhuǎn)動(dòng)時(shí)磁阻變化引起的周期性轉(zhuǎn)矩波動(dòng)在低速時(shí)尤為明顯會(huì)導(dǎo)致平臺(tái)產(chǎn)生細(xì)微的、規(guī)律性的抖動(dòng)。響應(yīng)延遲與過沖電機(jī)接收到控制指令后從開始轉(zhuǎn)動(dòng)到達(dá)到目標(biāo)速度需要時(shí)間停止時(shí)也可能因慣性過沖。PID輸出的是“期望力矩”而電機(jī)給出的是“實(shí)際力矩”兩者之間的動(dòng)態(tài)差異就是一種擾動(dòng)。傳動(dòng)間隙齒輪、聯(lián)軸器等存在的微小曠量會(huì)導(dǎo)致電機(jī)轉(zhuǎn)動(dòng)之初平臺(tái)并未立即運(yùn)動(dòng)死區(qū)或運(yùn)動(dòng)反向時(shí)存在空程。這相當(dāng)于在控制回路中引入了一個(gè)非線性和滯后。機(jī)械結(jié)構(gòu)層擾動(dòng)耦合這一層源于我們自己的設(shè)計(jì)。平臺(tái)形變與振動(dòng)為了減輕重量我們常使用3D打印或碳桿作為平臺(tái)。當(dāng)電機(jī)驅(qū)動(dòng)平臺(tái)快速運(yùn)動(dòng)時(shí)材料會(huì)發(fā)生彈性形變并產(chǎn)生衰減振動(dòng)。這個(gè)振動(dòng)會(huì)通過平臺(tái)直接傳遞給球傳感器如攝像頭也會(huì)捕捉到平臺(tái)的虛假運(yùn)動(dòng)。傳感器安裝誤差攝像頭或OpenMV如果固定不牢會(huì)隨著平臺(tái)一起振動(dòng)或發(fā)生微小偏轉(zhuǎn)它測(cè)量到的“球位置”實(shí)際上是“球相對(duì)于晃動(dòng)攝像頭”的位置引入了巨大的測(cè)量噪聲。重心偏移電機(jī)、電池、控制板的布局如果不均衡會(huì)導(dǎo)致平臺(tái)重心不在旋轉(zhuǎn)中心電機(jī)需要額外出力克服一個(gè)周期性的重力矩干擾。環(huán)境與任務(wù)層擾動(dòng)外部這是題目“運(yùn)動(dòng)補(bǔ)償”最可能直接指涉的部分。基礎(chǔ)擾動(dòng)人為用手輕推平臺(tái)、敲擊桌面、風(fēng)吹等。這類擾動(dòng)幅度、方向、時(shí)長(zhǎng)隨機(jī)考驗(yàn)系統(tǒng)的抗干擾恢復(fù)能力。指令擾動(dòng)題目可能要求平臺(tái)在保持球平衡的同時(shí)進(jìn)行指定的軌跡運(yùn)動(dòng)如讓平臺(tái)勻速旋轉(zhuǎn)、正弦擺動(dòng)。此時(shí)平臺(tái)的主動(dòng)運(yùn)動(dòng)對(duì)球來說就是一個(gè)巨大的、持續(xù)的“擾動(dòng)”。補(bǔ)償?shù)暮诵木蛷摹暗挚埂弊兂闪恕邦A(yù)測(cè)與跟隨”。復(fù)合擾動(dòng)以上多種擾動(dòng)同時(shí)發(fā)生。例如在平臺(tái)執(zhí)行正弦運(yùn)動(dòng)指令外部時(shí)電機(jī)自身的齒槽轉(zhuǎn)矩內(nèi)部和結(jié)構(gòu)振動(dòng)耦合也一并存在。1.2 補(bǔ)償?shù)谋举|(zhì)是“對(duì)抗”還是“協(xié)同”基于以上分解我們可以形成第一個(gè)關(guān)鍵判斷“運(yùn)動(dòng)補(bǔ)償”不是一個(gè)統(tǒng)一的魔法而是針對(duì)不同層擾動(dòng)采取“隔離”、“抑制”或“利用”等不同策略的組合。對(duì)于內(nèi)部擾動(dòng)目標(biāo)是隔離與建模。例如通過前饋補(bǔ)償來抵消已知的電機(jī)非線性如死區(qū)補(bǔ)償或選用更高品質(zhì)的電機(jī)、減速箱來從源頭減少齒槽轉(zhuǎn)矩和間隙。對(duì)于耦合擾動(dòng)目標(biāo)是抑制與加固。通過機(jī)械設(shè)計(jì)增加剛度、優(yōu)化重心、傳感器減震安裝、以及軟件濾波但需謹(jǐn)慎來減少其對(duì)控制回路的影響。對(duì)于外部擾動(dòng)尤其是指令運(yùn)動(dòng)目標(biāo)是預(yù)測(cè)與協(xié)同。這是算法的核心戰(zhàn)場(chǎng)。我們需要在控制律中不僅考慮球自身的動(dòng)力學(xué)還要將平臺(tái)的已知運(yùn)動(dòng)作為一個(gè)輸入項(xiàng)考慮進(jìn)去讓控制器“知道”平臺(tái)即將怎么動(dòng)從而提前給出控制量讓球的運(yùn)動(dòng)與平臺(tái)運(yùn)動(dòng)“協(xié)同”起來而不是被動(dòng)地“抵抗”。很多隊(duì)伍失敗是因?yàn)橛锰幚怼盎A(chǔ)擾動(dòng)”被動(dòng)抵抗的思路去處理“指令擾動(dòng)”主動(dòng)協(xié)同問題導(dǎo)致系統(tǒng)響應(yīng)遲鈍、超調(diào)嚴(yán)重。因此審題時(shí)務(wù)必明確題目要求的“運(yùn)動(dòng)”是哪一類。2. 構(gòu)建控制框架在PID之上我們需要什么假設(shè)我們明確了要補(bǔ)償?shù)氖恰捌脚_(tái)執(zhí)行指定軌跡運(yùn)動(dòng)”這類外部指令擾動(dòng)。那么一個(gè)只有球位置反饋的單環(huán)PID控制器就遠(yuǎn)遠(yuǎn)不夠了。我們需要一個(gè)能感知并利用“平臺(tái)運(yùn)動(dòng)信息”的框架。2.1 從單環(huán)PID到串級(jí)與前饋復(fù)合控制經(jīng)典的單環(huán)PID輸入球位置偏差輸出電機(jī)控制量對(duì)于靜態(tài)平衡是有效的。但對(duì)于運(yùn)動(dòng)平臺(tái)平臺(tái)運(yùn)動(dòng)本身會(huì)持續(xù)產(chǎn)生“虛假”的位置偏差。例如平臺(tái)向右加速由于慣性球會(huì)相對(duì)向左偏移。單環(huán)PID看到球偏左了就會(huì)命令平臺(tái)向左轉(zhuǎn)去“追”球這反而干擾了平臺(tái)自身的軌跡形成正反饋導(dǎo)致失穩(wěn)。因此必須引入平臺(tái)狀態(tài)信息。一個(gè)更強(qiáng)大的框架是串級(jí)控制 前饋補(bǔ)償。內(nèi)環(huán)速度環(huán)控制對(duì)象是平臺(tái)。輸入是平臺(tái)期望轉(zhuǎn)速由外環(huán)或軌跡發(fā)生器給出與實(shí)際轉(zhuǎn)速由編碼器測(cè)量的偏差輸出是電機(jī)控制量如PWM。這個(gè)環(huán)負(fù)責(zé)讓平臺(tái)快速、準(zhǔn)確地跟蹤我們想要的運(yùn)動(dòng)。外環(huán)位置環(huán)控制對(duì)象是球。輸入是球期望位置通常為平臺(tái)中心與實(shí)際位置的偏差。但它的輸出不再是直接給電機(jī)而是作為平臺(tái)期望運(yùn)動(dòng)的修正量。例如球偏左了外環(huán)計(jì)算出“需要平臺(tái)稍微向右加速一點(diǎn)以利用慣性把球‘甩’回中心”。這個(gè)修正量會(huì)疊加到預(yù)設(shè)的平臺(tái)軌跡上。前饋通道這是“運(yùn)動(dòng)補(bǔ)償”的精髓。我們已知平臺(tái)的期望運(yùn)動(dòng)軌跡位置、速度、加速度。根據(jù)球的動(dòng)力學(xué)模型我們可以直接計(jì)算出為了抵消該平臺(tái)運(yùn)動(dòng)對(duì)球的影響理論上需要給球施加什么樣的控制力或等價(jià)地需要平臺(tái)做什么運(yùn)動(dòng)。這個(gè)計(jì)算出的量作為前饋量直接疊加到控制輸出中。簡(jiǎn)單理解前饋負(fù)責(zé)“預(yù)測(cè)和抵消”已知擾動(dòng)平臺(tái)指令運(yùn)動(dòng)串級(jí)PID負(fù)責(zé)“微調(diào)和糾正”剩余誤差建模不準(zhǔn)、其他隨機(jī)擾動(dòng)。前饋是開環(huán)的、基于模型的、快速的反饋是閉環(huán)的、基于誤差的、穩(wěn)健的。2.2 狀態(tài)空間與LQR更現(xiàn)代的視角對(duì)于線性化后的桿球系統(tǒng)我們可以將其表述為一個(gè)狀態(tài)空間模型。狀態(tài)變量通常包括球的位置、球的速度、平臺(tái)的角度、平臺(tái)的角速度。[x, x_dot, theta, theta_dot]那么平臺(tái)的一個(gè)指令運(yùn)動(dòng)如一個(gè)恒定的旋轉(zhuǎn)速度theta_dot_ref可以看作是對(duì)系統(tǒng)狀態(tài)的一個(gè)持續(xù)激勵(lì)或干擾。線性二次型調(diào)節(jié)器LQR控制器可以很好地處理這類問題。LQR通過求解一個(gè)優(yōu)化問題最小化狀態(tài)偏差和控制能量的加權(quán)和得到一個(gè)最優(yōu)狀態(tài)反饋矩陣K。控制律為u -K * (x - x_ref)關(guān)鍵在于當(dāng)存在平臺(tái)指令運(yùn)動(dòng)時(shí)我們的參考狀態(tài)x_ref不再是固定的[0, 0, 0, 0]。例如若要求平臺(tái)勻速旋轉(zhuǎn)則theta_ref會(huì)隨時(shí)間線性增長(zhǎng)theta_dot_ref是一個(gè)常數(shù)。LQR控制器會(huì)自動(dòng)計(jì)算出為了將球穩(wěn)定在中心平臺(tái)需要如何配合這個(gè)旋轉(zhuǎn)運(yùn)動(dòng)。這本質(zhì)上是一種最優(yōu)的、全局的“運(yùn)動(dòng)補(bǔ)償”。選擇建議對(duì)于電賽這種快速實(shí)現(xiàn)的場(chǎng)景串級(jí)PID前饋更直觀、更容易調(diào)試上手。可以先實(shí)現(xiàn)這個(gè)達(dá)到基本要求。LQR性能上限可能更高但對(duì)建模準(zhǔn)確性更敏感需要調(diào)節(jié)權(quán)重矩陣適合作為進(jìn)階優(yōu)化方案。3. 從仿真到實(shí)物的關(guān)鍵跨越那些仿真里沒有的“坑”算法在Simulink或Python里跑得完美一上實(shí)物就崩潰這是電賽的常態(tài)。問題往往出在從理想模型到物理世界的跨越上。3.1 傳感器融合與信號(hào)處理獲取干凈的狀態(tài)你的控制器需要盡可能準(zhǔn)確的球位置、球速度、平臺(tái)角度、平臺(tái)角速度。但傳感器給出的都是帶噪聲的原始數(shù)據(jù)。球位置視覺攝像頭處理有延遲圖像噪聲、光照變化會(huì)影響識(shí)別。除了優(yōu)化算法更關(guān)鍵的是速率。你需要一個(gè)穩(wěn)定的、足夠高的幀率如60fps以上。速度的獲取不要直接用位置差分噪聲會(huì)被放大可以使用觀測(cè)器如卡爾曼濾波器融合位置測(cè)量值和系統(tǒng)模型來估計(jì)出更平滑的速度值。平臺(tái)角度/角速度不要只用一個(gè)傳感器強(qiáng)烈建議使用IMU慣性測(cè)量單元結(jié)合編碼器。編碼器安裝在電機(jī)上測(cè)量電機(jī)軸轉(zhuǎn)角精度高、無漂移但反映的是電機(jī)輸出端的角度經(jīng)過減速箱和傳動(dòng)后與平臺(tái)實(shí)際角度可能有差異由于間隙和形變。IMU直接固定在平臺(tái)上測(cè)量平臺(tái)的真實(shí)角度和角速度動(dòng)態(tài)響應(yīng)好但存在零點(diǎn)漂移長(zhǎng)時(shí)間積分會(huì)累積誤差。融合策略用編碼器的高精度靜態(tài)數(shù)據(jù)來校正IMU的漂移用IMU的高頻動(dòng)態(tài)數(shù)據(jù)來彌補(bǔ)編碼器傳動(dòng)鏈的柔性。可以用互補(bǔ)濾波或卡爾曼濾波進(jìn)行融合。這是獲得高質(zhì)量平臺(tái)狀態(tài)信息的關(guān)鍵也是實(shí)現(xiàn)高性能運(yùn)動(dòng)補(bǔ)償?shù)幕A(chǔ)。3.2 前饋模型的實(shí)際校準(zhǔn)理論值只是起點(diǎn)前饋量依賴于模型。最基本的模型是平臺(tái)加速度a_platform會(huì)在非慣性系中產(chǎn)生一個(gè)“虛擬力”導(dǎo)致球產(chǎn)生相對(duì)加速度a_ball -a_platform假設(shè)無摩擦。為了抵消它需要平臺(tái)提供一個(gè)額外的加速度a_feedforward k * a_platform。這個(gè)比例系數(shù)k理論上是1但現(xiàn)實(shí)中由于球滾動(dòng)摩擦、平臺(tái)不平、傳感器誤差等因素絕不會(huì)是1。它必須通過實(shí)驗(yàn)校準(zhǔn)。校準(zhǔn)方法讓平臺(tái)做一個(gè)簡(jiǎn)單的正弦運(yùn)動(dòng)幅度小一些。關(guān)閉前饋只使用反饋控制觀察球的跟蹤誤差。打開前饋設(shè)置一個(gè)初始k如0.8。運(yùn)行系統(tǒng)觀察球的位置誤差。如果球運(yùn)動(dòng)相位滯后于平臺(tái)說明前饋量不足增大k如果球運(yùn)動(dòng)相位超前甚至振蕩說明前饋量過大減小k。反復(fù)調(diào)整直到球的軌跡與平臺(tái)運(yùn)動(dòng)協(xié)同一致誤差最小。3.3 機(jī)械與硬件的“隱形”要求平臺(tái)剛度與重量在強(qiáng)度和重量間取舍。剛度不夠振動(dòng)大重量太大電機(jī)負(fù)載重、響應(yīng)慢。碳纖維桿是很好的選擇。固定所有部件避免任何松動(dòng)。電機(jī)選型扭矩要足夠但更重要的是低速平穩(wěn)性。舵機(jī)有抖動(dòng)問題直流電機(jī)編碼器高性能驅(qū)動(dòng)如DRV8833、TB6612的方案往往更平滑。注意電機(jī)的減速比太大的減速比會(huì)影響響應(yīng)速度。供電與布線電機(jī)是大電流負(fù)載必須與控制板、傳感器分開供電共地處理要做好。電源線要粗避免因電壓跌落導(dǎo)致單片機(jī)復(fù)位或傳感器異常。電機(jī)驅(qū)動(dòng)線、編碼器線、IMU線最好分開捆扎減少干擾。安裝隔離將攝像頭或OpenMV通過海綿、橡膠柱等減震材料與主平臺(tái)隔離避免測(cè)量被機(jī)械振動(dòng)污染。IMU也應(yīng)牢固安裝在平臺(tái)上且安裝平面與運(yùn)動(dòng)平面平行。4. 系統(tǒng)調(diào)試與性能提升一個(gè)迭代的流程調(diào)試這樣一個(gè)多環(huán)、帶前饋的系統(tǒng)需要章法切忌所有參數(shù)一起調(diào)。4.1 分層調(diào)試法第零步開環(huán)測(cè)試。不接控制算法手動(dòng)給電機(jī)發(fā)送指令觀察平臺(tái)運(yùn)動(dòng)是否平滑編碼器、IMU讀數(shù)是否正常視覺識(shí)別是否穩(wěn)定。確保硬件基礎(chǔ)正常。第一步內(nèi)環(huán)平臺(tái)速度環(huán)調(diào)試。將外環(huán)斷開給定一個(gè)平臺(tái)速度階躍信號(hào)只調(diào)內(nèi)環(huán)PID讓平臺(tái)能快速、無超調(diào)地跟蹤速度指令。這是整個(gè)系統(tǒng)響應(yīng)速度的基礎(chǔ)。第二步靜態(tài)平衡調(diào)試。將平臺(tái)運(yùn)動(dòng)指令設(shè)為零只使用外環(huán)球位置環(huán)控制調(diào)試PID參數(shù)讓球能在靜止的平臺(tái)上穩(wěn)定住。此時(shí)前饋量為零。第三步前饋補(bǔ)償調(diào)試。加入一個(gè)非常緩慢、小幅度的平臺(tái)周期運(yùn)動(dòng)如0.1Hz±5°。先關(guān)閉前饋觀察球的擺動(dòng)誤差。然后開啟前饋按照前述方法校準(zhǔn)前饋系數(shù)k。調(diào)試時(shí)可以暫時(shí)將外環(huán)PID參數(shù)調(diào)得保守一些比例系數(shù)小一點(diǎn)避免系統(tǒng)不穩(wěn)定。第四步動(dòng)態(tài)協(xié)同調(diào)試。逐步提高平臺(tái)運(yùn)動(dòng)的頻率和幅度同時(shí)微調(diào)外環(huán)PID和前饋系數(shù)觀察球是否能始終較好地跟蹤平臺(tái)中心。記錄不同運(yùn)動(dòng)模式下的最大跟蹤誤差。第五步抗擾測(cè)試。在系統(tǒng)執(zhí)行軌跡運(yùn)動(dòng)時(shí)施加外部擾動(dòng)如輕吹小球測(cè)試其恢復(fù)能力。可能需要適當(dāng)加強(qiáng)外環(huán)的控制作用如增大微分系數(shù)以提供阻尼。4.2 性能瓶頸分析與排查清單當(dāng)系統(tǒng)性能不達(dá)標(biāo)時(shí)按以下順序排查現(xiàn)象可能原因排查方向球始終向一側(cè)漂移平臺(tái)不水平重心偏移傳感器零點(diǎn)不準(zhǔn)電機(jī)死區(qū)不對(duì)稱。調(diào)水平重新配重校準(zhǔn)傳感器零點(diǎn)檢查電機(jī)驅(qū)動(dòng)。小球高頻抖動(dòng)平臺(tái)機(jī)械共振視覺處理噪聲大微分系數(shù)過大電機(jī)本身抖動(dòng)舵機(jī)。加固機(jī)械結(jié)構(gòu)圖像濾波/降采樣降低D參數(shù)更換更平滑的電機(jī)。跟蹤指令運(yùn)動(dòng)時(shí)球滯后嚴(yán)重前饋量不足 (k太小)內(nèi)環(huán)速度響應(yīng)太慢外環(huán)響應(yīng)太慢。增大前饋系數(shù)優(yōu)化內(nèi)環(huán)PID提高帶寬適當(dāng)增大外環(huán)比例系數(shù)。跟蹤指令運(yùn)動(dòng)時(shí)球振蕩發(fā)散前饋量過大 (k太大)外環(huán)參數(shù)過于激進(jìn)特別是微分內(nèi)環(huán)有振蕩。減小前饋系數(shù)降低外環(huán)P和D參數(shù)先確保內(nèi)環(huán)穩(wěn)定。靜止穩(wěn)定一動(dòng)就失控前饋未啟用或模型嚴(yán)重不準(zhǔn)內(nèi)外環(huán)采樣周期不匹配傳感器數(shù)據(jù)不同步。檢查前饋通道是否接通統(tǒng)一所有控制任務(wù)的時(shí)鐘檢查數(shù)據(jù)時(shí)間戳。響應(yīng)隨機(jī)擾動(dòng)恢復(fù)慢外環(huán)積分作用太弱或太強(qiáng)系統(tǒng)阻尼不足。調(diào)整外環(huán)I參數(shù)適當(dāng)增加外環(huán)D參數(shù)提供阻尼。4.3 從功能實(shí)現(xiàn)到競(jìng)賽提分在滿足基本要求后要想獲得更高分?jǐn)?shù)可以考慮以下方向更豐富的軌跡跟蹤不僅能做勻速圓周運(yùn)動(dòng)還能跟蹤方波、正弦波、甚至任意繪制的軌跡。自適應(yīng)與魯棒性設(shè)計(jì)參數(shù)自整定機(jī)制當(dāng)球的質(zhì)量、平臺(tái)摩擦力變化時(shí)系統(tǒng)能自動(dòng)調(diào)整。或者使用滑模變結(jié)構(gòu)控制等魯棒性更強(qiáng)的算法。人機(jī)交互與演示效果增加藍(lán)牙/Wi-Fi用手機(jī)APP實(shí)時(shí)設(shè)定運(yùn)動(dòng)軌跡和參數(shù)并顯示球的位置、誤差等數(shù)據(jù)。良好的演示效果很加分。系統(tǒng)辨識(shí)賽前用程序自動(dòng)激勵(lì)系統(tǒng)并記錄數(shù)據(jù)擬合出更精確的系統(tǒng)模型參數(shù)用于優(yōu)化控制器和前饋。“桿球平衡運(yùn)動(dòng)補(bǔ)償”這個(gè)題目表面上考的是算法深層次考的是系統(tǒng)思維。它要求你不僅把球看作控制對(duì)象更要把“平臺(tái)-球”看作一個(gè)整體把“指令”和“擾動(dòng)”統(tǒng)一到“外部輸入”的框架下去處理。從精準(zhǔn)的傳感器數(shù)據(jù)獲取到合理的控制架構(gòu)選擇再到細(xì)致的分層調(diào)試和機(jī)械優(yōu)化每一個(gè)環(huán)節(jié)的疏漏都會(huì)在“運(yùn)動(dòng)”這個(gè)放大鏡下暴露無遺。真正的準(zhǔn)備不是去尋找一個(gè)“萬能代碼”而是搭建一個(gè)可觀測(cè)、可調(diào)試、可迭代的軟硬件平臺(tái)。先讓系統(tǒng)在靜止時(shí)穩(wěn)如磐石再讓它學(xué)會(huì)在運(yùn)動(dòng)中協(xié)同共舞。當(dāng)你理解了補(bǔ)償?shù)谋举|(zhì)是“預(yù)測(cè)與協(xié)同”而不僅僅是“抵抗與修正”時(shí)你就已經(jīng)拿到了解開這道題的第一把鑰匙。剩下的就是在不斷的實(shí)驗(yàn)、觀察和調(diào)整中讓你的系統(tǒng)真正理解什么是“平衡中的運(yùn)動(dòng)”。