2007年3月31日 星期六

機動學 作業四

作業四 b94611042 王志豪
4-1

L=42+10;
%在此宣告三角形的邊長
axis equal;
AXIS([-110 110 -110 110])
%上面主要限制整個圖形在做運動時的座標範圍
x=[0 -1*L/2 L/2 0];
y=[(3)^(1/2)*L/2 0 0 (3)^(1/2)*L/2];
%以上為三點座標的一筆劃法,由於是一筆畫,故起點座標必須重複一次
a=line(x,y)
%繪圖
for n=1:180
rotate(a,[0 0 1],2,[L/2 0 0])
pause(0.002)
end
for n=1:180
rotate(a,[0 0 1],2,[0 (3)^(1/2)*(L)/2 0])
pause(0.002)
end
for n=1:180
rotate(a,[0 0 1],2,[-1*L/2 0 0])
pause(0.002)
end;
%在此,我使用for做迴圈,按題目要求,需分別對三頂點作旋轉,故重複使用三遍
%主要的原理是利用rotate達成旋轉一個物件的目的
%使用pause的意義在於擔心程式跑太快,肉眼無法跟上,故刻意減緩其速度以便觀察

4-2














4-2之圖
程式如下:
linkshape([10 0],[0,0],2)
%在此建立一個連桿的初始位置以及其寬度
a=10;
b=0;
x1=15;
y1=0;
for n=1:15:360;
x2=a*cosd(n);
y2=-a*sind(n);
%一樣是使用for迴圈來處理這個問題
%簡單來說,將360度的圓角度,每隔15度切割一次,作為旋轉的目的地的基準
%由於轉點為原點,故座標轉換就十分簡單了,利用sin和cos函數便可達到轉換座標的目的
linkshape([x2,y2], [0,0], 2)
line([x1,x2],[y1,y2]);
end
%當每個所欲旋轉所至之地點均確立後,做連線,此題即可解決

當中有使用到一個function如下:
function linkshape(A,B,dd)

if nargin==2,dd=1;end;
d=abs(dd);
AB=(B(1)+j*B(2))-(A(1)+j*A(2));
D=abs(AB);th=angle(AB);
t=linspace(pi/2,2.5*pi,20);
Cout=max(d/2,0.2)*exp(j*t');
Cin=Cout/2;
if dd>0,
P=[0;Cin;Cout(1:10);D+Cout(11:20);D+Cin;D+Cout(20);Cout(1)];
else P=[Cin;0;D;D+Cin];
end
xx=real(P);yy=imag(P);
x=xx*cos(th)-yy*sin(th)+A(1);
y=xx*sin(th)+yy*cos(th)+A(2);
line(x,y)
axis equal
%這個function摘自教學網站上的範例,可供我畫出一個漂亮的連桿圖

4-3














4-3之圖
程式如下:
a1=0;
a2=3;
a3=13;
a4=10;
b1=0;
b2=4;
b3=4;
b4=0;
linkshape([a2 b2],[a1,b1],2);
linkshape([a3 b3],[a2,b2],3);
linkshape([a4 b4],[a3,b3],1.5);
linkshape([a1 b1],[a4,b4],2);
%以上為確立四個連桿的初始位置
for n=0:30:360;
o=a2*cosd(n)+b2*sind(n);
p=-a2*sind(n)+b2*cosd(n);
q=a3+(o-a2);
r=p;
linkshape([o p],[a1,b1],2);
linkshape([q r],[o,p],3);
linkshape([a4 b4],[q,r],1.5);
linkshape([a1 b1],[a4,b4],2);
end;
%這題明顯是平行四邊形的變動,由於平行四邊形的各角之角度均可變化,而邊長全都維持
%當平行四邊形旋轉的時候,為了維持兩邊互相平行,故對面的連桿之x座標以及y座標得注意數值
%可先自行先在紙面上做圖得知,平行四邊形的旋轉,是兩兩各繞一點作旋轉
%所以把其中兩個座標丟入for迴圈後,開始座標變換,可得兩點之旋轉座標
%最後,開始調整,由於另兩點於這兩點成平行狀態,故可藉由平移的方式,求得其座標
%座標全部求出,用linkshape連線,得解,此題完畢

2007年3月24日 星期六

機動學 作業三

作業三 b94611042 王志豪

p3.1
手臂、手肘與關節之對應位置與軌跡
程式如下:
for n=25:5:50
th1=acosd((n.^2+26.2^2+29.2^2-33.6^2)./(2*sqrt(n.^2+26.2^2)*29.2))
L=sqrt(n.^2+26.2^2)
th2=180-atand(X/28.2)-th1
Y=sind(th2)*29.2
X=cosd(th2)*29.2+26.2
linkshape ([26.2,0],[X,Y])
linkshape ([0,n],[X,Y])
end
(2)
約莫50公分
(3)
由於考慮到肩膀的寬度,所以最大伸長量大約是手臂手肘的總長微傾個角度後,所得之的最大垂直高度,然後用Matlab大約就可以計算出來,並描繪其軌跡.
當然,最基本的假設自然是要根植於手是只能與頭在同一平面上做轉動,不可以自由地做三維的轉動.

p3.2
(1)旋轉對
旋轉隊又稱R型對,是平面低對最常用的方式.而這種對偶僅僅只能做迴轉,不能平移,只有一個自由度,日常生活常見的例子,有門閂.軸承.插梢.
1.門閂
最基本的門閂
各式門閂
2.軸承
常見的軸承
拆開看單一的軸承
3.插梢
各式插梢
用於滅火器的插梢
(2)高對與低對運動結
1.低對活動結
二行程汽油機工作原理(活塞)
齒輪(螺旋對)
2.高對運動結
滾珠軸承的介紹
滾珠軸承

href="http://www.kotec.com.tw/" >滾柱傳動減速機

德國FEV展出以滾柱軸承為主軸承的引擎
型式閉合結或外力閉合結
1. 型式閉合結
腳踏車的連桿系統
車子的多連桿系統
2.外力閉合結
單凸輪軸引擎
凸輪離合器

p3.3
(1)
人與圓圈結合的轉動軌跡圖
(2)
同上
程式如下:
hold on;
H='請輸入你的身高,單位是用公分:';
W=input(H); %輸入值
W;
x1=[0 W*cos(atan(0.5))/2]; %繪人
y1=[0 W*sin(atan(0.5))/2];
line(x1,y1)
x2=[0 -W*cos(atan(0.5))/2];
y2=[0 W*sin(atan(0.5))/2];
line(x2,y2)
x3=[-2*W/12 2*W/12 2*W/12 -2*W/12 -2*W/12];
y3=[2*W/12 2*W/12 6*W/12 6*W/12 2*W/12];
line(x3,y3)
x4=[0 0];
y4=[2*W/12 -2*W/12];
line(x4,y4)
x5=[0 W/4];
y5=[-2*W/12 -5*W/12];
line(x5,y5)
x6=[0 -W/4];
y6=[-2*W/12 -5*W/12];
line(x6,y6)
for n=1:1:12;
x11=x3*cosd(30*n)+y3*sind(30*n);
y11=-x3*sind(30*n)+y3*cosd(30*n);
x12= x11+((pi*n/6)*(W/2));
line(x12,y11)
x13=x1*cosd(30*n)+y1*sind(30*n);
y13=-x1*sind(30*n)+y1*cosd(30*n);
x14= x13+((pi*n/6)*(W/2));
line(x14,y13)
x15=x2*cosd(30*n)+y2*sind(30*n);
y15=-x2*sind(30*n)+y2*cosd(30*n);
x16= x15+((pi*n/6)*(W/2));
line(x16,y15)
x17=x4*cosd(30*n)+y4*sind(30*n);
y17=-x4*sind(30*n)+y4*cosd(30*n);
x18= x17+((pi*n/6)*(W/2));
line(x18,y17)
x19=x5*cosd(30*n)+y5*sind(30*n);
y19=-x5*sind(30*n)+y5*cosd(30*n);
x20= x19+((pi*n/6)*(W/2));
line(x20,y19)
x21=x6*cosd(30*n)+y6*sind(30*n);
y21=-x6*sind(30*n)+y6*cosd(30*n);
x22= x21+((pi*n/6)*(W/2));
line(x22,y21)

axis equal; %將水平與垂直座標之單位設為一致

end
for i=1:1:360;
x0=(W/2)*cos(i);
y0=(W/2)*sin(i);
line(x0,y0)
hold on;
end; %畫圓
for n=1:1:12;
for i=1:1:360
x0=(W/2)*cos(i)+(pi/6)*(W/2)*n;
y0=(W/2)*sin(i);
line(x0,y0)
end; %每30度轉一次
end;

機動學 作業二

b94611042 王志豪 作業二

p2.1
以虛擬實境為基礎的脊椎運動模擬系統
3D Simulation of Biped Robot
模糊邏輯控制可搭乘電梯之立體視覺伺
服輪型機器人


以上是三篇論文,均有論述到人體的結構與連桿還有運動結的關係.
第一篇是"以虛擬實境為基礎的脊椎運動模擬系統",主要是建構一個虛擬的模型,來揣測人體在運動的時候包刮四肢以及脊椎彼此之間有什麼關聯與變化,從而了 解並能進一步的研究它而在醫療上有更大的演進.大體而言是以力學為基礎來當假設,在進行模擬的過程中,有不少有關於人體以及連桿和運動結的測試,可以參考 看看.
第二篇則是"雙足機器人之3D模擬",顧名思義,就是單純研究雙足結構的一篇論文,由於這篇論文中所探討的是人型機器人,為了能真實模擬人類行走的情況, 用電腦做出類似人類腳部的結構圖,以3D動畫的形式來研究,而之中就是以連桿的形式所構成的,當中有不少模擬圖可以看看.而第三篇則是"模糊邏輯控制可搭 乘電梯之立體視覺伺服輪型機器人",也是有關於人型機器人的論文,大致於上一篇差不多,不過有關連桿的說明更加豐富,值得一看!!!

有關連桿原理的介紹網站
六連杆假肢膝關節優化設計
新型人工全膝關節之設計

以上兩篇則是有關於利用連桿來應用到醫學方面的設計,主要是以膝關節為主,由於許許多多的運動傷害常常會發生在這個平日時常用到的膝關節上面,所以形形色 色的傷害也就層出不窮了.故在網路上查到的有不少有關於人類以及連桿和運動結方面的東西,主要都是用於這方面的,藉由模擬人類行走的姿勢以及腳步轉動時的 結構,設計出得以減輕人們腳步壓力或者使之可以作為義肢,林林總總下,我就選擇出這兩個網頁作為代表,主要是因為裡面都是有附連桿的圖,並非純粹只有文字 說明,可以比較好懂些.

p2.2
說到發明,仰望藍藍的天空.看著翱翔的飛鳥,大多數人第一個會想到的發明想必就是萊特兄弟所發明的飛機了.萊特兄弟倆從少年時代起就對飛行十分感興趣.在 1895年他們開了一間自行車修理和製造作坊,因著興趣,就開始研究和製造飛機.萊特兄弟沒有受過高等教育,但他們十分虛心好學,相當重視理論和實踐,在 此,他們閱讀了大量的空氣動力學方面的文獻.而在1899年,哥哥威爾伯.萊特向史密森學會索取了大量的有關航空的書籍和文章,在總結前人的經驗和教訓的 基礎上,他們開始了滑翔飛行試驗.據歷史所載,從1900年至1902年,萊特兄弟先後製造了三架滑翔機,進行了上千次的飛行試驗,每次都詳細地記錄了各 種數據,並對操縱進行了反復的改進. 
  他們兄弟於1902年終於設計出了他們的第一架飛機,但由於當時卻沒有哪一個公司願意冒險製造航空發動 機和螺旋槳,於是萊特兄弟就只好自己動手了.很快的,在自行車技師泰勒的幫助下,製造出了一台12馬力的活塞式發動機.至於螺旋槳,當時根本沒有什麼數據 資料或是計算公式可以供萊特兄弟參考,他們只得從頭開始,研究前人的理論,努力改進.
  而最後,他們終於成功.
事實上,他們的成功絕不是偶然,萊特兄弟雖然起初只是個小小的自行車修理者,但他們努力不懈,憑藉著前人所累積的知識,搭配上他們的構想,輔以實際工程上 的操作與測試,最後才完成了目前被世人所公認的第一台飛機,成為大家耳熟能響的飛機之父,是一個整合過去的學習而成功創造發明的例子.

p2.3
Matlab的圖

機動學 作業一

題目一(第二版)
王志豪 B94611042 0960698823
b94611042@ntu.edu.tw

題目二
1.古董機構網頁
http://www.me.ntu.edu.tw/ntume_am/index.htm
  這裡面有台大機械系一開始剛創系時所使用的教具介紹,主要藉影片展示讓觀覽者瞭解機構與運轉模式.
2.麻省理工開放式課程的機械工程網頁
http://www.myoops.org/twocw/mit/Mechanical-Engineering/index.htm
裡面有許多有關機械構造以及設計的課程與介紹,蠻豐富的.