學號:b94611009 姓名:楊子羲
一:
1.
試分別以一線畫繪出上手臂,下手臂及手掌的外形,令其座標組合名稱分別為arm1, arm2, palm,各組合之起點與終點分別為其連結點(注意:每人所做的應該不同,請勿抄襲)。
假設手掌、上臂與下臂皆為直線,手掌長15CM 下臂為25CM 上臂為30CM
theta1=0
theta2=30
theta3=45
arm1=[ 0 0 ; 30*cosd(theta1) 30*sind(theta1)]
arm2=[ 30*cosd(theta1) 30*sind(theta1); 25*cosd(theta2)+30*cosd(theta1) 30*sind(theta1)+25*sind(theta2)]
palm=[25*cosd(theta2)+30*cosd(theta1) 30*sind(theta1)+25*sind(theta2); 15*cosd(theta3)+25*cosd(theta2)+30*cosd(theta1) 30*sind(theta1)+25*sind(theta2)+15*sind(theta3)]
line(arm1(:,1),arm1(:,2));axis equal
line(arm2(:,1),arm2(:,2));axis equal
line(palm(:,1),palm(:,2));axis equal
2.
寫出一程式函數function body(L1,L2,L3,theta1,theta2,theta3),令其繪出整個手臂的外型。其對應角度除第一個上手臂之水平角度為theta1外,theta2為下手臂對上手臂的角度,theta3為手掌對下手臂之夾角,後二者反時針方向為正,順時針方向為負。其連桿連結角度關係如圖二。試就所撰寫之程式結構作一說明。
function body(L1,L2,L3,theta1,theta2,theta3)
theta1=-theta1
theta2=theta1+180+theta2
theta3=theta2+180+theta3
arm1=[ 0 0 ; L1*cosd(theta1) L1*sind(theta1)]
arm2=[L1*cosd(theta1) L1*sind(theta1); L2*cosd(theta2)+L1*cosd(theta1) L1*sind(theta1)+L2*sind(theta2)]
palm=[L2*cosd(theta2)+L1*cosd(theta1) L1*sind(theta1)+L2*sind(theta2); L3*cosd(theta3)+L2*cosd(theta2)+L1*cosd(theta1) L1*sind(theta1)+L2*sind(theta2)+L3*sind(theta3)]
line(arm1(:,1),arm1(:,2));axis equal
line(arm2(:,1),arm2(:,2));axis equal
line(palm(:,1),palm(:,2));axis equal
3.
試量自己的手臂尺寸作為輸入,當theta1=90度,theta2=-45度,theta3=-30度時,其位置如何。
4.
設theta1角度在-90度與-75度間變動,theta2在-45度至-35度間變動,而theta3則在-30度至-10度間變動。試將其變動區間分為十等分,模擬其動畫,並在部落格中顯示其動作。
二:
1.就人的手指頭關節而言,可以將其解析成為下列之三連桿。試參考第二章及第三章中利用連桿與旋轉結的觀念,分析一個手掌的指頭在同一平面上作移動的情形。請詳明分析過程中所可以涉及之假設。
2.就你自己的手掌尺寸為輸入,並請繪出四根指頭(大姆指除外)所可能展示的極限位置。
第一題與第二題我一起做 以下是我做的function
function finger(L1,L2,L3)
for th1=90:-30:0;
for th2=th1:-30:th1-90;
for th3=th2:-30:th2-90;
clf ;
theta1=th1;
theta2=th2;
theta3=th3;
linkshape([ 0 0 ],[ L1*cosd(theta1) L1*sind(theta1)],2);axis equal;
linkshape([L1*cosd(theta1) L1*sind(theta1)],[ L2*cosd(theta2)+L1*cosd(theta1) L1*sind(theta1)+L2*sind(theta2)],2);axis equal;
linkshape([L2*cosd(theta2)+L1*cosd(theta1) L1*sind(theta1)+L2*sind(theta2)] , [L3*cosd(theta3)+L2*cosd(theta2)+L1*cosd(theta1) L1*sind(theta1)+L2*sind(theta2)+L3*sind(theta3)],2);axis equal;
pause(0.1);
axis([-10 10 -10 10]);
end;
end;
end;
以下是假設三節手指頭的長度分別為4、3、2CM的影片
>>finger(4,3,2)
3.
若手指為三個桿,其位置向量分別為[4 3 2]cm,對應位移角度為[10 135 12]度;角速度分別為10, 20, 30 rad/s,角加速均度為20rad/s^2
>> [sv,th]=acc2([4 3 2],[10 135 12],[10 20 30],20)
sv =
1.0e+003 *
0.0050 0.0832 1.8328
th =
40.5724 138.0167 -138.4050
沒有留言:
張貼留言