Applications of Numerical Homotopy Continuation to Mechanism Design - - PowerPoint PPT Presentation

applications of numerical homotopy continuation to
SMART_READER_LITE
LIVE PREVIEW

Applications of Numerical Homotopy Continuation to Mechanism Design - - PowerPoint PPT Presentation

Applications of Numerical Homotopy Continuation to Mechanism Design Mark Plecnik November 13, 2018 Nonlinear Algebra in Applications Motivation Inventing machines through computation Central Design Element Linkages: Planar Spherical


slide-1
SLIDE 1

Applications of Numerical Homotopy Continuation to Mechanism Design

Mark Plecnik November 13, 2018

Nonlinear Algebra in Applications

slide-2
SLIDE 2

Motivation

Inventing machines through computation…

slide-3
SLIDE 3

Central Design Element

Linkages:

Planar Spherical Spatial

Images courtesy UC Irvine Robotics & Automation Laboratory

1 1 2 1 2 3

slide-4
SLIDE 4

Typical Problem Statement

http://www.partsw.com

How to size a linkage?

Trace a plane curve:

One approach: Break curve into discrete points

slide-5
SLIDE 5

A Simplified History

The simplest linkage: A crank… …can go through 3 points Result date: Unknown

slide-6
SLIDE 6

A Simplified History

Crank Four-bar Six-bar

  • No. of Points
  • No. of Mechanisms

3 4,326

Unknown >1,000,000

1 9 15

(first computed in 1992) (first discovered in ?) (not yet known)

slide-7
SLIDE 7

Synthesis Objectives

Function Generation Motion Generation Path Generation

Function generation: set of input angles and output angles; Motion generation: set of positions and orientations of a workpiece; Path generation: set of points along a trajectory in the workpiece.

slide-8
SLIDE 8

Synthesis Procedures

Choose linkage type Specify task Formulate high degree equations Optimization methods Direct solution Human intuition

(A separate design challenge) (More common approach) (Our approach)

Graphical

slide-9
SLIDE 9

Literature Review

[1] B. Roth and F. Freudenstein, 1963. "Synthesis of path-generating mechanisms by numerical methods," J. of Engineering for Industry, 85(3):298-304. [2] A. P. Morgan and A. J. Sommese, 1987. “A homotopy for solving general polynomial systems that respects m-homogeneous structures,” Applied Mathematics and Computation,

  • vol. 24, no. 2, pp. 101–113.

[3] C. W. Wampler, A. J. Sommese, and A. P. Morgan, 1992. "Complete solution of the nine- point path synthesis problem for four-bar linkages," J. of Mech. Des. 114(1):153-159. [4] A. K. Dhingra, J. C. Cheng, and D. Kohli, 1994. "Synthesis of six-link, slider-crank and four- link mechanisms for function, path and motion generation using homotopy with m- homogenization," J. of Mech. Des. 116(4):1122-1131. [5] H.-J. Su, J. M. McCarthy, M. Sosonkina, and L. T. Watson, 2006. “Algorithm 857: POLSYS GLP—a Parallel General Linear Product Homotopy Code for Solving Polynomial Systems of Equations,” ACM Trans. Math. Softw., vol. 32, no. 4, pp. 561–579. [6] J. D. Hauenstein, A. J. Sommese, and C. Wampler, 2011. “Regeneration homotopies for solving systems of polynomials,” Mathematics of Computation, vol. 80, no. 273, pp. 345– 377. [7] D. J. Bates, J. D. Hauenstein, A. J. Sommese and C. W. Wampler, 2013. Numerically Solving Polynomial Systems With Bertini, SIAM Press, Philadelphia, PA, p. 25.

slide-10
SLIDE 10

Function Generator

Coordinate input crank with output crank ϕ ψ

Joint coordinates (unknowns) Rotation operators (extra unknowns)

R = e iρ T = e iθ U = e iμ A B C D F G H

Loop equations (constraints)

               

1 1                     N j F H U B F S B C H R A C Q A D G T B D S B C G R A C Q A

j j j j j j j j

, , , , 

Task (specified)

(0, 0), (ϕ1, ψ1), (ϕ2, ψ2), (ϕ3, ψ3), (ϕ4, ψ4), (ϕ5, ψ5), (ϕ6, ψ6), (ϕ7, ψ7), (ϕ8, ψ8), (ϕ9, ψ9), (ϕ10, ψ10) A B C D F G H ρ θ μ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ ψ A B C D F G H ρ θ μ Q = e iϕ S = e iψ

Stephenson II

slide-11
SLIDE 11

Synthesis Equations

  • Loop equations:
  • Conjugate loop equations:

Stephenson II linkage

  • Rotation operators:
  • Unknowns:

               

1 1                     N j F H U B F S B C H R A C Q A D G T B D S B C G R A C Q A

j j j j j j j j

, , , , 

1 1 1 1 1      N j U U T T R R

j j j j j j

 , , , ,

               

1 1                     N j F H U B F S B C H R A C Q A D G T B D S B C G R A C Q A

j j j j j j j j

, , , ,  1 1   N j U U T T R R G G F F D D C C

j j j j j j

 , , , , , , , , , , , , , , , Synthesis Equations: there are 7(N−1) Unknowns: there are 10+6(N−1) System square for N=11, 70 eqns and unknowns, degree = 1.18×1021

slide-12
SLIDE 12

Algebraic Reduction

       

       ,

, D G T B D S B C G R A C Q A D G T B D S B C G R A C Q A

j j j j j j j j

                 

       

       ,

, F H U B F S B C H R A C Q A F H U B F S B C H R A C Q A

j j j j j j j j

                 

1 

j jT

T 1 

j jU

U ,                       

j j j j j j j j j j

d d c c g g b b a a f f R R d c d c b a b a 1 

j jR

R

             

2 

           

j j j j j j j j j j j j j j j j

d c b a d c b a b b a a f f d c d d c c g g b a b b a a f f d c d d c c g g b a

       

F H g B F S A C Q B A d C H c D G f B D S A C Q B A b C G a

j j j j j j

                    , , , , , These unknowns are eliminated: 1 1   N j U U T T R R

j j j j j j

 , , , , , , , 10 1 , ,  j 10 synthesis equations in 10 unknowns: H H G G F F D D C C , , , , , , , , ,

slide-13
SLIDE 13

Degree of the Synthesis Equations

  • Goal: To find all of the solutions of the synthesis equations
  • Each polynomial is degree 8
  • How many roots?

– Using Bezout’s Theorem: 810 = 1.07×109 – Using a multihomogeneous grouping: 264,241,152

  • Solution method: Polynomial Homotopy Continuation

             

10 1

2

, ,               j d c b a d c b a b b a a f f d c d d c c g g b a b b a a f f d c d d c c g g b a

j j j j j j j j j j j j j j j j

H H G G F F D D C C , , , , , , , , , Synthesis equations: H G F D C H G F D C , , , , , , , , ,

This is the lowest bound we can compute. Uses sparse monomial structure.

slide-14
SLIDE 14

Polynomial Homotopy Continuation

construction homotopy

Constructed to be similar to target system Obtained through combinatoric procedure from start system construction Roots tracked through continuous deformation

  • f the start system

Target roots can be classified many ways, including:

  • Finite roots
  • Infinite roots

Start system Start roots

Goal:

Regeneration homotopy: more sophisticated approach

Target system Target roots

slide-15
SLIDE 15

Types of Solutions

  • Polynomial homotopy attempts to find ALL of the roots of a system,

including:

– Roots at infinity – Finite roots – Nonsingular roots – Singular roots – Target system solved with regeneration homotopy

  • Used the Bertini Homotopy Software
  • 24,822,328 paths tracked
  • 1,521,037 finite, nonsingular solutions found
  • 311 hrs on 256×2.2GHz

This is what we desire. In this example, less than 1% of 264,241,152 roots track to these. The majority of paths track to these. Limited by multihomogeneous homotopy. Discarded quickly by regeneration. Handled efficiently with projective coordinates. Discarded quickly by regeneration.

slide-16
SLIDE 16

Parameter Homotopy

The General Strategy for Solving Families of Polynomial Systems

  • 1. Find all solutions for a numerically general

system by any means possible – Regeneration homotopy – Multihomogeneous homotopy – Non-homotopy methods

  • 2. Use the results from step 1 as start points for a

homotopy that solves a specific system – Avoids endpoints at infinity

Computationally expensive: 311 hours for a single solve Regen tracked 24,822,328 paths Found 1,521,037 solutions Computationally efficient: 2 hours per solve Tracked 1,521,037 paths

Once a complete solution to a system is found, we can find the solutions to similar systems fast!

slide-17
SLIDE 17

Stephenson III Function Generation

  • Stephenson III function generation

– Degree: 55,050,240 for 11 positions – Size of general solution set: 834,441 – Initial computation: 40 hrs on 512×2.6GHz (multihomogeneous homotopy) – Proceeding computations: 50 min on 64×2.2GHz (parameter homotopy)

  • Design of torque cancelling linkages

– By placing a linear torsion spring on one end, a function generator can be synthesized to create a specified torque or stiffness profile

slide-18
SLIDE 18

Stroke Rehabilitation Application

  • Applications for torque cancelling include stroke

rehabilitaion

From measurements in stroke survivors’ wrists

slide-19
SLIDE 19

Results

19

Biomimetic Wing Motion – Joint Angles of the Black-billed magpie Biomimetic Human Walking Gait – Planar Joint Angles

  • f Hip, Knee, and Ankle
slide-20
SLIDE 20

Constrained RR Method

  • 1. Begin by specifying an

RR chain

  • 2. Select a set of 11 points to

move the RR chain through

  • 3. Inverse kinematics

gives a coordinated joint angle function

(νj, ζj), j=0,…,10

  • 4. Solve for 11 point

Stephenson II function generators

  • 5. Attach function

generators to the RR chain

ζ ν ψ'

−ϕ'

ψ' ϕ' Pj

Linkages still need to be verified The resulting six-bar traces through the 11 points Path generation is inverted to function generation

slide-21
SLIDE 21

Example

j x y −5.160 −83.957 1 8.346 −84.026 2 21.993 −83.632 3 32.259 −82.128 4 33.018 −79.911 5 16.497 −73.889 6 −6.363 −62.120 7 −28.276 −74.865 8 −33.406 −80.964 9 −27.733 −83.440 10 −17.440 −84.032

slide-22
SLIDE 22

Stephenson Path Generators

  • Goal: Find dimensions of Stephenson

linkages so that they move a trace point through 11 points

  • Formulated as the synthesis of an RR chain

constrain by a Stephenson function generator

Dissertation Defense

SI SII SII SIII

  • Solve inverse kinematics of RR chain to find joint angles
  • Solve for function generators that constrain those joint angles

SIII Func to SI Path SIII Func to SII Path SII Func to SII Path SII Func to SIII Path

slide-23
SLIDE 23

Design Exploration

slide-24
SLIDE 24

Exploration of other gaits

SI SII SII SIII

slide-25
SLIDE 25

Prototyping a robot

  • A leg design was selected and

manufactured as a flexure linkage

  • Lasercut polypropylene, each

leg ¼” x ¼”

  • Robot length 30 cm

Pantograph linkages replaces belts

slide-26
SLIDE 26

The Design Approach

Design exploration Kinematic tuning Required behaviors Final design

Required Behaviors

  • 1. Traces a straight line
  • 2. Long stroke
  • 3. Input pivot near line-of-action
  • 4. Compact dimensions
  • 5. Input link rotates over large range
  • 6. Low mech. adv. at top of stroke
  • 7. Constant ground reaction force
  • 8. Angular momentum balanced
slide-27
SLIDE 27

The Design Approach

Design Exploration Kinematic tuning Required behaviors Final design

slide-28
SLIDE 28

The Design Approach

Design exploration Kinematic tuning Required behaviors Final design

V II III IV I VI VII VIII

slide-29
SLIDE 29

The Design Approach

Design exploration Kinematic tuning Required behaviors Final design

Key design phase

slide-30
SLIDE 30

A Simplified History

Crank Four-bar Six-bar

  • No. of Points
  • No. of Mechanisms

3 4,326

Unknown >1,000,000

1 9 15

(first computed in 1992) (first discovered in ?) (not yet known)

slide-31
SLIDE 31

Stephenson II Timed Curve

P0 P1 P2 P3 P4 P5 P6 P7 ϕ P (0, P0), (ϕ1, P1), (ϕ2, P2), (ϕ3, P3), (ϕ4, P4), (ϕ5, P5), (ϕ6, P6), (ϕ7, P7)

Task

Coordinate input crank with output point P0 P1 P2 P3 P4 P5 P6 P7 ϕ ϕ ϕ ϕ ϕ ϕ ϕ ϕ

slide-32
SLIDE 32

Stephenson II Timed Curve

𝐵 + 𝑅𝑘 𝐷 − 𝐵 + 𝑆

𝑘 𝐼 − 𝐷 + 𝑉 𝑘 𝑄0 − 𝐼 = 𝑄 𝑘

𝐶 + 𝑇

𝑘 𝐺 − 𝐶 + 𝑉 𝑘 𝑄0 − 𝐺 = 𝑄 𝑘

𝐵 + 𝑅𝑘 𝐷 − 𝐵 + 𝑆

𝑘 𝐻 − 𝐷 − 𝐶 − 𝑇 𝑘 𝐸 − 𝐶 − 𝑈 𝑘 𝐻 − 𝐸 = 0

Joint coordinates Rotation operators

Q = e iϕ R = e iρ S = e iψ T = e iθ U = e iμ

Loop equations

P0 A B C D F G H P1 P2 P3 P4 P5 P6 P7 ϕ ρ μ ψ θ A B C D F G H ϕ ρ ψ θ μ

slide-33
SLIDE 33

Stephenson II Timed Curve

𝐵 + 𝑅𝑘 𝐷 − 𝐵 + 𝑆

𝑘 𝐼 − 𝐷 + 𝑉 𝑘 𝑄0 − 𝐼 = 𝑄 𝑘

𝐶 + 𝑇

𝑘 𝐺 − 𝐶 + 𝑉 𝑘 𝑄0 − 𝐺 = 𝑄 𝑘

𝐵 + 𝑅𝑘 𝐷 − 𝐵 + 𝑆

𝑘 𝐻 − 𝐷 − 𝐶 − 𝑇 𝑘 𝐸 − 𝐶 − 𝑈 𝑘 𝐻 − 𝐸 = 0

Loop equations

𝐵 + 𝑅 𝑘 𝐷 − 𝐵 + 𝑆 𝑘 𝐼 − 𝐷 + 𝑉

𝑘 𝑄

0 − 𝐼 = 𝑄

𝑘

𝐶 + 𝑇

𝑘 𝐺

− 𝐶 + 𝑉

𝑘 𝑄

0 − 𝐺 = 𝑄

𝑘

𝐵 + 𝑅 𝑘 𝐷 − 𝐵 + 𝑆 𝑘 𝐻 − 𝐷 − 𝐶 − 𝑇

𝑘 𝐸

− 𝐶 − 𝑈

𝑘 𝐻 − 𝐸

= 0 𝑏 = 𝐵𝐼 𝑐 = 𝐶𝐺 𝑑 = (𝐷 − 𝐵)𝐼 𝑒 = 𝐸 − 𝐶 𝐺 − 𝐶 𝑕 = 𝐻 − 𝐷 𝐼 − 𝐷 𝑙 = 𝑕 𝑄0 − 𝐼 − 𝑒(𝑄0 − 𝐺) 𝑆

𝑘𝑆

𝑘 = 1 𝑇

𝑘𝑇 𝑘 = 1

𝑈

𝑘𝑈 𝑘 = 1

𝑉

𝑘𝑉 𝑘 = 1

Extra substitutions Unit rotations

Several substitutions

slide-34
SLIDE 34

Stephenson II Timed Curve

𝛾𝑘 + 𝛾 𝑘 − 𝑄

𝑘𝑄 𝑘 − 𝑄 𝑘𝑄 𝑘 = 0

𝑉

𝑘𝑙𝜂 𝑘 + 𝑉 𝑘𝑙

𝜂𝑘 − 𝜂𝑘𝜂

𝑘 − 𝑙𝑙

+ 𝑕 𝐼 − 𝐷 + 𝐷 − 𝑒 𝐺 − 𝐶 − 𝐶 𝑕 𝐼 − 𝐷 + 𝐷 − 𝑒 𝐺 − 𝐶 − 𝐶 = 0 𝜊𝑘 + 𝜊 𝑘 − 𝑄

𝑘𝑄 𝑘 − 𝑄 𝑘𝑄 𝑘 = 0

𝑏 − 𝐵𝐼 = 0 𝑐 − 𝐶𝐺 = 0 𝑑 − 𝐷 − 𝐵 𝐼 = 0 𝑙 − 𝑕 𝑄0 − 𝐼 + 𝑒 𝑄0 − 𝐺 = 0 𝛾𝑘 = 𝑉

𝑘 𝑄0 𝑄 𝑘 − 𝐵 − 𝑅

𝑘 𝐷 − 𝐵 − 𝑄

𝑘𝐼 + 𝑏

+ 𝑅 𝑘𝑑 + 𝜊𝑘 = 𝑉

𝑘 𝑄0 𝑄 𝑘 − 𝐶

− 𝑄

𝑘𝐺 + 𝑐

+ 𝑄

𝑘𝐶

+ 𝑄0𝐺 − 𝑐 𝜂𝑘 = 𝐵 − 𝐶 + 𝑅𝑘 𝐷 − 𝐵 + 𝑕 𝑄

𝑘 − 𝐵 − 𝑅𝑘 𝐷 − 𝐵

− 𝑒(𝑄

𝑘 − 𝐶)

𝑅𝑘 𝐷 − 𝐵 𝑄

𝑘 − 𝐵 + 𝐵 𝑄 𝑘 − 𝐷 − 𝐵 + 𝐼 𝑄

0 − 𝐷 𝑏 − 𝐵 𝐼 = 0 𝑐 − 𝐶 𝐺 = 0 𝑑 − 𝐷 − 𝐵 𝐼 = 0 𝑙 − 𝑕 𝑄 0 − 𝐼 + 𝑒 𝑄 0 − 𝐺 = 0 𝑘 = 1, … , 7 𝑘 = 1, … , 7 𝑘 = 1, … , 7

Intermediate expressions Synthesis Equations

𝑉

𝑘𝑉 𝑘 − 1 = 0

𝑘 = 1, … , 7

Spoiler Alert! Approx 1,500,000 finite roots

𝑉

𝑘, 𝑉 𝑘 𝑘 = 1, . . , 7

{𝐵 , 𝐶 , 𝐷 , 𝐺 , 𝐼 , 𝑏 , 𝑐 , 𝑑 , 𝑒 , 𝑕 , 𝑙 } 𝐵, 𝐶, 𝐷, 𝐺, 𝐼, 𝑏, 𝑐, 𝑑, 𝑒, 𝑕, 𝑙

Variables total degree = 27×27×47×28×27 = 8,796,093,022,208

slide-35
SLIDE 35

Why the discrepancy?

8,796,093,022,208 1,500,000

slide-36
SLIDE 36

Sparse System

c1x 3 + c2xy + c3y + 1 = 0

Target system

c4x 3 + c5xy + c6y + 1 = 0 (a1x + a2y + 1)(a3x + a4y + 1)(a5x + a6y + 1) = 0 (a7x + a8y + 1)(a9x + a10y + 1)(a11x + a12y + 1) = 0

Start system

{x 3, xy, y, 1} {x 3, y 3, x 2y, xy 2, x 2, y 2, xy, x, y, 1} ** a & c coefficients are generic complex numbers Monomials: Monomials: b1x 3 + b2y 3 + b3x 2y + b4xy 2 + b5x 2 + b6y 2 + b7xy + b8x + b9y + 1 = 0 b10x 3 + b11y 3 + b12x 2y + b13xy 2 + b14x 2 + b15y 2 + b16xy + b17x + b18y + 1 = 0 Expanded form: Start Target b1 b2 b3 b4 b5 b6 b7 b8 b9 c1 c2 c3

  • No. of roots: 9
  • No. of roots: 4

Homotopy

slide-37
SLIDE 37

Sparse System

c1x 3 + c2xy + c3y + 1 = 0

Target system

c4x 3 + c5xy + c6y + 1 = 0 (a1x + a2y + 1)(a3x + a4y + 1)(a5x + a6y + 1) = 0 (a7x + a8y + 1)(a9x + a10y + 1)(a11x + a12y + 1) = 0

Start system

{x 3, xy, y, 1} {x 3, y 3, x 2y, xy 2, x 2, y 2, xy, x, y, 1} Monomials: Monomials:

  • No. of roots: 9
  • No. of roots: 4

A start system with monomials that match the target would be nice! Recall Stephenson II example…

Target system Start system

  • No. of roots: 8,796,093,022,208
  • No. of roots: 1,500,000
slide-38
SLIDE 38

Random Startpoints

A randomly generated mechanism… Its movement: Construct a start system with exactly the right monomials Its dimensions: Provide a single solution to start system A B C D F G H A B C D F G H Loop equations

slide-39
SLIDE 39

Random Startpoints

Start system Startpoint Start system Startpoint Start system Startpoint Start system Startpoint Start system Startpoint Start system Startpoint Start system Startpoint Start system Startpoint Target System

slide-40
SLIDE 40

Goal

Finite Root Generation

Begin Generate random mechanism Start root Randomly select

  • mech. configs. as

tasks positions Start system Parameter homotopy One root

  • f target

system Have sufficient roots been collected? Has root been collected? End Discard Add Yes No Yes No Target system Target roots

slide-41
SLIDE 41

Collecting Coupons

  • The process of accumulating roots through FRG is analogous to randomly

picking coupons out of a box.

Red Orange Yellow Green Blue Violet How many picks until all coupons have been collected once?

  • There are 6

unique different colored coupons in the box Probability of picking a new color:

50%

15 ± 6.2

Expected no.

  • f picks

Standard deviation

slide-42
SLIDE 42

FRG Root Collection

Expected no. of trials to

  • btain n of N roots

𝑈

𝑜 = 𝑂 𝐼𝑂 − 𝐼𝑂−𝑜

Harmonic numbers 𝐼𝑂 = 1 𝑙

𝑂 𝑙=1

31% 69% 100% 95%

Trials Roots obtained

slide-43
SLIDE 43

FRG Estimation

𝑈

𝑜 = 𝑂 𝐼𝑂 − 𝐼𝑂−𝑜

𝑈

𝑜 ≈ 𝑂 ln

𝑂 𝑂 − 𝑜 𝛽 = 𝑜 𝑈

𝑜

𝑜 = 𝑜 𝑂

Expected no. of trials Total no. of roots

Approximate coupon collector model Coupon collector model Estimation equation

Percentage of roots collected New root success rate

𝛽 = − 𝑜 ln 1 − 𝑜 𝛽 𝑜

Percentage of roots collected New root success rate

slide-44
SLIDE 44

Stephenson II Timed Curve

P0 P1 P2 P3 P4 P5 P6 P7 ϕ

1,600,000 1,200,000 800,000 400,000 ×106 0.5 1.0 1.5 2.0 2.5 3.0 3.5

Roots collected*

  • No. of trials

Found 1,529,788 roots Computation lasted 24 hours Over 3,563,520 trials Estimated to find 99% of all finite roots

Using a laptop GPU

Percentage of roots collected New root success rate

Kinematic synthesis equations solved for the first time

*Cognate structure reduced tracking requirements 50%

slide-45
SLIDE 45

Running robot Flat terrain Typical motion

Application

slide-46
SLIDE 46

Complex terrain Longer flight phase Greater strides would be useful

Application

slide-47
SLIDE 47

Design requirements for running:

Leg stroke

  • Mech. adv.

Energy storage region

High power mode Low power mode

  • Cyclic motion
  • Special mechanical advantage that pairs with an external spring
  • Extra feature: Mech. adv. adjustability

Foot point

Energy storage region Energy released

slide-48
SLIDE 48
slide-49
SLIDE 49

Design Work Performed With This Result

Running robot Flat terrain Typical motion Complex terrain Longer flight phase

slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52

Wrap Up

  • Homotopy solvers (Bertini) allow design space exploration for mechanisms
  • Stochastically generating startpoints with certain properties can save a lot
  • n computation
  • Finite Root Generation scales approximately linearly by the actual number
  • f finite roots

(essentially exploiting sparse monomial structures)

  • Many six-bar design problems still unsolved

(but they are being zeroed in on)

slide-53
SLIDE 53

Thank you!