04_05

Notes_04_05
page 1 of 10
Two-dimensional position, velocity and acceleration solutions
Kinematically driven motion
1.0 Initialize
1.1 constants
1.2 global locations of fixed points r1 
P
1.3 local blueprint locations s i ' P
2.0 Initial estimates
2.1 global locations of origins ri 
2.2 orientation angles i
r2 
 
2

 

2.3 assemble into q  r3 
 
 3

  

3.0 Explicit time loop
4.0 Position solution
4.1 rip new values for ri  and i from qk
4.2 form attitude matrices Ai 
Bi 
f̂ 
i
ĝi 
4.3 compute global locations for all points ri 
P
4.4 evaluate constraints KINEMATIC
DRIVER


4.5 assemble position constraints    KINEMATIC 
 DRIVER 
Notes_04_05
4.6 evaluate partial derivatives
 ri KINEMATIC  ri DRIVER
 
i KINEMATIC
4.7 assemble Jacobian
 r 2 KINEMATIC   2 KINEMATIC
q  
  2 DRIVER
  r 2 DRIVER
 
 
 
page 2 of 10
 
i DRIVER
 r 3 KINEMATIC  3 KINEMATIC
 3 DRIVER
 r 3 DRIVER
  
4.8 Newton-Raphson update qk 1  qk   q
1
4.9 check convergence - repeat 4.1 through 4.9 if needed
5.0 Velocity solution
5.1 evaluate KINEMATIC  0
DRIVER


5.2 assemble    KINEMATIC 
 DRIVER 
  
5.3 compute q    q
1
6.0 Acceleration solution
6.1 evaluate KINEMATIC
r2 
  
2

 
q   r3 
  
 3
  


for
DRIVER


6.2 assemble    KINEMATIC 
 DRIVER 
  
6.3 compute q   q
1
for
r2 
  
 2
q  r3 
  
 3

  



Notes_04_05
page 3 of 10
Four Bar Example
G3
13.151
B
C
3
4
2
2
A = G2
AB = 30 cm
BC = 60 cm
CD = 45 cm
AD = 90 cm
BG3 = 23 cm
DG4 = 24 cm
2 = 65
3 = 13.151
4 = - 65.173
G4
65.173 D
D

1
65
1
B2
x2
y2
C4
C3
y3
2
x3
G2
G3
G3
G4
4
3
y4
G4
B3
x4
A2
D4
blueprint information
s 2 ' A  
0

0
s 2 ' B  
AB

 0 
 CG 4 

 0 
s 4 'C  
s 4 ' D  
DG 4 

 0 
adjust
r2 
check
r2 A  r1A
driver
 2   2 _ START   2 t
2
 BG 3 

 0 
s 3 ' B  
r3 
3
r4 
r1 A
0
 
0
s 3 'C  
CG 3 

 0 
r1 D  
AD

 0 
4
r3 B  r2 B
r4 C  r3 C
r4 D  r1 D
Notes_04_05
adjust
x 2 
y 
2
r2   
    2 
 
2
q 2     x 3 
r 
q  q 3    3    y 3 
q    3    
 4  r   3 
4
  x 4 
  4   
y 4 
 4 
desire
REV _ A  

 
REV _ B 




   KINEMATIC   REV _ C   
 DRIVER  
 
 REV _ D  
  DRIVER   2
constraints
page 4 of 10
r2 A  r1 A
r3 B  r2 B
r4 C  r3 C
r4 D  r1 D
  2 _ START




  0


  2 t 


r2   A 2  s 2 ' A r1 A




r   A  s ' B r   A  s ' B 
3
3
2
2
2
 3




C
C
  r4   A 4  s 4 ' r3   A 3  s 3 '   0




r4   A 4  s 4 ' D r1 D













t
2
2 _ START
2


Newton-Raphson position solution
qk 1  qk   q 1 k
Notes_04_05
 q   
JOINT  0
REV _ A   0 2 x1  

 0  
2 x1 
REV _ B 




 KINEMATIC  
 


 q q   
  REV _ C   0 2 x1  
DRIVER 


 0  
 REV _ D   2 x1 
velocity solution
q
  DRIVER 
page 5 of 10
DRIVER
  t 
  2 
0 
q    q 1  8x1 
 2 
acceleration solution
 q  
q
REV  rj P  ri P  02x1
REV   j 2 A j s j ' P  i 2 A i s i 'P
DRIVER
  tt 
2
REV _ A  
 2 A 2 s 2 ' A

  2
B  2
B
REV _ B 
 3 A 3 s 3 '  2 A 2 s 2 '

KINEMATIC  
  2
2
C
C
 q q  
  REV _ C    4 A 4 s 4 '  3 A 3 s 3 '



DRIVER 

2

 
 4 A 4 s 4 ' D
 REV _ D  
  DRIVER  
0
 
q   q 1 








Notes_04_05
page 6 of 10


r2   A 2  s 2 ' A r1 A




r   A  s ' B r   A  s ' B 
3
3
2
2
2
 3




C
C
  r4   A 4  s 4 ' r3   A 3  s 3 '   0




r4   A 4  s 4 ' D r1 D













t
2
2 _ START
2


 
q
 I 2 


  I 2 


 0 2 x 2 


0 
 2x 2


 01x 2 
B 2  s 2 ' A
0 2 x 2 
0 2 x1 
0 2 x 2 
 B 2  s 2 ' B
I 2 
B 3  s 3 ' B
0 2 x 2 
0 2 x1 
 I 2 
 B 3  s 3 ' C
I 2 
0 2 x1 
0 2 x 2 
0 2 x1 
I 2 
1
01x 2 
0
01x 2 
0 2 x1 



0 2 x1  


B 4  s 4 'C 

D
B 4  s 4 ' 


0

Notes_04_05
page 7 of 10
using blueprint information
 
q
0
0
1
0 1
0

 1 0  BG 2 S G 2

 0  1  BG 2 C G 2
0 0
0

0
0 0
0 0
0

0
0 0
0 0
1

0
0
0
0 0
0
0
0
0 0
1
0
 BG 3S G 3
0 0
0
1
 BG 3 C G 3
0 0
1
0
 CG 3S G 3
1 0
0
 1  CG 3 C G 3
0 1
0
0
0
1 0
0
0
0
0 1
0
0
0
0 0


0


0

0

 CG 4 S G 4 

 CG 4 C G 4 
 DG 4 S G 4 

 DG 4 C G 4 

0

0
evaluating terms
 
q
0
0
0
0
0
1
0 1
0
0
0
0

 1 0  27.189 1
0
 5.233

 0  1  12.678 0 1  22.397
0 0
0
1 0
 8.418

0
0  1  36.030
0 0
0 0
0
0
0
0

0
0
0
0
0 0
0 0
1
0
0
0

0 0
0 0
0 0
0 0
1 0
0 1
1 0
0 1
0 0


0


0

0

 19.059 

 8.817 
 21.782

 10.077 

0

0
AB = 30 cm
BC = 60 cm
CD = 45 cm
AD = 90 cm
BG3 = 23 cm
DG4 = 24 cm
2 = 65
3 = 13.151
4 = - 65.173
Notes_04_05
page 8 of 10
transpose
 
T
q
1
0

0

0
 0

0
0

0
0

0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
 27.189  12.678
0
0
0
0
1

1
0
1
0
0
0
0
0
1
0
1
0
0
0

 5.233  22.397  8.418  36.030
0
0
0
0
0
1
0
1
0
0

0
0
0
1
0
1
0
0
0
 19.059  8.817  21.782  10.077 0
0
0
0
0
0
from Notes_06_01 matrix static force analysis
1
0

0

0
0

0
0

0
0

0
1
0
0
0
0
0
0
0
1
0  F12x  
0

 y 


0
1
0
0
0
0
0  F12  
0


27.189  12.678
0
0
0
0
1 F23x  
0
 y  

1
0
1
0
0
0
0 F23   102.589 
  

0
1
0
1
0
0
0 F34x    109.433


5.233  22.396 8.418
 36.030
0
0
0 F34x  
0
  

0
0
1
0
1
0
0  F14x   157.973 
  

0
0
0
1
0
1
0  F14y   122.656 

0
0
 19.059  8.817 21.782 10.077 0 T12  
0
0
0
0
0
0
Notes_04_05
page 9 of 10
Four bar
E
r2 
 
 2
r 
q   3 
 3 
r4 
 
  4 
3
REV _ A 


REV _ B 

  REV _ C 


 REV _ D 
  DRIVER 
C
B
4
2
A
D
 DRIVER   2   2 _ START   2 t
 DRIVER   4   4 _ CENTER   4 sin 2ft 
 DRIVER   3  c 0  c 2 t  c 2 t 2  c 3 t 3
 DRIVER   4   3  cons tan t
 DRIVER  x 3  x 3 _ START  vx 3 t
E
E
E
General slider crank
r2 
 
 2
r 
q   3 
 3 
r4 
 
  4 
REV _ A


REV _ B


REV _ C
   D
C
Q
P
 r4   r4  parallel r1   r1 
 r4 C  r1 P parallel r1 Q  r1 P


 DRIVER






4











C
3
B
2
A
In-line slider crank
REV _ A 


 REV _ B 


   REV _ C 
 y4 
 4 


  DRIVER 
B
2
A
Q
3
4 C
P
C
4
D
Notes_04_05
page 10 of 10
Inverted slider crank
r2 
 
 2
r 
q   3 
 3 
r4 
 
  4 
REV _ A


REV _ B


REV _ C
   Q
B
D
C
 r3   r3  parallel r4   r4 
 r3 B  r4 C parallel r4 D  r4 C


 DRIVER













 C

D
B


3
4
2
B
A
Q
3
Two link manipulator – joint interpolated motion
r2 
 
q   2 
r3 
  3 
REV _ A




REV _ B


  

 2   2 _ START   2 t 
    START    t 
 2   2 _ END   2 _ START  / t
C
  3   2
3
    END   START  / t
A
B
2
Two link manipulator – straight line interpolated motion
r2 
 
q   2 
r3 
  3 
REV _ A


REV _ B
  
x C 3  x C 3 _ START  v C 3X
 y C 3  y C 3 _ START  v C 3Y
v C3X  x C3 _ END  x C3 _ START  / t
v C3X  y C3 _ END  y C3 _ START  / t




t
t 
C
3
A
2
B