Upload
roderick-butler
View
220
Download
2
Embed Size (px)
Citation preview
Kinematic Synthesis 2October 8, 2015
Mark Plecnik
Planar Kinematics With Complex Numbers
θ
{𝑎𝑥
𝑎𝑦}+{𝑏𝑥
𝑏𝑦}={𝑎𝑥+𝑏𝑥
𝑎𝑦+𝑏𝑦}
[c os𝜃 −sin 𝜃sin𝜃 cos𝜃 ]{𝑎𝑥
𝑎𝑦}={𝑎𝑥 c os𝜃−𝑎𝑦 s∈𝜃
𝑎𝑥sin 𝜃+𝑎𝑦 cos𝜃 }
(ax + iay) + (bx + iby) = (ax+bx) + i(ay+by)
eiθ(ax + iay) = (cosθ + isinθ)(ax + iay) = (axcosθ – aysinθ) + i(axsinθ + aycosθ)
a
b
x
y
x
y
Re
Im
Re
Im
a
Motion Generation of a Crank
Any two planar positions define a pole
A
P0
P1
θ1
T1(P0−A)T1=eiθ₁
Sum up this vector loop:
A+T1(P0−A)=P1
A is the only unknown and this equation is linear
Path Generation of a Crank
P2
P1P0
θ1
θ2
T1(P
0−A)
T 2(P 0
−A)
T2=eiθ2T1=eiθ1 ,
Now we can sum 2 loop equations:
A+T1(P0−A)=P1
A+T2(P0−A)=P2
This time as unknowns, we don’t know A, T1, or T2
Since T1 and T2 are rotation operators, we know they must satisfy constraints
𝑇 𝑗𝑇 𝑗=𝑒𝑖 𝜃 𝑗𝑒−𝑖 𝜃 𝑗= (cos𝜃+𝑖 sin𝜃 ) ( cos𝜃− 𝑖 sin𝜃 )=sin2𝜃+cos2𝜃=1 ,
This introduces new unknowns .
A
𝑇 1𝑇 1=1 ,𝑇2𝑇 2=1 , because
4 equations & 5 unknowns
In order to accommodate these new conjugate unknowns, we append new conjugate loop equations.
Path Generation of a Crank -2
𝐴+𝑇 𝑗 (𝑃0+𝐴 )=𝑃 𝑗 , 𝑗=1,2In all we have 6 equations in 6 unknowns:
We consider and to be unknowns, which makes the system polynomials
𝐴 ,𝐴 ,𝑇1 ,𝑇1 ,𝑇2 ,𝑇2
Unknowns:
Bézout’s Theorem: the maximum number of roots of a polynomial system is the product of the degrees of each equation
In this case, the degree is 26 = 64. Meaning there are 64 solutions. Which means there are 64 cranks which travel through 3 points. That can’t be true!
Path Generation of a Crank -3𝐴+𝑇 𝑗 (𝑃0+𝐴 )=𝑃 𝑗 𝐴+𝑇 𝑗 (𝑃0+𝐴 )=𝑃 𝑗
𝑇 𝑗𝑇 𝑗=1
solve for solve for
substitute into
to eliminate and
𝑃 𝑗𝑃 𝑗−𝑃0𝑃0 −𝐴 (𝑃 𝑗−𝑃0 ) −𝐴 (𝑃 𝑗−𝑃0 )=0 , 𝑗=1,2which are 2 linear equations in 2 unknowns, therefore there is 1 solution
Phew! That’s good because we know there is only 1 circle that goes through 3 points,
and its coordinates will be at A = Ax + iAy.
Looks like our original estimate of 64 was a vast overestimation!
, and obtain
Motion Generation of a Four-bar0
1
2
3 4
Graphical method: It exists but it’s cumbersomeSee Geometric Design of Linkages by McCarthy and Soh
…and where does the number 5 come from?
Motion Generation of a Four-bar -2
θj
A
B
CD
P0
ψj
ϕj
Pj
Qj (C−A)
T j(P0−
C)
Sj (D
−B)
Tj(P
0−D)
Tj=eiθj Qj=eiϕj , Sj=eiψj ,
A + Qj(C−A) + Tj(P0−C) = Pj
B + Sj(D−B) + Tj(P0−D) = Pj
Then append conjugate loop equations:
and unit magnitude equations for the unknown rotation operators:
𝐴+𝑄 𝑗 (𝐶−𝐴 )+𝑇 𝑗 (𝑃0 −𝐶 )=𝑃 𝑗
𝐵+𝑆 𝑗 (𝐷−𝐵 )+𝑇 𝑗 (𝑃0 −𝐷 )=𝑃 𝑗
𝑄 𝑗𝑄 𝑗=1 𝑆 𝑗𝑆 𝑗=1
Knowns: Unknowns:𝑃 𝑗 ,𝑃 𝑗 ,𝑇 𝑗 ,𝑇 𝑗
N is no. of positions
Motion Generation of a Four-bar -3
θj
A
B
CD
P0
ψj
ϕj
Pj
Qj (C−A)
T j(P0−
C)
Sj (D
−B)
Tj(P
0−D)
The equations corresponding to the 2 halves of the linkage are symmetric:
A + Qj(C−A) + Tj(P0−C) = Pj
B + Sj (D−B) + Tj(P0−D) = Pj
A Qj(C−A) C
As well, the unknowns can be partitioned so that we can focus on one half of the linkage at a time
Each half is called an RR chain. If we can find at least two RR chains, we can combine them to create a four-bar linkage.
𝑗=1 , …,𝑁−1
Solving for an RR ChainEquations to solve:
N is no. of positions
Find N such that there is an equal number of equations and unknowns: N−1=44 This system consists of 12 quadratic equations. According to Bézout’s theorem, a maximum of 212 = 4096 roots exist. This is an overestimation, and by eliminating some variables we can compute a lower Bézout degree.
𝐴+𝑄 𝑗 (𝐶− 𝐴 )+𝑇 𝑗 (𝑃0−𝐶 )=𝑃 𝑗 𝐴+𝑄 𝑗 (𝐶−𝐴 )+𝑇 𝑗 (𝑃0 −𝐶 )=𝑃 𝑗
𝑄 𝑗𝑄 𝑗=1
solve for solve for
substitute into
to eliminate and , and obtain
(𝐶−𝐴 ) (𝐶− 𝐴 )=( 𝐴+𝑇 𝑗 (𝑃0 −𝐶 ) −𝑃 𝑗 ) ( 𝐴+𝑇 𝑗 (𝑃0 −𝐶 )−𝑃 𝑗 ) , 𝑗=1 , …, 4
That is 4 quadratic equations in 4 unknowns with a Bézout degree of 24 = 16
Solving for an RR Chain -2However, it turns out that 16 is also an overestimation to number of roots. So how do we find the real number of roots?
We must analyze the monomial structure of the polynomial system. If we were to expand
(𝐶−𝐴 ) (𝐶− 𝐴 )=( 𝐴+𝑇 𝑗 (𝑃0 −𝐶 ) −𝑃 𝑗 ) ( 𝐴+𝑇 𝑗 (𝑃0 −𝐶 )−𝑃 𝑗 ) , 𝑗=1 , …, 4
We would find the following list of monomials in each polynomial
⟨ 𝐴𝐶 , 𝐴𝐶 , 𝐴 , 𝐴 ,𝐶 ,𝐶 , 1 ⟩Note that a general quadratic that contains the variables and would have monomials
⟨ 𝐴2 ,𝐴2 ,𝐶2,𝐶2 , 𝐴𝐴 ,𝐶𝐶 , 𝐴𝐶 , 𝐴𝐶 , 𝐴𝐶 , 𝐴𝐶 , 𝐴 , 𝐴 ,𝐶 ,𝐶 ,1 ⟩It is because of this sparse monomial structure that the system does not have 16 roots.So how do we figure out how many roots we have? Say we piece together another dummy system that looks like this:
…another dummy system that looks like this:
Counting the Number of Roots
where the monomials in red are extra from our original system. Therefore, if we can figure out the number of roots of our dummy system (which is more general than our original system), we can conjecture that our original system will not have more roots than that.
⟨ 𝐴 𝐴 ,𝐶𝐶 , 𝐴𝐶 , 𝐴𝐶 , 𝐴 ,𝐴 ,𝐶 ,𝐶 , 1 ⟩
where s are stand-ins for random coefficients. It has a monomial structure which looks like this:
Our dummy system has an easy solution. We can simply solve a sequence of linear systems.
Solving the Dummy System
1 : (∎ 𝐴+∎𝐶+1 )=02 : (∎ 𝐴+∎𝐶+1 )=03 : (∎ 𝐴+∎𝐶+1 )=04 : (∎ 𝐴+∎𝐶+1 )=0
1 : (∎ 𝐴+∎𝐶+1 )=03 : (∎ 𝐴+∎𝐶+1 )=02 : (∎ 𝐴+∎𝐶+1 )=04 : (∎ 𝐴+∎𝐶+1 )=0
1 : (∎ 𝐴+∎𝐶+1 )=04 : (∎ 𝐴+∎𝐶+1 )=02 : (∎ 𝐴+∎𝐶+1 )=03 : (∎ 𝐴+∎𝐶+1 )=0
2 : (∎ 𝐴+∎𝐶+1 )=03 : (∎ 𝐴+∎𝐶+1 )=01 : (∎ 𝐴+∎𝐶+1 )=04 : (∎ 𝐴+∎𝐶+1 )=0
2 : (∎ 𝐴+∎𝐶+1 )=04 : (∎ 𝐴+∎𝐶+1 )=01 : (∎ 𝐴+∎𝐶+1 )=03 : (∎ 𝐴+∎𝐶+1 )=0
3 : (∎ 𝐴+∎𝐶+1 )=04 : (∎ 𝐴+∎𝐶+1 )=01 : (∎ 𝐴+∎𝐶+1 )=02 : (∎ 𝐴+∎𝐶+1 )=0
The dummy system can be solved by solving a sequence of linear systems:
The number of combinations is 4 choose 2 = 6.
There can be no more than 6 solutions to our original system!
Solving for RR ChainsNow that we know the max number of roots to our system is 6. Let’s solve it!
(𝐶−𝐴 ) (𝐶− 𝐴 )=( 𝐴+𝑇 𝑗 (𝑃0 −𝐶 ) −𝑃 𝑗 ) ( 𝐴+𝑇 𝑗 (𝑃0 −𝐶 )−𝑃 𝑗 ) , 𝑗=1 , …, 4
GOAL: Turn this system into a single univariate polynomial in terms of A. We begin solving it by expanding the equations and writing them in this form:
𝑘1 𝑗 𝐴𝐶+𝑘2 𝑗 𝐴+𝑘3 𝑗𝐶+𝑘4 𝑗𝐶+𝑘5 𝑗=0 , 𝑗=1 , …, 4
where
where A is the suppressed variable which is only found inside of the k coefficients Written this way, the system is linear in terms of monomial unknowns
Creating a Resultant Matrix
5 monomial quantities are considered unknowns
For the time being, we are going to pretend each monomial is an independent unknown
Matrix is rank 4
System is underdetermined
Now for the trick: multiply all the equations by C and append them to the system
vector must live in the null space
must have nullity > 0, therefore the determinant must equal 0
A is the only variable suppressed inside here
Building Four-bars from RR ChainsThe determinant of the matrix is a degree 4 univariate polynomial f(A) = 0. Which can be solved by standard approaches e.g. the quartic equation or numpy.roots
So it ends up that the real number of solutions is even less than our estimate of 6, this is because our dummy system used for counting had a more general monomial structure
⟨ 𝐴 𝐴 ,𝐶𝐶 , 𝐴𝐶 , 𝐴𝐶 , 𝐴 ,𝐴 ,𝐶 ,𝐶 , 1 ⟩⟨ 𝐴𝐶 , 𝐴𝐶 , 𝐴 , 𝐴 ,𝐶 ,𝐶 , 1 ⟩Our system: Dummy system:
Once 4 values of are found, back-substitution can find corresponding values for and
Each solution represents an RR chain:
0
1
23
4
0
1
23
42 DOF
Pick 2 RR chains and connect to create a four-bar
Total of 4 choose 2 = 6 four-bars
Another Approach: Four-bar as a Constrained RR chain for Path Generation
Last time we started with 5 task positions
(x0, y0, θ0)
(x1, y1, θ1) (x2, y2, θ2)
(x3, y3, θ3)
(x4, y4, θ4)
Let’s start with a different problem statement
(x0, y0)
(x1, y1)
(x2, y2)
(x3, y3)
(x4, y4)A
C
D
B
Spec
ify 5
poi
nts
You pick an RR chain!
Solve for a 2nd constraining RR chain 2 DOF1 DOF
Inverse Kinematics of an RR chainWrite the loop equations for the known RR chain:
In this case we know dimensions: B and DWe know the end effector position: P = xj + iyj
We want to find joint angle parameters: ψj and θj
(or equivalently Sj=eiψj and Tj=eiθj)
This is inverse kinematics!
The loop equation can be rewritten as
and solved for all Tj using the quadratic equation.
Solutions for a Constrained RR ChainNow let’s model the unknown side of the four-bar linkage:
Since we’ve already solved for Tj in the previous step, these are the exact same synthesis equations of an RR constraint.They can be reduced to a univariate quartic, and will return 4 solutions for .
One of these solutions will be the original RR chain BDP0.
It is possible that a solution will just be numbers that solve the equations and not correspond to physical joint coordinates i.e. or
These type of solutions always occur in pairs. This means of the 4 solutions:• 1 is BDP0, 1 is a physical design, 2 are not physical designs• 1 is BDP0, 3 are physical designs