perm filename A.XGP[1,VDS]36 blob sn#273472 filedate 1977-03-28 generic text, type T, neo UTF8
/FONT#1=BDR30/FONT#2=BDR25
␈↓↓␈↓α␈↓↓␈↓ β∪A MICROPROCESSOR BASED MANIPULATOR CONTROL SYSTEM␈↓ ↓H
␈↓ ↓H
␈↓α␈↓ α_As␈α∞an␈α∞outgrowth␈α∞of␈α∞work␈α∞at␈α∞the␈α∞Stanford␈α∞Artificial␈α
Intelligence␈α
Lab.,␈α
Vicarm,␈α
Inc.␈α
was␈α
founded␈α
to␈↓ ↓H
␈↓ ↓Hdevelop␈α∪and␈α∪manufacture␈α∪computer␈α∪controlled␈α∩robots␈α∩for␈α∩automation␈α∩and␈α∩manufacturing␈α∩research␈α∩and␈↓ ↓H
␈↓ ↓Hdevelopment␈α∞applications.␈α∞Vicarm␈α∞was␈α∞recently␈α
acquired␈α
by␈α
Unimation,␈α
Inc.,␈α
a␈α
large␈α
maker␈α
of␈α
robots.␈α
It␈α
is␈↓ ↓H
␈↓ ↓Hnow␈α
faced␈α
with␈α
the␈α
task␈α
of␈α
making␈α
an␈α
industrialized␈α
version␈α
of␈α
these␈α
research␈α
manipulators.␈↓ ↓H
␈↓ ↓H
␈↓ α_The␈αcurrent␈αmanipulator␈αsystem␈αconsists␈αof␈αa␈α6␈αdegree␈αof␈αfreedom␈αmechanical␈α
arm,␈α
an␈α
arm␈α
controller,␈↓ ↓H
␈↓ ↓Ha␈α∩DEC␈α∩LSI-11␈α∩computer,␈α∩and␈α∩software␈α∩to␈α∩enable␈α∩one␈α∩to␈α∩program␈α∩the␈α∩arm␈α∩using␈α∩the␈α∩VAL␈α⊃language.␈↓ ↓H
␈↓ ↓HCustomers␈α∂for␈α∂this␈α∂system␈α∂have␈α∞been␈α∞places␈α∞like,␈α∞M.I.T.,␈α∞Stanford␈α∞Research␈α∞Institute,␈α∞Purdue␈α∞University,␈↓ ↓H
␈↓ ↓HGeneral␈α
Motors,␈α
Texas␈α
Instruments␈α
Corp,␈α
and␈α
the␈α
National␈α
Bureau␈α
of␈α
Standards.␈↓ ↓H
␈↓ ↓H
␈↓ α_The␈αprinciple␈αof␈αoperation␈αis␈αthat␈αa␈αmotion␈αprogram␈αis␈αwritten␈αand␈αthen␈αexecuted.␈αExecution␈αresults␈↓ ↓H
␈↓ ↓Hin␈α⊂the␈α⊂LSI-11␈α∂computing,␈α∂in␈α∂real␈α∂time,␈α∂sequences␈α∂of␈α∂arm␈α∂joint␈α∂angles.␈α∂There␈α∂are␈α∂6␈α∂joints␈α∂and␈α∂the␈α∂angle␈↓ ↓H
␈↓ ↓Hcommand␈α
is␈α
computed␈α
every␈α
20␈α
ms␈α
for␈α
each␈α
joint.␈↓ ↓H
␈↓ ↓H
␈↓ α_Currently,␈α∞these␈α∞position␈α∞commands␈α∞are␈α∞converted␈α∞to␈α∞analog␈α∞signals␈α∞by␈α∞a␈α∞12␈α∞bit␈α∞DAC␈α
and␈α
summed␈↓ ↓H
␈↓ ↓Hwith␈α
the␈α
analog␈α
position␈α
feedback␈α
signal␈α
from␈α
a␈αjoint␈αangle␈αmeasuring␈αpotentiometer␈αat␈αthe␈αjoint.␈αVelocity␈↓ ↓H
␈↓ ↓Hfeedback␈αis␈αalso␈αsummed␈αand␈αused␈αfor␈αdamping.␈αIn␈αaddition,␈αnumerous␈αFET␈αswitches␈αare␈αused␈αto␈αcontrol␈αan␈↓ ↓H
␈↓ ↓Hintegration␈α∞term,␈α∞a␈α∞comparator␈α∞that␈α∞senses␈α∞when␈α∞the␈α∞joint␈α∞is␈α∞within␈α∞a␈α∞certain␈α∞tolerance␈α∞region,␈α∞and␈α
some␈↓ ↓H
␈↓ ↓Hextra␈αlogic␈αto␈αsense␈αwhen␈αthe␈αjoint␈αis␈αnear␈αor␈αpast␈αadjustable␈α
electrical␈α
limit␈α
stops.␈α
Furthur␈α
features␈α
include␈↓ ↓H
␈↓ ↓Hpotentiometer␈α⊂adjustable␈α⊂lead␈α⊂and␈α⊂lag␈α⊂compensation␈α∂and␈α∂bandwidth␈α∂control␈α∂on␈α∂both␈α∂positon␈α∂and␈α∂velocity␈↓ ↓H
␈↓ ↓Hfeedback␈α
signals.␈↓ ↓H
␈↓ ↓H
␈↓ α_Everything␈α
is␈αcurrently␈αdone␈αin␈αanalog␈αfashion,␈αusing␈αlow␈αoffset␈αop-amps␈αand␈αprecision␈αresistors.␈αTo␈↓ ↓H
␈↓ ↓Hallow␈α
all␈α
servo␈α
cards␈α
to␈α
be␈α
the␈α
same␈α
(there␈α
are␈α
7␈α
in␈α
each␈α
arm␈α
controller-␈α
6␈α
for␈α
the␈α
arm␈α
joints␈α
and␈α
one␈α
for␈α
the␈↓ ↓H
␈↓ ↓Hhand),␈α17␈αpotentiometers␈αare␈αincluded␈αon␈αEACH␈αboard.␈αThe␈αtotal␈αnumber␈αof␈α
components␈α
is␈α
over␈α
300␈α
for␈α
each␈↓ ↓H
␈↓ ↓Hjoint...consisting␈α∞mostly␈α∞of␈α∞resistors,␈α∞compensation␈α∞capacitors,␈α∞op-amps,␈α∞transistors,␈α
and␈α
diodes.␈α
The␈α
boards␈↓ ↓H
␈↓ ↓Hare␈αconfusing␈αto␈αstuff,␈αtimely␈αto␈αdebug,␈αand␈αcostly␈αto␈αadjust.␈αIn␈αfact,␈αpotentiometer␈αadjustment␈αis␈αdone␈αin␈αa␈↓ ↓H
␈↓ ↓Htrial␈α
and␈α
error␈α
haphazard␈α
fashion.␈↓ ↓H
␈↓ ↓H
␈↓ α_A␈α
new␈α
manipulator␈α
is␈α
currently␈α
being␈α
designed.␈α
This␈αmodel␈αwill␈αuse␈αoptical␈αencoders␈αas␈αthe␈αposition␈↓ ↓H
␈↓ ↓Hfeedback␈α
element.␈α
It␈α
is␈α
desired␈α
to␈α
replace␈α
as␈α
much␈α
of␈α
the␈α
current␈αanalog␈αlogic␈αwith␈αdigital␈αlogic.␈αSince␈αall␈↓ ↓H
␈↓ ↓Hjoints␈α∞are␈α∞basically␈α∞the␈α∞same␈α∞but␈α∞requiring␈α∞different␈α∞gain␈α∞and␈α∞compensation␈α∞parameters,␈α
a␈α
microprocessor␈↓ ↓H
␈↓ ↓Hbased␈α
joint␈α
controller␈α
appears␈α
to␈α
be␈α
an␈α
ideal␈α
configuration.␈↓ ↓H
␈↓ ↓H␈↓ ↓H
␈↓ α_␈↓ ↓H
␈↓ ∧cTHE PROPOSED CONTROL CONCEPT␈↓ ↓H
␈↓ ↓H
␈↓ α_We␈α
have␈α
our␈αLSI-11.␈αIt␈αoutputs␈αjoint␈αangles␈αin␈α16␈αbit␈αword␈αform,␈αat␈αthe␈αrate␈αof␈α50␈αper␈αsecond.␈αOur␈↓ ↓H
␈↓ ↓Hoptical␈αencoder␈αsenses␈αjoint␈αrotation␈αand␈αoutputs␈αtwo␈αsquare␈αwaves␈αin␈αquadrature␈α(90degrees␈αout␈αof␈αphase).␈↓ ↓H
␈↓ ↓HThese␈αsignals␈αare␈α
read␈α
by␈α
the␈α
microprocessor␈α
(Z80␈α
or␈α
8080,␈α
etc.)␈α
and␈α
are␈α
counted␈α
to␈α
keep␈α
track␈α
of␈α
joint␈α
angle.␈↓ ↓H
␈↓ ↓HThere␈αare␈αa␈αtotal␈αof␈α16␈αbits␈αof␈αcounts␈αfor␈αfull␈αjoint␈αrotation.␈αThe␈αmicroprocessor␈αsubtracts␈αthis␈αcount␈αfrom␈↓ ↓H
␈↓ ↓Hthe␈α
command␈α
number␈α
to␈α
get␈α
a␈α
raw␈α
error␈α
number.␈α
Furthur␈α
processing␈α
is␈α
done␈α
on␈α
this␈α
number␈αbefore␈αit␈αis␈↓ ↓H
␈↓ ↓Houtputted␈α⊂to␈α∂a␈α∂10␈α∂or␈α∂12␈α∂bit␈α∂DAC␈α∂which␈α∂drives␈α∂the␈α∂motor␈α∂drive␈α∂D.C.␈α∂power␈α∂amplifier.␈α∂Thus,␈α∂each␈α∂joint␈↓ ↓H
␈↓ ↓Hconsists␈α∞of␈α∞one␈α∞motor,␈α
one␈α
position␈α
encoder,␈α
one␈α
microprocessor,␈α
one␈α
set␈α
of␈α
support␈α
digital␈α
electronics,␈α
one␈↓ ↓H
␈↓ ↓Hprogram,␈α∂one␈α∂set␈α∂of␈α∂analog␈α∂electronics␈α∂and␈α∂one␈α∂power␈α∂amplifier.␈α∂All␈α∂getting␈α∂data␈α∂from␈α∂a␈α∂central␈α∞LSI-11␈↓ ↓H
␈↓ ↓Hcomputer.␈↓ ↓H
␈↓ ↓H
␈↓ α_There␈α
are␈α
various␈αacceptable␈αlevels␈αof␈αdevelopment␈αfor␈αthis␈αsystem.␈αThere␈αare␈αalso␈αmany␈αapproaches␈↓ ↓H
␈↓ ↓Hwhich␈αwill␈αsolve␈αthe␈αtask,␈αinvolving␈αmore␈αor␈αless␈αuse␈α
of␈α
the␈α
microprocessor,␈α
and␈α
tradeoffs␈α
between␈α
TTL,␈α
LSI,␈↓ ↓H
␈↓ ↓Hand␈α⊂Analog␈α⊂elements.␈α⊂Here␈α⊂are␈α⊂some␈α⊂immediate␈α⊂possible␈α∂project␈α∂suggestions.␈α∂Demonstration␈α∂of␈α∂one␈α∂joint␈↓ ↓H
␈↓ ↓Hoperation␈α
and␈α
simulated␈αLSI-11␈αdata␈αinput␈αwould␈αbe␈αsufficient␈αto␈αstart␈αwith.␈αI␈αhave␈αlisted␈αtasks␈αin␈αwhat␈αI␈↓ ↓H
␈↓ ↓Hsee␈α
as␈α
a␈α
logical␈α
order␈α
of␈α
development,but␈α
you␈α
may␈α
have␈α
your␈α
own␈α
preferences.␈↓ ↓H
␈↓ ↓H
␈↓ α_1.␈α∞The␈α∞encoder␈α∞outputs␈α∞two␈α∞square␈α∞waves␈α∞in␈α∞quadrature.␈α∞Use␈α∞TTL␈α∞logic␈α∞to␈α∞decode␈α
the␈α
signals␈α
and␈↓ ↓H
␈↓ ↓Hdrive␈αTTL␈αcounters␈α(this␈αlogic␈αis␈αalready␈αdeveloped).␈αUse␈αthe␈αmicroprocessor␈αto␈αread␈αthe␈αTTL␈αcounter,␈αthen␈↓ ↓H
␈↓ ↓Hsubtract␈α
from␈α
LSI-11␈α
command␈α
number␈α
input,␈α
and␈α
output␈α
error␈α
number.␈↓ ↓H
␈↓ ↓H
␈↓ α_1.␈α
Use␈α
the␈α
microprocessor␈αto␈αdecode␈αand␈αcount␈αthe␈αencoder␈αoutput,␈αstore␈αthe␈αcount,␈αread␈αthe␈αLSI-11␈↓ ↓H
␈↓ ↓Hcommand␈α∞number,␈α∞subtract␈α∞the␈α
encoder␈α
number␈α
from␈α
command␈α
number␈α
and␈α
output␈α
the␈α
difference␈α
(error).␈↓ ↓H
␈↓ ↓H[Note:␈αThe␈αencoder␈αcan␈αhave␈αcount␈αrates␈αup␈αto␈α50khz,␈αwhich␈αmay␈αbe␈αtoo␈αhigh␈αfor␈αan␈α8080␈αto␈αwork␈α
with␈α
and␈↓ ↓H
␈↓ ↓Hstill␈α
do␈α
other␈α
computations.]␈↓ ↓H
␈↓ ↓H
␈↓ α_3.␈αDo␈αthe␈αabove␈αbut␈αinterpolate␈αthe␈αLSI-11␈αoutput,␈αso␈αthat␈αthe␈αcommand␈α
number␈α
makes␈α
3␈α
small␈α
steps␈↓ ↓H
␈↓ ↓Hin␈αeach␈α
interval.␈α
[1␈α
smaller␈α
step␈α
every␈α
5ms.␈α
instead␈α
of␈α
a␈α
large␈α
step␈α
every␈α
20ms.]␈α
This␈α
results␈α
in␈α
smoother␈α
arm␈↓ ↓H
␈↓ ↓Hmotion.␈↓ ↓H
␈↓ ↓H
␈↓ α_4.␈αAdd␈αto␈αabove-␈αlimit␈αstop␈αsensing.␈αSet␈αprogrammable␈αlimits.␈αShould␈αthe␈αfeedback␈αcount␈αbe␈αabove␈αor␈↓ ↓H
␈↓ ↓Hbelow␈αa␈αlimit␈αnumber,␈αchange␈αthe␈αerror␈αnumber␈αto␈α
create␈α
an␈α
output␈α
command␈α
driving␈α
the␈α
joint␈α
back␈α
into␈α
its␈↓ ↓H
␈↓ ↓Hnormal␈αoperating␈αregion.␈αMake␈αsure␈αto␈αrevert␈αback␈αto␈αnormal␈αmode␈αonce␈αthe␈αjoint␈αis␈αwithin␈α
operating␈α
range.␈↓ ↓H
␈↓ ↓HCreate␈α
a␈α
small␈α
proportional␈α
region␈α
to␈α
keep␈α
limit␈α
stop␈α
motion␈α
stable.␈↓ ↓H
␈↓ ↓H
␈↓ α_5.␈α⊂Add␈α⊂to␈α⊂above.␈α⊂It␈α⊂is␈α⊂desirable␈α⊂to␈α∂know␈α∂when␈α∂the␈α∂joint␈α∂is␈α∂within␈α∂a␈α∂commanded␈α∂tolerance␈α∂region␈↓ ↓H
␈↓ ↓H(absolute␈αvalue␈αof␈αerror␈αnumber␈αless␈αthan␈αa␈αprogrammable␈α
tolerance␈α
number).␈α
A␈α
coarse␈α
and␈α
fine␈α
level␈α
should␈↓ ↓H
␈↓ ↓Hbe␈α∞selectable.␈α∞To␈α∞insure␈α∞that␈α∞the␈α
joint␈α
is␈α
really␈α
not␈α
just␈α
coasting␈α
thru␈α
this␈α
region,␈α
the␈α
joint␈α
should␈α
be␈α
in␈↓ ↓H
␈↓ ↓Htolerance␈α
for␈α
a␈α
prescribed,␈α
fixed␈α
amount␈α
of␈α
time␈α
(say␈α
about␈α
30␈α
ms.)␈α
before␈α
the␈α
in-tolerance␈α
bit␈α
is␈α
turned␈α
on.␈↓ ↓H
␈↓ ↓H
␈↓ α_6.␈αAdd␈αto␈αabove.␈αAbility␈αto␈αchange␈αgain.␈αThe␈αloop␈αgain␈αof␈αthe␈αsystem␈αcan␈αbe␈αchanged␈αby␈αmultiplying␈↓ ↓H
␈↓ ↓Hthe␈αerror␈αnumber␈αby␈αa␈αconstant.␈α
It's␈α
fast␈α
to␈α
multiply␈α
by␈α
2,4,8,...␈α
but␈α
how␈α
about␈α
by␈α
numbers␈α
between␈α
1␈α
and␈α
2.␈↓ ↓H
␈↓ ↓HThe␈αreason␈αfor␈αthis␈αis␈αthat␈αas␈αarm␈αgeometry␈αchanges,␈αand␈αwhen␈αcarrying␈αa␈αload,␈αmoments␈αof␈αinertia␈αchange.␈↓ ↓H
␈↓ ↓HThis␈αchanges␈αsystem␈αdamping.␈αThus␈αto␈αoptimize␈αperformance,␈αloop␈αgain␈α(and␈αalso␈αcompensation␈αterms)␈αmust␈↓ ↓H
␈↓ ↓Halso␈αbe␈αchanged.␈αAssume␈αthat␈αthe␈αLSI-11␈αcan␈αoutput␈αa␈αword␈αevery␈αonce␈αin␈αa␈αwhile␈α(i.e.␈αevery␈α100ms.)␈αwhich␈↓ ↓H
␈↓ ↓Hgives␈α
the␈α
new␈α
desired␈α
gain␈α
terms,␈α
etc.)␈↓ ↓H
␈↓ ↓H
␈↓ α_7.␈α∞Add␈α∞to␈α∞above-␈α∞As␈α∞this␈α∞arm␈α∞is␈α
a␈α
humanoid␈α
configuration␈α
device,␈α
all␈α
joints␈α
are␈α
subject␈α
to␈α
gravity␈↓ ↓H
␈↓ ↓Htorques␈α
which␈α
vary␈α
with␈α
arm␈α
configuration␈α
and␈α
load.␈α
To␈α
have␈α
zero␈α
position␈α
error␈α
in␈α
a␈α
gravity␈α
field,␈α
an␈α
offset␈↓ ↓H
␈↓ ↓Hterm␈α∂must␈α∂be␈α∂introduced␈α∂to␈α∂create␈α∂motor␈α∂drive␈α∂current␈α∂(motor␈α∂torque)␈α∂when␈α∂the␈α∂arm␈α∂is␈α∂at␈α∂the␈α∂desired␈↓ ↓H
␈↓ ↓Hposition␈α(raw␈αerror␈αis␈αzero).␈αThis␈αcan␈αbe␈αdone␈αwith␈αan␈αintegral␈αterm␈αwhich␈αis␈αa␈αfunction␈αof␈αerror␈αand␈αtime.␈↓ ↓H
␈↓ ↓HBut␈α∂the␈α∂time␈α∂constant␈α∂of␈α∂such␈α∞a␈α∞term␈α∞must␈α∞be␈α∞long␈α∞enough␈α∞to␈α∞prevent␈α∞overshoot.␈α∞A␈α∞good␈α∞feature␈α∞is␈α∞to␈↓ ↓H
␈↓ ↓Henable␈α
integration␈α
only␈α
when␈α
the␈α
joint␈α
is␈α
close␈α
to␈α
the␈α
desired␈α
position.␈↓ ↓H
␈↓ ↓H
␈↓ α_8.␈α
Add␈α
to␈α
above.␈α
As␈α
part␈α
of␈α
7,␈α
the␈α
LSI-11␈α
can␈α
look␈α
at␈α
arm␈α
configuration␈α
and␈α
approximate␈α
load␈αand␈↓ ↓H
␈↓ ↓Hcalculate␈αa␈αpredicted␈αgravity␈αtorque␈αon␈αeach␈αjoint.␈αIt␈αcan␈αoutput␈αthis␈αinformation␈αas␈αpart␈αof␈αthe␈αsame␈αword␈↓ ↓H
␈↓ ↓Hused␈α
in␈α
6.␈α
Thus,␈α
incorporate␈α
an␈α
offset␈α
term␈α
to␈α
the␈α
error␈α
signal.␈αThis␈αwill␈αmean␈αthat␈αintegration␈αneed␈αonly␈↓ ↓H
␈↓ ↓Hzero␈α
the␈α
errors␈α
in␈α
the␈α
offset.␈↓ ↓H
␈↓ ↓H
␈↓ α_9.␈α∞Use␈α∞encoder␈α∞count␈α∞rate␈α∞as␈α∞velocity␈α∞information.␈α∞Multiply␈α∞by␈α∞a␈α∞programmable␈α∞gain,␈α∞and␈α
subtract␈↓ ↓H
␈↓ ↓Hfrom␈α
position␈α
error␈α
to␈α
provide␈α
velocity␈α
damping.␈↓ ↓H
␈↓ ↓H
␈↓ α_10.␈α
Take␈α
derivative␈α
of␈α
count␈α
rate␈α
and␈α
use␈α
as␈α
acceleration␈α
damping.␈↓ ↓H
␈↓ ↓H
␈↓ α_11.␈α
Eliminate␈α
need␈α
for␈α
DAC␈α
by␈αmaking␈αerror␈αnumber␈αoutput␈αinto␈αa␈αprecisely␈αcontrolled␈αpulse␈αwidth␈↓ ↓H
␈↓ ↓Hmodulated␈α
output.␈α
This␈α
will␈α
drive␈α
a␈α
switching␈α
amplifier␈α
directly.␈↓ ↓H
␈↓ ↓H
␈↓ α_12.␈α
Enough␈α
for␈α
now...but␈α
I've␈α
lots␈α
more␈α
ideas,␈α
for␈α
those␈α
who␈α
are␈α
interested.␈↓ ↓H
␈↓ ↓H
␈↓ α_I␈αwill␈αbe␈αhappy␈αto␈αgive␈αa␈αthorough␈αdemonstration␈αof␈αthe␈αexisting␈αsystem␈αand␈αloan␈αthe␈αsystem␈αto␈αthe␈↓ ↓H
␈↓ ↓Hlab.␈α
for␈α
a␈α
while,␈α
should␈α
there␈α
be␈α
interest␈α
and␈α
hands␈α
on␈α
experience␈α
be␈α
warranted.␈↓ ↓H
␈↓ ↓H␈↓ ↓H
For furthur information contact:␈↓ ↓H
␈↓ α_␈↓ αh␈↓ β8␈↓ ∧λ␈↓ ∧XVic Scheinman␈↓ ↓H
␈↓ α_␈↓ αh␈↓ β8␈↓ ∧λ␈↓ ∧XUnimation, Inc.␈↓ ↓H
␈↓ α_␈↓ αh␈↓ β8␈↓ ∧λ␈↓ ∧X154 East Dana St.␈↓ ↓H
␈↓ α_␈↓ αh␈↓ β8␈↓ ∧λ␈↓ ∧XMountain View, Ca. 94041␈↓ ↓H
␈↓ α_␈↓ αh␈↓ β8␈↓ ∧λ␈↓ ∧XTel. 965-0557␈↓ ↓H