單元十九、階層關係及關節運動

(990605 updated)

19.1 概念

Hierarchical linkage takes the form of a family tree ﹙樹狀圖﹚

正向運動學:forward kinematics children follow parent's movement

逆向運動學:inverse kinematics parent follow the movement of child

 

19.2 正向關節

範例:機器人手臂 tut19_1.max

 

將機器手臂連結起來

1.      vertical shaft 連上Base open tut19_1.max,選select and link,把vertical shaft 連到Base

2.      測試結果:先移動Base,再移動vertical shaft,看有何不同?

3.      連接 hinge vertical shaft

4.      連接armhinge

5.      連接horizontal shaftarm

6.      連接hand horizontal shaft

7.      see the hierarchy in track view

關節運動的動畫

1.      進錄錄影,將時間移到30

2.      旋轉base 90 度。

3.      將手臂下彎90 度。

4.      將手婉旋轉90度。

5.      進入track view調整各個關節動作的時間。

6.      撥放

 

延伸學習1:試著下面步驟製作毛毛蟲動畫

1. 製作一個球

2. 將球複製2份,並串連成階層關係,形成三個節的毛毛蟲A

3. 將前面三個節的毛毛蟲複製一份成三個節的毛毛蟲B

4. 讓毛毛蟲A與毛毛蟲B交互前進行程毛毛蟲蠕動前進的動畫。

 

19.3 逆向關節運動

1.      open tut19_2.max

2.      open the 'select by name' to display tree sub-structure

3.      test forward kinematics by moving the handle

4.      activate the Inverse Kinematics by toggling on the button (IK | inverse Kinematics | interactive IK)

5.      drag the spiked ball around and see what happen

6.      drag one of the middle links and see what happen

設定連接點﹙關節﹚

逆向關節運動在數學上是到推回去的,所以無唯一解,除非加上其他限制。

我們可以加上對物件轉軸的方向、角度的範圍限制,以控制他。

這就是設定連接點。

 

延伸學習1:將機器人手臂 (tut19_1.max)範例改用逆向關節運動,觀察其變化。

延伸學習2:將毛毛蟲範例改用逆向關節運動,觀察其變化。