閱讀317 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《仿人機器人原理與實戰》一1.2 反射弧與仿人機器人設計

本節書摘來異步社區《仿人機器人原理與實戰》一書中的第1章 ,第1.2節,作者布萊恩·伯傑倫(Bryan Bergeron) 托馬斯B. 塔爾博特(Thomas B. Talbot) 王偉 魏洪興 劉斐 譯, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。

1.2 反射弧與仿人機器人設計

鑒於人類反射機製的各種優勢,顯然仿人機器人可以從類似的功能中獲益。例如,將傳感器和末端執行器的處理從主控製器轉移到外設微處理器中,不僅為更複雜的工作騰出運算資源,也降低了災難式單點故障發生的可能性。但是在設計仿人機器人時,還需要仔細考慮如何將這些優勢與你的設計相匹配。
在設計仿人機器人的反射功能時,主要問題是帶自主反射仿人機器人與其所處環境的隔離程度。為給這個話題添加一個有實際意義的上下文,想象搜索和救援仿人機器人在一個部分坍塌的礦井中搜索失蹤人員的情景。現在,我們假設仿人機器人的振動感受器檢測到一段高強度、低振幅的震動,意味著這裏將要被掩埋。我們的仿人機器人是應該繼續搜救,還是選擇逃出礦井尋求保護呢?當然,我們沒有辦法說哪個選擇是正確的,因為這取決於以下幾個因素:還有多少仿人機器人仍在執行任務;找到幸存者的可能性;幸存者的價值(是否值得救援);仿人機器人的相對成本。如果仿人機器人的成本隻有100美元,那麼應該繼續搜救,但如果成本是10 000美元,那麼應避免破壞仿人機器人—除非你剛好也陷在碎石裏無法逃離。
另外一個核心問題是保證響應與反射能滿足機器人的使用目的。例如,你的仿人機器人屬於攻擊型機器人,當偵查到潛在危險時,它會擺出進攻的架勢,準備隨時應對襲擊。反之,如果這款仿人機器人的設計初衷隻為家政服務,那麼它的反應就應該是自衛型姿勢。如果你要設計一個患抑鬱症的機器人,就像Douglas Adams筆下的Marvin,那麼它對任何事物的反應就顯得既緩慢又慎重。
如何操控多個傳感器共同完成一個反射動作,這個問題雖然低級但卻關鍵。解決途徑之一是利用包容體係結構(subsumption architecture)。在這種等級體係內,某些特定的傳感器能否決或抑製其餘的傳感器。按照這個等級體係,你可以手動或自動地劃分反射弧等級。例如,在設計仿人機器人時,假設你認為避免溫度過高比避免機械過載的優先級高,那麼溫度傳感器和相應的反射弧應優先於任何有關伺服載荷的傳感器輸入。
包容體係結構的限製之處在於,它不能很好地處理一些錯綜複雜的狀況。設想,仿人機器人有50條反射弧,你應該怎樣劃分反射弧等級呢?以人體生理學為模型,假設一種荒唐的情景:一隻蜜蜂蟄了你的腿,同時一隻猴子跳到你背上。你會先拍死蜜蜂再處理猴子,還是反過來呢?即使你已經深思熟慮,確定了仿人機器人應有的反應,但正如無論哪種解決辦法都不可能適用於任何狀況一樣,在微控製器中對反射弧等級使用固定編碼也顯得不太現實。
另外一種解決途徑是傳感器融合(sensor fusion),它也可以處理那些由不同傳感器發出的可能衝突的信號,簡單來說就是將傳感器發出的信號混合。事實上,有數百種途徑可以實現融合,簡單的方式就是直接計算信號平均值,較為複雜的方法是將數字信號濾波器應用於多傳感器輸出的信號。在麵對複雜狀況,例如當仿人機器人踩到香蕉皮開始搖晃時,傳感器融合可能比包容體係結構表現得更好。經適當調試的傳感器融合程序將相關傳感器傳來的信號按特定方式綜合,通過這種方式,對涉及觸發還是抑製反射的複雜問題給出一個有意義且實時的響應。
在了解以上基礎理論後,我們就可以著手構建一些反射模擬器。首先,我們利用一套標準舵機、幾個傳感器和Arduino Uno微控製器構建基本的生理反射弧模擬器。在連接完成後,組成的多個回路可以直接應用於仿人機器人的設計,這也是構成複雜反射的基礎。

最後更新:2017-06-21 09:32:03

  上一篇:go  《仿人機器人原理與實戰》一1.3 反射弧實驗入門
  下一篇:go  《仿人機器人原理與實戰》一1.1 反射弧生物學基礎