# How to Draw a Straight Line Using a GP

Μηχανική

31 Οκτ 2013 (πριν από 5 χρόνια και 3 μήνες)

119 εμφανίσεις

How to Draw a Straight Line
Using a GP

Benchmarking Evolutionary Design Against
19th Century Kinematic Synthesis

Hod Lipson

Computational Synthesis Lab

Mechanical & Aerospace Engineering and Computing & Information Science,
Cornell University

Kinematic Synthesis is a Challenge

Kinematics
: Science of pure motion

Concerned with geometric displacement of connected rigid links
without regard to forces or physical embodiment

Kinematic analysis
: Predict motions of given mechanism

Well understood

Kinematic Synthesis
: Assemble of a mechanism that
achieves a prespecified motion

Poorly understood

Analytical methods
: exist for some special cases
(Chebychev)

Evolutionary Methods
: Primarily in robotics

Only tree
-
structures
(Sims 1994, Komosinski 2000, Hornby & Lipson, 2002)

Compound mechanisms (kinematic loops)
(Lipson & Pollack, 2000)

Background: Long standing problem

“[A rational approach to synthesis is needed] to obtain, by direct and certain
methods, all the forms and arrangements that are applicable to the desired
purpose. At present, questions of this kind can only be solved by that
species of intuition that which long familiarity with the subject usually
confers upon experienced persons, but which they are totally unable to
communicate to others. When the mind of a mechanician is occupied with
the contrivance of a machine, he must wait until, in the midst of his
meditations, some happy combination presents itself to his mind which

Robert Willis, The Principles of Mechanism, 1841

One of the first synthesis challenges to be posed:

Background: Degrees of Freedom

Degrees of freedom (DoF)

Number of independent parameters needed to describe
the state of a mechanism

For 2D Structure, DoF =
2n
-
m
-
3

n
=nodes
m
3
=rigid body DoF removed by ground

Not applicable under singularities and degeneracies

1=curve

2=area

N/A (overconstrained)

Mechanism Representation

A mechanism could be represented as a graph

Many graph encodings

(Luke & Spector, 1996)

Cellular encoding (Gruau, 1994)

Parse trees

L
-
Systems

Suitable for computational networks
, not mechanical
networks

Highly connected graphs

Vanishingly small number of them have one DoF

Need a representation suitable mechanisms

Retains DoF across variation

Tree
-
based (hierarchical, for GP)

Evolvable (less coupled, effective crossover)

Background: Top
-
down and Bottom
-
up
Tree Encodings

Top down
: Embryo +
variation operators. E.g.
Circuit

Bottom up
: Composition of
terminals, e.g. Symbolic
expression

Top down encoding of a
mechanism

of DoF, e.g. a four
-
bar
mechanism (1 DoF)

Two variation operators
maintain DoF

Example: A tree that constructs
this 1
-
DoF compound mechanism

Operators provably DoF invariant

Bottom
-
up encoding of a 1
-
DoF
mechanism

Operators provably DoF invariant

1
-
DoF terminals

Join substructures hierarchically at
exactly two nodes (maintains DoF)

Example: A tree that constructs
this 1
-
DoF compound mechanism

Intermediate Conclusions

Proposed two new DoF
-
invariant
representations for kinematic mechanisms

top
-
down and bottom
-
up tree encodings

But wait, there’s more…

A hard test problem

The straight line problem

Devise a mechanism that traces a straight line without a
reference to an existing straight line

Human
-
competitive problem

Of great practical importance in the 18
th

and 19
th

century.

has baffled the world’s greatest kinematic inventors for a
century, many solutions put forward.

Now forgotten

The Straight Line Problem

It is easy to think of a mechanism that traces an exact
circle without having a circle built in: A

compass
.

Can you think of a linkage mechanism that will trace a
straight line without reference to an existing straight line?

?

The Straight Line Problem

It is easy to think of a mechanism that traces an exact
circle without having a circle built in: A

compass
.

One solution: The Peaucellier (1873)

The straightness of the links themselves does not matter

The Straight
-
Line problem

Needed to guide the piston of the steam
engine.

The

breakthrough that made steam engines a
success

(b)

James Watt’s original patents used racks and
sectors, and many other cumbersome solutions

Watt’s first straight line
mechanism (1784)

“Though I am not over anxious
after fame, yet I am more proud of
the parallel motion than of any
other mechanical invention I have

James Watt, cf. 1810
[15]

More established solutions

Peaucelier

(1873)

Silverster
-
Kempe’s

(1877)

Robert

(1841)

Chebyshev

(1867)

Chebyshev
-
Evans

(1907)

Chebyshev

(1867)

Source: Kempe A.
B., (1877),
How To
Draw A Straight
Line
, London

See

http://kmoddl.library.cornell.edu

Considered fundamental technology

Cornell University acquired in 1882 about 40 straight
-
line mechanism models and used them in the early
engineering curriculum.

See videos at

Cornell University Digital Library of Kinematic Models

http://kmoddl.library.cornell.edu

Background: Kinematic simulation

Propagate motion using relaxation of

motion

Good: Simple, accurate and robust,
handles singularities well

masses); slow

Background: Comparing Mechanisms

Comparison of mechanisms can be difficult

Equivalent mechanisms may appear very different

Masked by excess and redundant topology

Two transformations allow moving in “neutral
pathways” of mechanisms

Rigid diagonal swap

Evolving Straight line mechanisms

Used GP with Top
-
down tree encoding
and 2
-
bar or 4
-
bar embryo

Population size: 100

Crossover 90%

Mutation 10%
(Node positions, Operator types)

Selection: SUS

Fitness: Straightness

Aspect ratio of tight

bounding box of

node traces

Evolving Straight line mechanisms

Some results

Linearity 1:4979

Some results

Linearity 1:5300

Published: Kempe A. B., (1877),
How To Draw A Straight Line
, London

Some results

Linearity 1:12819

Some results

Linearity 1:28340

Many more solutions were produced

Conclusions

Open
-
ended Kinematics synthesis

Long standing problem

Many applications, e.g. Robotics

Proposed two new representations for kinematic mechanisms

Top
-
down and bottom
-
up tree encodings

DoF
-
invariant operators

Neutral
-
pathway operators

Benchmarked against human
-
competitive problem

Extensive documentation for a century of attempts

Results infringe and outperform known solutions

Next Step

Improve search process, and

Apply to contemporary challenges

(multi DoF robotics)