2007年6月11日 星期一

 不知各位同學對這次杜鵑花節時學長們展出的自製機動玩具有沒有印象,那一隻用鋁架和螺絲鎖成,並以有線遙控器遙控的模型,走起路來的樣子就像一只螃蟹,如果你有印象並且感興趣的話,那你可以去以下介紹的網站
 
 大人的科學 http://otonanokagaku.net/
 這是由日本學習研究社「The Mechanical Animal Series」仿照生物結構,並結合現代遙控技術所做成的"玩具",杜鵑花節上學長們展示的是"螃蟹"(Mobile01介紹),其內容物可從前面的介紹網站看到,未組裝前的零件可看出許多種的連桿,這一系列的產品特色就是將生物的某些結構加以簡化,再以鋁製連桿模擬這些結構並使其動作。
 不過這一套將近2000 up台幣的玩具可能在價錢上就令你卻步了,但別灰心,日本學習研究社也有出一系列精簡版的小模型,大人的科學-扭蛋版(mobile01介紹),甚至,自己也可以用壓克力或厚紙板來製作自己的動態模型。

作業13

13.1 試設計一組複式齒輪,使其轉速比為125(請說明思考步驟及結果)

轉速比要為1:125(若為放大),由於任兩齒輪間之轉速比以不超過10為原則,考慮:
125^(1/2)=11.18
125^(1/3)=5
故可使用1:5的齒輪組串連三次,就可得到125的轉速比。
亦可使用另一組想法,觀察:
125/10=12.5
12.5/10=1.25
1.25=5/4
則得到先以轉速比1:10、1:10、5:4三組齒輪組做串聯,亦可達成1:125的轉速

13.2請指出本學期中你自己最感得意的一次作業(請說明其原因,且該作業必須在自己的部落格內)。

自己認為第8、9、10次作業都做得不錯,主要是因為裡面有用到交多自己寫的程式,比較有成就感,可惜當時並未第一時間將作業PO至部落格,有點遺憾。

作業十

b94611021 張淳皓

10.1
本週5/17有上課

10.2
如圖



 假設PM間距離為r(m)
 M以等角速度 ω (rad/s)轉動
 則P點此時有速度r*ω(m/s),其方向與r為垂直方向
 並有向心加速度r*ω^2 (m/s^2)

如圖(旋轉後)逆時針旋轉
 假若M複以V(m/s)等速水平移動
 則P點此時之速度為
V(m/s)+r*ω*sin(θ)(m/s) i - r*ω*cos(θ)(m/s) j
 加速度維持不變

假若M又具有加速度a(m/s^2)時
 則P點之速度不變,加速度為
 V(m/s)+r*ω^2*cos(θ)(m/s) i + r*ω^2*sin(θ)(m/s) j

四連桿如圖 

 由圖可看出,P點與A點以第二桿做連結
 亦即P點被限制在以A點為圓心,第二桿桿長為半徑的圓周上
 Q點亦類似與P點,其被限制在B點為圓心
 第四桿桿長為半徑之圓周上
 則P點於Q點之速度與加速度與AB兩端點的關係類似於之前討論的結論
 也就是將兩端點是為先前例子的M點,則分析P、Q點的過程就如同之前分析P點的過程
 
若以此推理四連桿的運動,則點P與Q之速度與加速度方向會與桿一(固定桿)之兩端點之關係如何?與我們前面的作業分析結果有無共通之處?(參看第六章之四連桿機構之運動分析)



10.3

程式:

function slider_draw2(R,L,e)
the1=slider_limit1(R,L,e)
the2=90
ang=linspace(the1,the2,100);
d=slider_solved(ang,R,L,e,1);

x=R*cosd(ang);
y=R*sind(ang);
for n=1:100
hold on
line([0,x(n),d(n)],[0,y(n),e]);
line([d(n)-3,d(n)+3,d(n)+3,d(n)-3,d(n)-3],[e-2,e-2,e+2,e+2,e-2]);
plot(0,0,'ro')
plot(x(n),y(n),'ro')
plot(d(n),e,'ro')
plot([0,0],[0,e-d(n)*(y(n)-e)/(x(n)-d(n))],'ro:')
plot([x(n),0],[y(n),e-d(n)*(y(n)-e)/(x(n)-d(n))],'ro:')
plot([x(n),d(n)],[y(n),y(n)*d(n)/x(n)],'ro:')
plot([d(n),d(n)],[0,y(n)*d(n)/x(n)],'ro:')
axis equal
axis ([-80 80 -80 80]);
pause(0.08)
clf
end

輸入 slider_draw2(30,30,0)
結果(紅圈為瞬心位置,其中滑塊與接地桿的瞬心因距離為無限大,無法畫出)

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="559" HEIGHT="445" id="http://homepage.ntu.edu.tw/~b94611021/HW10.swf" ALIGN="">







動畫

作業九

b94611021 張淳皓
本週(5/3)有來上課

 由slider_limit程式分析可知,此組連桿在曲桿為8.5837度時為右極限角,最大之左極限角為237度,
 另外由參考書可知,由於本組機構連結桿與曲桿之長度差小於偏置量,故曲桿無法進行完整的360度迴轉
 以下是我所寫來做動畫的
 輸入之數值為slider_draw(31,36,10)
 R是曲桿 L是連桿 10是偏置距離
 本機構之R為21+10=31
     L為31+5=36
動畫結果

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="541" HEIGHT="439" id="HW9.swf" ALIGN="">








function slider_draw(R,L,e)
the1=slider_limit1(R,L,e)
the2=asind((L-e)/R)+180
ang=linspace(the1,the2,100);
d=slider_solved(ang,R,L,e,1)

x=R*cosd(ang)
y=R*sind(ang)
for n=1:100
line([0,x(n),d(n)],[0,y(n),e])
line([d(n)-3,d(n)+3,d(n)+3,d(n)-3,d(n)-3],[e-2,e-2,e+2,e+2,e-2])
axis equal
axis ([-80 80 -80 80])
pause(0.05)
clf
end
ang=linspace(the2,180-the1,100);
d=slider_solved(ang,R,L,e,-1)
x=R*cosd(ang)
y=R*sind(ang)
for n=1:100
line([0,x(n),d(n)],[0,y(n),e])
line([d(n)-3,d(n)+3,d(n)+3,d(n)-3,d(n)-3],[e-2,e-2,e+2,e+2,e-2])
axis equal
axis ([-80 80 -80 80])
pause(0.05)
clf
end

  以下是使用move_sldpaths做出的動畫
驅動桿驅動
 move_sldpaths([10 31 36 10],0,0,3,0,10,0,1,0,4,100)
情況一

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="538" HEIGHT="436" id="http://homepage.ntu.edu.tw/~b94611021/HW93.swf" ALIGN="">






 move_sldpaths([10 31 36 10],0,0,3,0,10,0,-1,0,4,100)
情況二

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="555" HEIGHT="449" id="http://homepage.ntu.edu.tw/~b94611021/HW92.swf" ALIGN="">







滑塊驅動
 move_sldpaths([10 31 36 10],0,0,3,0,10,0,1,1,4,100)
情況一

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="554" HEIGHT="427" id="http://homepage.ntu.edu.tw/~b94611021/HW94.swf" ALIGN="">






 move_sldpaths([10 31 36 10],0,0,3,0,10,0,-1,1,4,100)
情況二

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="546" HEIGHT="442" id="http://homepage.ntu.edu.tw/~b94611021/HW95.swf" ALIGN="">





作業八

b94611021 張淳皓

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

B.1

圖中之紅虛線為加速度  綠線為速度(其中的紅線因加速度值過大,有做數據上的調整(除1000))
第二、三節點之速度為   30/s 
第二、三節點之加速度為  300/s^2
第三、四節點之速度為   24.8387/s
第三、四節點之加速度為  1922/s^2


B.2

以下是自己做的函數,能會製出四連桿和其加速度
function draw4barVA(r,theta1,theta2,td2,tdd2,mode,linkdrive)
%輸入參數同f4bar
% r=[r1 r2 r3 r4]= lengths of links(1=frame)
%td2 = crank or coupler angular velocity (rad/sec)
%tdd2 = crank or coupler angular acceleration (rad/sec^2)
%mode = +1 or -1. Identifies assembly mode
%linkdrive = 0 for crank as driver; 1 for coupler as driver
%繪出之紅線為加速度,繪出之綠線為速度
[val,form] = f4bar(r,theta1,theta2,td2,tdd2,mode,linkdrive)
angle=abs(val(:,2))';
x(1)=0
y(1)=0
x(2)=r(2)*cosd(angle(2))
y(2)=r(2)*sind(angle(2))
x(4)=r(1)
y(4)=0
x(3)=r(4)*cosd(angle(4)+x(4))
y(3)=r(4)*sind(angle(4)+y(4))
m=[x,0;y,0]'
clf
% 繪製四連桿
line(m(:,1),m(:,2))
%val (1,5) = velocity of point Q
%val (2,5) = velocity of point P
%val (3,5) = acceleration of point Q
%val (4,5) = acceleration of point P
%製第二、三桿間結點之速度與加速度
line([m(2,1),m(2,1)+real(val(1,5))/10]',[m(2,2),m(2,2)+imag(val(1,5))/10]','color','g','linestyle',':')
line([m(2,1),m(2,1)+real(val(3,5))/100]',[m(2,2),m(2,2)+imag(val(3,5))/100]','color','r','linestyle',':')
%製第三、四桿間結點之速度與加速度
line([m(3,1),m(3,1)+real(val(2,5))/10]',[m(3,2),m(3,2)+imag(val(2,5))/10]','color','g','linestyle',':')
k=[[m(3,1),m(3,1)+real(val(4,5))/100]',[m(3,2),m(3,2)+imag(val(4,5))/100]']
line(k(:,1),k(:,2),'color','r','linestyle',':')
axis equal

B.3
本題使用網頁上之move_4paths函數
其參數move_4paths([4 3 3 5],0,0,3,0,10,0,1,0,4,2)
其限制角度為29.0度及331.0度
B.4
 先由grashof判定其連桿類型
  >> grashof(2,[4 3 3 5])
   ans =
  Non-Grashof Linkage
 此屬雙搖桿型連桿,任何桿都不可能產生完整的轉動,因此題目中的主動桿必存在死點。
 且此死點位在第二桿為29度及331度時。
B.5

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="543" HEIGHT="433" id="8.swf" ALIGN="">






第一種情形


codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="524" HEIGHT="429" id="http://homepage.ntu.edu.tw/~b94611021/8-2.swf" ALIGN="">






第二種情形


註記:
 1.這次的作業論程式寫作而言頗有難度,因此這次的作業用到的程式幾乎都改自”機動學講義”第六章的內容
 2.”機動學講義”第六章裡的程式有引用到f4limits.m,不過在內容中只提到f4limits.m的作用,並沒有提供此程式,我是將drawlimits修改成符合要求的子程式來完成製圖,另外還發現到網頁上的move_4path程式裡,對於h(handle的陣列)使用似乎有少加括號

作業七

b94611021 張淳皓
本人4/19有上課 部落格

7.1.1
 在1~5秒內 各桿方向如圖 (藍色線即為桿)
第一秒
第二秒
第三秒
第四秒
第五秒

7.1.2
桿一之速度加速度
桿二之速度加速度
桿三之速度加速度

7.1.3

將過程繪製成影片
影片

本次作業之函式:

function dyad_run(rho,theta,td,tdd,time)
%本函式引用dyad_draw function
%多出的輸入項time是時間矩陣
%ex. dyad_run([31 36 26],[0 0 0],[0.2 0.5 0.3],[0 0.1 0.2],[0 1 2 3 4 5])

thetaTEMP=theta;
tdTEMP=td;
thetaTEMP=theta;
for n=1:length(time)
for m=1:length(rho)
tdTEMP(m)=td(m)+tdd(m)*(n-1);
thetaTEMP(m)=theta(m)+td(m)*(n-1)+0.5*tdd(m)*(n-1)^2;
end
[v,a]=dyad_draw(rho,thetaTEMP,tdTEMP,tdd)
if n > 1
for k=1:length(rho)
vv(k,n-1)=v(k);
aa(k,n-1)=a(k);
end
end
title('b94611021')
pause(1)
end
for j=1:length(rho)
figure
title('桿速度')
plot(vv(j,:),'r+-')
figure
title('桿加速度')
plot(aa(j,:),'cx--')
end

作業六

b94611021 張淳皓
我有上本週(十二日)的課。



6.1.1
 共有12桿及15個結(如圖所示,阿拉伯數字為桿號,英文為結),其中j結表示的是滑塊與地面間的滑動結,紅色區塊為計算結數時輔助用的,不計在連桿內

6.1.2
 M=3*(N-J-1)+F
 N=12 J=15 
 F為12個旋轉結+1個滑動結+2個滑槽結
 F=12*1+1*1+2*2=17
 M=-12+17=5 自由度為5
6.1.3
 函式輸入為
  gruebler(12,[12 1 2])
 運算後得自由度為5
6.1.4
 在此機構中,滑塊因與地面間的滑動特性,使整個系統多出了一個滑動結,滑槽則是因其可提供滑動與轉動的自由度,在計算自由度時須記為2,

6.2.1
標記如圖片所式,阿拉伯數字為桿號,英文標示為結


 b,c,e為球結,其自由度為3
 a,f為旋轉結,其自由度為1
 d為圓柱結,其自由度為2
6.2.2
 m=6(N-J-1)+F=6(6-6-1)+13
 m=7 其自由度為7
6.2.3
 函式輸入為
  gruebler(6,[2 0 0 3 1])
 運算後得自由度為7
6.2.4
 本題是有惰性自由度的,經觀察,4號桿與6號桿可以自轉,因此本題的惰性自由度為2,總自由度為7-2=5
 惰性自由度對系統的影響為總自由度的減少,因為可以自轉的軸在決定系統外型時,其自轉角度並不影響系統之外型,在一般的工業設計中,若非需要,應盡量避免這種設計。
 
6.3.1
 在一四連桿組中,最短桿與最長桿之和小於其他兩桿之和時,則至少有一桿為可旋轉桿。此稱為葛拉索第一類型,亦稱為葛拉索型;
 相對的,最短桿與最長桿之和大於其他兩桿之和時,所有的活動連桿必為搖桿(三搖桿機構),則成為葛拉索第二類型,或稱為非葛拉索型。
6.3.2
 第一組中,7+4=6+5,屬於葛拉索第三類桿,即是中立連桿組
 
 函式
>> grashof(1,[7 4 6 5])
ans =
Neutral Linkage

 第二組中,8+3.6>5.1+4.1,屬於葛拉索第二類桿,即是非葛拉索連桿
 函式
>> grashof(1,[8 3.6 5.1 4.1])
ans =
Non-Grashof Linkage

 第三組中,6.6+3.1<5.4+4.7,屬於葛拉索第一類桿
 至少有一桿為曲柄,其接地桿鄰近最短桿,故為曲柄搖桿型
 函式
>> grashof(1,[5.4 3.1 6.6 4.7])
ans =
Crank-Rocker Linkage

6.3.3
 觀察以上三組數據,僅第二組四連桿為非葛拉索型,若要將其改成葛拉索型機構,可考慮將最長桿火最短桿減短,或將第二和第三長的連桿長度增加,以達成葛拉索機構最長與最短之和小於另外兩桿之和的要求。
 

2007年6月7日 星期四

作業12

作業12
b94611021 張淳皓
1.1 5/31有來上課
2.1
  本題引用contact_ratio程式做計算
 輸入[c_ratio,c_length,ad,pc,pb,d2,d3,ag]=contact_ratio(8,30,48,20 )
 其接觸比=1.7005
 接觸長度=0.6275吋
 齒冠=0.1250吋
 周節=0.3927
 基周節pb=0.3690
 齒輪節圓直徑齒輪一=3.75吋
       齒輪二=6吋
 齒輪一之接近角=10.4850度
     遠退角=9.9211度
     作用角=20.4061度
 齒輪二之接近角=6.5532度
     遠退角=6.2007度
     作用角=12.7538度
2.2 兩齒輪之節圓直徑
  由定義知,節徑*徑節=齒數
 故齒輪一之節徑為30/8=3.75吋
  齒輪二之節徑為48/8=6吋
  由定義知,基圓直徑=節徑*cos(壓力角)
 故齒輪一之基圓直徑為3.75*cos(20)=3.523吋
  齒輪二之基圓直徑為 6*cos(20)=5.638吋

2.3 兩齒輪是否會發生干涉?
  由講義9.47式 N2及N3要滿足下式才不發生干涉
 (N2^2+2N2*N3)sin^2(壓力角) >= 4(1+N3)
  假定N2為30,N3為48,壓力角為20 則
 (20^2+2*20*48)sin^2(20) >= 4*(1+48)
271.1 > 196
  故本組數據將不會發生干涉

2.4 本題使用網頁上的draw_gear與move2_gear程式
  輸入指令move2_gear(8,30,48,20,5)

codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="546" HEIGHT="446" id="http://homepage.ntu.edu.tw/~b94611021/HW12.swf" ALIGN="">





2007年5月31日 星期四

整理BLOG

@_@||

要慢慢把作業捕上摟....

作業11





b94611021 張淳皓
1.本週5/24有來上課
2.
位移對角度
速度對角度
加速度對角度
由圖可觀察到在凸輪無上升或下降的的過程中,速度、加速度皆為0


以下為程式
function drawcam
%建立0到100度的值
for i=1:10
place(i)=0
speed(i)=0
acc(i)=0
end
%建立100到200度的值
for i=11:1:21
phi=(i-1)*10
[y,yy,yyy]=parabol_cam(phi,100,100,1,5,0)
place(i)=y
speed(i)=yy
acc(i)=yyy
end
%建立200到260度的值
for i=22:26
place(i)=5
speed(i)=0
acc(i)=0
end
%建立200到360度的值
for i=27:1:37
phi=(i-1)*10
[y,yy,yyy]=parabol_cam(phi,260,100,-1,5,0)
place(i)=y
speed(i)=yy
acc(i)=yyy
end
%繪製圖表
X=0:10:360
figure
plot(X,place,'c+:')
figure
plot(X,speed,'b+:')
figure
plot(X,acc,'r+:')

3.
運動曲線如
需注意的是,此曲線的起始點不為0,而是25(半徑加上鞘的長度)

4.
以下影片由程式cammove繪成


codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="1108" HEIGHT="902" id="http://homepage.ntu.edu.tw/~b94611021/HW11.swf" ALIGN="">







function cammove
for i=1:100
r(i)=15;
end
for i=101:201
r(i)=15+(5/100)*(i-100);
end
for i=201:260
r(i)=20;
end
for i=261:360
r(i)=20-(5/100)*(i-260);
end
theta=linspace(0,2*pi,360)
for i=1:360
k=r(1);
for j=1:359
r(j)=r(j+1);
end
r(360)=k;
polar(theta,r)
pause(0.0001)
end

2007年4月18日 星期三

第五題

b94611021 張淳皓

5.1.1
手臂外形
arm1=[0 0;L1/2 -ld1/2;L1 0;L1/2 ld1/2;0 0;L1 0]
arm2=[0 0;L2/2 -ld2/2;L2 0;L2/2 ld2/2;0 0;L2 0]
palm=[0 0;0 -ld3;L3 -ld3;L3 0;ld3 0;ld3 ld3;0 ld3;0 0]
圖片

5.1.2
%程式內容
%theta1~3單位為degree
function body(L1,L2,L3,theta1,theta2,theta3)

%ld1~3分別為手臂及手掌的寬度
ld1=L1/3
ld2=L2/3
ld3=L3/5

%建立手臂及手掌的矩陣
arm1=[0 0;L1/2 -ld1/2;L1 0;L1/2 ld1/2;0 0;L1 0]
arm2=[0 0;L2/2 -ld2/2;L2 0;L2/2 ld2/2;0 0;L2 0]
palm=[0 0;0 -ld3;L3 -ld3;L3 0;ld3 0;ld3 ld3;0 ld3;0 0]

%清空圖片準備畫圖
clf
axis equal

%上臂之旋轉 紅色
m1=arm1(:,1)*cosd(-theta1)-arm1(:,2)*sind(-theta1)
n1=arm1(:,1)*sind(-theta1)+arm1(:,2)*cosd(-theta1)
patch(m1,n1,'r')

%下臂之旋轉 藍色
theta2=180+theta1-theta2
m2=arm2(:,1)*cosd(-theta2)-arm2(:,2)*sind(-theta2)+m1(3)
n2=arm2(:,1)*sind(-theta2)+arm2(:,2)*cosd(-theta2)+n1(3)
patch(m2,n2,'b')

%手掌旋轉 綠色
theta3=180+theta2-theta3
m3=palm(:,1)*cosd(-theta3)-palm(:,2)*sind(-theta3)+m2(3)
n3=palm(:,1)*sind(-theta3)+palm(:,2)*cosd(-theta3)+n2(3)
patch(m3,n3,'g')

5.1.3
圖片

5.1.4
動畫程式
動畫

5.2.1
  若將手指連接手掌的指節稱為第一指節,指間之指節稱為第三指節,則第三與第二指節為只能旋轉90度的旋轉節,第一指節在與第二、三指節同方向上亦有90度的限制,然而其可視為一球形關節,故第一指節在垂直於第二、三指節的方向上亦可做小角度的轉動。
  套用自由度計算,可將手掌視為接地端,手掌為第一桿,指節分別為第二、第三、四桿,總桿數為四,若只考慮第二、三指節的旋轉平面,則第一指節可視為一2d的旋轉節,故共有三個節,節之自由度總和為1+1+1=3
 則 M=3(N-J-1)+sum(f)=3(4-3-1)+3=3 自由度為三,可由三個指節分別作驅動桿

5.2.2
 在此我將body函式燒為改寫為繪製finger的函式
function finger(L1,L2,L3,theta1,theta2,theta3)

arm1=[0 0;L1/2 -L3/2;L1 0;L1/2 L3/2;0 0;L1 0]
arm2=[0 0;L2/2 -L3/2;L2 0;L2/2 L3/2;0 0;L2 0]
palm=[0 0;L3/2 -L3/2;L3 0;L3/2 L3/2;0 0;L3 0]
axis equal
m1=arm1(:,1)*cosd(-theta1)-arm1(:,2)*sind(-theta1)
n1=arm1(:,1)*sind(-theta1)+arm1(:,2)*cosd(-theta1)
patch(m1,n1,'r')
theta2=180+theta1-theta2
m2=arm2(:,1)*cosd(-theta2)-arm2(:,2)*sind(-theta2)+m1(3)
n2=arm2(:,1)*sind(-theta2)+arm2(:,2)*cosd(-theta2)+n1(3)
patch(m2,n2,'b')
theta3=180+theta2-theta3
m3=palm(:,1)*cosd(-theta3)-palm(:,2)*sind(-theta3)+m2(3)
n3=palm(:,1)*sind(-theta3)+palm(:,2)*cosd(-theta3)+n2(3)
patch(m3,n3,'g')

 再由呼叫finger函式分別繪製
小指

patch([0,-8,-8,0,0],[0 0 2 2 0],'r')
%此為繪製手掌
a=linspace(0,90,10)
b=linspace(180,90,10)
c=linspace(180,90,10)
for n=1:10
finger(5,3,2.7,a(n),b(n),c(n))
end

無名指

patch([0,-8,-8,0,0],[0 0 2 2 0],'r')
%此為繪製手掌
a=linspace(0,90,10)
b=linspace(180,90,10)
c=linspace(180,90,10)
for n=1:10
finger(5.5,3.5,3,a(n),b(n),c(n))
end

中指

patch([0,-8,-8,0,0],[0 0 2 2 0],'r')
%此為繪製手掌
a=linspace(0,90,10)
b=linspace(180,90,10)
c=linspace(180,90,10)
for n=1:10
finger(6,3.8,3,a(n),b(n),c(n))
end

食指
patch([0,-8,-8,0,0],[0 0 2 2 0],'r')
%此為繪製手掌
a=linspace(0,90,10)
b=linspace(180,90,10)
c=linspace(180,90,10)
for n=1:10
finger(5.5,3.5,2.8,a(n),b(n),c(n))
end


5.2.3
 由於得不到確切的球員指長數據,在此我以自己的指長做代表,假若我能投出時速90裡的棒球,那我的手指尖在球投出的瞬間至少與球等速,同為90裡的時速
 並假設投球過程中為等加速度運動,,整組投球動作歷時0.8秒

 則各手指之速度與加速度為

    速度  角速度  角加速度
食指  4kcm/s 354rad/s 443rad/s2
中指  4kcm/s 313rad/s 391rad/s2
無名指 4kcm/s 333rad/s 416rad/s2
小指  4kcm/s 374rad/s 468rad/s2

此組數據是以手指對地之速度得來,未捨去手臂帶動之速度與加速度

第四題

作業四 b94611021 張淳皓

4.1
以下為程式碼:

% 學號b94611021
%三角形邊長31
axis equal
AXIS([-55 55 -35 60])
length=21+10
x=[length/2 0 -1*length/2 length/2]
y=[0 (3)^(1/2)*length/2 0 0]

%將三角形存於handle "pic"
pic=line(x',y')

%利用迴圈及rotate指令處理動畫旋轉
for n=1:120
rotate(pic,[0 0 1],3,[length/2 0 0])
pause(0.003)
end
for n=1:120
rotate(pic,[0 0 1],3,[0 (3)^(1/2)*length/2 0])
pause(0.003)
end
for n=1:120
rotate(pic,[0 0 1],3,[-1*length/2 0 0])
pause(0.003)
end

4.2

以下為程式碼

%當連桿繞原點轉動
%設其另一端點為(x,y)
%彈簧為紅色粗線
clf
x=[0 10]
y=[0 0]
hold on
for n=1:12

m= x*cosd(30*n)-y*sind(30*n)
k= x*sind(30*n)+y*cosd(30*n)
linkshape([m(1) k(1)],[m(2) k(2)],4)
AXIS([-15 20 -15 15])
line([m(2) 15],[k(2) 0],'Color','r','LineWidth',2)
end

圖片

4.3

(1)繪出連桿位置
以下為程式:
%繪出連桿A(0,0);B(3,4);C(13,4);D(10,0)
%
a=[0 0]
b=[3 4]
c=[13 4]
d=[10 0]
linkshape(a,b,1)
linkshape(b,c,1.5)
linkshape(c,d,2)
linkshape(a,d,2)
圖片

(2)繪出移動圖示
以下為程式:

clf
hold on

a=[0 0]
b=[3 4]
c=[13 4]
d=[10 0]
linkshape(a,d,1)
for n=1:12
bx= b(1)*cosd(30*n)-b(2)*sind(30*n)
by= b(1)*sind(30*n)+b(2)*cosd(30*n)
cx=bx+10
cy=by
linkshape([10 0],[cx cy],1.5)
linkshape([bx by],[cx cy],2)
linkshape([0 0],[bx by],2)
pause(0.2)
end

圖片

新增的部份
程式為修改原four_link3而來 將程式中line函式轉為linkshape函式
function four_link3(theta2,r,mode)
% figure4.11 drawing program
%Inputs:
% theata2:links to display in link 2 degrees
% r:row matrix for link lengths={r1 r2 r3 r4]
% mode:+1/-1 for toggling position
% Example:
% four_link3([60],[4 2 4.2 2.6],1)
% Author: DSFon, BIME, NTU, Date:Feb 4,2007.
%

圖片">

第三次作業

b94611021 張淳皓

題3-1

(a)
%在此題中 我假定頭為原點 手臂以頭為固定結
%其中 肘關節之座標為(Xb,Yb) 拳頭座標為(0,Ya)
%後臂長35CM,前臂長30CM
Ya=10:5:65;
degree=(35^2.+Ya.^2-30^2)./(70.*Ya);
degree=acos(degree);
Xb=35*sin(degree);
Yb=35*cos(degree);
plot(Xb,Yb,'o');
hold on;
plot(0,Ya,'o')
title('後臂長35,前臂長30');
grid on;

軌跡圖片
藍線為手肘之軌跡 Y軸上之圓圈線為拳頭之軌跡

(b)
自己拳頭在以軀幹軸為正方向做線性移動的最大範圍為65CM
正好為手臂全長

(c)
在本題中 對於MATLAB繪圖做出以下假設
(1)手腕不為可動結點
事實上,手腕是可動的關節
(2)肩膀與頭都在原點位置
應有一段水平位移
(3)手肘關節可在0~180度任意屈伸
現實狀況中,手肘不可能完全夾緊至0度
(4)作為機動學上的分析,此系統將肩膀視為
一R形結,肘關節亦視為R形結,拳頭則類
似於限制在Y軸上的滑動結,其系統自由度
  為1

題3-2
(1)旋轉對
為平面低對之一種,又稱R-型對,應用如門閂、軸承等僅做迴轉而無平移的地方,其自由度為一
實例:
宿舍衣櫃的門軸
(2)高對與低對運動結
高對與低對的區分為運動節上兩物件的接觸狀況,高對通常僅接觸於一點或一線,例如辦公椅的輪子,就是輪子與地面僅有一條線的接觸高對,低對的兩物件通常皆處於面甚至多面,其接觸應力較小,例如前述的宿舍衣櫃的門軸
(3)型式閉合結或外力閉合結
Form-closed型式閉合結:
利用運動節的形狀限制另一桿之運動範圍,例如長號的伸縮管
Force-closed外力閉合結:
藉由外在之力,使兩桿維持接觸狀態,例如凸輪軸

參考資料 機動學 逢丁樹教授著

題3-3
(1)
假設此外接圓為以此人的半身高為長度所做出的五條以圓心作等距輻射的外接圓
此圖以我自己的身高165CM做輸入繪成
PIC
(2)
此圓的大小應與人的身高與手臂成正比關係

程式如下(此函數名稱為 drawhuman)
%初次的matlab函數寫作 中間用了很多dummy變數 尚待改正

function P=drawhuman
message='請輸入身高(CM)';
hight=input(message);
hight;
clf
hold on;
k=hight/(2^(1/2));
M=[0 0];
N=[k k];
degree=1;
for m=0:12
temp2=hight*pi*m/12;
for n=1:5
temp1(1)=N(1)*cosd(63-n*72-30*m)+N(2)*sind(63-n*72-30*m);
temp1(2)=(-1)*N(1)*cosd(63-n*72-30*m)+N(2)*sind(63-n*72-30*m);
temp1(1)=temp1(1)+hight*pi*m/12;
P=line([temp2,temp1(1)],[0,temp1(2)]);
end

l=0:pi/20:2*pi;
y=hight*(sin(l)+pi*m/12+i*cos(l));
plot(y);

end
title('b94611021(身高165CM)');
xlabel('移動距離(CM)');
ylabel('Y');
grid on;
axis equal

2007年3月8日 星期四

b94611021 張淳皓
題目一
人體上的動關節就作動形式可分類成下圖:
關節分類圖
上排由左至右分別是
 球窩關節 (Articulatio spheroidea):如肩關節,髖關節;可以各向運動,除三維的轉動,其他方向的力都被限制,由課本第三章表3.1得知,此為球結
 橢圓關節 (Articulatio ellipsoidea):例如寰椎和顱骨之間的關節與球窩關節類似,但在橢圓軸方向的轉動有程度的限制,由課本第三章表3.1得知,此較類似圓柱對
 鞍狀關節 (Articulatio sellaris):如大拇指與掌骨的連接;僅可向兩方向轉動
下排由左至右分別是
 屈戌關節 (Ginglymus):只有一條運動軸,只能做屈伸,例如肘關節(如鉸鏈比較),僅可做單軸轉動有五個限制,另外由課本第三章表3.1可得知,此種關結為旋轉結,連結度為1
   手肘屈伸影片
  伏地挺身人體透視
 車軸關節 (Articulatio trochoidea ):如尺橈二骨之間的關節,為單軸轉動

 在此我以腿及臀部關節的連動情形做分析,當一個人舉重物並由蹲下到站起的過程中,人的腳掌為固定點,小腿骨為固定桿,腳跟、膝蓋及臀部皆為R型旋轉對,當人要站起時,由大腿前側肌及小腿後側肌收縮提供站起的動力,由影片即可觀察到,在站立及蹲下時,腳掌處因為接地點故不移動,僅靠腳跟、膝蓋及臀部的關節旋轉達成蹲下或站立的動作。

題目一參考資料
wikipedia
youtube

題目二
由課本圖1.2可得知任何機構設計所牽涉的流程主要為
        機器設計
1設定工作目標     1靜態受力分析
2建立性能規格表 →運動→2負荷尺寸設計
3腦力激盪    ←狀態←3動態特性分析
4運動尺寸之合成    4機械之平衡分析
  機構合成
  機構設計
       
再由課本圖1.3之設計流程之說明可知一創造和發明的合理步驟,主要是由
1.前置準備:分析問題需求、背景研究、訂定具體目標及性能規範
2.機件規劃:設計機構、分析結構應力及材力分析
3.製作及改良:藉由不斷的試作品來調整機構的設計
4.量產規劃:替成品定出低成本的量產規劃
  再此我以創造飛行器為例,當工程師想要製作一台飛行器時,他會經歷以下步驟
1.前置準備:
   早期工程師藉由分析已知的自然飛行物,鳥類、昆蟲,來得到飛行器的靈感。
   近代工程師利用已知的基礎科學,如:百努力方程式、流體力學、機動學,來設計出理論上可行的飛行器外觀
2.機件規劃:
   早期的工程師藉由模仿鳥類設計出藉由人力驅動的仿鳥型飛行翼
   近代工程師利用已知的基礎科學及電腦模擬軟體的協助,設計出具流線形外觀及有廣大側翼的飛行器
3.製作及改良:
   早期的工程師經過無數次不斷的試飛,依照經驗改良飛行器,設計出滑翔翼
   近代的工程師藉由材料科學的輔助,得以找尋輕而具強度的材料,再透過機構的分析來確立其可行性,無數次的試飛也能累積經驗,製作出能運載大量乘客的客機
4.量產規劃:
   工程師藉由規格化的設計成品,來達到大量生產的目的。

題目三
  程式碼
M=(21)+10;
x=1:1:10;
y=x.^(1/M);
plot(x,y);
xlabel('x');
ylabel('Y=x^(1/M)');
title('M=(21)+10');
圖表連結