2007年5月7日 星期一

作業8



A本週四 (4/26)曾來上課



B有一組四連桿,其桿長分別為r=[4 3 3 5],由桿2驅動,設第一固定桿角度theta1=0度; 角速度 td2=10rad/s; 角加速度tdd2=0 rad/s^2。


問題一:設桿2角度theta2=45度時,求各點之位置、速度與加速度為何?

由機動學講義6.4之function f4bar來分析

[data,form] = f4bar(r,theta1,theta2,td2,tdd2,mode,linkdrive)

其中輸入值
r=[4 3 3 5] (各桿之長度)
theta1 =0° (第一桿之水平角)
theta2 =45° (驅動桿之水平夾角)
td2 =10 (rad/sec) (驅動桿之角速度)
tdd2 =0 驅動桿(第二桿或第三桿)之角加速度(rad/sec^2)。
mode = -1 (閉合型)
linkdrive = 0 (驅動桿為第二桿)

>>[val,form]=f4bar([4 3 3 5],0,45,10,0,-1,0)

val =

1.0e+003 *

Columns 1 through 5

0.0040    0 0   0 0.0212 + 0.0212i
0.0021 + 0.0021i 0.0450 0.0100 0 0.0041 - 0.0245i
0.0011 + 0.0028i 0.0695 -0.0163 0.4914 -0.2121 - 0.2121i
-0.0008 + 0.0049i 0.0995 -0.0050 0.3836 -1.8712 - 0.4391i

Column 6
0.0021 + 0.0021i
0.0032 + 0.0049i
0
0

form =

1


其中第一行顯示為各連桿位置向量,屬於單桿的位置向量,若要以絕對值型式表示,則為
>>abs(val(:,1))'
ans =
4 3 3 5


四連桿之角度為>> 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


>>abs(val(:,5))'
ans =
1.0e+003 *
0.0300 0.0248 0.3000 1.9220



O點及R點因為接地,所以位置、速度及加速度均不變

而P點之位置、速度及加速度分別為3.2 + 4.9i,24.8,1922

Q點之位置、速度及加速度分別為2.1 + 2.1i,30,300




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



利用6.5的function [values]=drawlinks(r,th1,th2,td2,tdd2,mode,linkdrive)
其中為了繪出速度之方向,將程式稍微修改了一下





function [values]=drawlinks_2(r,th1,th2,td2,tdd2,mode,linkdrive)

if nargin<5,

  linkdrive=0;

end

if nargin<4,

    mode=1;

end

[values b]=f4bar(r,th1,th2,td2,tdd2,mode,linkdrive);

rr=values(:,1);

rr(3,1)=rr(1,1)+rr(4,1);

rx=real(rr(:,1));

rx(4)=0;

ry=imag(rr(:,1));

ry(4)=0;

[unit]=abs(values(:,5))';



vpx=rx(2)+ 1/unit(2)*real(values(2,5));

vpy=ry(2)+ 1/unit(2)*imag(values(2,5));

vqx=rx(3)+ 1/unit(1)*real(values(1,5));

vqy=ry(3)+ 1/unit(1)*imag(values(1,5));


if b==1

plot([0 rx(1)],[0 ry(1)],'k-','LineWidth',4);

hold on;

if linkdrive==0

plot([0 rx(2)],[0 ry(2)],'b-','LineWidth',1.5);

plot([rx(2) rx(3)],[ry(2) ry(3)],'r-','LineWidth',2);

else

plot([0 rx(2)],[0 ry(2)],'r-','LineWidth',2);

plot([rx(2) rx(3)],[ry(2) ry(3)],'b-','LineWidth',1.5);

end

plot([rx(1) rx(3)],[ry(1) ry(3)],'g-','LineWidth',1.5);

plot(rx,ry,'bo');

plot([rx(2) vpx],[ry(2) vpy],'ms-','LineWidth',2);

plot([rx(3) vqx],[ry(3) vqy],'ms-','LineWidth',2);


text(0,0,' O');

text(rx(1),ry(1),' R ');

text(rx(2),ry(2),' P v=30');

text(rx(3),ry(3),' Q v=24.8' );

else

fprintf('Combination of links fail at degrees %6.1f\n',th2);

end

axis equal

grid on










紅色處為增加之部分 其中P和Q點的速度值利用第一題之數據取絕對值算出的
 
>> abs(val(:,5))'



ans =



1.0e+003 *



0.0300 0.0248 0.3000 1.9220












>> drawlinks_2([4 3 3 5],0,45,10,0,-1,0)






圖示













 
 
 
 

 
 
 
 
 
註:圖上速度標示為單位向量,此目的是為使畫面較簡潔易懂,故僅表現出方向,至於實際量值大小以標示為準






 
 
 




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




利用6.6極限函數程式


fb_angle_limits([4 3 3 5],0,0)



ans =



28.9550






故限制角度為28.9550



利用程式繪出極限位置圖





>> drawlimits([4 3 3 5],0,-1,0)



Qstart =



28.9550



Qstop =



331.0450










題目的情形為r1+r2≤r3+r4,r1-r2≤r3-r4


由此可見此為下限限制

從下圖中可以明顯的看出機構之極限位置



















問題四:設theta2=[0:20:360],試繪出此組四連桿之重疊影像,解釋為何有些沒有值。



>> for i=0:20:360;



drawlinks([4 3 3 5],0,i,10,0,-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






上述之四個情況無法成像,由第三題之結果我們可以看出極限角為28.9550,所以驅動桿之運動範圍僅限制在28.9550度至331.0450度間,其他範圍之圖像都不能成立





重疊影像如下







 
 





問題五:若將問題三考慮在內,只在可迴轉的範圍內迴轉,請問你能讓此組四連桿作成動畫方式迴轉嗎?




利用講義6.10之程式move_4paths即可為之,其中由於題目中的連桿均沒有任何延伸點,所以將r6設為0,其動畫結果如下



>>move_4paths([4 3 3 5],0,0,3,0,10,0,-1,0,2,100)




5 則留言:

Chihchi Huang McDonald 提到...

儀珊好利害~~~做的很好唷!!該向你多多學習了!!

大鳥 提到...

哇~你的動畫有軌跡耶!
可以教我嗎??

許惠善 提到...

儀珊我的速度的程式想的跟你一樣,可是方向確不太一樣,我的剛好是向上的....不知哪裡出了問題?!

不留白老人 提到...

速度方向應該與桿垂直,你的速度看起來不正確

b94611029 提到...

你的網頁真是漂亮...
改天教我做吧XD