May 07, 2007

ZMP 零力矩點 Zero Moment Point

在雙足機器人的研究中,ZMP (Zero Moment Point)佔了很重要的地位。
有名的例子,像是Honda的Asimo就是利用ZMP的相關理論來達到雙足機器人的步行和平衡。以下將對ZMP做一個簡單的介紹。


history-pic26-asimo.jpg

history-pic27-asimo.gif


ASIMO相關資料及照片出處:Honda-Asimo

Vukobratovic[1]於1968年提出ZMP(Zero-Moment Point)這個觀念,到了80年代早稻田的加藤一郎實驗室(Ichiro Kato's laboratory at Waseda University)製作了一系列的WL機器人,這些雙足機器人是最早將此概念實際應用到動態平衡的雙足步行。
如Fig. 1所示,腳在接觸地面時有反作用力(N)也會產生力矩(M)。若存在一點(P)其反作用力、慣性力的淨力矩和為零的點稱之為零力矩點(ZMP Zero Moment Point)[2]。
那ZMP有什麼用呢?
如果ZMP落在腳掌的範圍裡面,則機器人可以穩定的行走[3]。
Fig. 2 為人類行走時的ZMP。

concept_of_ZMP.bmp
Fig 1.Concept of ZMP




human-zmp.bmp

Fig.2 人類行走之ZMP





reference[1]這一本書裡面針對ZMP有詳盡的介紹,有興趣的人可以去找來看。
很多的雙足機器人研究都是基於ZMP的方法。但是利用的方式各有巧妙不同。
傳統的機械領域,都是去建立雙足機器人的數學模型,並根據ZMP必須落在穩定區域(腳掌範圍)去推導控制法則。建立雙足機器人的數學模型,本身就是一件很複雜的事。即便是可以建立出符合真實機器人的數學模型,但進一步去求解控制法則,所需要的數學運算更是一件困難的工作。早期的研究光是能正確地推導及求解雙足機器人的數學模型就足夠上一流的期刊。雖然不是一件簡單的工作,但是如果能正確地推導出數學模型,便可以利用這些數學模型去寫程式,用電腦來作模擬。


後記:

很久沒有寫機器人相關的事情。嘗試將一些比較基礎的東西,試著以所有人都可以瞭解的方式表達。後續會繼續將雙足機器人相關的文獻和目前手邊進行的研究,慢慢地整理發表,還請各位多多指教。
另外歡迎使用這些資料,但請記得附上本文出處。


Reference:
[1] M. Vukobratovic, B. Brovac, D. Surla, and D.Stokic, "Biped Locomotion," Springer-Verlag, 1990.
[2] F. Erbatur, A. Okazaki, K. Obiya, T. Takahashi, and A. Kawamura, "A study on the zero moment point measurement for biped walking robots," Proc.7th Int. Workshop on Advanced Motion Control, 2002, pp. 431–436.
[3] Q. Huang, S. Sugano, and K. Tanie, “Stability Compensation of a Mobile Manipulator by Manipulator Motion: Feasibility and planning,” Advanced Robotics, vol. 13, no. 1, pp. 25–40, 1999.

由 tabo 發表於 10:21 PM | 迴響 (0) | 引用

June 13, 2005

雙足機器人研究想法之一

其實也不算是新的想法,
之前就有這樣的概念,但是卻是一直沒有認真的著手。
當人類受傷時,人還是可以一跛一跛的前進。
根據這個概念雙足機器人在某些馬達或是關節損害,或是無法正常作動時,
機器人應該能自動適應環境和現況繼續步行。
目前還沒有想到要如何開始,或是用什麼樣的演算法。

先這樣子...
在慢慢來寫吧
有任何想法也請踴躍回應
幫助我的機器人一步一步向前走吧

由 tabo 發表於 05:16 PM | 迴響 (3)

May 04, 2005

機器人自我穩定平衡學習研究(1)

此篇文章是由我以前所做過研究內容修訂的,
一方面重新思考下一步要怎麼做,一方面思考在購置硬體所需要注意的事項

機器人自我穩定平衡學習研究

大致上,雙足機器人的平衡可分為以下兩類:
1.靜態平衡:指的是質量中心在機器人頭投射面積內,如不倒翁的姿態。
2.動態平衡:主要分為「靜行走」及「動行走」兩大類。

靜行走:身體的重心經常放在腳心範圍內的行走方式。
動行走:行走時,重心會經常超出腳心的範圍,這時必須藉著身體的姿勢以順暢的行走。

根據人類自我穩定平衡運作模式,為雙足機器人設計一個自我學習的穩定平衡系統,使機器人能保持靜平衡,也能維持動平衡;而且在倒地的姿態下,能自動學習爬起來站立;在機器人身體某部分受損的情況下,也能學習保持平衡的功能,並記憶此穩定機制。

換句話說,即機器人在任何可預期或不可預期的情況下,失去平衡時都能立即恢復平衡狀態。除了硬體上的自我穩定設計外,我們也將建立一個如小腦功能的主控系統,隨時偵測機器人的目前姿態,並藉助於模糊控制與神經網路等機器學習法,以軟體控制機器人的平衡,或命令其作出相關反應動作。

此研究包括了人類穩定平衡的能力探討。在以往的相關機器人研究文獻中,絕大多數是設計者事先在軟體中設計好能做的動作,讓程式照著程式動作,並無自我學習功能。

此研究著重在自我學習功能的建立,也因為機器人的接軸多,動作複雜,動態方程式不易建立,因此針對受控體模式不清楚的環境下使用模糊控制。

由於雙足行走是要學習人類行走,自然地如何從人類的行走得到啟發,進一步讓機器人能穩定平衡的行走。

小嬰兒是從學爬行;使用學步車等;進一步到真正的行走...
從搖搖晃晃的前進到穩健的跨出每一步,甚至跑起步來。
每一步小嬰兒都是經過不斷反覆的練習加上父母細心的教導及誘惑下得來的。

如何將這樣的精神融合設計出穩定平衡的學習演算法,將會是一大挑戰。

底下為一成人行走時的物理分析平均資料之一
資料來源是一本研究人體運動學的書,書名不可考了
walking maker.bmp

由 tabo 發表於 03:40 PM | 迴響 (1)