2007年5月11日 星期五

作業八

A:本人4月26日曾來上課,謝謝老師。
B:
有一組四連桿,其桿長分別為r=[4 3 3 5],由桿2驅動,設第一固定桿角度theta1=0度; 角速度 td2=10rad/s; 角加速度tdd2=0 rad/s^2。

1. 設桿2角度theta2=45度時,求各點之位置、速度與加速度為何?

我們可以參考老師網頁的第六章,使用function f4bar,其中,function的輸入原則為f4bar(r,theta1,theta2,td2,tdd2,mode,linkdrive) r是各桿長度,theta1:第一桿之水平角,theta2:驅動桿之水平夾角,td2:驅動桿之角速度(rad/sec),tdd2:驅動桿之角加速度(rad/sec^2),mode:+1 or -1. 組合模數,負值表示閉合型,正值為分支型,linkdrive :0 (驅動桿為第二桿); 1 (驅動桿為第三桿),所以依照題目的意思,我們輸入
[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0)
得到
val =
1.0e+003 *
0.0040 0 0 0 0.0212 + 0.0212i 0.0021 + 0.0021i
0.0021 + 0.0021i 0.0450 0.0100 0 0.0041 - 0.0245i 0.0032 + 0.0049i
0.0011 + 0.0028i 0.0695 -0.0163 0.4914 -0.2121 - 0.2121i 0
-0.0008 + 0.0049i 0.0995 -0.0050 0.3836 -1.8712 - 0.4391i 0
form =
1
此處form=1表示可連成四連桿

*各點位置:
O(0,0)
P(2.12,2.12)
Q(2.12+1.05,2.12+2.81)=(3.17,4.93)
(即為value中第一欄第三行的向量值加上P點座標)
R(4,0)

*各桿跟水平線的夾角
在螢幕上輸入
>> abs(val(:,2))'
ans =

0 45.0000 69.4856 99.5246
即為各桿跟水平線的夾角
*各桿的角速度
>> abs(val(:,3))'

ans =

0 10.0000 16.2681 4.9677
即為各桿的角速度
*各桿的角加速度
>> abs(val(:,4))'

ans =

0 0 491.4428 383.6120
即為各桿的角加速度

2. 繪出此四連桿之相關位置及標明各點之速度方向及大小(以程式為之)。

首先,我們可以在老師第六張講義中找到function drawlinks,存取後在螢幕上輸入drawlinks([4 3 3 5],0,45,-1,0),及可得到下圖。



3. 當桿2迴轉時,求出此組四連桿之限制角度,並繪出其位置(以程式為之)。

我們可以清楚地從老師第六張講義了解function drawlimits在角度限制上的運用。另外,這程式亦結合了fb_angle_limits,因此我們必須先存取此檔案。
在螢附上輸入:
drawlimits([4 3 3 5],0,1,0)
可得
Qstart =

28.9550


Qstop =

331.0450

此類型角度限制在右邊,如圖所示。



4. 設theta2=[0:20:360],試繪出此組四連桿之重疊影像,解釋為何有些沒有值。
依照題意,我們輸入
clf;
for i=0:20:360
drawlinks([4 3 3 5],0,i,1,0);
end
可以得到一個圖,但是會出現:
Combination of links fail at degrees 0.0
Combination of links fail at degrees 20.0
Combination of links fail at degrees 340.0
Combination of links fail at degrees 360.0

這是因為我們剛剛已經藉由function drawlimits得知此四連桿由第二桿驅動時的角度限制(28.95度~331.04度),故在此範圍外的角度沒有值,也就是說,當旋轉到這些角度時,無法構成四連桿。

5. 若將問題三考慮在內,只在可迴轉的範圍內迴轉,請問你能讓此組四連桿作成動畫方式迴轉嗎?
我們首先必須找出角度的範圍,所以設一個迴圈從29~331每隔五度跑一次,其次是要注意標示pause的時間,為了讓畫面美觀,更可以設定座標範圍。
AXIS([-5 5 -5 5])

for i=29:5:331
drawlinks([4 3 3 5],0,i,1,0);
pause(0.2)
clf;

end
或者使用move_4paths的function,並輸入move_4paths([4 3 3 5 ],2,-30,3,0,10,0,1,0,4,100)及可得到動畫及其軌跡的移動。
動畫

2 則留言:

不留白老人 提到...

第二題應設法標出速度及加速度方向
應解釋A點之相對位置

匿名 提到...

我好像也應該要把題目改個顏色喔,

看起來清楚多了