摔倒前為何轉手臂?

机械脉动
1粉絲
215 次觀看·2026年8月23日
AI 生成·可能包含錯誤
視頻概述
AI 生成This video explores the physics and neurology behind why humans flail their arms to maintain balance when pushed. It explains the role of angular momentum and torque, demonstrates these concepts using a balancing robot, and compares robotic control equations to the complex simulations performed by the human brain.
當你被逼到絕境,卻已無退路可言。
你手臂會做出一種奇怪的動作,就像這樣。
但為什麼會這樣呢?
嗯,我原以為答案很簡單,就是角動量守恆。
但如果對角動量進行簡單分析,
你得出了一個荒謬的結論,認為你必須永遠地揮動雙臂。
否則你又會再摔倒。
基本上,事情並不像表面上那麼簡單。
但我們將在這個機器人的幫助下,徹底查明真相。
由加雷思·巴納比為我打造。
那我們就從頭開始吧,因為如果你看看慢動作畫面,
我所做的第一件事其實相當反直覺。
我向前伸出手臂。
但如果我的身體正在將我的手臂往前推,
那麼我的雙臂一定是在將我的身體向後推。
這將使問題更加嚴重。
我一開始搞不清楚那件事,困惑了大約五分鐘,直到我突然明白過來。
好吧,我又不是火箭。
就像我真的一字不差地把雙手扔掉一樣,那會是個問題。
但由於它們仍屬於我的身體一部分,
那麼實際上並沒有改變我的質心。
所以這並不是關於手臂朝任何特定方向移動的問題。
這是指它們正在旋轉的事實。
而這就是角動量原理對你揮舞雙臂的解釋。
角動量僅是衡量某物旋轉速度快慢的一個量。
以及它的規模有多大。
因此,它具有很大的角動量,因為它轉動得很快。
這具有很大的角動量,畢竟它是一個沉重的物體在旋轉。
而且它的角動量比這兩者都更大。
因為它很重且旋轉得很快。
現在,角動量是一種守恆量,
這僅表示封閉系統中的總角動量永遠不會改變。
就像你可以改變一個物體的角動量一樣,
但必須同時改變另一個物體的角動量,且方向相反。
使得它相互抵消,總角動量並未改變。
這裡是另一個例子。
我有一台馬達,可以用來旋轉圓盤。
因此,圓盤的角動量正在增加。
但如果馬達也能自由旋轉,請注意接下來發生的事。
它朝相反方向旋轉,你可以將其視為負的角動量。
因此它抵消了圓盤的角動量,
意思是總和為零。
而且一開始為零,因此角動量守恆。
如果你使用過電鑽,也許你自己就曾體驗過這種效應。
當你第一次打開它時,
你會感覺到一個與鑽頭旋轉方向相反的反作用力。
而且看來你的身體直覺性地運用著
角動量守恆以防止傾倒。
所以,當你的身體向後傾斜時,重力正在將你往下拉,
但你與地面接觸的點在這裡。
因此,重力實際上會使你繞著支點旋轉。
你可能會稱這個轉點為腳。
不過,重力會使你的角動量增加。
在此情況下,逆時針方向。
現在你可能會認為你需要朝相反的方向揮動雙臂
抵消身體的角動量。
但你實際上需要讓雙臂旋轉的方向與身體傾倒的方向相同。
我想我可以解釋原因,但為了釐清起見,
每當我說「身體」時,指的是你的身體,但不包括你的雙臂。
因此,為了恢復平衡,我必須讓我的身體開始順時針轉動。
但如果系統的總角動量必須守恆,這種情況又如何發生呢?
你只要反方向轉動你的手臂就行了
朝著你希望身體旋轉的方向。
換句話說,就是你的身體下墜時所朝向的同一方向。
其實,比起角動量守恆,有更簡單的方式來思考這問題。
這是指考慮扭轉力或扭矩。
正如加速旋轉的鑽頭會對你的手產生扭轉力一樣,
你加速揮動的手臂會使身體產生扭轉力。
換句話說,是角加速度導致了力。
正如牛頓所說,每一作用力都有一個大小相等、方向相反的反作用力。
除了在旋轉事物的領域之外。
因此,通過在跌倒時揮動雙臂,你實際上是扭轉身體以避開跌倒。
但問題在於,你使用電鑽時就會明白這一點
你只有在剛開始旋轉加速時才會感受到那股衝擊。
當鑽頭以恆定速率旋轉時,
你不再感覺到那股扭轉的力道了。
換句話說,是角加速度導致了力的產生。
因此,如果你向後仰著身體,以恆定的速度旋轉雙臂,
好吧,重力仍然能夠將你拉過去。
因此,要從跌倒中恢復過來,你的手臂必須一直不停地越轉越快。
看,在這個模型中,當我推這個小人圖時,
它越來越快地旋轉雙臂,直到再次直立起來。
但現在它只是那樣站在那裡,雙臂瘋狂地轉動著。
而且由於角動量守恆,它無法停止旋轉雙臂。
換句話說,如果身體對手臂施加扭轉力以減緩其運動,
當然,手臂會對身體施加一個大小相等、方向相反的扭轉力,導致身體傾倒。
但顯然,人類並沒有這個問題。
那麼,我們到底在做什麼呢?
嗯,要觀察我們大腦中正在運行的程式碼實在是件困難的事,
但我們可以看看像這種 Messenger 300 機器人內部運行的程式碼。
當你查看程式碼時,會發現其實是一個相當簡單的方程式。
應施加於機器人手臂的扭力大小,僅取決於三個因素。
機器人向後傾斜的程度有多高,它向後傾斜的速度有多快,
以及臂膀轉動得有多快。
所以這是這個方程式。
應施加於臂部的扭力等於某個數值乘以傾斜角度,
再加上另一個數字乘以機器人傾斜的速度。
再加上一個第三個數字乘以手臂旋轉的快慢。
但讓我們先暫時忽略最後那個項目。
並想像這個機器人只關心前兩件事。
因此,我們只需要找出 A 和 B 的最佳值即可
盡量減少機器人傾斜的程度,
以及它朝錯誤方向傾斜的速度有多快,
這樣就能讓機器人恢復直立。
而且你知道,你必須同時將兩者都降到最低。
就像你可以這樣快速 BSON 傾斜一樣,
但這樣你會過頭,因為你沒有將傾斜速度降到最低。
所以這就是你試著同時最小化兩者的樣子。
所以你看,問題就在這裡。
機器人直立著,但它的手臂仍在旋轉。
而且它不能只是停止它們的旋轉,否則又會倒下。
這就是為什麼我們需要這個方程式中的第三項。
我們還希望盡可能降低臂部旋轉的速度。
我們希望同時將這三件事減至最低。
當你真正執行它時,就會變得清晰明瞭
機器人是如何在不摔倒的情況下減慢手臂動作的?
當機器人恢復到垂直位置時,實際上仍會繼續前進一點。
這意味著手臂需要承受扭轉力
相反的方向,這會使它們減慢速度。
換句話說,你稍微過頭了一點,
你可以用這個來讓雙臂停止運動。
在這裡,我們已選定 A、B 和 C 的最佳值。
但一般而言,你可以改變它們,從而獲得不同的行為。
因此,機器人最後可能會稍微來回振盪一下。
但總體而言,你可以決定自己的優先事項。
就阻尼、振盪等相關因素而言
僅僅通過改變這三個值。
當然,這並不是全部的故事。
因為如果我推這台機器人太用力,它就會倒下來。
這是斯巴達。
這是因為這個簡單的方程式僅適用於微小的偏差。
能夠從更極端的失衡中恢復的機器人並不會使用那個方程式。
相反,他們會進行大量模擬,預測未來一段時間的情況。
並選擇最適合的那一個。
我那裡大大地簡化了。
但問題在於,它的計算需求要高得多
比這裡這台Messenger 300所做的一切還要少。
但那是機器人。
人類呢?
人類會進行類似的計算嗎?
其實,看起來他們確實有,這讓我非常吃驚。
機器人所做的事情並不會完全對應到人類所做的事情。
但例如,當我們只是雙腳站立保持平衡時,
站立著,沒有人能壓制我們。
我們大腦控制腳踝的方式,與這條方程式驚人地相似。
因此,我們有負責偵測傾斜和加速度等感覺的神經元
以及我們四肢移動的方式。
當它們發放訊號時,這些感覺神經元會釋放神經傳導物質
這些訊號會被控制腳踝肌肉的運動神經元接收。
當我說運動神經元吸收神經傳導物質時,
我的意思是,它們表面有對那些神經傳導物質的受體。
但它們所擁有的受體數量是可變的。
受體越多,
感官刺激越強,反應也就越強。
換句話說,這些數字來自這個方程式
就像運動神經元所擁有的受體數量一樣
這就像一個放大器,對來自感測器的輸入信號進行放大。
但實際上,當你被推倒時
然後你開始揮動雙臂,搖晃臀部,
你的大腦正在執行某種更類似於這台機器人所做的事情。
進行未來的模擬運算。
事實上,它的運作方式非常酷。
你大腦中反應迅速的部分,即運動皮質,
迅速發出一個信號
讓你的身體進行某項可能有益的活動。
但它同時也會發出該訊號的精確複本
你大腦中稱為小腦的緩慢、沉思部分。
而在其中,某種類似於你大腦的物理引擎的東西。
它會取得那股傳送到你肌肉的信號的複本
並運行一個未來模擬,以查看這是否是一個好主意。
如果需要進行修正,
然後它會向你的肌肉發出一個追蹤信號。
你大腦中的物理模型與機器人內部的模型運作方式略有不同。
它不是在解一整套方程式。
相反,它是一個字面意義上的神經網絡,
一個已經經過訓練的神經網絡
在你曾經跌倒或幾乎跌倒的所有時刻。
你知道,自然界中充滿了看似複雜的行為例子
這實際上是由非常簡單的規則所支配的,
就像椋鳥群飛舞的陣型,或蜘蛛結網般。
而且看來我們能夠直立行走,也是這類現象的另一個例子。
但我們從推擠中恢復的能力,實際上確實具有真正驚人的計算能力。
希望您喜歡這段影片。
如果你這麼做了,別忘了按讚訂閱。
而演算法認為你接下來會喜歡這支影片。
