Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (39 sloc) 1.42 KB
/*
_
4-wire planar 2-RPR parallel robot
Translational motion is only allowed using constant zero degrees of end-effector rotation. If angular rotation is allowed the forward kinematics requires a 6th degree roots solve, but only quadratic without.
-- anchor points (Lx by Ly square) --
A1 = {0, 0}
A2 = {0, Ly}
A3 = {Lx, 0}
A4 = {Lx, Ly}
-- end-effector attachment points (b by h square) --
B1 = {-b/2.0, -h/2.0}
B3 = {b/2.0, -h/2.0}
-- joint 0 and 2 lengths --
L1 and L3 input
x,y = the intersection of 2 circles that are offset by the constant B1,B3 and having radius equal to the joint length
circle_intersect( A1-B1, L1, A3-B3, L3 )
( {b/2.0, h/2.0}, L1, {-b/2.0) + Lx, h/2.0}, L3 )
take positive solution, ie 1st
*/
/*
A1 = {0, 0}
A2 = {0, Ly}
A3 = {Lx, 0}
A4 = {Lx, Ly}
-- A2 *__ ______* A4
^ \__L2 __L4__/
| \___ b ______/
| *--------*
Ly | | h
| ___*--------*______
| ___/ \______
v __/ L1 L3 \______
-- A1 * * A3
|<-------------- Lx -------------------->|
L1 = Sqrt[Abs[0.5 b - x]^2 + Abs[0.5 h - y]^2]
L2 = Sqrt[Abs[0.5 b - x]^2 + Abs[-0.5 h + Ly - y]^2]
L3 = Sqrt[Abs[-0.5 b + Lx - x]^2 + Abs[0.5 h - y]^2]
L4 = Sqrt[Abs[-0.5 b + Lx - x]^2 + Abs[-0.5 h + Ly - y]^2]
*/