RIT Scholar Works
Theses
Thesis/Dissertation Collections
7-24-1986
Linkage kinematics sketchpad
Michael St. Jacques
Follow this and additional works at:
http://scholarworks.rit.edu/theses
This Thesis is brought to you for free and open access by the Thesis/Dissertation Collections at RIT Scholar Works. It has been accepted for inclusion
in Theses by an authorized administrator of RIT Scholar Works. For more information, please contact
Recommended Citation
Rochester Institute of Technology
School of Computer Science
&
Technology
Linkage Kinematics Sketchpad
by
Michael St.Jacques
A thesis, submitted to
the Faculty of the School of Computer Science and Technology,
in partial fulfillment of the requirements for the degree of
Master of Science in Computer Science.
Approved by:
_§,,~)'~~~_ ~_~~~
_______________
t:
~
~
ProTessor Guy Johnson, Chairman
j(~;a~e
_~_~~~_~~!~i_~~~_~~~!~
________
0~Ui
Professor Jack Hollingsworth
Date
John L. Ellis
Professor-John-I~-ETTTs---Date
During
the
design
and creation oflinkage-type
mechanisms,
visualization oflinkage
motionis
extremely
important.
However,
there
does
not appearto
be
acommercially
available computer package
for
accomplishing
visualizationinteractively.
Most
linkage
design
packages allow animation oflinkage
motiononly
aftertedious
partdescription
(and
debug)
using
crypticinput
codes.The
mainthrust
ofthis
workhas
been
the
development
of a prototypeinteractive
graphics(CAD)
system aimedat
visualizing
the
motion andmobility
oflinkage-type
mechanisms.The
programis
calledthe
Linkage
Kinematics
Sketchpad
(LKSP).
It
is
a2-D
color graphics program which allowsthe
userto
describe
alimited
set oflinkages
(limited
by
a simplifiedkinematics
analysisprocedure)
andinteractively
drive
the
linkage
through
its
inherent
motion cycle(or
partsthereof)
to
visual
i
ze mobi1 i
ty
.First,
atheoretical
investigation
of previous workin
motion analysis anddisplay
of animationis
presented.This
is
followed
by
adescription
ofthe
LKSP
program and an evaluation ofthe
software
by
this
author and others morefamiliar
withlinkage
design.
The
systemdesign
appearsto
be
adequate,
andthe
software
is
correct withlinkage
motions as required.As
a result ofthis
workthe
usefulness ofthis
approachhas
been
determined,
and a reasonablemethodology
has
been
established.
Also,
problem areashave
been
defined,
and
potentially
fruitful
areasfor
future
workhave
been
identified.
LKSP
offers a unique approachto
planarlinkage
design
withthe
mostdesirable
features
being
the
interactive
user-computerinterface,
the
ability
to
createlinkages
withease, and
the
ability
to
observelinkage
motion and potentiali
nterf erence .The
mostcommonly
citedshortcoming
wasthe
limited
set oflinkage
components whichLKSP
canhandle.
Also,
there
were some aspects ofthe
motion animation which wereimproved
as a result ofthe
user evaluations.Suggestions
for
future
extensions
include
more user control overthe
motion animationKey
Words
andPhrases
Linkage
Kinematics
Computer
Graphics
Li
nkageAnalysis
Li
nkageDesign
Linkage
Synthesis
Mechani
smsPlanar
Li
nkagesComputer-aided-design,
CAD
Acknowl
edgementsThere
armany
tha
preparat and an
i
mthanks
t
1
i teratu
Erdr i
ch andthe
to
Bruce
to
Mark
the
LKSP
read
i ng
review cProf
essoStudies
this
wormany
"the
Mary
many
tha
bea
Lyn
lat
e man nkst
ion
o ation oRay
re se andS
1
oanSchw
Erdri
soft and c ommit
rJac
Commi
k
, annks
t
uty
p
ne
f
o esup
y
wh oBe
f
th
whi
Cur
arch usan of a ager ch , ware areftee
k
Ho
ttee
d
gu omy
art" rhe
pers ohel
rni e e vid
chI
tin
f
.In
Lind
numb andSusan
.Spe
ul re atR.
1 1
i ng
andi
d i ng
f
ri e.
Fin
r con ped maMc
Cab
eotap
usedd
or con addi t i
er
for
er ofRay
De
Li
nde ci alt
view.
I.T.,
sworthProf
esi t
to
nd
Fra
ally,
t
i
nualke
th
e
for
eill
ur
i ng
duct i
on,
g
much val ua nni s r andhanks
Al
so,Prof
e ,Pro
sorJ
a
f
r nkPa
grate enco
1 s wo val u ustra
my
d
ng
th
ratefhel p
bier
for
h
Bruc
to
J
Many
ssorf
esso ames uitf
u chl aful
t
urage rk po abl eting
ef ens e ext ulth
with ef ere elp
w eSch
oAnnethan
Guy
J
rJoh
Carbi
1
confor
ahanks
ment ,ss
i
b
assi
link
e.A
ensi
ankslin
ncesith
wageWeb
ks
t
ohns nL.
n
f
o cl us1 way
to
prole.
Fi
stance age cr1
so, mve on
-to
Ma
kage
k
.
Al
soVMS
an rfor
erfor
o
my
g
on,Ch
Ellis
r revi
ion.
I
s po
i
nmy
1
ov of rearst,
i
n eati
onany
line
rk
i
nemati
cs,
thanks
d
againevaluating
proof raduate ai rman ,
,
Graduate
ewing
page
1.
Introduction
andBackground.
1
1.1
Problem
Statement.
1
1
.2
Previ
ousWork
.2
1
.2
.1
Mechani
smEngineering,
Background.
2
1.2.2
Linkage
Design
Process.
3
1.2.3
Literature
Search,
Strategy.
1.2.4
Summary
ofPrevious
Work.
8
1.3
Theoretical
andConceptual
Development.
14
Project
Description.
2.1
Functional
Description.
2.1.1
Functions
Performed.
2.1.2
Limitations
andRestrictions
2.1.3
User
Inputs
andOutputs.
2.1.4
System
Files.
2.2
System
Description.
2.2.1
System
Organization.
2.2.2
System
Data
Flow.
2.2.3
Equipment
Configuration.
2.2.4
Implementation
Tools.
33
33
34
35
37
50
55
55
61
51
74
3.
Evaluation
ofLKSP,
Conclusions
andRecommendations.
75
3.1
User/computer
Interface.
3.2
Usefulness
ofUnique
Features.
3.3
Operating
Efficiency.
3
.4
The
Hardware
Used
.3.5
Suggestions
for
Future
Extensions
76
76
87
87
88
4
.Bi
bl i
ography
Append
ices.
89
Appendi
xAppendi
xAppendi
xAppendix
I
II
III
IV
Gl
ossary
.Listing,
Main
Listing,
Prep
Device
Driver
Core
Graphi
csProgram
.Modul
e . andFigures.
Figure
1
1
Figure
1-2
Figure
1
3
Figure
1-4
Figure
1
5
Figure
1-6
Figure
1
7
Figure
1-8
Figure
1-9
Figure
1
10
Figure
2-1
Figure
2-2
Fi
gure2-3
Figure
2-4
Figure
2-5
Figure
2-6
Figure
2
7
Figure
2-8
page
Examples
ofLooped
and Non-1
oopedLi
nkages .Proposed
Linkage
Components,
Drivers
andNon-drivers.
Example
Linkages.
Rotat i ng Driver.
Translating
Driver.
Dyad-1
.Dyad-2.
Rotat i ng Guide.
Oscillating
SI ider
.SI
ider.
Linkages
Which
Cannot
Be
Described
Within
LKSP.
Screen
Layout.
Menu
Layout.
LKSP
Components,
Rotating
Driver,
and
Two
Simpl
eDyads
.LKSP
Components,
Rotating Driver,
Osci
1 1
ati
ng-Slider
,Dyad-2
andDyad-1
LKSP
Components,
Rotating Driver,
Rotating
Guide,
Slider
andDyad-1.
Rotati ng Dri
ver withAl
1
LKSP
Components
.Rotating
Driver
withDyad-1,
i
nMot
ion,
No
Trace
.Figure
2-10
Figure
2-11
Figure
2-12
Figure
2-13
Figure
2-14
Figure
2-15
Figure
2-16
Figure
2-17
Figure
2-18
Figure
3-1
Figure
3-2
Figure
3-3
Figure
3-4
Figure
3-5
in
Motion,
Trace
"on",
2
I
-panels.47
Rotating
Driver
withDyad-2,
in
Motion,
Trace
"on".
48
Rotating
Driver
withDyad-2
andOscillating
Slider,
in
Motion,
Trace
"on",
Linkage
Binding.
49
Translating
Driver
withDyad-1,
in
Motion,
Trace
"on",
2
I-panels.
51
Translating
Driver
withRotating
Guide
in
Motion,
Trace
"on",
2
I-panels.
52
System
Files
Hierarchy.
53
System
Files
Structure.
54
System
Module
Hierarchy.
71
System
Data
Flow,
Top
Level.
72
Equipment
Configuration.
73
Rotating
Driver
withRotating
Guide,
in
Motion,
1
Degree
Rotation
Increment,
Trace
"on".
78
Translating
Driver
withDyad-2,
in
Motion,
Trace
"on".
79
Rotating
Driver
withSlider
(
Crank-Slider
),
in
Motion,
Trace
"on",
Only
Tracer
Path
Displayed.
80
Rotating
Driver
withDyad-2,
in
Motion,
Trace
"on",
Only
Tracer
Path
Di
spl ayed .81
Rotating
Driver
withRotating
Guide,
in
Motion,
Trace
"on",
Only
Tracer
Figure
3-6
Figure
3-7
Figure
3-8
Rotating
Driver
withOscillating
Slider
andRotating
Guide,
in
Motion,
Trace
"on",
Only
Tracer
Path
Displayed.
Rotating
Driver
withDyad-1,
in
Motion,
Trace
"on",
Mode
ofAssembly
Reverses.
Rotating
Driver
withDyad-2,
in
Motion,
Trace
"on",
Only
Tracer
Path
Displayed,
Li
nkageBinding.
84
85
86
Tabl
es . pageTable
1
1
Table
1-2
Table
1-3
Table
1-4
Table
1-5
Table
1-6
Table
1
7
Table
1-8
Trigonometric
Functions
andCoordinate
Transforms
Used
in
Kinematics
Algorithms.
Rotating
Driver
Algorithms.
Translating
Driver
Algorithms
Dyad-1
Algorithms.
Dyad-2
Al
gorithms
.Rotating
Guide
Algorithms.
Oscillating
Slider
Algorithms
SI i der
Al
gorithms
.18
20
22
24
26
28
30
32
Table
2-1
Table
2-2
Procedures
Accessed
by
Main
Software
Module
in
LKSP.
Procedures
Accessed
by
Prep
56
Table
2-4
Table
2
5
Table
2-6
Table
2-7
Table
2-8
Table
2-9
Table
2-10
Table
2-11
Table
2-12
Table
2
13
Table
2-14
makeMenu
Software
Module.
58
Procedures
Accessed
by
DisplayMenu
Software
Module.
59
Procedures
Accessed
by
makeAccMenu
Software
Module.
60
Miscellaneous
Software
Modules.
62
Miscellaneous
Software
Modules,
Cont i
nued.63
Function
ofthe
"do"Software
Modules.
64
Procedures
Accessed
by
"do"Routines,
Di
spl ayAccMenuModules.
65
Procedures
Accessed
by
"do"Routines,
"get"Modules.
66
Procedures
Accessed
by
"do"Routines,
Support
Procedures,
Part
1.
67
Procedures
Accessed
by
"do"Routines,
Support
Procedures,
Part
2.
68
Procedures
Accessed
by
"do"Routines,
Support
Procedures,
Part
3.
69
In
this
section,
asummary
of relevantbackground
onmechanisms
engineering
(1.2.1)
andthe
linkage
design
process(1.2.2)
is
offered.A
view ofthe
completelinkage
design
processis
presentedin
orderto
create an appreciation ofhow
and where motion visualizationis
usefulto
the
linkage
designer.
Next,
the
strategy
usedfor
a comprehensivelibrary
search(1.2.3)
andthe
results ofthe
search relativeto
analysis as well as graphics and animation(1.2.4)
is
presented.Kinematic
analysisis
discussed
in
detail
because
it
forms
the
topological
basis
for
the
final
selection of mechanismtypes
usedin
the
project.1.2.1
Mechanism
Engineering,
Background
The
following
commonly
accepteddefinitions
are offeredto
orient readers unfamiliar with pertinentengineering
jargon.
These
definitions
are also summarizedin
the
glossary
ofSection
1.4.
The
term
"mechanism" wasdefined
in
1875
by
Reuleaux
(1)* as"a
combination of rigid or resistantbodies
soformed
and connectedthat
they
move upon each other withdefinite
relative motion."Since
the
publication ofReuleaux's
classictheoretical
treatise
onkinematics
ofmachinery,
this
definition
has
remainedessentially
unchanged.The
purpose of a mechanismis
to
transmit
motionfrom
onebody
to
another.A
"machine"is
comprised of one or more mechanismstypically
configuredto
worktogether
to
perform some overall machine
function(s).
Mechan
i
smstypes
(2)
are
frequently
categorizedinto
three
basic
1.
gearsystems,
or geartrains
in
which meshed gearsare
the
primary
motiontransmitters
andthe
motionis
rotary
.2.
camsystems,
consisting
of cams andfollowers,
in
whichthe
rotational motion ofthe
camis
transformed
into
translation
ofthe
follower.
*
Numbers
in
parentheses areliterature
references
in
3.
linkages,
consisting
of "links" orbodies
(usually,
but
not always assumedto
be
rigid)
connectedtogether,
in
whichthe
motion of onebody
(or
morethan
one)
influences
the
motion ofthe
othersin
somedesired
fashion
(e.g.
seeFigure
1
1).
Each
ofthe
above mechanismtypes
represents afairly
extensive subset with
highly
specializeddesign
andanalysis
techniques.
Only
linkages
are consideredfurther
in
this
work.In
fact
only
a small(but
very
useful)
subset of
linkages
is
included,
namely
"planar"linkages
in
which all motionis
planar orin
parallel planes(i.e.
2-D)
as opposedto
spatial(i.e.
3-D)
linkages.
Another
linkage
categorization consists of whether or notthe
"chain"of connected rigid
bodies
forms
aloop
(see
Figure
1
1).
Looped
mechanisms were oncethe
most commontype
(e.g.
the
slider-crank or"crank
shaft"
in
an auto engine).
The
advent of nonlooped mechanismsis
certainly
apparentin
the
form
of robotic manipulatorsand servo-driven
disk
heads.
1.2.2
Linkage
Design
Process
The
linkage
design
processgenerally
consists ofthe
f
ol1
owing
steps1.
Identification
ofdesign
objectives.2
.Pre!
imi nary
ideas
.3.
Refinement.
4
.Analysis.
5
.Deci
si on .6
.Impl
ementati on .Identification
ofdesign
objectives(step
1)
is
related
to
linkage
motion andto
the
forces
producing
(or
producedby)
motion.Often,
these
canbe
handled
analytically.Design
objectives ofthis
type
aregenerally
categorized(3)
into
a.
Kinematics
(i.e.
relatedto
linkage
motion),
1)
Guidance
of a rigidbody
(e.g.
abucket
1
oader)
,2)
Path
generation(e.g.
asewing
machineneedle),
3)
Function
generation\
/
Basic
4-Bar
Li
nkageOffset
Slider
Crank
Crank
,Rotati ng Guide
Crank,
Oscillating
Slider
Non 1
oopedFigure
1
1
Examples
ofLooped
andb.
Kinetics
(related
to
forces
producing
motion)
1)
Vibrations
(e.g.
reciprocating
engines)
2)
Dynamic
Loads
(e.g.
disk
head
onarm)
3)
Motion-time
response(e.g.
controlvalve)
4)
Static
forces
(e.g.
a scissorsjack)
5)
Impact
forces
(e.g.
a punchpress)
6)
Elasticity
(e.g.
flexible
linkages)
Another
category
includes
anarray
of practicalconstraints
normally
included
in
design
objectives(4)
These
i
ncl udec.
Practical
Constraints
1)
Accessibility
for
Maintenance
2)
Overall
Weight
3)
Fabri
cationCost
4)
Design
Completion
Deadline
5)
Existing
Space
Restrictions
A
completedesign
objectiveis
usually
sometrade-off
between
kinematic
andkinetic
goals andpractical constraints.
Motion
visualization plays aimportant
rolein
all
designs,
regardless ofgoals,
but
especially
in
understanding
kinematics
andthe
performance ofthe
linkage
with regardto
practical constraints.Preliminary
ideas
(step
2)
include
idea
generation(brainstorming
)
based
onthe
design
objectives.Few
(if
any)
ideas
are eliminated atthis
point.Motion
visualization plays animportant
rolehere
in
the
study
ofbasic
feasibility.
Ideas
generatedin
step
2
arethen
refined(step 3)
by
limited
analysis,
pastexperience,
and other criteriaIf
possible,ideas
are eliminated atthis
point.place,
again withthe
idea
of concept eliminationthrough
evaluation oftrade-offs.
Depending
ongoals,
visualization of
linkage
motionmay
be
important
here
to
enhancethe
designer's
conceptualunderstanding
ofhow
wellthe
linkage
meetsthe
kinematics,
kinetics,
and otherdesign
goals.Generally,
kinematic
analysisis
done
before
othertypes
of analysis(e.g.
kinetics)
because
a completeunderstanding
oflinkage
motionis
usually
requiredfirst.
Also,
physicaldesign
spacemay
be
limited
andinterference
checking
viakinematic
analysisis
often needed.
The
reverse of analysisis
synthesis wherein adesign
objective
is
specified,
andthe
geometry
ofthe
linkage
is
determined.
There
arenormally
two
synthesissteps,
"type
synthesis"wherein
the
category
ofthe
proposedlinkage
is
determined,
and"dimensional
synthesis"in
which actual
dimensions
are specified.A
linkage
is
"synthesized"or created
through
a set of rulesto
meetthe
specification within some predeterminedlimit.
For
example,
adesign
objective such as path generationis
specified as a set of"precision
points"or
locations
on
the
desired
path whereany
linkage
attributes(e.g.
position,
velocity
oracceleration)
areto
be
met.Synthesis
has
also receivedits
share of attentionin
the
engineering
literature.
After
analysis(at
least
to
somedegree
ofcompleteness),
a
decision
(step 5)
is
maderegarding
the
final
design.
In
reality,
the
decision
is
probably
made afterlooping
through
the
abovefour
steps severaltimes.
The
time
required
to
getdecisions
canbe
shortened with goodvi sual
i
zati ontool
s .Finally,
during
implementation
(step
6),
the
selecteddesign
idea
becomes
reality.If
all works asplanned,
the
process
is
complete.More
likely,
some unforeseen eventsuch as a
last
minute changein
another part ofthe
machineor a missed obstruction
to
motion will require retrofit.Visualization
oflinkage
motionmay
be
extremely
important
at
this
stageto
comparethe
originaldesign
to
possible retrofit candidates.Interference
checking
can alsobe
vitalhere.
In
summary, visualization oflinkage
motion canplay
animportant
and useful role atany
stage ofthe
design
1.2.3
Literature
Search,
Strategy
Two
on-lineliterature
data
base
systems were accessedfrom
information
services organizationsto
performthe
computerized
library
search ofthis
topic.
These
areCompendex
(formerly
the
Engineering
Index)
offeredby
Engineering
Information
ofNew
York
City,
andISMEC
(Information
Service
in
Mechanical
Engineering
and
Consulting)
offeredby
Cambridge
Scientific
Abstracts
ofBethesda,
Maryland.
Because
the
topic
oflinkage
design
using
CAD
is
sospecialized,
it
wasfelt
that
no otherdata
base
systems would yieldfurther,
usefulinformation
(6).
The
keywords
structure usedfor
the
search wasformed
asa
logical
(and/or)
combination of user-defined words.The
data
base
is
searchedfor
the
required combination of words(in
any
order,
but
logically
combined asspeci
f i ed)
.The
information
services organizations accessedto
performthis
search "read"the
entire abstract of each article(not
just
the
title)
resulting
in
avery
completelist
of citations.Data
bases
were searchedback
in
time
to
thei
r creati
on .The
following
keyword
structure was usedki
nematics .AND
analysis,
design
, synthesi s .AND
mechani sms ,
1 i
nkages , mani pul ators ,machi nes , machi
nery
.AND
computer, computer-^i aed
,
computer-aided-design,
CAD,
C.A.D,
Within
a columnthe
words are"ORed".
So
an articlethat
mentions,
in
its
abstract,
atleast
one wordfrom
allfour
columnsis
accepted.All
others are rejected.This
searchtechnique
yielded atotal
of52
articles.A
review ofthe
abstracts eliminated abouttwenty
ofthese
because
their
thrust
wasprimarily
synthesis.Copies
ofthe
remaining
articles were obtained and reviewed.These
appearin
the
bibliography
along
withliterature
obtained
through
other sources.It
appears,
asexpected,
that
analysis and synthesishave
received
the
most attentionin
the
literature.
This
is
usual
for
engineering
applications, withinteractive
graphics
lagging
behind.
About
70%
ofthe
articles reviewed(both
from
the
search and
elsewhere)
deal
with analysisin
someform
or another.
Another
16%
aresurvey
articlesoffering
either a general review of
the
reported workin
the
field
or specifics about a current software offering.Some
ofthe
articles were uniquein
someway,
anddid
notfit
into
any
other category.Only
afew
articlesdeal
with specifics of motion visualization orinteractive
graphics.The
primary
thrust
of most ofthe
literature
is
analysis.1.2.4
Summary
ofPrevious
Work
In
the
bibliography
(Chapter
4)
articles are arrangedby
topic
in
the
orderdiscussed
in
section1.2.4.
Within
atopic,
references are arranged chronologically.As
mentioned,
analysis and synthesishave
receivedthe
most attentionin
the
engineering
literature.
If
the
linkage
is
nonlooped,
the
analysis methodis
oftenbased
on matrixcoordinate
transform
techniques
(6
to
10)
whereinthe
relative
linkage
motions aretransformed
into
absolutemotion with respect
to
abase
coordinate system.The
algorithms arebasically
repetitive matrixmultiplications,
with atleast
one multiplicationfor
eachdegree
offreedom
for
eachlink.
Often,
a sequentialprocedure
is
possiblefrom
the
base
ordriver
componentthrough
eachlink,
oneby
one,
to
the
last
component(e.g.
the
end effector).For
every
new position ofthe
driver
(known)
new positions ofevery
link
are computed.Recent
work on analysistechniques
for
nonloopedlinkages
has
centered on modificationfor
microcomputers
(11)
anddynamic,
realtime
computation anddisplay
with sophisticatedThe
earliest analysis methodsfor
looped
planarlinkages
were
based
on geometric construction and repetitive reconstruction of
the
linkage
on adrafting
table
(13,
14).
Oftentimes,
cardboard or wood models ofthe
proposedlinkage
were constructed and usedto
checkkinematics
(3)
Standard
vector analytical conjunction with geometricbecame
widely
used.Many
calculating
kinematic
data
These
techniques
are afar
techniques
availabletoday.
procedures were used
in
construction and
eventually
tedious
hours
were spenthand
on complex
linkages
(38).
cry
from
the
computerbased
Despite
the
availability
of computerbased
techniques
(and
computers),
Prentis
(37)
has
recently
presentedan article on a method of
kinematic
anddynamic
analysisusing
a programmable calculator.Computer
analysis methodsfor
looped
linkages
(15
to
32)
arebased
on matrix coordinatetransform
techniques
similarto
the
nonlooped case withthe
following
modification.The
transformation
matrices are nolonger
simply
multiplied
together
for
eachlink,
but
the
product oftransformation
matricesfor
each completeloop
is
set equalto
the
identity
matrix.A
solutionto
the
resulting
set ofsimultaneous,
non-linear equationsis
obtained(e.g.
by
aniterative
procedure similarto
that
described
in
Reference
15)
andthe
nextloop
is
treated
a similarfashion.
Some
ofthe
newly
computed positionsfor
oneloop
areinput
movementsto
connectedloops.
All
loops
in
the
linkage
are solved eithersimultaneously
or sequentially.Obviously,
solution algorithms must understand whichlinks
belong
to
whichloops
andhow
many
loops
there
are.Therefore
one ofthree
approachesis
possible1.
The
analysis package mustbe
restricted
to
a prescribedtopology.
2.
The
user mustidentify
the
loops.
3.
An
algorithm mustbe
incorporated
to
identify
kinematic
loops
(
topology
)
from
otherinput
information.
One
recentdesign
packagefor
the
IBM
PC
(44)
is
restricted
to
a subset of4-bar
linkages
in
which atleast
wel
1
i
ntocategory
1
category
2
above wasin
1978.
above.
A
technique
described
by
Shu
andsimilar
to
Radcliffe
(2)
The
automatedtopology
referredto
in
category
3
abovehas
received some attentionin
the
literature
(33
to
35).
The
DRAM
program(Dynamic
Response
ofArticulated
Machinery),
completed
in
1969,
appearsto
be
the
first
comprehensive attempt atboth
topology
and analysis ofarbitrary
2-D
1 inkages
(32)
.IMP
(Integrated
Mechanisms
Program)
in
1971
(33),
wasthe
first
package(topol
ogi cally)
arbitrary
spatiallinkages.
1973
wasthe
ADAMS
program(Automated
Dynamic
Mechanical
Systems),
also capable ofhandling
systems with
arbitrary
topology
(32,
46,
48).
f i
rst publi
ci zedto
handl
e analysis ofFol
1
owing
i
nAnalys is
ofspat
i
alDetailed
presentations of matrix methodsfor
topological
andkinematic
analysis of spatiallinkages
were presentedby
Uicker
et. al .(15
to
19).
A
decent
tutorial
on synthesistechniques
has
been
offeredby
Chase
(36).
The
maindifferences
among
these
computer packages areconnected
to
the
choice of coordinate system andthe
method of
solving
the
resulting
equations(32).
Gaussian
elimination
is
usedfor
coordinate systems which yieldsmall,
dense
sets of equations(DRAM).
Sparse
matrixtechniques
are usedfor
casesin
which alarge,
sparse set of equations results(ADAMS).
Speed
of executionis
strongly
dependent
onhow
wellthe
coordinate system and solution method match
the
problem.Up
untilthe
mid-1970s,
the
mainthrust
of attempts at computer applicationto
linkage
design
was analysis(or
synthesis)
as opposedto
adequate analysis withuser-friendly
software.The
earliest surveys of packagecapability
(38,
39),
published
in
1974
and1978
respectively,
showedthat
most ofthe
analysis programs evolvedfrom
university
re:-sAnimation
ofkinematics
was sometimes provided naloutput
if
the
user wasfortunate
enoughto
have
or.t right graphicsdisplay
terminal.
11
cycle
through
the
use of graphics came outEngineering
Development
Laboratory.
This
by
Ladd
(4)
in
late
1976.
of
DuPont's
work was reported
Input
oflinkage
data
withDuPont's
program was still accomplished with a"proprietary
graphicsinput
language."
However,
the
user was allowedto
input
geometric constraintsto
movement(boundaries)
along
withthe
linkage.
Animation
ofthe
linkage
withresulting
pathcurves was also possible.
The
earliest attemptto
useinteractive
graphicsfor
linkage
design
was reportedby
Rubel
andKaufman
(40,
41)
ofM.I.T.
in
1977.
They
described
the
KINSYN
program(KIN-ematic
SYN-thesis)
whichthey
called a"Human-Engineered
System
for
Interactive
Computer
Aided
Design
of
PI
anarLi
nkages".
In
KINSYN,
the
user'sinteraction
withthe
computer wascompletely
graphical ratherthan
through
problem-orientedlanguage
statementstyped
on akeyboard.
A
path ofrequired motion
(up
to
5
precisionpoints)
wasdrawn
by
the
user on atablet.
The
synthesiscapability
then
took
over and produced a
linkage.
KINSYN
was programmed on a"customized
in-house
minicomputer
system"
(42)
atM.I.T.
and wastherefore
considered
to
be
primarily
a researchtoy.
The
LINCAGES
program
(L-inkage
IN-teractive
C-omputer
A-nalysis
andG-raphically
E-nhanced
S-ynthesis)
wasdescribed
by
Erdman
et al(42,
43)
in
1977
as atime-sharing
package with
the
same capabilities asKINSYN,
andaccessible
to
anyone with aTektronix
4010
storage-tube
and atelephone
modem.Versions
ofLINCAGES
areavailable
today
withinteractive
graphicsinput.
Today
there
aremany
morelinkage
design
and synthesisprograms available.
The
most recent surveys(46,
49)
report at
least
18
programsknown
to
be
in
usefor
varioustypes
of analysis and synthesis.These
programs canbe
runon various systems
including
everything
from
personalcomputers
to
mainframes.One
recentpackage,
DADS
(D-ynamic
A-nalysis
andD-esign
S-oftware)
offeredby
Computer
Aided
Design
Software,
Inc.
(47)
in
1985
includes
a "smart" pre-processorwhich
automatically
deletes
obvioustypos
and syntaxerrors
in
the
input
code whereintent
canbe
uniquely
resol ved .
DADS
alsoincludes
alanguage-specific
editorto
easethe
task
ofinput
code preparation.Post-processors
are alsographics output.
Like
many
recent packages and updates of earliersoftware,
"animation
capability"is
routinely
available.Usually,
animation
capability
meansthe
entirelinkage
is
movedthrough
its
motion range withtracing
of selected pointsto
show paths ofinterest.
Also,
many
packages use graphicsto
display
pertinentengineering
data,
usually
withtime
(e.g.
velocity,
acceleration or constant angularvelocity
driving force)
.Graphics
is
also usedfor
input
checking.The
program'sunderstanding
ofthe
linkage,
whichthe
userhas
described
with a problem-orientedinput
language,
is
drawn
on aCRT.
Discrepancies
are rectifiedby
resubmitting
a revisedi
nputdata
file.
Strangely
enough,
there
does
not appearto
be
evidencethat
any
ofthe
analysis packages useinteractive
graphicsfor
input.
Another
recentsurvey
by
Dawson,
appearing
in
early
1985
(48)
statesthat
turnkey
CAD
suppliers arecurrently
writing
softwareto
interface
their
graphicssystems
to
DRAM
andADAMS.
Interfaces
wouldautomatically
createthe
geometricinput
data,
requiredby
DRAM
orADAMS,
from
the
CAD
system'sexisting
geometricdata
base.
Additional
data
for
analysis such asloads
and constraints must stillbe
input
separately.Interfacing
allows apart,
previously
described
through
user-
f
ri endly
interactive
graphicsto
aCAD
system,
to
be
analyzed,
thus
avoiding
the
tedium
of problem orientedinput
coding.In
today's
fast
moving
design
world,
engineerswho are called-upon
to
usemany
different
computer packagescertainly
needintegrated
software.Dawson
further
statesthat
sixCAD
houses
have
announcedinterfaces.
These
include
Applicon,
Computer-Vi
si on,
Control
Data,
Intergraph,
McAuto
andSperry.
It
is
probablethat
interfacing
is
feasible
today.
Other
recent surveys(49,
52)
from
1985
indicate
that
1.
Several
groupshave
begun
to
market microcomputer
based
analysis software.2.
Robotics
animation,
work spaceprediction,
dynamic
response andinterference
checking
capabilities are
becoming
more sophisticated.3.
Integration
of mechanism analysis and synthesissoftware with
CAD
drafting,
finite-element
13
One
specific effort aimed atintegration
of software was reportedby
Mittelstadt
et al(52)
in
1985.
This
effortis
being
carried out atthe
University
ofMinnesota,
andis
sponsored
by
Control
Data
Corporation.
The
aim wasto
tie
three
major componentstogether
into
oneintegrated
tool.
Components
ofthe
prototype system willinclude
LINCAGES
for
synthesis,
DRAM
for
analysis andICEM
DESIGN/DRAFTING
from
Control
Data
Corporation
for
design
anddrafting.
Erdman
(52)
reportsthat
the
future
promises more andimproved
capabilities asfurther
softwareintegration
takes
place.More
sophisticated graphicscapability
andfaster
hardware
with solidsmodeling
capability
are also expected.Artificial
intelligence
techniques,
in
particular expert systemsfor
synthesis,
arelikely
to
be
developed
andincorporated
withlinkage
design
software.As
the
expertsystem
heuristics
are packagedtogether,
it
is
probablethat
earlier work willbe
incorporated.
One
example of an earlierdevelopment
that
wouldbe
usefulfor
afuture
expert systemis
Tuttle's
1967
effort(50).
Tuttle
compiled adata
base
ofsuccessfully
used mechanisms categorizedby
type
of output motion(
heuristics
).
Also,
expert systems might require algorithmsfor
translating
mechanismsbeing
consideredduring
a synthesis sessionfrom
internal
form
(graph
representation)
to
aline
sketch.This
type
of program wouldbe
handy
for
graphically
updating
anexpert system user on
the
system's current "thinking."This
capability
was reportedby
Olson
et al(
51
)
in
1985
in
their
paper"Automatic
Sketching
ofPlanar
Kinematic
Chains."The
capability
ofinteractively
"sketching" alinkage
has
received
little
publicity
(and
perhapslittle
attention).The
only
direct
referenceto
sketching
in
this
literature
search
(aside
from
the
earlier mentionedKINSYN
synthesisprogram)
camefrom
Erdman
andRiley
(46).
In
mid-1985,
these
researchers reported results oftheir
experiences at
the
University
ofMinnesota
in
teaching
machine
design
courses withcommercially
offered courseware(i.e.
softwaredesigned
specifically
to
teach
something).The
courseware system whichthey
usedis
calledPlato,
andis
offeredby
Control
Data
Corporation
on atimesharing
basis
viatelephone
connection.Plato
offershundreds
oftutorial
sessions on varioustopics.
One
portion ofthe
Plato
coursewareis
calledthe
"4-bar
sketchpad."This
lesson
allowsthe
studentto
define
anAfter
the
linkage
is
described
by
the
student,
the
Plato
system animatesthe
linkage
by tracing
the
paths ofmoving
points.Erdman
andRiley
indicated
excellent results withthe
Plato
system.This
concludesthe
results ofthe
literature
search.It
seems apparentthat
the
concept of aninteractive
sketchpad coupled withthe
more common motion visualizationcapability
via animation wouldbe
useful evento
experienceddesigners
and even more usefulto
inexperienced
engineers who aretrying
to
usemany
different
computer packages.1.3
Theoretical
andConceptual
Development
In
essence,
the
Linkage
Kinematics
Sketchpad
(LKSP)
is
a2-D
interactive
graphics package which allowsa user
to
describe
alimited
set oflinkage
components(to
be
described),
combinethese
componentsinto
linkages,
changethe
linkage
and/orinteractively
drive
the
linkage
through
its
inherent
motion cycle(or
partsthereof)
to
visualizeits
mobility.The
linkage
components selected yield a simplifiedkinematics
treatment
to
be
descri
bed
.The
thrust
ofthe
workhas
primarily
been
to
define
andimplement
a software systemfor
accomplishing
the
abovecapabilities,
to
investigate
the
usefulness ofthis
approach,
to
define
problemareas,
andto
identify
potentially
fruitful
areas
for
future
research.In
orderto
tackle
the
visualization goal ofthis
projectwithout
getting
bogged
down
in
the
details
ofanalysis,
somelimitations
are set onthe
approachto
topological
definition
andkinematic
analysis.An
earlier-presented analysistechnique
described
by
Shu
andRadcliffe
(2)
in
1978
forms
the
basis
ofthe
approach usedin
this
project.In
this
analysismethod,
a set ofkinematic
"elements"
is
defined
from
whichlinkages
canbe
formed.
Associated
with eachkinematic
element or componentis
aset of
FORTRAN
subroutines.The
user writes a main program whi ch1.
Sets
up
geometry,
initial
conditions,
etc2.
Calls
kinematic
subroutinesin
requiredsequence
to
solvefor
all motion results.15
In
other wordsthe
userhandles
I/O
in
steps1
and3,
andtopology
is
addressedin
step
2.
As
spartan asthis
mightsound,
somevery
complexlinkages
canbe
handled
withthis
technique.
In
fact,
asrecently
as mid-1984Smith
andYe
(45)
reportedthe
creation of aninput
language
calledSIMPLA,
which supportsthe
above method ofShu
andRadcliffe.
Kinematic
analysisin
LKSP
is
based
on a modification ofShu
andRadcliffe's
procedure.Since
LKSP
will useinteractive
graphics
for
input
andoutput,
steps1
and3
are covered.To
study
the
kinematic
mobility
of planarlinkages,
a "live"kinematic
model,
i.e.
onethat
caneasily
be
interactively
changed andrepeatedly
run,
is
required.It
seemsdesirable
to
incorporate
a simplification ofthe
allowedkinematic
elements which would yield a modelrequiring
notopological
analysis and a well
defined
sequential computational procedureregardless of
the
way
the
basic
components are combined.To
these
ends,
a set ofkinematic
componentsis
defined
(see
Figure
1-2)
suchthat
1
Each
elementis
either adriver
or a nondrivera.
Drivers
may
be
rotating
ortranslating.
b.
Nondrivers
have
oneinput
point and oneoutput point.
Nondrivers
include
adyad-1,
dyad-2,
rotating
guide,
oscillating
slider and a slider.There
is
a choice oftwo
possible output points
for
the
dyad-2.
2.
Each
componentis
grounded,
thereby
eliminating
topological
uncertainty.As
elements areconnected a
loop
is
formed
and a computationalsequence
for
the
kinematics
equationsis
defined.
3.
One
driver
andany
number of nondrivers areallowed
to
be
connectedtogether.
Figure
1-3
showstwo
examples oflinkages
formed
from
the
abovedescribed
linkage
components.Even
though
the
linkage
elements aresimple,
many
usefullinkages
canbe
created .In
orderto
performthe
kinematic
analysis withinLKSP,
assembly
and motion algorithmshave
been
developed
for
each component
type.
These
aredescribed
in
Tables
1-2
through
1-8.
Table
1-1
explains a set ofsupporting
trigonometric
functions
and coordinatetransform
proceduresRotat i
onalDriver
Trans lational
Driver
Nondr i
versDyad-1
Dyad-2.
SI ider
Rotati
ng
Guide
Oscillating
Slider
Rotat i
onalDri
ver.Dyad-1
Rotati
ng
Guide.
3-Loop,
Multiple
4-Bar
Linkage
Trans 1
ationalDri
verSI ider
Osc i 1 1
atirvSlider.
4-Loop,
Combination
Linkage.
Table 1-1
Trigonometric
Functions
andCoordinate
Transforms
Used
in Kinematics Algorithms
Trigonometric Functions:
function
Length(
xlin,
ylin,
x2in,
y2in : real):real;
(
How
long
is line from
global coordinates}
{
xlin,
ylinto x2in,
y2in?}
function
GetAngleH(
xlin,
ylin,
x2in,
y2in : real):real;
(
What
is
the angle,
in
radians,
}
(
formed
by
the
line 2-1
-h,i.e.
}
{
from
x2in,
y2into
xlin,
ylin}
{
to
h,
horizontal? Result
=0..2pi.)
function
GetAngleT(
xlin,
ylin,
x2in,
y2in : real):real;
{
What
is the
angle,
in
radians,
)
{
formed
by
the
line 2-1
-h,i.e.
}
{
from
x2in,
y2into
xlin,
ylin}
{
to
h,
horizontal.
Differs from
}
{
GetAngleH because
resultis
}
(
resolvedto
+/-0.
.pi/2.
}
function
AddAngles(
anglelin,
angle2in : real):real;
{
What
is
the
sum of2
angles?}
{
Result
is
resolvedto 0..2pi.
}
function
GetArcSin(
ain,
hin
: real):real;
{
What
is the
angleformed
by )
{
the
sides ain&
hin,
}
{
where ainis the
opposite}
{
side&
hin
is
the
hyp.
&
}
{
whoseSin
is
the
ratio of}
{
ain/hin?Result
=0.
.2pi.}
function
GetInteriorAngle(
ain,
bin,
cin : real):real;
{
What
is the
interior
angle}
(
in
radiansformed
by
line
)
(
ain,
bin &
oppositeto
cin?}
(
Result
=0..pi.
}
Coordinate Transforms:
procedure
Transform(
theta, tx,
ty,
x,
y,xTR,
yTR);
{
Transform
global coordinatesx,
y
into
)
{
xTR,
yTR , slidercoordinates,
using
CTM.}
{
CTM is
setto
rotate angletheta &
)
{
translate
tx,
ty.
}
procedure
Back_Transform( theta, tx, ty,
x,
y,xTR,
yTR);
{
Reverse
transform,
xTR,
yTRback into
}
6
2
A/e/
J)nvei-
Aw?/*
Driver
An
f/*.->x
Table
1-2
Rotati
ngDri verAlgorithms.
(
See Figure 1-4
)
Initial
Assembly:
xl,
yl,
x2,
y2 are userinput.
pt1
is
base,
pt2
is
drive
point.Compute
length
ofdriver & DriverAngle:
Ll
:=Length(
xl,
yl,
x2,
y2);
DriverAngle
:=GetAngleH(
xl,
yl,
x2,
y2);
Motion:
Motion
is
incremental
in
steps of size motion_increment(a
rotationalstep
size,
typically
2 degrees).
Point
2
coordinates,
Ll
&
motion_increment are constant.Set-up
motion variables:Current_Angle
:=Driver_Angle;
Current_x2
:=x2;
Current_y2
:=y2;
Implement
motion:if(
CurrentAngle
=Target_Angle
)
then MotionComplete
else
begin
Current_Angle
:=Current_Angle
+motion_increment;
New_x2
:=Current_x2
+Ll
*cos(
CurrentAngle
);
New_y2
:=Current_y2
+Ll
*sin(
Current_Angle
);
Current_x2
:=New_x2;
Current_y2
:=New_y2;
end;
t77oi~ivn
in
ere/resit-*rf.
Table
1-3 TranslatingDriver Algorithms.
(
See
Figure 1-5
)
Initial
Assembly:
xl,
yl,
x2,
y2 areinput.
pt
1
is
base,
pt2
defines
angle.Compute
angle ofdriver.
Driver_Angle
:=GetAngleT(
xl,
yl,
x2,
y2);
Motion:
Motion
is
incremental
in
steps of size motionincrement(a translational
step
size,
typically
0.10
inch).
Driver_Angle &
motion_increment are constant.Set-up
motion variables:Current_xl
:=xl;
Currentyl
:=yl;
CurrentPosition & TargetPosition formed
from
x&
y
components.Implement
motion:if(
Current_Position
=TargetPosition
)
then MotionComplete
elsebegin
New_xl
:=Currentxl
+ motion_increment *cos(
DriverAngle
);
New_yl
:=Currentyl
+ motionincrement *sin(
DriverAngle
);
Currentxl
:=Newxl;
Currentyl
:=New_yl;
1
J
Mo<
ncq^x'c.I
fU<
port^iwe1N>
t is nej[atn/
arwjlc
I3h
Wtk/
\
1
Table
1-4
Dyad-1
Algorithms.
(
See Figure 1-6
)
Initial
Assembly:
xl,
yl,
x2,
y2,
x3,
y3 areinput.
Compute
link &
characteristiclengths:
1 ink
lengths:
Ll
:=Length(
xl,
yl,
x2,
y2);
L2
:=Length(
x2,
y2,
x3,
y3);
characteristic
lengths:
longest
:=Ll
+L2;
(
longest
possiblelength
)
shortest :=abs(
Ll
12);
{
shortest possiblelength
}
Determine Mode
ofAssembly,
Moa:
if
angle23h =AddAngles
(
anglel3h,
anglel32)
then
Moa
is
positive elseMoa is
negative;
Motion:
New_xl
&
Newyl
areinput
during
motion.x3
&
y3 arefixed.
Ll
& L2
arefixed.
Moa
is
fixed.
Check
for binding:
New_dl3
:=Length
(
New_xl,
Newyl,
x3,
y3)
;if(
(
New_dl3
>longest
)
or(
New_dl3
< shortest)
)
then
binding
:=true,
stop
all motion elsebinding
:=false
sobegin
Calculate
newposition,
point2,
(
New_x2,
New_y2
):
anglel3h :=
GetAngleH(
x3,
y3,
New_xl,
New_yl
);
anglel32 :=
GetInteriorAngle(
New_dl3, 12,
11
);
if
(
Moa
= positive)
then
angle23h :=AddAngles
(
anglel3h,
anglel32)
else
if
(
Moa
= negative)
then
angle23h :=AddAngles
(
anglel3h,
anglel32);
New_x2
:= x3 +L2
*cos(
angle23h);
New_y2
:= y3 +L2
*fte
ytt'vc(JotA Moa*
Mo<Zis
fiJ*j*ti*cCLn<{lf*3K
Vcv
i
1 h
^fo<i
/jA/76vc
^
Table
1-5
Dyad-2
Algorithms.
(
See
Figure
1-7
)
Initial
Assembly:
xl,
yl,
x2,
y2,
x3,
y3,
x4,
y4 areinput.
Compute link lengths
Ll, L2,
L3 & L4
from
input
x,
y
set.Compute
characteristic
lengths:
longest
:=L3
+L4;
{
longest
possiblelength
}
shortest :=
abs(
L3
L4);
{
shortest possiblelength
}
Compute
characteristic anglefor
panelformed
by
points1,2,3:
anglel32 :=
GetInteriorAngle(
L3,
L2,
Ll
);
Determine
Modes
ofAssembly,
Moal,
Moa2:
if
angle34h =AddAngles
(
anglel4h,
anglel43)
then Moal
is
positive elseMoal
is
negative;
if
angle23h =AddAngles
(
anglel3h,
anglel32)
then
Moa2
is
positive elseMoa2 is
negative;
Motion:
Newxl
& New_yl
areinput
during
motion.x4
&
y4,
Ll
through
L4, Moal,
Moa2 &
anglel32 arefixed.
Check for binding:
New_dl4
:=Length
(
Newxl, Newyl,
x4,
y4);
if(
(
New_dl4
>longest
)
or(
New_dl4
< shortest)
)
then
binding
:=true,
stop
all motion elsebinding
:=false
sobegin
Calculate
newposition,
point3
(
same asDyad-1
):
anglel4h :=
GetAngleH(
x4,
y4,
Newxl,
New_yl
);
anglel43 :=GetInteriorAngle( New_dl4, L3,
L4
);
if
(
Moal
= positive)
then
angle34h =AddAngles
(
anglel4h,
anglel43)
elseif
(
Moal
= negative)
then
angle34h =AddAngles
(
anglel4h,
anglel43);
New_x3
:= x4 +L4
*cos(
angle34h);
New_y3
:= y4 +L4
*sin(
angle34h);
Calculate
new position of point2
( New_x2,
New_y2
):
anglel3h :=
GetAngleH(
New_x3,
New_y3, New_xl,
Newyl
);
if
(
Moa2
= positive)
then
angle23h :=AddAngles
(
anglel3h,
anglel32)
else
if
(
Moa2
= negative)
then
angle23h :=AddAngles
(
anglel3h,
-anglel32
);
New_x2
:=NewX3
+(
L2
*cos(
angle23h)
);
New
y2 :=NewY3
+(
L2
*4
-7
i
I
Oi
C7>
o
co
Table
1-6
RotatingGuide
Algorithms.
(
See
Figure
1-8
)
Initial
Assembly:
xl,
yl,
x2,
y2,
x3,
y3 areinput.
Compute
dl2,
d23
&
angles:dl2
:=Length(
xl,
yl,
x2,
y2);
d23
:=Length(
x2,
y2,
x3,
y3)
;
anglel2h :=
GetAngleH(
x2,
y2,
xl,
yl);
angle32h :=
GetAngleH(
x2,
y2,
x3,
y3);
Find Point 4:
angle42h := angle32h +
180
degrees;
Ll
:=dl2
*sin(
angle42h anglel2h);
angle421 :=
GetArcSin(
11,
dl2
);
d