第279章 解決方法很簡單

投票推薦 加入書籤 小說報錯

  徐洋站在屏幕前,翻開了手裡那本已經被翻了無數次的測試記錄本。

  這本記錄本的邊角已經起了毛邊,裡面密密麻麻寫滿了每次測試的參數和備註,有些頁面上還沾著咖啡漬和機油印,看起來像是被翻了很多年了。

  他清了清嗓子,開始給肖宿匯報目前的進展。

  「肖教授,目前我們在研的這個機械臂原型機對標的是達文西第四代的En do Wrist系列,自由度構型基本相同,包含肩部三個自由度、肘部一個自由度、腕部三個自由度,末端執行器額外集成了一組微型鉗口用於精細組織操作。」

  「在低速、小角度工況下,末端軌跡誤差可以控制在零點二毫米以內,和達文西標稱的零點一毫米相比還有差距,但已經在可接受的範圍內了。

  問題在於當末端執行器進入高速啟停或者大角度偏轉的時候,關節伺服電機的力矩響應會出現一個我們無法解釋的延遲尖峰,導致末端軌跡誤差急劇放大到零點八甚至一點二毫米。」

  他在屏幕上點開了一組對比數據,左側是達文西在相同工況下的誤差曲線,平滑得像一條被熨過的絲帶。

  右側是精武原型機的誤差曲線,上面布滿了尖銳的毛刺和波峰。

  「這個級別的誤差在神經外科手術里是不可接受的。

  在腦幹附近操作的精度要求是亞毫米級,零點五毫米的偏差就可能導致不可逆的神經損傷。

  我們的伺服控制算法已經疊代了十幾個版本,PID參數調了上千組,甚至連關節軸承的預緊力矩都重新做了標定,但這個尖峰始終消不掉。」

  徐洋合上記錄本,臉上的表情有些苦澀。

  「我們懷疑問題出在伺服電機的實時力反饋迴路裡面。

  從力矩傳感器捕捉到外界阻力變化,到控制算法調整電機輸出扭矩,這個過程裡面可能存在一個我們檢測不到的延遲源,導致電機在高速工況下無法及時補償力矩波動。

  但具體這個延遲源在哪裡,是傳感器的採樣頻率不夠,還是控制算法的收斂速度跟不上,還是電機本身的機電時間常數存在我們沒有意識到的非線性……」

  他頓了一下,嘆了口氣,把記錄本放在了桌上。

  「我們還沒有找到確定的答案。」

  站在旁邊的沈凌接過話頭。

  他負責的雖然是成像模組,機械臂的控制算法不是他的主戰場,但精武醫療的手術機器人項目是一個整體,每個子系統之間的耦合關係誰都跑不掉。

  他推了推眼鏡,語氣比徐洋更直白一些。

  「成像這邊的問題也不小。

  我們的三維內窺鏡模組在靜態顯示上已經能達到達文西同等水平的解析度,但在動態追蹤場景下,當機械臂做大幅度快速移動時,圖像重建會出現幀間畸變。

  最後經過排查,我們發現問題出在算法上,我們現在用的多視圖幾何重建算法依賴的是傳統的對極幾何約束,這套方法在低速場景下沒問題,但高速動態場景下,兩個微型攝像頭之間的視差數據會出現亞像素級的漂移,導致深度信息的重建精度下降。

  我們試過用梯度下降、卡爾曼濾波、幀間插值來修正,但是都沒有徹底解決。」

  徐洋和沈凌匯報完,實驗室里安靜了下來。

  幾個年輕工程師站在角落裡,大氣都不敢出。

  他們都知道今天來的這位是什麼級別的人物,也都知道自家項目卡了這麼久,這是唯一的希望了。

  肖宿聽完,點了點頭。

  這些問題和他之前了解到的差不多。

  「伺服力矩延遲尖峰的問題,本質是力反饋迴路的非線性耦合誤差,並非單一環節的問題。」

  他目光掃過徐洋和沈凌,「你們的PID控制框架是建立在什麼樣的動力學模型上的?」

  徐洋立刻回答:「標準的多剛體動力學模型,基於拉格朗日方程推導的,考慮了所有七個自由度的慣量耦合。」

  「問題就在這。」

  肖宿拿起旁邊白板筆,在牆上掛著的工程圖紙空白處直接寫了起來,「標準拉格朗日模型假設關節連接是理想約束,但你們在腕部關節處用的是諧波減速器,對吧?」

  徐洋愣了一下:「對,我們用的確實是諧波減速器,和達文西一樣。」


  「諧波減速器的柔輪在高速啟停時會產生一個非線性的彈性遲滯環,你們把它當成理想剛體來建模了。」

  肖宿的筆尖在圖紙上飛快移動,寫下一串公式,「這個彈性遲滯環的力學行為可以用一個帶記憶效應的分數階導數項來描述。具體來說,如果把柔輪的扭轉角記為θ,傳遞扭矩記為τ,那麼真實的力矩平衡方程應該是τ = kθ + c·D^α(θ) + η·sgn(Dθ)·|θ|^β。

  其中D^α表示α階的Riemann-Liouville分數階導數,α的取值範圍在0.7到0.85之間,具體取決於柔輪的材料疲勞狀態,β是應變硬化指數,一般在1.3到1.6之間。」

  徐洋盯著那行公式,眼睛越睜越大。

  肖宿說著話,手也沒停:

  「標準的PID控制器在頻域上只能提供整數階的微分補償,對於這種分數階非線性遲滯,無論你怎麼調那三個參數,都不可能收斂到零穩態誤差。

  你們測到的那個延遲尖峰,實際上不是延遲,而是分數階系統在階躍輸入下的過沖振盪,它的頻率恰好落在你們伺服電機的機械共振頻帶裡面,所以才被放大了。」

  沈凌倒吸了一口涼氣。

  「解決的方法也很簡單。」

  肖宿走到白板前,隨手畫出一幅完整控制框圖,開口說道:

  「你們只要把常規PID換成分數階PID就行,也就是PI的λ次方D的μ次方控制器。具體來說,就是加入一個0.75階的微分項,再搭配一個0.6階的積分項,控制器的傳遞函數寫成G_c(s) 等於 K_p 加上 K_i 除以 s的0.6次方,再加上 K_d 乘以 s的0.75次方。

  其中,K_p、K_i、K_d這三個參數,整定的時候要用頻域的相位裕度法來做,直接把柔輪遲滯對應的最大剪切頻率,作為核心設計點就好。」

  說著,他看著眾人有些空白的表情,又補充了一句:

  「這個分數階控制器,你們可以用Oustaloup近似算法在嵌入式系統上實現,頻帶只需要取三個十倍頻程就足夠了,運算量不會超過你們現有DSP晶片算力的百分之十五。」

章節目錄