這個問題和我之前在科研階段做的一個實驗非常相關,特來分享一下自己的心得體會。

首先,當我們談到「機器人在落地過程中是如何緩衝的」時候,一般都是針對於腿足式機器人(因此我編輯了題目),可能對於固定基座的工業機械人+協作機器人,以及平穩移動的AGV和飛翔的Drone,大多都不會提」落地過程中」這一說,否則大概率就是事故了。

其次,從我的實際經驗來看,腿足式機器人在落地過程中所需要的【緩衝】:

  • 80%的case是在保護相應的電氣元件,尤其是針對以電機原理驅動的機器人,主要考慮到機器人在落地受巨大衝擊的瞬間,電機對電路反向輸出的巨大電流(實際在電氣層面也會做很多anti-back emf的處理,即使硬著陸也能handle);
  • 15%的case是在保護機械本體,但和電氣相比,機械在落地過程中並沒有那麼薄弱;
  • 剩下的5%的case是在保證各類電氣接插件在巨大衝擊下不鬆動;

接著,目前實現落地緩衝的方法,大方向還是分為以下兩類:

  • 物理本體上柔性的引入:包括簡單地在接觸地面的末端粘附橡膠,在傳動上使用可壓縮的液壓油(液壓傳動),或者在電機輸出端串聯彈性體(SEA原理)等等,這類的緩衝方式的剛度一般都是固定且被動的;
  • 運動控制上柔性的引入:包括關節在落地瞬間迎接衝擊的可變(低)剛度、整體位姿的調節(谷歌學術可搜索humanoid fall down detection and prevention關鍵詞)等等,而這類緩衝方式的剛度一般是可調且主動的;

最後做個小的拓展,即將【落地緩衝】延申成一個完整的【起跳-落地緩衝-再起跳】的過程。

從我以前相關的經歷來看,這段【起跳-落地緩衝-再起跳】的過程,想要做到像我們人類一樣柔順、自然且連貫,目前從技術上來說是非常非常非常難的——其要求機器人在極短暫的過程中,能夠高動態、精確地調節各關節的剛度,且僅靠物理本體上的固定被動剛度是極難做到的,必須引入主動可調節的運動控制剛度。

我們人類在【起跳-落地緩衝-再起跳】的過程中,其實各關節的阻抗數值是變化極大的,定性可以簡單描述成:

  • 起跳過程中要保持極大的關節剛度,特別是在發力的那一瞬間,要通過高剛度保證離地一瞬間較高的角加速度與角速度,這樣才能跳得高、跳的遠、有力;
  • 落地過程中要快速地將關節的剛度調節至合適的較小值,吸收衝擊,保護本體;
  • 再起跳的過程中要再次恢復至高剛度;

而如果把這個思路apply到實際機器人上,可能會碰到如下幾個棘手的問題:

  1. 起跳過程中關節表徵的最大剛度被本體限制。這是本體上引入柔性的核心弊端(我們這裡談到的本體柔性都是被動不可變的,本體VSA暫不列入討論),往往我們僅考慮到了落地緩衝過程中本體低剛度的優勢,卻忽略了起跳過程中本體低剛度的巨大劣勢;
  2. 如何精確地檢測落地時間。是靠各關節編碼器or高精度陀螺儀+實體模型的位姿估計,還是靠足底的壓力感測器,抑或是靠外部視覺設備的檢測,從我的經歷來看,都比較難精確判斷;
  3. 如何在極短暫的落地碰撞時間段內精確調整剛度。落地的瞬間是非常短暫的,根據不同的碰撞材料(剛度),一般這個duration在5-20ms之內(50-200Hz),已經基本和很多機器人上一層的運動控制環的頻率接近;
  4. 什麼是落地緩衝過程中合適的低剛度。落地過程中的關節剛度不僅僅要用作緩衝,還要支撐機器人本身本體的重量,太低不合適的剛度會讓機器人在落地時無力地「坍塌」下去;
  5. 跳著跳著機器人就沒了。題外話,但很真實,這類衝擊力較大的彈跳實驗,對機器人本體的影響較大,很難精確地復現實驗,最壞的情況就是機器人直接跳散架咯;

以下這個demo是我以前嘗試去使用一條pitch平面3自由度的單腿,做的【起跳-落地緩衝-再起跳】的實驗,但卡在【落地緩衝】這一步驟就gg了,建議大家可以帶耳機感受一下落地的巨大衝擊。這個Demo的落地,目前完全是靠機器人的物理本體柔性去做的緩衝,僅僅能保證不損壞機器人,但在優雅、自然、連貫的性能上是完全不合格的;而在運動控制上柔性的引入主要被卡在上文我提到的原因2-5,還沒有得到很好的體現。

eLeg@iit

當然,在腿足式機器人【起跳-落地緩衝-再起跳】這個性能上做的好的機器人,自然也有,這個問題下的回答中有Boston Dynamics的Atlas2的demo,大家可以自取~


通過阻抗控制實現,實際是調節虛擬彈簧剛度,最終實際就是調pd參數


從生物力學的角度可以更好地理解這類問題。我們要花幾年的時間去學習如何協調地收縮肌肉,獲取各類正常地步態。

看人類的關節運動與步態很順暢,行雲流水,然而最先進的機器人,我們也很容易發現他們步態中的一些僵硬和不自然。

究其原因,是造物主比我們要更偉大。下圖展示的是踝關節在一個步態周期內關節角度與關節力矩的關係曲線。踝關節呈現出的阻抗特性是在不斷調整變化的。這種關節複雜靈活的阻抗特性變化,才讓我們的步態如此優雅流暢。


對於雙足機器人來說,除了在腳底增加柔軟材質的緩衝以外,最好的方式就是仿生的運動控制了,模擬人從高處落下著地的動作,我們看看目前為止處於世界領先水平,甩其他機器人幾條街的波士頓動力是如何做的?

現在機器人的最高發展水平如何了?沙漏的視頻 · 298 播放

機器人在落地過程中的緩衝可以有多種實現方式。

  1. 機械方式。使用緩衝機構,如彈簧。這個在移動機器人中使用已經非常成熟了。SEA的話比較偏科研一點。

懸架系統_百度百科?

baike.baidu.com圖標任賾宇:一種帶扭矩、位置感測器的柔性機器人關節驅動器實現方案——串聯彈性驅動器(SEA)?

zhuanlan.zhihu.com圖標

2. 控制方式。使用各種力控演算法控制。如 @華北舵狗王 的答案描述的那樣,可以使用阻抗控制或是其的各種變體控制方法。

希望這個回答能有所幫助。:)


被動柔順+主動柔順。被動柔順:一般在足段安裝氣囊(四足),橡膠墊,彈簧機構(雙足)等來吸收衝擊力。主動柔順:1.關節可力控,阻抗控制;2.足段有力感測器,導納控制(響應慢,很少使用)。


因為現在的電機一般速度較高,力矩較小,需要通過傳動系統降低轉速、提高力矩。


推薦閱讀:
相关文章