Notes_05_02 1 of 9 Two-Dimensional Experimental Kinematics Digitize locations of landmarks ri on body i for points k=1 to n at given time t Pk All points must be attached to body i Use landmark weighting factor f Pk 1 if point k is available at time t. Use f Pk 0 if point k not available at given time t. Pk Determine ri r ri Pk riPk Pk i at given time t. Mean values ri mean ri mean ri mean rimean r mean i n n n Pk f Pk ri / f Pk k 1 k 1 n n Pk f Pk ri / f Pk k 1 k 1 n n Pk f Pk ri / f Pk k 1 k 1 n n Pk f Pk ri / f Pk k 1 k 1 n n Pk f Pk ri / f Pk k 1 k 1 S f Pk ri ri k 1 r mean T Pk Pk i ri mean Velocity n Pk i f Pk ri k 1 R r T Pk i ri mean / S for 0 1 1 0 R ~ i i R Point ICR is the instantaneous center of rotation for body i with respect to the ground. Note that the ICR is not attached to the body. Point P on the body coincident with ICR has zero velocity. ri P ~ i ri P rICR for any point P attached to body i ~ 1 r mean rICR ri mean i i for ri P _ at _ ICR 0 Notes_05_02 2 of 9 Acceleration n i f Pk ri Pk k 1 R r i 2 ~ ~ ~ i i i i ~ i i R T Pk i ri mean / S i 2 i Point IAP is the instantaneous acceleration pole for body i. Note that the IAP is not attached to the body. Point P on the body coincident with IAP has zero acceleration. ri P ri P rIAP for any point P attached to body i rIAP ri mean 1ri mean ri P _ at _ IAP 0 for OLD Jerk n i i 3 f Pk riPk k 1 R r ~ i i R T Pk i ri mean / S ~ i 3 ~ i ~ i ~ i ~ i ~ i 3i 3i i i 3 i i i 3i Point IJP is the instantaneous jerk pole for the body. Note that the IJP is not attached to the body. Point P on the body coincident with IJP has zero jerk. riP ri P rIJP for any point P attached to the body rIJP ri mean 1rimean riP _ at _ IJP 0 for Snap R r Pk n i 6i 2 i f Pk ri k 1 ~ R i i T Pk i ri mean / S ~i 6~ i ~ i ~ i 4~ i ~ i 3~ i ~ i ~ i ~ i ~ i ~ i 4i i 3 i 2 i 4 i i 2 i 2 i i i i 3 i 2 i 4 4i Notes_05_02 3 of 9 Point ISP is the instantaneous snap pole for the body. Note that the ISP is not attached to the body. Point P on the body coincident with ISP has zero snap. r r r P P i ISP for any point P attached to the body i rISP ri mean 1 ri mean r P _ at _ ISP for i 0 Centrode Location of the ICR measured relative to ground changes as body i moves and sweeps a locus called the fixed centrode for body i. The time derivative of the locus describes how the ICR moves. Tracking the location of the ICR relative to a coordinate frame fixed to body i provides a locus called the moving centrode. Motion of body i may be characterized as pure rolling of the moving centrode on the fixed centrode because body i instantaneously has zero velocity at each location of the ICR. rICR ~ ri mean ri mean / i 2 The second time derivative of the location of the ICR also changes as body i moves. First and second time derivatives of position along a locus may be combined to determine curvature of the fixed centrode. If body i is part of a mechanism with mobility of one, curvature of the centrode at each location will be invariant to speed of the mechanism. rICR 0 2 2 i i i ICR ICR r R r T ICR i 2 i 2 mean i 3 i ri i 0 2i / r r ICR T ICR i mean 0 2i r 2 3 i i i 2 i mean ri 0 3/ 2 Relative velocity For planar motion, the relative angular velocity of body j with respect to body i is the difference between the two angular velocities. The relative instantaneous center of rotation (RICR) for body j about body i describes a unique point that has zero relative velocity between the two bodies. Note that location of the RICR is measured with respect to the ground. j _ wrt _ i j i r j _ wrt _ i ICR ~ r ICR ~ r ICR / j j i i j _ wrt _ i / i 3 Notes_05_02 4 of 9 Rigid Body Determine the velocity of point C on rigid body link 3. The rigid body and the velocity vectors are drawn to scale. Link 3 is NOT pinned to the ground. Show your work. C Xc = 27 mm Yc = 121 mm VB = 5.7 cm/sec 20º B XB = 90 mm YB = 80 mm 3 XA = 43 mm YA = 56 mm A 25º VA = 9.2 cm/sec r3 B 53.56 mmps 19.50 mmps r3 B _ wrt _ A normr3 r3 A r3 r3 B B _ wrt _ A A V3B_wrt_A 83.38 mmps 38.88 mmps 3 29.82 mmps 65.55 mmps 117.1 58.38 mmps 3 AB AB 52.77 mm B A 3 1.242 rad / sec CCW C r3 C _ wrt _ A 16 mm 65 mm r3 C r3 A r3 C _ wrt _ A r3 C _ wrt _ A 3 R r3 C _ wrt _ A 80.73 mmps 19.87 mmps 2.65 mmps 58.81 mmps 87.4 58.75 mmps V3C_wrt_A 3 A Notes_05_02 5 of 9 Rigid Body Determine the velocity of point C on rigid body link 3. The rigid body and the velocity vectors are drawn to scale. Link 3 is NOT pinned to the ground. Show your work. C Xc = 27 mm Yc = 121 mm VB3 = 5.7 cm/sec 20º B XB = 90 mm YB = 80 mm 3 XA = 43 mm YA = 56 mm A 25º VA3 = 9.2 cm/sec point A = P1 fP1 = 1 r3 P1 43 mm 56 mm point B = P2 fP2 = 1 r3 P 2 90 mm 80 mm r3 P1 83.38 mmps from above 38.88 mmps r3 P 2 53.56 mmps 19.50 mmps use lm2kin2d per attached code 3 = +1.2422 rad/sec r3 C 27 mm 121 mm rICR 0 3 r3 C 74.3006 mm 123.1197 3 2.6332 mmps r3 C rICR 58.82 mmps 87.43 0 58.7571 mmps Notes_05_02 % rbk.m - rigid body kinematics % HJSIII, 14.01.13 clear % constants Rmat = [ 0 -1 ; 1 % inputs f = [ 1 1 0 ]; ]; r = [ 43 56 90 ; 80 ]; rd = [ 83.38 -38.88 53.56 ; 19.5 ]; rdd = zeros(2,2); rddd = zeros(2,2); % call function [ w, rICR, wd, rIAP, wdd, rIJP, rdICR, kappa ] = lm2kin2d( f, r, rd, rdd, rddd ); w rICR % find velocity of C r3C = [ 27 121 ]'; r3Cd = w * Rmat * ( r3C - rICR ) % bottom of rbk 6 of 9 Notes_05_02 % t_lm2kin2d.m - test 2D kinematics from landmark motion % HJSIII, 14.01.13 clear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % example inputs - web cutter four bar % Haug page 197 - not ME 581 web cutter % B3 C3 f = [ 1 1 ]; r = [ 3.7588 1.3681 3.9407 ; 29.3675 ]; rd = [ -5.4874 15.0764 22.5296 ; 14.8943 ]; rdd = [ -60.4716 -22.0098 -42.8075 ; -50.1604 ]; rddd = [ 88.2815 -673.2083 ; -242.5514 -291.1768 ]; % expected outputs w_test = -1.0006; rICR_test = [ 18.8257 ; 6.8520 ]; wd_test = rIAP_test = -0.6374; [ -49.1784 ; 13.0846 ]; wdd_test = rIJP_test = [ 26.1823; 12.8647 ; 3.9747 ]; rdICR_test = [ -37.0807 ; 72.0169 ]; kappa_test = -0.0151 ; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % test function [ w, rICR, wd, rIAP, wdd, rIJP, rdICR, kappa ] = lm2kin2d( f, r, rd, rdd, rddd ); w rICR wd rIAP wdd rIJP rdICR kappa % bottom of t_lm2kin2d 7 of 9 Notes_05_02 function [ w, rICR, wd, rIAP, wdd, rIJP, rdICR, kappa ] = lm2kin2d( f, r, rd, rdd, rddd ) % 2D instantaneous kinematics of a rigid body from landmark motion % HJSIII, 14.01.13 % % USAGE % function [ w, rICR, wd, rIAP, wdd, rIJP, rdICR, kappa ] = lm2kin2d( f, r, rd, rdd, rddd ) % % % % % % % % % % % % % % % % INPUTS f r rd rdd rddd - 1xn 2xn 2xn 2xn 2xn OUTPUTS rICR w rIAP wd rIJP wdd rdICR kappa - vector matrix matrix matrix matrix of of of of of weights - f(j)=1 means data valid, f(j)=0 means data not available x,y landmark location x,y landmark velocity x,y landmark acceleration x,y landmark jerk 2x1 location of instantaneous center of rotation angular velocity 2x1 location of instantaneous acceleration pole angular acceleration 2x1 location of instantaneous jerk pole angular jerk 2x1 time derivative of location of instantaneous center curvature of centrode % constants Rmat = [ 0 -1 ; 1 0 ]; % mean values [ nr, n ] = size( r ); fmat = diag( f ); sf = sum( f' ); rm = sum( fmat*r' )' rdm = sum( fmat*rd' )' rddm = sum( fmat*rdd' )' rdddm = sum( fmat*rddd' )' /sf; /sf; /sf; /sf; % centered location rc = r - rm*ones(1,n); S = trace( rc * fmat * rc' ); % velocity vmat = rd * fmat * rc'; w = ( vmat(2,1) - vmat(1,2) ) /S; wsk = w * Rmat; rICR = rm - inv(wsk) * rdm; % acceleration amat = rdd * fmat * rc'; wd = ( amat(2,1) - amat(1,2) ) /S; wdsk = wd * Rmat; beta = wdsk + wsk*wsk; rIAP = rm - inv(beta) * rddm; % jerk jmat = rddd wdd = w*w*w wddsk = wdd eta = wddsk rIJP = rm - * fmat * rc'; + ( jmat(2,1) - jmat(1,2) ) /S; * Rmat; + 3*wsk*wdsk + wsk*wsk*wsk; inv(eta) * rdddm; % snap %rddddm = sum( fmat*rdddd' )' /sf; %smat = rdddd * fmat * rc'; %wddd = 6*w*w*wd + ( smat(2,1) - smat(1,2) ) /S; %wdddsk = wddd * Rmat; %sigma = wdddsk + 6*wsk*wsk*wdsk + 4*wsk*wddsk + 3*wdsk*wdsk + wsk*wsk*wsk*wsk; %rISP = rm - inv(sigma) * rddddm; % centrode rdICR = ( wsk*rddm - beta*rdm ) /w/w; nrdICR = norm( rdICR ); sk1 = [ 0 (w*wdd-2*wd*wd) ; -(w*wdd-2*wd*wd) 0 ]; 8 of 9 Notes_05_02 sk2 = [ w*w*w 2*w*wd ; -2*w*wd w*w*w ]; sk3 = [ 0 -w*w ; w*w 0 ]; rddICR = ( sk1*rdm + sk2*rddm + sk3*rdddm ) /w/w/w; kappa = ( rdICR(1)*rddICR(2) - rdICR(2)*rddICR(1) ) /nrdICR/nrdICR/nrdICR; % bottom of lm2kin2d 9 of 9