Download Gemini User manual
Transcript
USER-S X,III{UAL
This manual is to be used with the cEMINI
A R C T E CS Y S T E M S '
Robot Systen Version I.0.
INC. reserves the right to make irnprovements
to the products described herein at any time
and sirhout prior notice.
DlSCLAIMER
Atthoogh l{e have done our best to ensure
t h e a c c u r a c y o f t h i s r n a n u a l , A R C T E CS Y S T E M S '
lNC. nakes no trarranties as to this nanual
or the softvare described herein, the quallty'
for any particular
perfornance or suitability
T h i s m a n u a l i s C 0 P Y R I G H T E D .A 1 1 r i g h t s
are reserved.
It may not be reproduced in
ldhole or in part by any tneans without prior
trritten consent fron ARCTECSYSTEMS'INc.
T h e A R C T E C S Y S T E M Sl o g o a n d C E M I N I , t h e
uord and logo, are tradenarks of ARCTEC SYSTEMS'
INC.
\-
TA}LE OF COIITENTS
A Personel ]-etter
From The President
- ii
IITIRODUCTIOI
I
2
Hor{ To Use This Manual - 2
Introducing GEMINI... - 5
l0
GETTINC STARTED
3
4
5
6
Y o u r F i r s t L o o k A t G E M I N I- 1 1
- 18
A Robot ConesTo Life...
The Denonstration Progran - 25
Navigatio:r Systen Instatlation - 28
40
DAY-TO.DAY
USE
/
8
9
rne Lrvrng Loop - 4r
Voice Input/Output System (VIOS) - 46
- 61
SCHEDULER
68
USIIIG BASIC
l0
Il
12
!3
Introduc t ion - 69
General lnformation - 70
CommandsUnique To GEIIINI BASIC - 80
lrore About GEMINI BASIC - 86
XAIrIENATrcE
99
14 ltandle with care - 100
15
\,
what To Do If...
- 102
TIARIAI{TY
104
APPENDIX
r06
List
List
List
of Figures
of Tables
of Pictures
A PtrRSONALLBTfiR FRO{ Ttr
PRESIDEI{T
DeaT GEMINI OwneT,
welcorne to the fascinating world of advanced
personal robotics.
You have purchased the world-s
first
autonomous robot which is comrnercially
available,
You will soon find that your robot
or i(s own. lts
tife Soals are to entertain, educate, protect
and serve hunans. snd fo leep itself alive.
H h e t h e r y o u a r p a b e C i n n er o r a n e x p e r t
in
the field of robotics, you $i11 find GEMINh
I as
nuch to offer you,
It is our intention to make a1l hardware
and software in the robot open and available
to you.
We hope that by doing this you wilr
be provided oith countless hours of entertainrnent
and education,
as well as the opportunity to
nake significant
contributions to the field of
personal and industrlal robotics.
We believe
all of this is sorth nuch nore thao the purchase
price of the robot.
W e d o t r u s t , h o w e v e r ,t h a t
you will !espect our softoare copyrights
and
cEUINI is a very complex nachine and it
understand all
will take you sone tine to fully
its hardlrare and software.
To help you unlavet
and to provide you with hours of
the nysteries
learning and exploration, ire have
enjoyn€nt,
vritten tro manualswhich are intended to address
a wide range of users. our intention is to serve
the beginner as re11 as the expert in the field
of robotics,
and the manuals were designed l'ith
that purpose in nind.
ii
The first manual, the USER-S ANUAL' rs
d e s i g n e d t o g e t y o u e n j o y i n g G E M I N Ia s q u i c k l y
as possible. Technical details are purposely
kept to a mininun and "how to" infornation at
a naximun. It contains infornat lon you wi I I
need on hor to use the robot from start-up to
n a n a g e n e n to f i t s d a y - t o - d a y o p e r a t i o n s .
T h e s e c o n d n a n u a l , t h e R E F E R E N CMEA N U A L '
i s d p s i g n e dr o e d u c a t e y o u a n d p r o v i d e f a c t u a l
inforrnation required to customize' experiinent,
explore, and inprove th€ robot as you advance
your knoqLedge. Beginners nay find this rnanual
a l i r r l F " h e a v y "d u r r n B l h " f i r s r r e d d i n g . I f
so, we suggest you study it and refer to it frequently
as it is the key to advancing your knoqledge
in the field of lobotics'
O u r g o a l a t A R C T E CS Y S T E M Si s t o m a k e t h e
dream of personal robotics happen in our Iifetine.
We are
Y O Uc a n h e l p n a k e t h i s d r e a m h a p p e n .
docunented source code listinss
makins available
o f m o s r o f t h e l 0 0 K b y t e s o f R O M - b a s e ds o f t w a r e
at nominal cost so you can further your education
and enjoymentof GnINI.
If you study this soft'are
i n t h e U S E R ' Sa n d R E F E R E N C E
and the naterial
M A N U A L Sy,o u w i l l b e a b r e t o d e v e l o p n e v s o f t w a r e
and hardirare enhancenents. Share these enhancements
with us and other owners and we \till do the sane.
lf you want to se11 your soft\rare or hardware
e n h a n c e m e n tv e w i l l s u P P o r t y o u ' . . n o t c o n P e t e
with you,
tf you just l.tant to share your kno$led8e
lrith us and others, then send us your discoverres'
questions and ideas and ve vitl periodicatly
publish then in a newsLetter so aIl can advance
their knonledge,
Please feel free to orite
or call
us at anytine.
We l i k e r o b o t s . . . a n d p e o p l e .
k
ARC'IEC
SYSTn{S, Incorporated
9104 Red Branch Road
CoIunbia, uaryland 21045
Tele:
3Ol-130-1237
=
-{
-,
l='
e
c:t
=
e
-
sBcTronI
IT{TRODUCTIOX
CHAPTER I
HOWTo USE TITIS XANUAL
You are now reading the User-s Manual.
need to
the information you eill
It contains
i n s t a l l c E M I N Ic o m f o r t a b L ya n d e t f e c ( i v e l y i n
Descriptions of a1l of
your home o! office.
n
o
d
e
s
are given.
Although
o
p
e
r
a
t
i
n
g
GEMINI's
provide
you
mch
information
uiIl
vith
CEMINTitself
on the use of its systens, many imporlant details
we reconnend that
are covered in this manual.
for
you (eventuarry) read it cover-to-cover'
y
o
u
r
i
n
t
o
r
o
b
o
t
'
s
i
n
t
e
r
e
s
t
ing
naximuminsight
p e r s o n aI i t y .
If you revies the TabLe of cont€nts of this
nanual, you will see that it is divided into
S e c t i o n I ' i . , h i c hc o n t a i n s
five najor sections.
the first
two chapters, introduces the user to
T h e s ec h a p t e r s
the robot and its capabilities,
are essential !eading and wil I give you a feel
for uhat GEI,IINI is all about.
Section 2, calLed "Cetting Started", enccrnpasses
Chapters3-6, and explains all the detaits of
unpacking and assembling the robot, connecting
the charger, and setting up the robot navigation
systen so GEMINIcan find its way fron roomto
roon. Due to the sensitive nature of GEMINI-s
etecrronics, care nust be taken during the assenbly
']
and Lhis is ou(lined in Chapter. and 4. Chaprer
5 e x p l a i n s D E M O a, v e r v e n L e r L a i n i n Bp r o g r r m
U h i c h a l l o l r s C E M T N rTo s h o w o l l d s s o o n a s y o u
Section 3 is entitted "Day-to-Day Use" and
contains chapters 7-9.
These chapters tell hov
GEMINI's inany systems function and how you can
r n a k et h e n o s t o f r h e m , T h e " L i v i n g L o o p , " w h i c h
g i v e s r h e r o b o r : t s p p r s o n a l i r y( r r u . r L r F . i s
explain€d, Also, you are toid about the voice
input/output
system and SCHEDULER
a n, e a s y - t o - u s e
p r o g r a m i r h i c h l e t s y o u t e l l G E M I N Iv h a t t o d o
rithout ever vriting a progranr!
Section 4 is called "Using BASIC" and is
supplied to everyone purchasing GEMINIBASIC.
For ihosFof you Lho wish t o do your own programing
in a h;gh-lev"l languag", (l-apter"l0-ll are
really a progranner's reference manual.
GEI'IINI
BAS1C, as you will discover, is a very-nuch-enhanced
BASICwhich not only contains aIl the usual comnands
found in home conputers' but also incorporates
sinple comnands ohich allo\r you to control the
robot fron your prograrns. (Did you realize that
you q'ere Setting a home computer systen as well
as a robot ? )
"lleintenencer"
Section 5r entitled
Finallyr
It presents lhe procedure
containsChaPters l4-15.
you should folIow in the event of a nalfunction,
and lips on Proper care of your robor'
A s C E M I N Iv i l I s o o n i n f o r n v o u , i t i s a
"very rell-rounded robot.,' i/lle
you will
find uses for GEMINI that we haven-t even thought
of.
However' included in the tl'o manuals are
alL the things \re HAVE thought of' and uant to
So please lead thern' and keep
share olth you.
a
handy pIace, because you will
i
n
the volumes
to Ehen frequentlv'
refer
eant
to
probably
ve believe it is essential
In particular,
I
a
nd 2 of tttis USER'S MANUAL
you read sections
y
o
u proceed uith unPacking'
now, before
rieht
tetv ilDporlant' for the proper funcrioning
it=
ot yo"r rlbot ln the future' that the installation
GEMINl as a
and assenbly are done with care.
rnechanical
and
VERYcoltP].Ex tuixture of electronics
it should
c
o
!
r
e
c
t
l
y
'
nachin€ry. OIlce installed
i
t is very
B
u
t
r e q u i r e a r n i n i r n u mo f a t t e n t i o n .
to give
s
e
t
u
P
,"oittrrttif. during this initial
i t y o u r u n d i vi d e d a t l e n t i o n .
ch€cklists have been provided so that you
catt keep track of each ited as it is tested'
It eould be best NOTto unPack CEMINIunti I you
Ieast 3
are p
_ fr reopua. "r e d t o s P e n d a p e r i o d o f a t
and
of uninterruPted time installing
to 4
setting up the naviSation sYsten'
lte realize that you are getting
NOll. .
anxious to a€tually rneet GElllNI' so read on!
CHAPTER 2
INTRODUC
IIIC CEXINT ...
G E l 4 l N Ii s a t r u l y a u t o n o n o u s r o b o t s e r v a n t
capable of finding its way throughout a typical
homein order to carry out scheduled tasks assigned
T h e r o b o t c o i n n u n i c a t e sw i t h
to it by a use!.
text
b
y
voice and/or vritten
h
u
m
a
n
f
a
m
i
l
y
its
(40
c
r
y
s
t
a
l
d
i
s
p
l
a
y
o
n
b
o
a
r
d
I
i
q
u
i
d
using an
w
i
th
c
o
m
m
u
n
i
c
a
t
e
b
y
8
l
i
n
e
s
)
.
Y
o
u
characters
(
or
k
e
y
b
o
a
r
d
v
o
i
c
e
,
a
n
o
n
b
o
a
r
d
r
o
b
o
t
b
y
the
comPuter
conmunication
systen
or
a
remote
terninal),
connected to a personal comPuteror a telephone.
CEMINI is about 48 inches tall ' 20 inches in
dianeter at its base, and weighs about 70 lbs.
The robot has nany human-1ike qualities.
nonitors its poirer systen and
It periodicarly
issues warnings lrhen battery voltages go belo$
If voltages b€cone critjcally
a threshold level,
1ow, GEMINI issues a one-ninute !,,arning' then
6eeks out its battery charging
automatically
st at ion.
G E M I N Ic o n t i n u a l l y n o n i t o r s
In addition'
the on-board real-tine clock' to determine if
a task is scheduled to be carried outr whlle
wat€hing for input fron any of the user entry
ports--voice
input, keyboardinput' built-in
function keys, or renote comrunication systern.
S€heduled tasks ar€ entered into the robot
proSran' vhich rnay be accessed
throuSh rhe SCHEDUI,ER
b y t h e k e y b o a r d , F u n c t i o n K e y 1 t ' 2 ,o r t h e r e r n o t e
This program allows a user l^rith
comnunicator.
p
r
i
o
r
p
r
o
g
r
a
rnrning experience to assiSn the
no
b
e peiformed in a certain roon
robot tasks to
or rooDs at a certain time or time interval.
These tasks may include eake-up calls' reninders,
security patrols, operating Iights and appliances'
poetryr and more.
telling stories, reciting
out these tasks by navigatrng
The robot carries
through the roons and doors of lhe house with
systern
a unique, inexpensive, and easily installed
of infrared coded beacons and door edge reflectors,
CEMINI's movenent is nade possible by a
This system
four-irheel drive propulslon systen.
provides
the robot vrith the abillty
to nove over
r
u
g
s
w
i
t
h
o
u
t
s
t
a
l
l
i
n
g
,
a
n
d over door
heavy sbag
\,irhoJt bFing knockpd oif cour.e. CEI,IINI
sill.
(For safety purposes'
has l6 running speeds.
none are faster than a nediun \ralk. )
CEllINl is equipped with a great nany sensors
in navigating
through the house and
to assist
patrols.
d e L e c L i n g p r o b l p m sv h F n o n s e c u r i t y
Most of these sensors are located in the head
( w h i c h r o t a t e s 3 5 9 d € g r e es ) .
They inc lude a
room beacon infrared detecto!' door edge infrared
detector, ultrasonic notion detector, smoke detector,
light detector,
and sound levet detector.
There
are a total of nine ultrasonic coilision avoidance
and navigation sonars. The circutar base is
entirely ringed !rith a four segmentbumper to
allow the robot to knov when it has madephysical
c o n t a . r v i t n a n o b j e c c u n d e L e c L eb
dy i t s s o l a r s .
by the
Voice connunications are initiated
robot \rhen the power is flrst
turned on. GEMIN1's
voice makesuse of the latest Silicon Systens
S S I - 2 6 3u n l i n i t e d v o c a b u l a r y s p e e c h s y n t h e s i z e r .
You may select one of several different voices
fo! the robot.
1s
A text-to-speech atgorithn
also inc luded as part of the voice software.
This aLlows you to enter voice nessage nenos
as text irhen using SCHEDULER
or BASIC.
G E M I N Ia l s o c o n t a i n s a n a c c u r a t e , s p e a k e r
dependent, language independent, adaptive voice
recognition systen. In addition,
a unique VOice
- is available
Connand Language - Vocol (optional)
for comanding nany of GEMINI's actions,
Training
the robot to recognize your voice is effortlessly
CEMINI telLs
carried out by the robot itself.
you what to say using its voice and the Iiquid
crystal display.
Once trained, the roboc renembers
and constantly updates che
that you trained it,
'ord recognition parameters as you use them.
This adaptive voice recognition feature actually
of your
a l l o s s G E M I N It o i n p r o v e t h e r e c o g n i t i o n
spokenwords the morc yorr taLk to it.
on-board keyboard is a full
The optional
typewriter-styIe keyboard which nay be used 1n
a c o i d l e s s n a n n e ) :v i a i t s i n f r a r e d c o m n u n i c a t i o n s
1 i n k , o r w i r h 3 c o n v e n t i o n at le l e p h o n e - t y p ee x t e n s i o n
cord. After use, the keyboard stores conveniently
inside the robot.
If you did not purchase tbe
keyboard a dunb terminal may be connected via
L h e R S 2 l 2I i n k . A s i m p l p s \ r i t c h s F t t i n g i s a l l
that is required.
The main conputer onboard GEMINI contains
-s prosophisticated soft\rare to suit every user
g r a n n i n g 1 e v e 1 . D E M O ,a c c e s s e d b y F u n c t i o n K e y
#I or frorn the keyboardr is a nenu-driven denonprogran in RoM (Read 0n1y Mernory) nhich
6tration
lets GEMINI introduce you to a pushbutton sampling
This 1s a handyway to show
of its talents.
off your robot to friends ' oith no prograrnnring
on your part at aII.
The SCHEDULEp
Rr o g r a r n , a l s o i n R O M ,a l l o w s
p
r
o
g
ramrning experience to make
a user with no
p
e
r
f
o
r
l
!
the robot
useful and entertalnlng tasks
hoDe.
Ior
the beginner and intermediate,
around the
there is cE}lINI BASIC in ROM. This is the familiar
B A S I Ch i g h l e v e I p r o g r a n n i n g l a n g u a g e e x p a n d e d
to write conplex prograns
to include the capability
for the robot that involve novenent, sensor input,
and remote control
of devices.
For the nore
s k i l l e d p r o g r a n m e r , t h e r e i s a I ' I O N I T O Rp r o g r a n
i n R O Mw h i c h p r o v i d e s t h e u s e r a c c e s s t o t h e
ne!' CUOS65c02 microprocessor and on-board nachine
language subroutines.
The MoNITORalso contains
a buirt-in 65C02disassenbler for program debugging.
Hardware located on the maro conputer rs
cIock,
quite extensive.
There is a real-tine
g
g
random
l 6 c h a n n eI a n a 1 o t o d i i t a 1 c o n v e r t e r ,
nnmb€rgenerator, an RS232 serial portt a Centronics
style parallel printer port, and a high-speed
bi-directionat parallel data transfer port for
p!ograrn developnent using another compute!' all
Memoryconsists
nith built in driver progr:amE.
o f u p t o 5 6 K o f b a t t e r y - b a c k e d C M O SR A U ( R a n d o n
Access llenoly) and up to 63K of Rotl. There are
also four s Iots for user experimentation and
and ioon for an optional c oS
n e r , rp e r i p h e r a l s ,
3-1l2 inch floppy disk drive or nafer endless
The entir€ conputer uses the new
tape drive.
loi, porer, high-speed, Cuos logic so the robot
will only need to recharge its 6atteries infrequently.
to the nain comPuterr there
In addition
compute!s' each with
o
t
h
e
r
a
u
xiliary
are three
its or'n RAM and ROU, to help eith all the chores
the robot must perform.
The propulsion system is conpletely ccmtrolled
s y s t e m ( P R o C O N )e h i c h
by its ol'n nicroconputer
is und€r the direct commandof the nain conputer.
This conputer controls a four-wheeI drive system
using pulse width nodulation techniques ard infrared
control.
LED feedback for speed and distance
The robot is able to track in a nearly perfect
c o m m a n d e dd i s t a n c e s
straiSht line for precisely
either forward or backeard l'ith accurecy around
+ I inch over 10-s of feet.
P R o c o Nc o n s t a n t l y
monitors the four contact bunpe!s on the base
(vhen they are activated) and eill stop the robot
if any bumper rnakes contact rrith an object.
T h i s c o n p u t e r c o n t a i n s 2 K o f R A l . {a n d 2 K o f R o M '
and can be turned on and off by the rnain computer.
This computer also uses aII high_speed O(os logic.
rnicrocomputer handles
The second auxiliary
voice input/output and sound generation (VIOS).
The main conputer can connand VIoS to enter one
of three modes: (1) voice recognition; (2) voice
synthesis; and (3) sound synthesis. Voice recognition
allovs for recognition of up to 256 uords or
short phrases in 16 groups of 16 words each, Each
group nay be individually trained and a1l groups
use the adaptive voice recognition updating feature.
The votce synthesis mode provides a versatile
array of prograns.
It can conver:t typed text
into spoken q'ords, sing, and change its voice.
The sound generator contains nunerous canned
sound effects including a gunshot, chimes and
others.
GEMINI can also sing l{hile accompanying
itself
on a synthesized piano!
This computer
u s e s h i g h - s p e e d C M O Sl o g i c f o r a l m o s t a l l o f
its parts.
The third
auxiliary
co'nputer (optionar)
is not located on the robot.
CalIed the Renote
Comlnunication System computer (RCS), it is designed
to handle remote communications with the robot
via a radio link.
The RCScan be controlled
directly by the robot or the robot can be caIled
by the RCS. The latter feature allors the RCS
to be used as a remote entry devlce.
The RCS
is equipped \,ith a BsR controller $hich allows
appliances,
the robot to turn on/off lights,
The robot could also
security devices, etc.
be progranned to turn on/off a personal conputer
o! printei.
G E M I N I c o u l d t h e n c o m r n a n dt h e R C S
to connect vith the conputer or printer,
and
thus upload or dosnload data into its nedory.
T h e R C Sn a y a l s o b e c o n m a n d e d t o h o o k t o i t s
on board noden, allowing GEMINI to cominunicate
Heard enough yet? There's more, but this
should give you a pretty good overall idea of
CEMINI's versat i l ity and depth.
B u t , a l o b o t n u s t b e U S E Dt o b e a p p r e c i a t e d ,
5o turn the page and l'e'll get on with the show...
=
E:I
--{
a
-{
E
SECTION 2
GETAING STAITED
10
CHAPTER 3
YOURFIRST LOOK AT GEXINI
arrive at its nev
The cEMlNl Systen vill
The number on the carton
home in four cartons.
relates to the sequencein assembling the robot.
Roxes +2' 113
Box tll contains the accessories,
and /14 hold the base, tolso 3nd head, respectively.
T o a s s e n b l e C E M I N Iy o u w i l l n e e d a n f 1 l 3 2 " l t r e n c h ,
pliers and a screwdriver. As assistant is recom-
Since you are reading this nanual, you have
If a keyboardr additional
opened the correct box.
loon beacons and/or door edge reflectors uere
purchased, they should be included in this box.
PIease check the packing Iist to verify that
all parts are there and then set this box aside.
You 'rill need it again after the robot is assenbled.
NOTB: If you have not read Chapter l4' "gandle
with carerr in section 5, please do before continuing.
First,
open
Nor...to assemblea robot,
Box #2 and renove the base section. Be careful,
the base contains the batteries and is heavy.
The front of the base is identified by the brass
plated bumper, knoen as the "charging bunrper."
be irnportant lrhen positioning the
ThiE nilI
Located olr the top of the base are elght
torso.
Using
shock nount studs for attaching the torso,
the rl/32" srench. remove the nuts and set then
aside unril the torso is in position.
ma!ked
GEUINI-s torso, in the container
t
o
u
n
p
a
c
k
.
Making
i
s
n
e
x
t
s
e
c
t
i
o
n
Box /t3,
the
u
p
'
r
emove
sure that the barrel is right side
p
l
i
e
r
s
.
P
i
v
ot the
the Locking safety wire with
p
o
i
n
t
o
'
c
l
o
c
k
a
n
d
then
at six
lock clockeise to
pull the handle toeards you, releasing the aluninum
IT
ring.
Nor, carefully stide GEMINI's torso out
of the container.
If you ever plan to transport
G E M I N It o o t h e r l o c a t i o n s , t h e s e c o n t a i n e r s s h o u l d
be saved for your convenience.
The front of
the torso can be identified by the multiple sonars
and dual speakers. Position the torso for the
s a m eo r i e n t a t i o n a s t h e b a s € .
)ssary to rernove
the plastic
shell on the torso. To do this,
simply remove the three plastic finger sc!ers
on each side of the torso.
These can be seen
;n FigureLl,
T h e r ea r e l o u r s L r e w s r e m a i n i n g .
tro on the lower front and tvo on the lower back.
While holding the shel l in position,
remove the
front
lower screws and the shell should come
off.
Repeet for the back side.
^ r
r h i c
n ^ i n r
i r
i c
n a .. .
Taped to the Iower torso aluninum plate
are jurnpers for battery backing of the Main conputer
and VI0S.
Locate the green and rhite battery
on each board and slide the connector onto J20
on the Main Computer and J5 on VIOS.
Ar ahis poinr in
person is helpful.
rhe assenbly, a second
WhiIe carefully handling the torso so as
not to touch the electronic components, guide
the base wire harness through the opening in
the large aluninun disc.
Al ign the holes with
the eight shock mount screws on the base and
secure \rith the hex nuts. Connect the base connector
Jl to the large torso connector narked J4, as
shownin Picture 3- l.
T h p l . < r < r F n i F t n . ^ n n e c L r h e h e a dw h i c h
is in the rernaining box marked li4.
0n the underneath
side ther€ should be a small AIlen irrench attached,
Please find and remove. This is used to first
remove the brass gear and then replace it once
To remove the gear,
the head is in position.
sinply insert the wrench in the holes and turn
t2
FICURE 3.I
EXTERIORABS PLASTIC SIIELLS
'wtun
\H\N
-----6-
13
3.1
PICTURE
f,ARI{ESSCONNESIIOI{
TORSO/BASE
PICI'TIRB 3.2
PROPERPOSITIONING OF BRASS BEAD GEAR
t4
counter clockrise until Ioose. Position the
head onto the torso by sliding the brass bushing
through the hole and replace the gear underneath.
Refer to picture 3.2 for proper positioning of
Usin the saine Allen wrench but
the brass gear.
turning clockirise ' secure the gear in place.
Be sure to store the wrench in a safe place for
future use. To cornplete the head assenbly' the
plastic
shell must be r€rnoved. Only three screws
Renove
hold it on as pictured in Figure 3.1.
the shell off.
Cuide the torso
these and.lift
harness \rith connector Jl up through the hold
in the botton of the head plate and connect vith
the head connecto! naiked J1.
l f a t e r n i n a l i s t o be used instead of the
cEMINI keyboard, switch s e t t i n g s o n t h e m a i n
c o m p u t e r n u s t b e c h a n g e d . The switches are shor,rn
be1 o w .
PICITIR.E3.3
T{AIN COHPUTERSWITCEBS
15
The fo i I owing chart lists
each termina l.
Sl,ll
CONDITION
On
off
Terninal
Keyboard
sr,i2
sl.J3
off
On
off
off
0n
On
OTI
0n
E h e p r o p €r s u i t c h
BAUD RATE
300
600
1200
2400
Final1y, !epLace the plastic shells and
the assembly is complete. This is very inportant
foi the protection of GEMINI-sclrcultry.
congratulations' you nov have a Iife
sized
A s w i t h a n y n e i r b o r n , G E M I N In u s t b e f e d .
R e m o v ea n d u n p a c k t h e c h a r g e r f r o m B o x l l l , Y o u
should also retrieve the black static mat from
the box. The next step is for you to decide
where GEMINI-s "home" base is going to be placed.
s n v i r o n m e n ti s
A central location in CEMINT'p
suggested but under
required.
You can
put GEI,IINI's home base anyshere 19! lrant.
The
charger is desi8ned to be placed along a straight
eall or in the corner of a room. The only conside!ation i$ its placementis that there be ar
least four feet of clear space in front of the
charger.
Once you have decided on the charger-s
location, place the static nat on the floor
first
and then the charger on top of the mat. Connect
the charger static line to the scre$ on the back
left side of the charger. This wiII help dissipate
any static charge built-up
in the robot via the
mat and static line.
Itaving set up a hone base for GEMINI, you
must no$ provide an address tor this location
so GEXINI can alirays find "home". This is done
by installing a room beacon directly above the
charger.
The roon beacon can be found in the
s a m e b o x t h a t t h e c h a r g e r a n d t h i s m a n u aI w e r e
found,
On the back side of the beacons is a
6et of sr{itches. The one l,ith switch I in the
O N p o si t i o n a n d a 1 l o t b e r s i n t h e o F F p o s i t i o n
i s t h e h o m eb e a c o n . I t h a s b e e n t u n e d s o G E M I N I
recognizes this as its hone-addressedbeacon.
The b€acon can now be posit ioned on the oal I
directly
behind the charger and about 42 inches
above the surface CEHINInill
be runnins on vhen
it maneuvers to cone home.
CHAPTER4
A ROBOTCOTIESTO LIFA...
W h e nC E M I N I i s f i r s t
povered up, it wilt
introduce itself and perform a series of initialization tasks.
These tasks are for the purpose
of determining that GEMINI's systems are functioning
proPerIy.
T o a s s i s r y o u i n i d e n t i f y i n g s u i r c h e sa n d
other itens referred to during the system checks,
ee have included sketches of the robot -s inner
structure.
Figure 4.I is a front view and Figure
4.2 is a rear viewBoth are located at the
end of this chapter.
Before turning on the porer,
have completed the folloving items:
nake sure you
I ) R e vi e s t h e C h e c k l i s t a t t h e e n d o f t h i s
c h a p t e r . T h i s w i I I h e t p y o u r , r h e nC E M I N I s t a r t s
i t s s y s t e n c h e c k s, H a v e a p e n c i l f o r f i l l i n g
it in.
2 ) Have the
keyboard attached and turned
3) Hake sure the robot is properly connected
to the charger. If it is not, reposition the
robot so as co "mate" the front charger bunper
vith the charger brass plates. The charger indicator
Iight,
l o c a t e d a s s h o w ni n F i g u r e 4 . 2 , s h o u l d
be ]it.
4) Make sure you position yourself so that
you can iead the LCD screen in the robot's back,
(The angle of the display can be adjusted by
turning the wheel located as shosn in Figure
4.2).
when GEMINI speaks, its words vill appear
on the screen. This is to h€lp you become accustomed
to the synthesized voice. At first you may have
t8
a I i t t I e d i f f i c u L t y u n d e r s r a n d i n gc E I r r N r - - i t
s p e a k sw i t h a r o b o t " a c c e n t r r - - b u ti n r i m e y o u
wiII find it quite understandable.
Noo you are ready to bring CEMINI ro Life.
T h e p o w e r s w i t c h i s l o c a t e d a s s h o r / ni n c h e
a c c o m p a n y l n gF i 8 u r e 4 . 2 .
Flip it on.
If you have purchased the Life Lires optlon,
a l s o s h o l r ni n F i g U r e 4 . 1 , t h e y s h o u l d I i g h t u p ,
GEI'IINIniII now enter the
initializarion
and
checkout nodes. Take note of any iten rhat cEl,tINI
diagnoses as malfunctionins and fil i in on the
1) The first
systen to be checkedis the
VIOS computer irhich, you may recaII,
stands for
V o r c e I n p u t / 0 u t p u t a n d S o u n dg e n e r a t i o n c o n p u L e r .
I f c E M T N Ii s s p e a k i n gt o y o u . L h a c i s a S o o d
indication
that VIOS is working!
C E M T N It h e n
c h e c k s o u t t h e R A M a n d R O t {n e m o r y c h i p s o n t h e
VIOS board, and the speech and soundchips.
It vill
let you knolr if any of rhen ale faulry.
2) A check of three battery voltages is
performed. These should all be betoeen tI and
14 volts.
3) The ROMcard is the next iten ro be
checked. During this check, any ROMsnor in
place are repo!ted as bad or missing.
This is
o k a y . T h e b a s i c r o b o t ! r l I l r e p o r t R O M S3 , 5
a n d 7 , I { h i l e t h e E D U C A T T O N ASLy S T E U ( w / B a s i c
and Vocol) r€ports ROM7. A cornplete board should
Pass the test.
4 ) N e x t , t h e m a i n c o n p u r e r s ' R O Ma n d R A l t
are checked, folloned by a reporr on the total
arnount of avai lable RAI'i.
5) A search for a disk or
tape is nou
performed and reported.
If neither of these
p e r i p h e r a l s i s a t t a c h e d , the robot eil l report
"r/o E*RoR32".
I9
b) CEMINIril L ask you to .est the keyboard
by presslng "K," lf a "K" is not received, check
to see that it's turned on.
The lR link will be tesred.
Be sure ro
arn at the IR receiver Iocated jusr above rhe
LCD.
7) Next, the real-time clock nusr be set,
in the fornat indicated by cEMINI.
When yoLl
have entered the tine and dare, it will be displayed
on the screen, and you ri11 be asked to verify
whethe! or not it is correct.
The seconds should
be changing.
8 ) N o w , a c h e c l , ,o f r h e P R O p u I s i o n C O N t r o t
( P R O C O Nc) o m p u t e r i s p e r f o r n e d .
T h e R A Mc h i p ,
Ieft motor, and right inotor are checked.
9) The bunpers are checkedin a counter
c l o c k w i s er o t a t i o n s t a r t i n g w i t h t h e f r o n r c h a r g i n g
bunper, You oill
be asked to press eachbunper
so the lobot can verify its operation.
If a
bunper is not working, the robor will rotare
sllghtly
for about 5 seconds and report which
bumperit is.
l0) Each of the sonars is checked in turn,
and a range in feet is reported.
As each sonar
1s fired, hold your hand, a book, or other flat
object approximately one ro riro feet in front
(Sonar Iocations are shown in Figures
of it,
4 . 1 a n d 4 . 2 ) . T h e r a n g e g i v e n b y G E M I N Is h o u l d
natch the distance fron rhe sonar ro your hand
or object. Record each range in the space provided
on the checklist.
IOTE: 1f you do not hold anything in flonr of
the sonar and if there is no waII or other surface
!,'ithin the sonar's range, a false reading rnay
be given. Don't be disturbed by this.
20
ll) A check of the head drive systen is done
next, followed by a search for room beacons and
door edge detectors.
Don't worry if the beacon
is not prcked up, a height adjustment \ri11 probably
solve the problem.
l2) The rotion d"locroris the last LhinB
to be tested.
When instructed, nove your hand
in front of the motion detector.
The location
is shownin FiSure 4,L
When initialization
is complered,cEMINI
g o e s d i r e c L l y i n t o r h F d e m o n s r r a t i o np r o g r a r .
At last,
you can actually USEyour robot!
2l
N
J
F
:
E
:
;
i
E
CflAPfiR
5
THE DEHONSTMTION PROGRAU
GEMINI-s Denonstration prosram (DEMo) is
an easy to use program designed to shol'off the
varred talenrs of your robor.
tr is so easy
to use thaE it does not even require a keyboard
for input.
The function keys on rne ror,or are
alI that is needed and as for ralent, cEUINI
speaks for itself !
When GEMINI enEers DEMO,a nenu is printed
on rhp screen. lr looks Iike Lhis:
I
2
3
4
5
-
PLAY IT AGAIN, GEMIN]
AUTHOR
! AUTHOR!
THE SENSUALROBOT
ACROBOTICS
EXIT
T h e n u m b e r so n r h e t e f t r e f e r t o t h e f u n c t i o n
keys located just above the screen, or the keyboald
keys l-5,
Key I is for denonstraring cEMINr.s
'r'usical.and sound generating abilities;
key 2
allows it ro show off its Iirerary talents; key
3 is not as kinky as it sounds--it merely;ho!,;
off your robot-s use of its sensors; key 4--,'Acroboticsi--sinply
r e f e r s r o G E M I N .I s a g i l i t y
and
nobility.
Each of these keys, when pressed, causes
another menuto appear, from which you nay setecr
tne specific rask you wish GEMINIro perform.
Thesetasks include ptaying music, reciting poems
and stories,
noving about, and recognizing your
voice. Whenthe task is complete GEMINI returns
to the menufor another selection.
If no selection
is nade oithin
a m i n u t e , G E M I N Tw i l I e x i t D E M O
and enter the LIFE I;IENU.
25
SELECTIONI - PLAY ]T AGAIN, GEMINI!
SOUNDAND MUSICMENU
I
2
3
4
5
-
STAR WARS
NAT]ONAL ANTHEM
OCIAN SOUNDS
GUNSHOT
EXIT
SELECTION2 - AUTHORIAUTHORI
AUTHORMENU
I - POET
2 - STORYTELLER
3 - EXIT
SELECTION3 - THE SENSUALROBOT
THE SENSUALROBOTMENU
I 2 3.
4 5 -
SICHT AND SOUND
TIME
TEUPERATURE
E A R O M EITCRP R T S S U R T ,
EXIT
SELECTION4 - ACROBOTICS
ACROBOTICS
MENU
I 2 3 4.
5.
DANCE
VOTCECONTROL
BASIC CONTROL
SOMERSAULT
EX]T
26
Y o u c a n k e e p G E M I N I p e r f o r m i n g i n D E M Oa s
i . f h e ny o u a r e r e a d y t o n o v e
long as you like.
on, press key 5--EXIT. when this key is pressed,
the robot checks to see if the navigation system
Since this has
room beacons have been set up.
not yet been done ( I an assuming that you have
j u s t t u r n e d C E I 4 I N to n f o r t h e f i r s t
tine)' the
If
robot lril1 ask if you tish to do it now.
the answer is "Yes," type "Y" or "Yes".
I I I P O R T A I!{ T l f y o u d o n o t u a n t t o s e t u p L h e
roon beacons at this time, type "N" or "No."
cEl4lNI will then drop into its l,iving Loop (see
chapter 7).
llhen you are ready to install the
navigation systemr just type "R"r and GEHINI
rdiII beBin requesting data for the room tables.
If you are noir ready to set up the beacons
and let GEMINIstart to find its ltay around'
just tuln the page...
f,OTB: once GEMINI has entered the Living Loop
a n d t h e L i f e l , I e n ui s d i s p l a y e d o n t h e s c r e e n '
the DEI{oprograrn can be entered at any time by
pressing Function Key I or key "1" on the keyboard,
(The initialization
and system checkout are only
perforned when the po\rer is first
turned on.)
21
CHAPTER 6
NAVIGATION SYSTtr INSTALLATION
personal robot to be
CEMINI is the first
e q u i p p e dr i t h a c o n p t e t e b u i l t - i n
navigation
systen.
In arriving at the systeD designy our
engineers pondered the nethod used bv hunans
to find their way around a house unfaniliar to
then.
Think for a moment how your ovn "navigation
systemt' lrouId operate in such a situation.
Inagine
yourself arriving at a party held in your friend's
new house.
You enter by the front door into
a foyer. You qant to put your potato chips and
dip in the kitchen, so you search for a 1ikely-looking
door. You go through the door and look to see
if you are in the kitchen.
If not, you determine
whether this is a room that would logically be
located near the kitchen, such as the dining
roon.
1f so, you look for another door ohicb
night lead to the kitchen.
You continue in this
nanner until you find a path, through door:s and
rooms, which leads you to the kitcben.
As you
follolr along your path, you will
continually
a v o i d o b st a c 1 e s .
EssentiaIly,
C E U I NI s n a vi g a t i o n s y s t e n
operates the sameway. Each roon contains a
p a c k a g e db e a c o n , l r h i c h s e n d s
small, attractively
out a logic code frorn I to 15. GEMINIis able
to determine what room it is in by decoding the
b e a c o nn u n r b e r . W h e n t h e r o b o t i s r e q u e s t e d t o
nove to another room, it first
scans the roon
for a beacon. It then searches for all th€ doors
(each narked with a snall door edgereflector).
Using infornation previously entered by the user,
GEHINI is able to determine into vhich room each
door leads.
2B
, s i n g a d v a n c e da r t i f i c i a L i n t e l l i g e n c e
Ne\r,
shortest
D . o s r a m h i n s L e c h n i q u e s . C E M I N Tf i n d s L h e
roon'
i " i i t 1 " , " , n u n b e ro f d o o r s ) t o t h e d e s i r e d
i i " t " t " a t h e n P r o c e e i l st o f o l l o $ ' t h i s P a t h '
sonars'
usins Lhe door edge reflectors and the
o
I
r
r
i
B
o
n
onetrrc
n
u
n
b
e
r
t
a
r
g
e
i i " r - . u . , p e r f o r m sa
c
o
r
r
e
c
r
lv and
i
t
s
e
l
f
p
o
s
i
t
;
o
n
""1."1",i."" to
imnediatelv
GEMINI
doorvav'
*..r.r""t ,ttt."gn the
beacon to nake sure 1t 1s
checks the
If not' it backs up
where it expected to be'
As rt noves
and reDeats the scanning Procedrrre'
and
"i.'" I ".ir.' it uses the tront bodv sonars
Lo avoid obsLaclesand possible
;";;;';"...
rf it dis€overs an obstacle
"iit' obiects.
"""*.i
it sea.ctres for a i'av around it'
l"^Ti"
o.in,
to get
G E M I N I; i I 1 n a k e u p t o t h r e e a t t e m P t s
to the right room.
you
Before the system can be inPlemented'
e
d
ge
d
o
o
r
a
n
d
the roon beacons
must install
b
a
t
t
€
ry
t
h
e
u
p
set
W h e ny o u f i r s t
reflectors.
i
t
s
i
n
s
t
a
l
l
e
d
h
a
v
e
you shoufd
"a.ai."'
.fr".*.
(consult
"1")
tine'
;i.*Ei
sane
(cod;
at the
t...."
Tbe roon in which Ehe
l
s
'
)
d
e
t
a
i
f
o
r
:
ci.p..'
.
Tt ne€ds
c b a r g e r i s I o c a t e d i s a l s a y s R o o ni l l '
no additional beacon'
The other roon numbers should be assigned
(rt helps to sketch
br u.; i" u t"gi."r nanner'
the rooms
a f L o o r p L a n o f v o , ' n " u s e s h o w i n ga l l
rn eacn
ana aoors-.) A location should he chosen
be rn a
ioom fo. the co.led beacon' lt should
fron
"r.r' that the beacon can be seen
"""iii."
u
s
i
n
g
'
b
e
w
i
L
L
aIL Lhe door. GEMINI
placed as
One door edge reflector must be
e
a
ch door-'
o
f
e
d
g
e
t
h
F
close as possible Lo
or lett
r
i
s
h
t
f
h
e
pLaced on eithpr
;L";r;-b;
y
ou have
a
t
L
e
r
. i a " . ' O n y o , r rf l o o r P l a n s k p L c h '
l
ocatron
t
h
e
"tt tft" r.oo*" and narked
"r.t"..a
nunber
n
e
x
t
of each coded roon beacon' vou nust
beacon'
the
from
the doors in each roon, CI-OCKI'/ISE
ii.i" i" "..v important for GEUINT-s navigation'
z9
-s point-of-vie!t'
a door is
Fron the robot
defined as an opening which !eads into another
Doorslthich are usuallv
room (or corridor).
closed or which lead into places that you don-t
wish your robot to go (such as into closets or
out-of-doors) should not be marked with a reflector'
SPECIAL CASES
rooms
If alI buildings had only rectangular
connected by smaIL doorways,sPtting up roon
b e a c o n sa n d d o o r e d g e r e f l e c t o r s w o u l d b e s t r a i g h t folward. Hooever' architects have firred buildings
uith corridors, L-shaPed roorns and very wide
To set up the room beacons, sone ludgenents
n u s t b e m a d er e g a r d i n g t h e s e s p e c i a l c a s e s .
For example, in Figure 6.I, the Living roon and
dining roon have a very wide doorway' naking
it necessary to classify this as one room. Anoiher
unusual €ituation exists in the foyer/hallvav.
Since the beacon in the hallway vouLd be visible
fron the foyer doorways' it is necessary to consider
this an L-shaped roon and identify it as a hallwav
in the robot-s roon tables (there is no special
for L-shaped roons therefore H=hallwav
crassiflcation
is used). These cases also require the approPriate
of all
response to positioning for visibilitv
Both should be entered
door edge reflectors.
as a room whete aII the reflectors can only be
seen from the beacon. Some experinentat ion nay
be necessary in these special cases.
Table 6' I provides a place for you to list
they \'rill be handv
roon
numbers and
the
o
r
d
e
r
of assignnent.
t
h
e
y
o
u
f
o
r
g
e
t
in case
b
e
a
c
o
n
s
w
itch settings for
t
h
e
It also includes
f
i
l
I
then in noe!
e a c h r o o r nn u o b e r . P l e a s e
(Use a pencil, in case you need to nake changes
later, )
30
N o w y o u a r e r e a d y t o p r o v i d e G E M I N Ii " / i t h
d
the ata for the roorn tables. If you are in the
"R" to enter this data. The
LIFE MENU,type
"1S
robot !rill display on the screen and say'
THIS HALLWAYOR ROOM? TYPE H FOR A HALLWAYOR
R F O RA R O O | I . " A i L e r ( y p i n g t h e a p D r o P r i a t e
s a y " E N T E RB E A c o NC O D EF O RT H I S
key, GEMINI \rill
"
ROOU. Simply type in the numbe! you have set
the beacon for in thrs room.
For nost rectangular roons' aII the door
reflecto!s should be able to be seen from most
anyuhFrein the room. How.vFr, in
there nay be only a snall area in tbe roon from
which all the refl€ctors can be seen. The room
say: "IF ALL REFLECTORS
table entry program vill
IF ALL
C A N B E S E E N F R O MR O O } ,CI E N T E R ,T Y P E C .
BE
SEEN
FROM
TltE
ROOU
BEACON,
CAN
ONLY
REFLECTORS
T Y P EB . ' '
Give appropriate response for this
GEMINI will then ask for the numberof doors
in this roon; 'hich room is on the other side
of each door; on shich side of the door the reflector
is located (L or R), and a rough estinate of
the width of each door in inches. Note that
a door can have different numbers , depending
on vhich room the door is seen from. The robot
vill ask for this infornation for each room,
When you have entered all the infornation,
GEMINI'snain conputer now noves into the Living
Loop, and the LIFE IIENUappears on the screen.
(Then€xt section will telL you more about the
You can now proceed with beacon 3nd reflector
Door reflectors should be installed
installation,
about 3-ll2
feet up from the floor' as close
Roon beacons should
to the door edge as possible,
be installed
i n t h e s a m em a n n e r , v i t h t h e c e n t e r
of the beaconapproxinrately 38" up from the floor.
3t
Roolr 7
|
BEDROOII
I
(. \ ,
=
\ ^t|
G
BEDRO(XFOYER I
Ro(x
O
l2)
Y-:r-'
ROOX 3
\LY
DET
2
UIRROR
ROO{ 6
BEDRO(X
)
TITII{GS TO REXEUBERDURING INSTALI,ATION
someguidelines
the room beacons,
to folLou when setting
1 . T h e R o o mB e a c o n s h o u l d b e v i s i b l e
from alt doors through \rhich GExINI
can enter the room. PIease refer to
I n R o o m2 , t b e l i v i n g
Figure 6.1.
roon/dining roon combination' a single
b e a c o nc o u l d n o t b e v i s i b l e f r o m b o t h
In this case, teo
doo! I and door 3.
beacons are set to code 2 and placed
in the roorn such that the relative
position of the doors in a clockwise
r o t a t i o n i s i d e n t i c al .
2.
To nake sure GEMlNI can see the
beacon, position it about four fe€t
in front of the dooruay. lihiIe in
and cEMINI
t h e L I F E M E N U ,t y p e " L " ,
wilI search for the beacon and identify
shat is found. If it nisses the beacon,
1f this
try adjusting the helght.
beacon
to
another
work,
rnove
the
does not
3.
If possibl€, position the door
e d g e r p t r o ( t o r s o n f h . o p D o s i t es i d e
the door is hinged on. Thls may helP
To
G E M I N It o p i c k u p t h e r e f l e c t o r .
check this, type "M" fron the LivinS
L o o p a n d C E M I N Iw i l l r e p o r t t h e n u m b e r
of reflectors found.
,.
C E M I \ l r n a yo . . J s i o n a L l v p i . r u p
reflections from mirrors' light s\titch
covers, windows, and other shiny objects.
In most cases, these are only d€tected
from a snall area in the roon and therefore
n o Ld p ' o b l e m . I f I h . r o b o t p i . / s
up an extra reflection' it wiLl reposition
itsel f and try again.
33
up
If a reflection is picked!p fairLy
frequently, it may be desirable to
c o v e r i t u p . I f a n u n o a n t e dr e f l € c t i o n
is picked up constantly from a majority
of the area 1n the room' i t may be
desirable to enter the reflection in
the room tables as another door leading
to a roon the robot wil L never move
to.
F o r p x a m p l F .- n R . o r b i n t d r e
b . l t h e r u l l l p n g r hn i r r o r g i v " s a
pick€d up every\rherein
refl€ction
the roon. Since it is oot desirable
to cover this nirror, it is entered
as Door 2 leading to Roon 9 in this
hoJ.e. Since Lher. is dctu-lly no
Roon9, care nust be taken to avoid
encering any other reflections as doors
This coLlld cause
Ieading to Roon 9.
r ^
fictitlous
f i n . l
'
n - ' l i
room when it
r h r ^
r
' r i
navigates.
5. Position the !obot (elther in the
center of the roon oi at the room beacon)
l{here alL the door edge reflectors
"M" fron
s h o u L db e v i s i b l e a n d t y p e
r h e , 1 F t I ' l t N Ul o r v . I i f i a r i o n . ( ' n t i n ' "
adjustments until the correct number
of reflectors is identified by the
reflectors
IIPoRTANT: I\]e reconmend installing
a n d b e a c o n si n s t a g e s ' i n s t e a d o f a 1 L a t o n c e l
T b e n i f G E M I N Ih a s a n y p r o b i e m s y o u c a n c o r r e c t
then before you proceed.
at any time you wish to nake changes
If
-t
"R. "
You don
in the roon table data, type
SinpIy
have to re-enter
the uhole data table.
if
you want
h i t " R E T U P N "a f t e r e a c h d a t a r e q u e s t
unchanged. When
to Ieave previous data entries
!,here you want
you reach the point
in the table
Eo nake a cbange, type in the nev data,
TABLE 6.I
ROOI.IBEACOII ASSIETXEI{IS
ROOl,t
ROOl,l
NI]I4BER
NAME
SWITCHSETTINC
t
2
I
ON
oFr
2
OFF ON
orF oFr
ON
OFF
ON
3
4
OFF OFF
OFF
OFF OFF O N
OFF
5
ON
OFF
6
OFF ON
ON
OFF
7
ON
ON
OFF
8
OFF OFF OFF
ON
9
ON
ON
OFF ON
ON
OFF OTF
IO
OFF ON
OFF
ON
1I
ON
OFF
ON
12
ON
OFF ON
ON
OFF ON
ON
l3
ON
t4
OFF ON
ON
ON
ON
ON
ON
35
ON
TIiAT GEUINI }JILL DO IIIIEN IIAVIGATINC
ROOI{TO ROOM
The navigation softoare has extensive obstacle
Hooever, it adds a consiavoidance capabirities.
derable amount of tine to the process of noving
fron roon to room if there are nany obstacles
1t is reconnended that frequently
to avoid,
p
a
t
h
s
b
e
kePt clear for GEMINI. 1t is also
used
t
o
k
e e p a I I d o o r s o P e n e do 1 d e .
desirable
A s s o o n a s a c o r n n a n di s g i v e n t o G E M I N I
to move ro another room' the first thing it vill
do is scan for the roon beacon rith its head.
If it finds the beacon, the robot will slow its
headdorn as it noves across the beacon. Then
pause and continue.
If it
G E M I N Iw i t l b r i e f l y
the
w
i
l
l
s
c
a
n
doesn-t find the beacon, GEMINl
f
i
n
d
t
h
e
r
oon
roon lrith its sonars to attempt to
f
o
u
nd'
center, once the location of the center is
c E M I N I m o v e sa s c L o s e r o t h i s a r e a a s i r c a n .
O n c c t h e r e ' i t s e a r c h e s [ o r r h e b e a c o na g a i n .
Once the beacon is found' GEMINlconsults
fhe roon tables €nd decides if it is ne(essarv
to rnove to the beacon to scan for reflectors.
O n c ei n p o s i t i o n , i t p r o c e e d s t o d o a c o m p l e t e
If
scan of the room to find aII reflectors.
the nunber of reflections does not agree with
t h e n u m b e r i n t h e r o o m t a b l e s , C E I ' I I N Iw i l l e l t h e r
"nove to roon center" again or reposition
around
When GEMIN1finds the right number of reflections, the robot turns its body to line up eith
The robot nill then attempt
the correct reflector.
to moveto within three feet of the reflector.
If an obstacle is encountered while perforning
this nove, the robot should detect it with lts
s o n a r s o r b u r n p e r s . G E } I I N II ' i 1 1 b a c k u p a b o u t
six inches to be clear of the obstacle, and then
turn lelt 90 degrees. 1t ltill make six successive
Betweeneach turn' the
30 degree right turns.
!obot will fire its sonars. This sho$s it a
to move around the obstacle.
clear direction
and
t
u
r
n
s
to the clea! direction
The robot then
r
e
f
l
e
c
t
o
r.
r
,
h
i
l
e
t
r
a
c
k
i
n
g
t
h
e
f
€
n
f
e
e
t
moves a
r
e
f
l
e
c
t
o
!
b
a
c
k
t
o
w
a
r
d
t
h
e
t
u
r
n
s
The robot then
inove
to
it
again.
proceeds
try
to
and
to
I f G E M I N Ii s i n a h a l l w a y ' t h e o n l y o b s t a c l e s
tf it hits
that should be present are t{alls.
i
n
c
hes, turn
back up six
a l{all, the robot rill
3O d€grees to a clear direction, move forsard
two feet, then continue to\rards the reflector.
once at th€ doorr the robot scans the oPenlng
uith its head sonars to detect its edges. lf
it doesn't find the edges, the robot repositions
I l l h e nt h e c o r r e c t e d g e s a r e
and tries again.
found, the robot uses triSonometry to calculate
the door center. The robot then turns and noves
once at the center, the robot
to this center.
It takes
turns again to be facing th€ door.
its sonars, makes one final
one more scan rith
correcting turn, and moves through the doorway.
After moving through the door\.tay, the robot
eill be trro to four feet inside the next room.
search for the roornbeacon. If it
GEXINI eill
rnove fornard t\.ro feet and
is not found, it eilf
no beacon is found' the
search again. If still
g
o
l
,
i
l
l
b
a
c
k
t
h
r
o
ugh the doorway and try
robot
b
e
a
c
o
n
i
s found, the robot Irill
aeain.
If the
proceed to navigate from this room to the next
room on the Dath until the desired root! is reached.
GOING HOME
l l n e n n o v r n g t o r t s . n a r g P r , o E M I N Il r r s r
moves to the charger roorn in the same nanner
L r pw i t h
as above. The robot then lines itself
the charger beacon and rnoves to vithin
three
feet of it.
This flove is done in exactly the
as the move to door reflectors.
is done, the robot then turns back
once this
towalds the beacon again and inches forward until
on charge.
C E M T N Iw i l l n a k e 2 - 3 a t t e n p t s a t e a c h s t a g e
navigation.
tf it is unsuccessful, it returns
th one of the error codes Iisted in Section
on BASIC.
PLEASEbe patient !,/ith GEMINI as it navigates
through the house. You should not expect it
to find its way around at hunan speeds. The
robot possessesa much less sopbisticated "navigation
systenrt than we hunans' with far fewer sensors
and inferior
conputing capabilities,
conpar€d
to the hunan brain.
CbfiINI may occasionall) gpr "sirck" or "losr",
and !riII sound a bell alerting you, Iloiirever,
it is our experience that, approxinately 902
' n a n a g eL o r e a c h i t s
of the Lime, the roboL uill
destinat ion.
The systen works best in an "ideal" situation
i.e. perfectly square, uncluttered rooms, with
no mirrors or other reflective
surfaces to give
false reflections.
Hosever, this "ideaI" environment
does not exist
in real Iife.
Real hones and
o t l i c e s h a v e o d d l y - s h a p e d r o o m s , u n e x p e c r F do b s r r uctions, and shiny surfaces which nay interfere
with reflector detection. It ni11 probably take
time (and patience) for you to sork the rrbugs"
out ot CElllNI'snavigation in your environment.
38
Our engineers are continuing to experinent
in the field of robot navigarion.
As ve make
further
improvenents and refinements, I'e iritl
pass the neu navigation technology on to you,
the "pioneer" personal robor osner.
We hope you t o o w i l l F x p e r i n e n L u ; t l y o u r
robot's navigation. and will share your ideas
and f indinss uith
39
E
(i)
cl
sEcTIOn3
DAY.TO-DAY USE
40
CIIAPTER 7
THE LIVING I,OOP
The programwhich lre calt the "Living Loop"
i s w h a L g i v e s t h e C E M I N Ir o b o t i r s a b i l i t y t o
function autononously, In designing the robot,
one of our prinary concerns was that it be an
a u t o n o r n o u sb e i n g \ r h i c h i s a l v a y s " a I i v e "
and
available to hunans, with very litt1e extra efforr
on thei. part.
\ , l el r a n r e d G E y I N I t o b e a l m o s t
like another nenber of the familyFor this to be the case, we realized that,
first
a n d f o r e m o s t , t h e r o b o t would need to keep
its batteries
charged, withou t assistance fron
SecondIy, we asked ourselves what it is
that people do to fill
up time during the day
that could be emulated by a robot,
The answer
ve arrrved at was that ue hunans store a general
schedule in our minds of ahat ve must acconplish
each day--neetings, chores, eating, etc.--and
we keep track of the tine and try ro neet our
nental schedule. lf other things cone up, such
as friends dropping
the car breakins
down, we handle them as necessary and try to
fit them t,,ithin our schedule.
out of these musings
c a m e t h e c o n c e p t o f G E M I N I - sL i v i n g L o o p .
T h e L i v i n g L o o p i s a progran 'rhich is continuously run by CEMINI's narn compurer, rnen
1 t i s n o t b e i n g o c c u p i e d b y o t h e r t a s ks .
It
perforlns the foI t o'ing funct
RXCMRGING
E v e r yn i n u t e t h e b a t t e r y v o l t a g e s a r e c h e c k e d .
If the voltage has fallen belov a threshold level
( 1 i . 4 8 V ) G E M I N Ir e p o r t s t h e v o l r a g e .
Once rhis
continue to check
l e v e l i s r € a c h e d , G E M I N Iv i l l
report
m
i
n
u
t
e
a
n
d
to you
b
a
t
t
e
r
i
e
s
e
v
e
r
y
the
v
o
l
t
a
g
e
l
e
vel rs
n
i
n
u
i
e
s
.
I
f
t
h
e
f
i
v
e
every
(
b
e
issues
r
o
1
,
)
I
0
'
5
V
)
t
h
e
r
o
b
o
t
l
o
w
critically
'
i
t
w
i
l
l
r
eturn
i
n
o
n
e
n
i
n
u
t
e
'
a \rarning that'
y
o
u
a
r
e
i
n
t
h
e
nidst
l
f
to the battery charger.
r
e
a
s
on do
o
r
f
o
r
s
o
m
e
o
t
h
e
r
of an experirnent
p
r
e
s
s
a
n
y
k
e
y on
r
o
b
o
t
t
o
m
o
v
e
'
not want che
e
x
c
e
p
t
a
n
y
f
u
n
c
t
i
o
n
k
e
y
'
R
eset'
the keyboard or
q
'
i
l
l
p
u
t
.
stay
and GEMINI
IXPoRTAIT: In this case' you should either put
the robot on the charger ' or bring the charger
At tbis
over to the robot ' as soon as possible.
point' the batt€ries shoutd recharge fully overnight.
I f v o l t a g p s r a L l m u c hb p l o u I 0 . 5 V . L h e p o t e n t i a l
is increased for "deep discharge"; this will
shorten battery I i fet ime considerably.
A check is also made in the Liv in g Loop
to de(errinF i ! the robor is on its charger.
If so, it t/iLl connect the notor and Iogic grounds
The groundsare automatically
for charging.
'
h
e
n
the robot leaves the Llving
disconnected
Loop.
U n d e r n o r n a t u s e ' G E M I N I ' sb a t t e r i e s s h o u l d
last a year or nore. Information on how to detect
failing batteries and where to buy replacements
is in Section 5 - Maintenance.
THITES TO DO...PLANNED AND UIIEXIECTED
At a rate too fast for sost of us to conprehend
( a b o u t 1 / 1 0 0 0o f a s e c o n d ) ' C E M I N I n o n i t o r s e a c h
user entry port -- keyboard' function keys' voice
input, and renote conputer. This is in case
oe have something ner for it to do. othervise'
once every minute a check is nade to see i f a
sch.dLled task is dJe to be perlormed,and, if
T h u s ' G E M I N Ie m u l a t e s '
so, it goesoff to do it.
in a prinitive way, the dairy activities of a
person. (Except better--GEMINI rareLy speaks
42
unless
told ! )
spoken to,
and alvays does irhat it
is
1f you purchased the optional srnoke detector,
i t i s a l s o c h e c k e dw h i l e i n t h e L i v i n g L o o p .
Should cEUINI detect snoke, it irill sound rhe
buzzer until the smokeis no longer present.
When GEMINI is in the Living Loop, the follor.'ing
menu appear:s on fne screen:
LIFE IIENU
I -DElto
2-SCHEDULER
3- BASIC
4-REMOTE
5-UoNITOR
Using this nenu, you can access any of cftINI's
nodes, either by the indicared funcrion keys
or the keyboard.
A I s o , V 0 C O L( V O i c e C O n t r o l
L a n g u a g e )c a n b e a c c e s s e d b y w h i s t l i n g , n a k i n g
a loud noise, or pressing key "S." To use VOCOL,
the robot nust first
be trained to your voice.
Chapter 8 provides derails on operarion of the
opt lona Mice
ColnnandLanguage.
H er e 1 s
modes listed
brief description
the Li fe uenu:
of each of the
I - Df,MO: This menu-driven demonsrrarion
program is the sane otre used by GEMINI when irs
polrer is first turned on, ninus the initialization
and check-out phases. You can sample the robor's
talents wich the push of a button, This is a
good program for showing off GEMINI ro friends.
F o r n o r e d e t a i l s o n D E M O ,r e f e r t o C h a p t e r 5
of this manual. This is the only program thar
does not require a keyboard to set up.
43
2 - S C H E D U L E R TT h i s p r o g r a n a l l o w s a u s e r ,
s i t h a b s o l u t e l y n o p r o g r a n n i n ge x p e r i e n c e , t o
enter scheduled events into the robot. Younay
use either the on-board keyboard or the optional
Renote Communication Sy€ten conputer. Exarnple6
of tasks that can be entered are wake-up ca1ls,
reminders, homesecurity patrols, operating lights
and appliances,playing nusic, telling
stories,
poetry' and more. Refer to Chapter
reciting
9 for full details on use of SCITEDULER,
3 - BASIC: This high-Ievel language allows
t h e n o v i c e o r e x p e r t t o u s e C E I ' l 1 N Ia s a s t a n d a r d
personal conputer, or to vrite poqerful prograns
c o m n a n d i n gt h e r o b o t ' s f u n c t i o n s .
1n addition
t o a l I t h e s t a n d a r d B A S I Cc o m a n d s , G E M T N B
I ASIC
has special functions to aLIow easy use of all
robot sensors and effectors.
It also has functions
n
o
v
e
r
o
o
n
in the house, and
to
the robot to any
to move it to the charger station froin any room
in the house. Conpletedetails on the use of
this powerful languaee are contained in the section
o n G E M I N IB A S I C i n t h i s v o l u n e , B A S I C i s i n c t u d e d
in the cEMlNl Educational System, and is an option
available to other users througb ARCTEC
SYSTEMS.
4 - R f M 0t t :
T h e r o b o t c o m m u n ia(t e s w i r h
this independent conputer systen via a radio
link.
The Renote Connunication System (RCS)
conputer can be controlled directly by the robot,
and vice versa. Completedetails on instalLation
and opeiation of this pooerful conputer are provided
in the RCS manual, which is obtained !'ith purchase
of the unit,
5 - MONITOR: GEMINI'S nonitor is an extensive
programwhich acts both as an initial
supervisor
of and a slave to other prograns.
It contains
i t s o v n c o n r n a n dI a n g u a g e w h i c h c a n b e u s e d t o
alter memory locations, examineprograms, control
b i t p o r t s , a n d m u c hn o r e . D e t a i l s o n t h e n o n i t o r
MANUAL.
are found in the TECHNICALREFERENCE
OTItrR LIVING I,OOP OPTIONS
Loop, rith
WheaGEMINIis in the Living
t h e L L F E M E N Uo n L h e s c r e e n , a n u n b e r o f u s e l u l
systen tests can be run, each orth a single keyTabIe 7.1 lists the tests and their
stroke,
TAXI-E7.1
LIVING LOOP SYSTB}' TBSTS
TO TEST: Vorce I/O Systen
TYPE:
Batteries
B
Read 0nly Memory Card
C
RandomAccess Menoly
D
E
Disk or Tape Drive operation
F
Keyboard
G
Clock
Propu ls ion systen
H
Bunpers
I
Sonars
J
Head
K
Beacon
Roon
L
Door Edge Detector
M
Motion Detector
N
Temperature
0
P
Pressure
E n r c r R o o mT a b l e E n t r y P r o g r a m
Enter VOCOL
45
a
R
s
CHAPTER8
VOICE INPUT/OUTPUTSYSTEM(VIOS )
VlOS is the auxiliary nicroconputer which
h a n d l e s r n e j o b o l v o i L e i n p r . r t .v o i c e o u t p r t ,
a n d s o u n o g e n e r a ti o n . T h e r e a r e L h r e e m a j o r
u s e r t u n c t i o n s i n V I O S . T h e s ea r e v o i r e r e r o g n i t i o n ,
v o i c e s y n t h e s i s . a n d s o u n ds y n r h e s i s .
The voice recognition function 1s carried
o u t t h r o u g h t h e V O i c € C O n m a n dL a n g u a g e ( V O C O L ) ,
and is described here.
This program Lets you
c o n m L r n i c a t e\ r i c h G E M T N bI y v o i c e a n d i s i n c l u d e d
i n t h e G E M I N IE d u c a t i o n a l S y s t e n . A b r i e f v e r s i o n
o f V O C O Li s i n c i u d e d i n t h e D E M Op r o g r a r n u n d e r
the ACROB0TICS
opt ion.
It is also available
fron ARCTECSYSTEMS.
The speech synthesis function enploys a
t e x t - t o - s p e e c ha l g o r i t h n w h i c h g i v e s C E M I N I t h e
abilit) to spFak in vdrious voices any nessage
irhich you type on the keyboard. Table 8,I lists
the voice options,
The sound synthesis ability
Iets the user activate I'canned" songs and sound
effects.
Both the speech synthesis and the sound
synthesis functions are available through the
B A S I C a n d S C H E D U L EpRr o g r a m s . D e s c r i p t i o n s o n
howto use these features are given in the chapters
on those prograns. For a coBpl€te list of G&IINI-S
soundand music repertoire refer to Tabtes 8.2
and 8.3 at the end of this chapter.
VOICE CO TAND I-ANGUACE(VOCOL)
W i t h V O C O L , G E M I N Ic a n b e c o n n a n d e db y v o i c e
p
e
rform many tasks.
to
T h e s t a t e - o f - t h e - ar t
voice recognition system is speaker dependent
and Ianguage independent. This means that the
robot nust first
be "trainedI to a voice and
vilr recognize onLy one speaker at a t ime. It
a l s o n e a n s t h a t , w i t h p r o p e r r r t r a i n i n g , r rG E M I N I
can interpret nerci, eracias and danka aII as
thank you. Try it !
A household frequently will have nore than
one robot user, Since it wouldb" quite inconvenienL
to retrain the robot each tine a different speaker
\ r i s h e d t o u s e v o i c e c o m m a n d sw
, e have constructed
VOCOL so as to allos GEMINI to remember the voice
trainings of up to three users.
O n c e B s p e a k e r h a s L r a i n e d a p a r ti c u l a r
word group to his/her voice, GEMINI wirl "remenber"
that speaker's training and retain it in batterybacked nenory, so even ehen Ehe po$er is turned
off, the vocabulary \,,ii1 not need to be retrained.
Later, vhen the user identifies himself or herself,
C E M I N Iu i l l a u t o n a t i c a l l y k n o w w h i c h s e t o f t r a i n e d
word groups to use.
A n o t h e r u n i q u e f e a t u r e o f c E M I N I- s v o i c e
recognition systen is its adaptive ability.
A s t h e r o b o t ' s v o i c e c o m m a n df u n c t i o n i s u s e d ,
i r s r p . ogn i t i o n . a pa b i I i Lv v i l l g e r b e r r e r .
In other words, through art ificial
inteLligence
t e c h n i q u e s , G E M I N Ie i l l " I e a r n " f r o m i t s s u c c e s s e s
TRAITING GET.{INI
To use V0COLfor the first tine, all of
the robot users (up to three) rnust be present,
since GEMINI first
needs to be trained to recognize
each user's name. The training should be performed
in a quiet environnent (no radio or TV on!).
Each user should pronounce his/her vords in a
f i r n , c o n m a n d i n gv o i c e .
Your best position for
voice training is about three feet fron the robot.
Just fol low these steps:
47
l.
T o a t t r a c t G E M I N I ' sa t t e n t i o n ' \ t h i s t l e o r
"
( V O C O Lc a n a l s o b e a c c e s s e d
say GEMINl!r'loudly.
lf
from the Living Loopby typing key'S-.)
time anyone has used VoCoL,
this is the first
"TYPE lN NAMEOF HUMANNWBER
tbe robot will say'
1," t/hen the pronpt appears' type your natne.
Afce! six seconds if no keys have been pressed
G E M I N Iw i l l r e t u r n t o t h e l i v i n g m o d e m e n u .
I t r l r i s h a p p e n s . j ' s L r p p e r ( r h e s t F p s r J pL o
" N A M EI S T O O L o N G "
this point.
If GEMINIsays
try a nickname' but use Iess than l6 letters.
"IS
2. The robot wil I repeat your nane and ask
THIS OK?" lf the pronunciation is to your liking'
Eype rrY.rr If you type "N'" you \tiIl be asked
r o r e r y p e y o u r n a m e . ( G E U I N Iu s e s p h o n e t i c s
and the rules of English pronuncratlon; however,
d s y o u p r o b a b l y k n o u . t h e r e a r F m a n )a x c p p it o n c
I f t h e s p e l l i n g o f y o u r n a m eh a p p e n s
to the rules!
to include one of these exc€ptions' try misspelllng
) o J r n a n p ( o p r o d u c 4L n P \ o r r p c r P r o n n, c i a r i o n . )
3,
N e x t , c E M r N r v i L l a s k r r A N YM o R EU S E R S ? "
T\to more names can be entered
lf so, type "Y."
p
r
o
cedure as the first.
using the same
4.
Now, the robot !,iLl ask
A s m e n ti o n e d b e f o r e '
his/her
nane several tines.
each user should pronounce the qords requested
in a firm, commandingvoice' for best recognition.
your
I X P O R T A I T : I " l h e nt r a i n i n g o ! r e t r a i n i n g
w o r d s , w a i L u n t i l r n d s t F r i \ k ( * ) s p p e a r so n
the screen. After this prompt occurs, you nay
then say your \rord. (1f you do not wait for
the pronpt, the robot nay niss part of your response.)
48
whcn this initial
phase of the voice training
is conplete, any of the three users can access
V O C O Lb y v o i c e .
This is accomplish€d by first
whistling or naking a noise to atrract the robor's
attention (or by typing lS").
GEMINI wlll
respond
u i r h " c f 1 4 l N lL t s T E N l N G . " s d y ) o u r n a n e i n a
f i r m v o i c e . G E M I N Iw i l l s a y r t c o N F I R U r ra,n d r e p e a t
the recognrzed name. If the robot has identified
you correctly,
n a k e s o m e 6 o u n d . I f G E M I N rh e a r s
no response, he !ri11 repeat I'GE}ltNl LISTENINGTT,
At this point, in order to makeuse of the
n a n y f e a t u r e s o f V o C O L ,e a c h u s e r n u s t g o t h r o u g h
several additional vocabulary trainlngs.
However,
it is no longer necessary for all rhree users
to be present.
L , / h e n e v ear p a r t i c u l a r u s e r w i s h e s
to access VOCOLG
, E M I N 1n i 1 1 c h e c k t o s e e i f
a v o c a b u l a r y t r a i n i n g i s n e e d e df o r t h a t p e r s o n .
If so, the training ai11 be carried out under
the robot's direc t ion.
f : . h r r" i n i no . . nc ; cI c n f r h / . .
adaptation phase and tr^,otraining
passes through
the vocabulary set.
The adaptation phase alLovs
the voice recognizer
to adapr ro the frequency
range of the user's voice.
when the recognizer
has adapted to the voice,
it then asks the user
to repeat each word in the set twice.
During
these tvro passes through the vocabulary, a digiral
pattern
of each word is created and saved by
Srnce it vould be very tedious (for ygg--not
for GEMINI!) to train a1l of the vocabulary words
at one sitting,
V O C O Lh a s b e e n s t r u c t u r e d s o
that a particular group of vords is not trained
untit actually needed by that user,
Table 8.4
contains a complete list
of GEMINI's vocabulary
groups,
They are described in detail
in the
Ail of the vocabulary trainings are saved
in GEMINI'srnenory, so they should not have to
oe I epea(ed.
T f r o r s o m er e a s o n v o u w i s h r . o
repeat or change a vocabulary group, see RETRAINING
A WORDCROUPlater on in this chapter,
Nom: sonetimes GEMINI 1'itl hear a loud noise'
think soneone is trying to talk to it, and will
say TTGEM1N
L II S T E N I N G . " l , / h e n t h i s h a p p e n s ' i f
no one responds with a namewithin six seconds,
the robot wiII sinply go back to'rsleepr'.
TALKING TO YOUR ROBOT
O n c e y o u h a v e a c c e s s e d V O C O La n d t h e r o b o t
has correctly identified you, a number of modes
and functions are available \rhich can be comrnanded
by voice.
WhendeveLoping Vocol.' we realized
sone meansnust be provided to ensure that the
robot has really understood each command. We,
therefore, developed the protocol whlch GEMINI
After each voice
enploys. It vorks like this.
connand or parameter spoken by a user, GEMINI
repeats the recognized \rord. If this oord is
correct, rhe user responds with one of the affirnaLr!cr--)Ps, urrrtr, ur !rd|l
LLlllNl wrll
answer TTTHANK
YOUri and then perforn the function
requested.
If the comnand or word iras incorrectly
recognized,
o! you changed your nind,
say no'
wron8. or n gar ivp and rry dgain.
In the exanples given betow, rather than
writF all this ou( eaLh t inp, Lne acknowledgnent
protocol
has been indicated wlth th.ee dots"..."
bFtue"n each conFand. Rorpnb'r rhsr yoL rusr
tell
c o m m a n do r v o r d , w h e t h e r
GE INl, after Efell
it is righr or wrong. using thF protocol dpscribed.
is processed by the
This information
,^h^ . :rr ir i, i.l
; - ' . I ' i o - a , e a n a a l l o v , / sL l - "
word recognition
capability
to continuaLly iiprove.
50
As previousty nentioned, whenyou use a
p a r t i c u l a r m o d po r f u n c t i o n t o r L h e t i r s L L i m e ,
the robot checks to see if the necessar.y vocabutary
has been trained to your voice; if not, the robot
will direcL Lhetraining session.
Table8.4 provides a complete list of CEMINI's
vocabulary.
llord group 0' trained during the
initial
contains
training described earlier,
alI the user nanes. lt is the word group used
b y G E M I N Tt o i d e n t i f y t h i c h u s e r i s s p e a k i n g .
The renaining vocabularies are divided into
f i v e s e t s , ( n u n b e r e d0 - 4 ) .
Each set contains
g
r
o
u
p
s
,
f
o
r
w
o
r
d
o
n
e
e
ach user.
Sets 0
three
b
y
e
a
c
h
u
s
e
r
,
u
n
d
e
r
C
E
MIN1's
and I are trained
h
e
/
s
h
e
f
i
r
s
t
a
c
c
e
s
s
e
s
v
OCOL.
direction,
irhen
Set 0 contains aIl the affirmative and negative
words recognized by GEMINI. These a!e used to
tetl the robot when he is right or trong in his
word iecognitlon.
S e t I c o n t a i n s t h e i m p o r t a n t c o n m a n dB o r d s
which access each of Vocol-'s nodes and functions.
O n c e y o u h a v e e n t e r e d V O C O La n d t r a i n e d S e t O
and Set 1 vocabularies, a nenu of all the set
1 words is displayed on the screen as a reminder
o F t h " v o i . p c o m m a n d sn o u d v a i r a b l F L o y o u .
(Some of these connands require additional voice
crainings. Whena com.andis given' GEMINIdeternines
w h p f h e r a r r a i n i n g i s n p e o e da n d , i t s o . c a r r i e s
it out.
P O E T , S T O R Y ,R E T R A I N , J U M P , a n d B Y E
require no additional training. )
T h e c o n n a n dw o r d s o f S e t I , a l o n g w i t h t h e
mode or function irhich each controls, are described
5L
- Tbis accesses GEMINI's Command
A.
COMUAND
M o d eo f o p e r a t l o n . r n t h i s n o d e , t h e r o b o t w i l l
to a volce comnand. The
respond imnediately
r
e
c
o
g
n
i
z
e
d in this mode are found
list of words
3
i
n
T
a
bIe 8.4.
This list must
in sets 2 and
f
i
r
s
t
y
o
u
r
v
o
i
c
e
t
h
e
tine you sccess
be trained to
o
f
t
h
e
s
e
are one-!?ord
t h e C o m n a n dM o d e . S o n e
r
r
T
I
M
E
"
,
r
h
i
c
h
c
a
uses GEMINI
c o m m a n d s ,s u c h a s
c
O t h e r o m n a n d sn e e d
to speak the correct time,
further paramet€rs. A list of the comnands (from
s e t 2 ) a n d t h e i r n e c e s s a r y p a r a m e t e r s( f r o n s e t
3) foI I oirs:
Direct lon and
MOVE: 2 parairet er s:
to nove.
nunber of feet (t\ro digits)
If you r"rant GEMINI to move forvard
e i g h t f e e t , t h e c o m m a n di s : " M O V E . , . F O R "
OtnFr dir".l ionA R D . . Z C R u.. . E I G H T ,
are REVERSE,RIGHT and LEFT.
HEAD: 2 parameters: Direction and
(Each
number of steps to turn head,
lf you
s t e p r e p r e s e n t s I . 5 d e g r e e s .)
w a n t C E M I N I ' sh e a d t o t u r n r i g h t 4 5
, . , R I G H T. . s t e p s , t h e c o n r m a n ids : " H E A D
FOUR...FIVE.''
PAUSE: I paraneter: Nunber of seconds
to patlse (used in Progran uode).
One digit
sonar
RANCE: I parameter:
r
e
porL
Caus"b roboL to
nunber 0-8.
the range received when the requested
sonar is fired.
Two digit number
ROOM: I paraneter:
robot
indicat ing room to wbich you 'ish
to move. If you ursh GEMINIto move
t o R o o m# 5 ( c o n s u l t y o u r r o o m c h a r t ,
r a bl e 6 . t ) r s a y " R o o M . . . z E R o . . . F 1 V E . "
52
SONG: I paraneter:
nunber of song
( t!,'odisits)
(see TabIe 8.3).
Robot
SOUND: I paraneter:
nunber of sound
effect (two digits) (see Table 8.2).
R o b o td o e s s p e c i f i e d s o u n de f f e c t .
SPEED: I paraneter:
Nunber of speed
setting, from 0 (slovest) to 9 (fastest).
HOME: No paraneters.
to return to charSer.
Causes robot
SCHEDULE: No paraneters.
This causes
the robot to give a list of al1 events
scheduled for the day. (See the chapter
on the SCmDULEprogram. )
SIATUS: \o parameters,
TIIiIE: No parameters,
Robotreports
Robot verbally
(Used in Progran
NEW: No paraneters.
llode to start neu progran,)
RUN: No paramFtFrs. {Usedrn Program
Modeto execute progran. )
OPTIONS: Return
to
lhe
marn VOCOL
B.
P R O C R A M- T h i s c o r n m a n da c c e s s e s C E M I N I - s
Progran Mode of operation.
This node utilizes
t h e s a n e w o r d s e t s a s t h e c o m n a n dn o d e , b u t i t
allons execution of the conmandsto be deferred.
I n o r h e r u o r d s , i n P r o g r a mI ! o d . y o u " w r i r e " a
p r o g r a n f o r c E M l N lu s i n S o n l y y o u r v o i c e .
53
When you have entered this mode(and trained
v
the ocabulary. ir noL already donF). try this:
''I,lOVE... FORWARD..
.ZERO.
Z E R O... T W O . . R U N "
progran should cause the robot to
This Iittle
move forrard tro robot lengths, and then go back
One smal1 step for
to the original position.
robots, one giant leap in man-rnachinecomunications!
C.
P o E M - T h i s c o m m a n dc a u s e s G E I ' I I N It o u s e
his artificial
intelligence to conpos€ five ihaikutyperrpoens and then recite then for your listening
( G E M I N Is o n e t i n e s t e n d s t o g e t c a r r i e d
pleasure.
a w a y b y i t s o l ^ ' nb r i l l i a n c e ! )
D . S T O R Y- T h e s a n e a r t i f i c i a l
intelligence
"
s
p
a
c
e
y
"
is used to tell a
€tory -- and we do
E.
G A M E - T h i s c o m m a n dc a u s e s G E M I N I t o p l a y
a n u m b e rg u e s s i n g g a m e e i t h y o u , B r i e r l y , L h e
g a m ei s p l a y e d l i k e t h i s , F i r s t , y o u p i c k a
nu'nberbetween 0 and 99. GEMINI will
try to
guess it asking each time whether the nuinber
gu€ssed is above or belov the target nunber.
W h e n i t g u e s s e s c o r r e c t l y , G E M I Nw
TiIL then pick
a numberand ask you to guess what it is.
once
you have guessed the number correctty, GEMINI
will declare a winner based on the nunber of
tries
it took before the correct guesses were
F.
CALC - This conmandallows you to use GEMINT
(Vocabulary Set 4 nust
as a voice calculator.
first
be trained to your voice. ) The connands
a v a i l a b l e a r e A D D , S U B T R A C T ,T I M E S , D I V I D E , a n d
EQUALS.Example: To add 2 + 3.5, say:
.'IVO.. . SPACE,,.ADD...
. . POINT.. . FIVE. . . SPACE
THR-EE.
E Q U A L S . ' rG E M I N Ii ' i l 1 t e l 1 y o u t h e a n s ' e r .
allows you to retrain
G . R E T R A 1 N- T h i s c o r n m a n d
I
r
,
i
t
I
ask you to type rn
.
G
E
M
I
N
I
a single word
(For retraining an
the !rord to be retrained.
e n t i r e g r o u p ' s e e R E T R A I N I N GA l ' I O R DG R 0 U P i n
this chapter..)
H. JLtlP - This connand allots you to run a routine
For more
of your own by way of a User ve.tor.
R
refer to the TECHNICAL EFERENCE
infornation'
I,IANUAL,Sectlon 6.
BYE - This connand causes CEMINIto exit
L
VOCOLand return to the Living Loop.
l'hen
I I I P O R T A I I TF E A T U R E : A s n e n t i o n e d e a r l i e r '
the
a
m
e
n
u
o
n
u s i n g V O C O L ,t h e r o b o t d i s p l a y s
at
a
v
a
i
l
a
b
l
e
the voice connands
screen listing
menu
is
numbered.
Each cormnandin the
that tine.
(These are the same nunbers shownin TabLe 8.4. )
In addition to voice recognition, GEMINIwill
also recognize a i,rordif the number corresponding
to that word is typed on the keyboard at the
appropriate t rme.
! r h e n y o u a c c e s s V O C 0 La n d
For instance'
identify yourself' a nenu containing aIl the
"WHAT
s e t I c o n m a n d s i s d i s P l a y e d a n d G E M I N Ia s k s
I s Y O U RP L E A S U R E ? "I f a t t h i s t i m e v o u i , i s h e d
to pLay the guessing Same' you could either sav
type key "4" on the keyboard.
RETIAINIT{G A I'ORD GROUP
If you should ttish to retrain an entire
enter the nonitor
group of words' you nust first
fron the Living Loop' by pressing function kev
(see chapter
5 or nunber 5 on the keyboard.
1 3 i n t h e R E F E R E N CM
E A N U A Lf o r n o r e i n f o r m a t i o n
0nce you ar" in
o n L h e u s e o f t h e m o n it o r . )
the monitor' type the following connand:
55
> $05Fx:00
wbere "X" represe$ts the group nunber.
If group
'0'
( t h e n a m e s )i s t o b e r e t r a i n e d , t h e n X = 0 .
otherwise, X=3* (vord set number) + user nunber.
User nurnbersare l' 2 or 3, and tere assigned
during the first training session when you typed
in your narne for GEMINI to recognize.
This cc'nrnand
g
r
o
u
p
i
n
f
r
o
m menory'
clears the words
that
y
o
o
use a lrord from that Sroup '
The next t ine
you witl be asked ro rerrain it
EIIIIS
FOR BETIER VOICE RtrCOGI{ITION
C E M T N I ' ss t a t e - o f - t h e - a r t v o i c e r e c o g n i z e r
has approxinately 95-982 recognition accuracy
when used under the follooing ideal conditions:
Speechinput fron a speaker $ith
2.
Speech input with
good diction.
Ioe background noise (a
Any deviation fron these ideal
wil l degrade recosnition accuracy.
conditions
An extrenely inporcant variable in the speech
recognition accuracy is the human speaker.
In
general, you will
find that if other people have
difficulty understanding you, so will the voice
!ecognizer,
It is inportant that you speak as
clearly and consistently as possible. when going
session, try to speak each
through the training
$ord exactly the sanE. Here is a list of suggestions:
L
Don-t munble. Speak as though you are
conrnanding a troop of soldiers.
2.
Enunciate each vowel in the word carefully,
Avoid naklog extraneous 1ip and breathing
noises !'hen speaking.
56
4.
Retrein difficult
uords frequently.
Try to give comands fron approxinately
the sane position you vere in durine
t h e t r a i n i n g s e ss i o n .
Try deepening your voice.
Try to select an environnent that is relatively
quiet when using VOCOL. Avoid sreas where other
people are ta1kin8, refrigerators
are hunning'
another menber of the fanily is banging pots
and pans, etc.
AII of these noises are certainly
t h e s o u n d s o f i i f e l r h i c h f u t u r e d o m e s t i cr o b o t s
nust learn to ignore, but GEMINI's systen i.s
not yet at that level,
Be patient
and experiment
TABLE 8.I
VOICE OPTIONS
VOlCE DESCRIPT]ON
COMMAND
Droid
GEM]N]
Villain
chi 1d
Alien
0
I
2
l
TANLE 8.2
PROCRAUI{ABJ-E
CANNEDSOUNDS
CANNEDSOUND
SOUNDNUMBER
Cl o c k
l,loving Robot
0
I
2
3
Sr I e n c €
Train (Choo-choo)
H eI i c o p t e r
Explos ron
Pump
PowerGenerator
5
6
l
9
l0
It
Si r e n
58
TASLE8.3
}IUSICAI,SELECTIONS
SONC NUMBER
0
I
2
3
4
5
6
7
8
\_
9
l0
1l
12
13
14
SELECTION
S r a r S p d n g l e dE a n n e r
HappyBirthday
H a p p y A n n iv e r s a r y
Jingle Bells
E as t e r P a r a d e ( I n s t r u m e n t a L )
Auld Lang Syne
l{then Irisb Eyes Are Sniling
( tns.runental )
Star Wars Therne (Instrunentat)
Robots Are a Man's Best Friend
( 0rigina r )
Music Box Da:rcer(lnstrumentat)
The Entertainer (Instrunental)
Daisy, Daisy
Raindrops Keep Falling on
My Head
HavahNagilah ( Instrunental )
0 canada
ROBOTSARE A HAI''S BEST FRIEND
\--
A cat or a dog may be quice sentinental,
But robots
best friend.
A pet naybp .ur. b'I ir won'i ba parpnrri
to your little child, or tell you if the
reather -s mi Id.
I can walk, and I can talk when you-re away
th€n your house I'll
defend.
cive your computer a body and it von't look shoddy.
Robots are a nan-s best friend!
59
TASLE 8.4
VOCOL TORD CROUPS
(word croup 0)
O-Name0
I-Nane 0
2-Name 0
3-Name 0
4-Name I
5-Name I
g-Name 2
A-Name 2
B-Nane 2
6-Nane I
7-Name I
8-Name 2
Set 0 (word Groups 1,2' and 3)
O-Yes
1 - C o r r e ct
2 -Right
3-No
4-Wrong
5 - N e g a ti v e
set I (word Croups 4'5'
0-Command 3-Story
4-Game
I -Progran
2-Poen
5-CaIc
\.-
and 6)
6-Retrain
7-Jump
8-Bye
Set 2 (word croups 7'8 and 9)
o-Move
I-Head
2-Pause
3-Range
4-Room
5-song
6-Sound
7 -Speed
8_Hone
9-ScheduIe
A-Status
B-Trme
C_Nert
D-Run
E-OPtions
Set 3 (Word Croups A'B, and C)
o-Zero
l-one
2-'I,ro
3-Three
4-Four
5-Five
6-sixes
7- S e v e n
8-Eight
9-Niner
A-Right
B-I,eft
c-Forsard
D-Reverse
E -Po int
F-SPace
set 4 (word Groups D'E and F)
-
O-Add
I -uinus
2-Times
3-Divide
4-Equals
5-ctear
60
6-Above
/-8Flot{
CIIAFIER 9
SCUBDI'I,ER
ptogran is accessed by pressing
The SCHEDULER
Function Key 2 (or "2" on the keyboard) vhen
This ingenious
the Life Menuis on the screen.
menu-driven piece of softtare allo\ts a user '1th
l i r t l e o r n o p r o g r a n m i n ge x p e r i e n c e t o a s s i g n
a multitude of tasks for GEMINIto perform on
As you will see when you read
a tined basis,
on, the sort of tasks to be assigned depends
only on your inaginat ion !
is first
accessed, the following
When SCHEDULER
main SCHEDULER
MENUappears I
I.
2.
3.
4.
5.
6,
7.
t.
ADD ENTRY
L]ST OR DELETEENTRY
ADD MODULENAME
LIST OR DEI,ETEMODULENAME
ADD ROO}INAME
LIST OR DELETE ROOMNAI'IE
QUIT?
ADD ENTRY
Ithen key I on
tist of rtnissions" is
A . WA(EUP
B E D - STORY
H G.BSR
J - r{ovE
the k€yboard
presented:
SECURITY
SONG
DROID
K-l{oE
is pressed, a
C.
F T L -
POET
REMINDER
SENSE
BASIC
M . EXIT
Type ir
to assign,
the letter
5l
of the nission you wish
A - WAKEUP: This nission assigns the robot the
to the desired roon at the tine
tast-oFoving
o r t i n e s i n d i c a t e d t o d e l i v e r a w a k e u pm e s s a g e .
Upon reaching the specified roon' GEMINI
the current tirne and rings its chime. It uilI
vait for approxinately 30 second€to hea! a sound
If nothing is sensed, it
or to detect motion.
vill
continue to repeat the time and chime every
30 seconds. Once CEMINIknows you are aeake'
your typed nessage will be sPoken and a menu
wiII app€ar rrith three optlons:
t . SNOOZE
2 . REMINDERS
3 . HO}1E
If you i.'ant to sleep 10 nore ninutes' p!ess
For a list of all reminders
Function Key l.
keyed in for today's date' push
in SCHEDULER
Key 2. Whenyou are done, press Function Key
j and CbMt\t uill returnro its ch.rger. lf
one minute after the
no keys are pressed 'ithin
m e n u a p p e a r s ' G E M I N I a u t o n a t i c a l l y h ea d s f o r
IIOME.
t r 1 N T : S i n c e i t t a k e s G E M I N Ia f e ' n i n u t e s t o
n a v i g a t e , r , r es u g g e s t y o u s e t t h e t i n e a l i t t l e
ahead of when you actually oant to get up. After
know exac.ly how nuch of
a few tries, you vill
a headstart ir vill needeach Porning
Enter the follosing
infornation
fron
rhe
Time - Enter
"I700 (return)".
in 24 hour fornat, like this:
(lon't
type the quotes' just
the i$forrnat ion inside. )
Months - Ente! the nunber or numbersof
each month in which you tish the nission Perforned
(i.e. ' if you want it done in January' February'
You can also
and Maich, enter "I,2,3 (return)".
enter it as a range of nonths from l-3.
Days or Dates - Enter the day or days of
the month that you wish the nission perforned'
"1,2,7,31
s e p a r a t e d b y c o m n a s( i . e ' '
lreturnl"
"
l
2
j
7
'
2
8
3
1
'
or
treturnlr')
What Room? - Enter the nunber of
performed'
\ , r ' h e r ey o u v a n t t h e n i s s i o n
(
s
e
e
b
e
l
o
w
.)
R
O
o
M
N
A
M
E
nane.
ADD
the roon
or its
Message - Type in the nessaSe you \rish CEI,IINI
B - SECURITY: This nission assigns the robot
the task of naking a progranmed s€curity patrol.
C o n t r o l o f t h e R C S c c m p u t e ra n d n o s t o f G E M I N I ' s
available in SECURITY. Information
r e g a r d i n B t h e S E C U R I T Yp a t r o l a c c o m p a n i e s t h €
o p t i o n a l S E C U R I T pYr o B r a n . l t i s a v a l l a b l e t h r o u g h
ARCTECSYSTEMS.
rhis mission assigns rhe robot the
c - !!!f:
t a s k o f r e c i t i n g f i v e o r i g i n a l p o e m sa t a p a r t r c L ' l a r
The questrons are the sane as
tine and place.
f o r t h e I / A K E U Pm i s s i o n e r c e p t t h a t t h e r e r s n o
D - ST O R Y : T h i s n i s s i o n a s s i g n s t h e r o b o t t h e
task of telling an originaL story at a particuLar
The questions asked are exactly
t 1ne and pIace.
for
POET,
the sane as those
E - SONG: The robot sings a song at the time
and place designated. The questions asked are
t h e s a m e a s f o r P O E T' e x c e p t f o r o n e a d d i t i o n a l :
S O N C/ l - C o n s u l t t h e I i s t o f G E M I N I - s s o n g s i n
Table 8.2 for the song nunber 3nd enter 1t.
63
f - REMINDER: This mission allows you to give
message to 6e said at a
the ro6"t -".inder
p
l
a
ce.
particular tine or
It asks for the same
questions as WAKEUP. These reninders can also
by selecting Function
be heard after a WAKEUP
Key 2, provided they carry th€ sab€ date (nonth
and day) as the UAKEUPtask.
G - BSR: This refers to the BSR(tn) hone control
s y s t e m w h i c h c o r n e sa s p a r t o f t h e o p t i o n a l R e m o t e
It can
Comnunication System (RCS) Conputer.
lights and appliances' turn on sprinkling
control
systens, control heating systens' and perforrn
C o n s u l t y o u r R C Sn a n u a l '
other useful tasks.
which comeswith purchase of the unit, for BSR
setup infornation.
This trission entry requests
Tia€, Months.Days.and also Lhe following:
EAME
M o d u l e C o d e o r M o d u I e N a n e ( S e e A D DM O D U L N
below) - Refer to your Rcs manual for this nunb€r.
l,lodule Connand - The comrnands are:
I ALL OFF
30N
5 DIM
2 ALL ON
4 OFF
6 BRIGHT
The connand "All on/AII off" turns on/off
aIl modules in the sane section as the nodule
given, options 5 and 6' DIU and BRIGHT' request
a level fron I to 9.
D I M a n d B R I G H Tc o m n a n d s c a n n o t b e u s e d
IOTE,
o n s o r n ea p p l i a n c e s s u c h a s t e l e v i s i o n s e t s w i t h o u t
Please consult the
serious danage occurring.
RCS manual.
H - DROIDi This nission hes to be experienced
to u. .pp...iatea.
Type in the requested infonnation
on starting time' stopping tine, etc. Thensit
back and vatch GEMINI take over and do ehatever
cones to nind -- its mind!
64
I SENSEi This mission assigns the task of
. . p o t t i . r g t h e s t a t e o f s o m eo f t h e r o b o t ' s s e n s o r s
tine and place. The sane infonnation
at a particular
f
o
r
i
n
P O E Tb u t , i n a d d i t i o n , i t L i s t s
is asked
o
f
e
a
ch sensor, and you nust tyPe a
the nane
following each one' depending on whecher
you 1'ant a repo!t of .that Particul
The sensors available are:
TIME
TEI,lPERATURE
PRESSURE
J - MOVE: A simple mission' used Eo position
the robot in a certain room at a certain tine'
a r e r h F s a m Fo n e " a s k e d t o r P O L . I .
K - ! g y q , w i t h t h e e x c e p t i o n o f I , I A K E U' P C E M I N I
wiII rernain in the designated roonj upon completion
send
A s c h e d u t e d H o M Et a s k w i l l
of its task.
Once aga1n, the
GEMINI back to its charger.
input is the same as for POET.
rhis is a very usefur mlssion. once
L - ql!_I!,
automatically execute
s c h e d u l e d , C E M I N Iv i l l
a B A S I C p r o 8 r a m i n i t s n e n o r y . T h e B A S I Cp r o g r a m
!!q! start with line nunber I0 and end with the
type in (or load from tape
EXIT command. First
or disk) your BASICprogran, Then answer all
t h e q u e s t i o n s ( I i k e P O E T )r e g a r d i n g t i o e , d a t e
and place, and cE INI l'i1l take care ol lhe rest.
Use your imagination and have fun!
M - q4_I!:
},IENU.
Returns you to
65
the frain
ScHEDIILER
2.
LIST OR DEI,ETEENTRY
Tn tnis.onrand. LnrFe kpys arp uspd, lhp
"space bar" wilI
advance the screen to display
thp np\L entry.
The ID" key ujll dplet. thp
mrsslon currently
on the display,
and the "RETURN"
k e y w i I l r e t u r n y o u t o t h e n a i n S C H E D U L EM
RE N U .
3.
ADD I{ODULE TIA}|E
Pro<s i no
to
add a nodule
Law
1
on the keyboard allors
you
name t o t h e l i s t
of BSR modules.
You nust enter the fo I Iowing infornation:
E n t e r M o d u l e C o d e - T y p e t h e m o d u1 e c o d e
( from "A01" to IPI6"--consulr your RcS manual
for more details on the numbering systen).
Enter Module Name-Type th€ nane desired
( i. E. , IILIVING ROOMLMP'' ) .
4.
LIST OR DELETE }IODTILEIIAUE
Pressing Key 4 allorrs you to insp€ct modules
o n t h e l i s t ( u s e s p a c eb a r ) , o r d e L e t e p a r t i c u l a r
-Return'
n a n e s( t y p e ' D ' ) .
Tbe
Key witl again
return you ro the Main SCHEDULER
MENU.
5.
ADD ROOII IIAUE
T h e f o l l o k i n g i n f o r m a r ; o nw i l l
b. requesLed:
Enter Roon Nunber - Enter FRo
l TO 15,
Enter
name (i.e.,
Roon Nane - Type in
"KITCHEN")
66
the desired room
6.
LIST OR DELETE ROO}.INA}{E
Instructions are the sane as for
2 and 4.
7.
Selections
QUIT
Pressing Key 7 puts you back into the LIFE
MENU.
A l t h o u g h i t i s f u n r o h a v e C E M I N It a l k L o
y o u , v e L r n d e r s t a n dt h a t s o m e t i m e s i t s l o t r s d o r ^ , n
the process of entering inissions. Ve, therefore,
i n c l u d e d a c o n m a n dw h i c h s i l l
turn the speech
off.
W h i t e i n t h e M a i n S C H E D U L EI R
' I E N U ,t y p e
a Control-T. To do thi€, hoLd do\rn the control
k€y irhile typing a "T.I
Release the "T" and
then the control key.
The speech may be turned
back on by typlng another Control-T.
This is
knorn as a "toggle."
d
e
f
a
u
l
t
The
condition is
with the voice on.
To give you sone pra! trce using S(HEDULtR,
t r y e n t e r i n g a S O N Cf o r t h e r o b o t t o p 1 a y .
The
words to ROBOTS
ARN A MAN-S BESTFRIENDare included
in Tabre 8.3. Set the robot to sing you song
-s
/f 8 and then foI Ion along. It
one of CEMINI-s
favorites !
G
2
E:I
CD
ct7
SECTION4
USI}IG BASIC
68
CtrAPTER IO
IMRODUCTION
1n Sections l-3 you have discovered that
GEMINI atlors a user olth no progranmrng experlence
the enjoynent of having a fully functional robot.
For those users who nish to experinent !rith a
h i g h - I e v e l p r o g r a m r n i n gl a n g u a g e , C E M I N I ' s n a i n
computer provides you vith the software needed
to utilize
the BASlC progranning Ianguage. We
c a l l t h i s l a n g u a g e G E M I N IB A S I C .
C E M I N IB A S I C u t i l i z e s n a n y o f t h e f u n c t i o n s
and conmands found on most personal conputers.
ln addition to these connands GEMINI BASIC has
special functions which a1loir use of the robot
sensors and effectors.
There are also functions
a v a i l a b l e w h i c h d i r e c t t h e m o v e m e n to f t h e r o b o t ,
rhether it be from roon to room or back to the
charger station.
In the folloeing chapters you will be introduced
to the standard BASIC functions and comnands,
as vell
as those lrhich are unique to cEI'tINI.
It shoutd be noted that this manual does not
attempt to teach you hos to progran in BASIC.
I f ) o u a r e n e w t o B A S I Ca n d r r , a n r t o l p a r n , t h e r e
are a nunber of good books available to help
I f y o u d i d n o t p u r c h a s e G E M I N IB A S I C , a n d
eourd Iike to do so, just fill
in the order form
a n d m a i l i t t o A R c T E CS Y S T E M S . w e w i l l s h i p
it right aeay.
We hope you n'iIl have many productive and
e n j o y a b l e h o u r s p r o g r a m m i n gu i t h C E I I I N l B A S I C .
Let us know ho\r you are utilizing
G E M I N IB A S I C
and if you have developed prosrams !,hich you
feel uould be usefut or enjoyable to fellow users.
69
CflAPTER II
GENERALINFOR}IATION
To enter BASICyou must be in the Livine
Loop.
I t e n n u n b e r 3 o n t h e L I F E M E N Ui s B A S I C .
After pressing function Key 3 or key "3" on the
keyboard you eill
see a pronpt "1",
uor you
are ready to begin programing.
HODES OF OPERATION
In GEMINI BASIC you can enter connands in
either the innediate or deferred node.
Connands
given directly
folrowing the pronpt and concluded
rith a return are innediately
executed.
For
(
h
e
F
o
l
l
o
u
i
n
g
:
exanpletry typing
IPRIIT 7 + 2
follol'ed
G E M I N IB A S I Cv i 1 1 i m e d i a t e l y
by the return
key
return
9
c o m r n a n d sg i v e n i n t h e d e f e r r e d m o d e a r e
preceded by a Iine nunbe!.
A line nunber is
an integer fron 0 to 63999. A sequence of cclftnands
Prograns are executed
is called a "progran."
by typing the vord RUNfollowed by a return.
Each line of the progran is executed in nunerical
order beginning with the Iowest Iine nunber,
Type the follo'1ng:
]IO PRIT{T
120coro 10
]RUN
70
A s y o u c d n s e F , y o u r n a m ei s p r i n r F d i n
a continuous line down the screen,
This progran
is an exampleof an infinite
loop and will continue
to run until a break is encountered. You can
cause a break in the progran by holding down
the control key and sinultaneously pressing the
Ietter C.
Type the following:
lloPRrrfi3+4
l2oPRrNt2*5
Nolutype RUNand GEUINIBASICril1
display:
1
l0
To see the program you have entered,
type
]LIST
GEI'IINIBASIC vill
display
sequential order by line number.
the progran in
If you wish to delete a progran Iine, type
the Iine number folloi.'ed by a return.
for instance
tyPe:
ll0
follored
by a return
Now type t
lLrsr
CE}Illll BASIC lri11 display:
20PRrnT2*5
You have succeeded in erasing
I0.
7l
Iine
nurnber
Lo replace IinF nunber '0, t.rype rhp line
To insert a line
nunber with the nev statenent.
in the progran, pick a number betreen the Lines
where you !'ish to insert a new tine and type
the statenent.
Increnents of I0 or nore are
s u g g e s L e dt o a l i o v I o r l i n e i n s e r ( i o n s .
To send the cursor to the uppernost left
cor:ner and clear the screen, type
lcuRHolG
and the screen will
be erased.
If you are finished with the current progran
and wish to begln a ner one' type
ll.El,
. - , " P - t e r s m e m o r ya n d
you can begin to enter a new progran.
III'I'BtrR FOR}IAT
I n G E M I N I B A SI C t - r h e na n u m b e r i s p r i n t e d ,
only nine digits are shovn. N u n b e r s a r e s t o r e d
with over nine digits of accuracybut vlll be
displayed sith no nore than n i n e d i g i t s .
N u n b er s
may also have 3n exponent.
\*
F l o a t i n g p o i n t n u m b e r sm u s t b e i n t h e r a n g e
notation
from -l*t0^38 to I*10^38. Scientific
is ,.pd r^ nrinr ihe<e rJmbe15. Th€ r irst elempnt
viII
be a (-) for a negative nunber or nothins
L'hen the nuhber is positive.
Then a singLe non-zero
number is disptayed fotloved by a decinal point.
Folloving this wiLI be eight nunbers fotlowed
by an E. After the E the exponentwill be drsplayed.
zeros are not ptinted'
Leading and lralling
Integers nusE be in the range frorn -32767
t o 3 2 7 6 7.
72
ARITIIUETIC OPERATORS
Arithmet ic operators are used to perform
The follouing
the usual operations of arithnetic.
is a list of these operators in order of precedence.
Exponentlat ron
I'IuI t ipl ic at ion
Div is ion
Addition
Exanp le
Example
Exanple
Exanple
Exanple
2^3
4*2
913= 3
5+l = 6
7-4 = 3
CO}'PARISONS
The following is a list of available conparisons
i n G E M I N IB A S I C . A I I c o n p a r i s o n s h a v e t h e s a m e
=
<
<)
)
Exanple:
EQUALCOMPARISON
LESS THAN COMPARISON ExampleI
Exanple:
INEQUAL]TYCOMPARISON
CREATERTHAN
COMPARISON
Exanple:
<= LESS THANOR EQUALTO
Example;
COMPAR]SON
>= CREATERTHAN OR
EQUALTO COMPARISONExarnple:
(2=2) True
( 4 ( 2) F a l s e
(2<>2)False
(5>r)
True
(5(=5) True
( 2 ) = 6) F a l s e
0 R - EITI1ER CO}IPARISONMUST BE TRUE FOR THE
STATEMEM TO BE TRUE.
n x a m p l e :( 2 = 2 ) o r ( 3 < l ) r r u e
(2=1) or (5>8) ralse
MUST BE TRUI FOR THE
AND - BOTH COMPARISONS
STATEMENTTO BE TRUE.
E x a m lpe :
(5<=3) and (6)l )
( 2 > )r a n d ( r = l )
73
False
rrue
CONSTATITS
Values executed upon during the use of BASIC
are calIed constants. There are two types of
constants: string constant€ and nunerrc constants.
String constants are a sequence of alphabetlc
For
characters
enclosed in quotation narks.
"HEl,LO"
Numeric constants are positive or negative
nunbers. A negative numberhas a Dre!ix (-)
in front of it.
A positive numberis as sholrn.
-24
24
negative
pos it ive
VARIANLES
which are used to represent
Variables
values in a BASIC program. As with constants'
strine variables
there are trro types of variables:
and numeric variables.
A string variable can
A nuneric
only have a character string vaiue.
variable vrilI have a value that is a nuinber.
A variable nane nust begin 'ith an alphabetic
character and may be follot ed by an alphanurneric
characcer.
An alphanuneric character is any
lercer fron A to Z, or any digir from0 (o 9.
A variable namecan be up to 238 characters long'
but only the first
tvo characters are used to
All of
distinguish one variable fron another,
t h e b a s i c c o m n a n d sa r e r e s e r v e d w o r d s a n d c a n n o t
be used as variable nanes. A conplete list of
C E M T N IB A S I C c o n n a n d s c a n b e f o u n d a t t h e e n d
of this section.
74
String variable
written vrith a
dollar sign as the last character.
For exampler
''YOUR
A$ =
NAME''
iril l
Thp dnll"r si'n stat"" rhaL Lhe variabte
represent a string.
the use of the input statement.
For exanple:
] I O I N P U TA
I2O PRINT 5*A
N o w t y p e R U N . G E I I I N I B A S I Cr i l I r e s p o n d
w.thd:.
T h e q u e s L i o nm a r k i c a p r o n p L l o l h user to input a number. The nunber that is input
1'i11be the value that is assigned to the variable.
After
the value has been assigned the program
wil l be completed.
1 24
20
I n t h i s c a s e t h e n u m b e r 4 w a s c h o s e nb y
t f p r \ F r a s l h F v a l u e a s s i g n F dr o v s r i a b l e A .
The progran was then compl€ted and the resulting
v a i u e o i s p l a v " d . A n e w v d L u Fc a n o e . l o s e r b y
t y p i n g a n d i n p u t t i n g a n e \ rv a l u e a t t h e q u e s t i o n
Integer variables must be folloqed by a
X. For exanple, IZ is an integer variable.
Thes" variablFs have no frd(tional parLsand
can have values betseen-32767 and 32767. Their
values can be assigned to floating point variables
but the reverse is not true.
It will truncate
rhF frd(t ional parr and only srore Lhe intpgpr
For exanple: A = Ai( is okay but BZ = A is not.
75
Another method of assigning vaiues to variables
is through the use of an assignment sratenent.
For exanple:
1 1 0A = 5
]20 PRINT 20 / A
]RUN
V a l u e s t h a t h a v e b e e n a s s i g n e dt o v a r i a b l e s
a r e s t o r e d i n t h e c o m p u t e r ' s m e m o r ya n d c a n b e
e r a s e d o r c h a n g e db y o n e o f r h e f o l l o w i n g m e r h o d s ,
l.
2.
A nelrlin€ is typed or the o1d line
T h e N E wc o n n a n d i s i s s u e d .
is deleted.
AII nuneric variables are automaricaLly assigned
the value of zero if not otherwise assigned.
ARRAYS
An array is a table of nunbers vhlch can
be referred to in the
as a variable.
An elenent of the array is selected by a subscript.
The subscript is €nclosed rith parenthesis and
imnediately follolrs the array nane. For exanple:
A(I)
I{'here A is the array and I is the I-th
of the array.
elenent
T\e elemenL A( l) ;s only onp ..pnpar in
the array.
GEMINI BASIC rnust be told
hov nany
elenents are in the array A.
This is acconplished
hw rhc nTM
Dn{ A(8)
Here we have stared that there are 9 elenents
in this array, !'ith 0 being the first subscript. 1f
A(I) is used in a progran sithout being dinensioned
76
GElllNI BASIC
space for ll
(subscripts 0 throush l0).
elements
SYSTEX COUUANDS
SAVE
lf you are using a wafer or disk drive vith
G E M T N Iy o u h a v e t h e a d v a n t a g e o f s a v i n g y o u r
files on disk or rafer tape and not having to
retype your programs each t ine you vish to use
I \pF.
lo "-vF - pruBran /ou would rt Lnp p'oapr
type SAVI and the nameyou wouLd like to give
you! progran. For exanpre:
ISAVE GEMINI followed by a recurn
Now type CATALOGand you vill
see th€ file that
yorsavFd oi<PlsyFdalonp uir'1 a1\ olhp, f i..
ohich you may have on that wafer or disk.
LOAD
If you rish to use one of the programs that
you have saved on a disk or wafer tape you may
d o s o b ) r y p i n g L o A Df o l l o u e d D y r l . n r n o f
the file lrhich you \rouLd Like to irork on, For
IL0AD GEUINI folloved
by a rerurn
T h i s c o m m a n dw i L I l o a d t h i s f i l e i n t o t h e
computer-s nenory so thst you can either execute
it or nak€ changesas desired,
STOP
STOPcauses a break in a progran and returns
control of the computer to the user. The nessage
B R E A KI N a n d t h e l i n e n u m b e r l r h e r e t h e p r o g r a m
ended llil I be displayed,
17
END
ENDcauses a program to breaK rne sameas
the stop comand bLrt does not dispiay a messaSe.
CONT
T h e C O N Tc o n n a n d w i ! 1 r e s r a r t a p r o g r a n
whicb has beenhalr€d by a Conrrol-C or the STOP
or END command. The progran vill
resune at the
next ins.ruction nor necessariiy the next Iine
P E E K( a d d r . s s i n d e c i n a r )
T h e P E E Kc o n m a n dw i t I d i s p t a y t h e c o n t e n t s
of a nenory location in decinat fornar.
POXN A d d r e s s , C o n t e n t s ( b o t h i n d e c i m a t )
T h e P O K Ec o m n a n d s t o r e s t h e b i n a r y e q u i v a L e n t
i n r o r h e n p n o r v l o . a r i o n s p e ,i r i e d .
of a d".irdl
CALL address in decimal
The CALL conmand'ill
inrLrare execurron
of a machine- Ianguage subrout ine ar rhe nenory
iocation specified.
caII-7165 enrers rne nonltor.
78
EDITING COTO{ANDS
LIST
T h e L I S I . o m m a n dj s u s e d t o d i , p l a ) l i n F s
of a progran.
LIST followed by a line nunber,
or two I inF nJmbers separated by d , onra. caa
be used to display only desired lines.
For exanple:
LIST l0 will
display only line 10
LIST 10,I00 sill
100
lo li"r
.
< ^a-,
f, -,r
dispray Lines l0 through
a progran rrom rhe beginningEhroLgh
r i --
F-^-
.
Lrsr -r00
To list a program from a specific
the end of the progran type:
line through
LIST IOOT o r p n p o r a r il y h a l r a l i s t i n g . d e p r . s s r n e
- , . " c
f h o
a g a i n . T o c a n c e i r h e l i s t c o m n a n d ,t y p e a C o n t r o l
- C . T h e B A S I Cp r o m p t , L s h o ' r l d a p p e a r .
DEI,
The DEL comnandis used to delete Iines
of a program. For example:
DEL10,10 will delete line 10
D E L 1 0 , 1 0 0! . ' i l l d e l e t e l i n e s t 0 t h r o u g h
100
DEL 100, nill
delete alI Iines from I00
through the end of the prograrn
79
CHAPTER]2
coullANDs UNIQUE TO CE}iINI BASIC
I n a d d i t i o n t o B A S I C c o m r n a n d st h a t a r e t h e
s i n i l a r t o , c o m n a n d su s e d o n t h e
most popular personal compurers, cEMINI offers
y o u a n i n c r e d i b l e a r r a y o f c o m n a n d sw i r h w h i c h
you c an task the robor and/or get infornation
fror its nanv spnsors. the roltouing i. d sLmmary
o f t h e c o m m a n d su n i q u e t o c E u I N I . T h e b e s t o a y
to get acquainted eith then is to experiment.
You wlll
find nany rhings ro do you never dreamed
of trhen you FirsL Bor your robor
}IAKITG SOUIIDS, PLAYING }IUSIC AIID SPEAKING
The follooing commandsal lov you access
to the VIOS computer. To successfully use this
c o m p u t e r ,i t m u s t b e e n a b l e d a n d d i s a b l e d .
Tbe
follolring
cornnandsare for naking sounds, playing
nus ic and speakine,
E N V I O S- E n a b l e s t h e V I O S c o m p u t e r .
needs to be done once.
This only
llKsID rl ( N=s ound nunber) - G e n e r at e s t h e s o u n d
specified by N. See Table 8 . 3 f o r a l i s t o f
a v ai l a b l e s o u n d s .
S O I | GX ( N = s o n g n u n b e r ) - U s e s V I O S t o p l a y m u s i c
and sing vocals, Table 8.2 has a conptere lisr
o f r n u si c a l s e l e c t i o n s .
SPEAK 2*4, SPEAK "expressionrr - Uses rhe robor,s
3rd generation speech chip and text-to-speech
algorithrn.
CEI4INI !riIl speak the nessagevithin
the quotes. Accents (/) and periods for paus€s
(.) nay be helpful ro inprove rhe ctarity.
80
DSvIOS - Disables the VIOS conputer
ro do this beforP Pndingprogram.
DIRECTING GE}'ITI'S
MOVEIIENTS
As in LhF casF with the VIOS onputpr, Lhe
P R O C O N( P R o p u l s i o n c O N t r o l l e r ) c o n p u t e r m u s t
be enabled and di€abled
for BASIC commands.
Again, it is only necessary to do this once in
E I { P R O P- E n a b l e s
the
P R O C O Nc o n p u t e r .
B O D Y D I R , S P E E D , D I S T A N C E- C o n m a n d s r o b o t
to
go forward or backuard if DIR = I, rotate if
DIR = 0,
S P E E D= I - 1 5 , s l o w t o f a s t .
DISTANCE
is value of feet in distance or degrees in lotation.
D I S T A N C Ei s a p o s i t i v e q u a n t i t y
for forward movenent
or r idhL roLaLion. and a nagalive quanrit) Iol
b a . k l r a r dT o v e r . n r o r l p l L r o L a l i o n .
DtR, SDLTD
a n d D I S T A N C Ec a n e a c h b e a f l o a t i n g
point constant,
an expresslon or a varlable.
W A I T B O D - R e t u r n s r e s p o n s e f r o m B O D Yc o m n a n d .
A 0 neans that the comnand has been conpleted;
else bumper /ll-4 is returned.
This function
nust be used after a body command, before siving
any other
conmands to PROCoN. Horever, connands
other than those to PROCON
nay be inserted between
BODY and WAITBoD and will
be executed.
This
is a floating
point function.
PAUSEN
Will
causF tne
STPBODY if noving.
Commands robot
robo( ro
to
stop
pdu"F lor
N
innediately
ENBUUP - Enable burpers.
Bumpers are not enabled
in any other comands.
DSPROPand STPBODY
disable
bumpers autonatical ly.
D S P R O P- D i s a b l e s
the propulsion
8I
conputer.
CO}IMANDING
GEHINI
'S
HEAD
t h e h e a d . T h i s i s s o n e ti n e s
INITHD - lnitializes
a good idea if, for example, you d o n ' E k n o w w h e r e
the head is pointing.
ROTO N
Rotate head to absolute position N,
Each increment in N is 1.5
0 - 239.
RoT (DIR, STEPS) - Rotate head the nunber of
DIR = 0 for clockwise
STEPS
i n D l R e c t i o ns p e c i f i e d .
rotation.
DIR = I for counter clockwrse rotation.
Returns a 0 if no head stop is encountered! or
a I if a head stop \rasencountered. This is
NOTE:
The arguments in the above commands
( a n b o a n y v a l i d B A S I cf l o a l i n p p o i n t
For example:
e x P r es s i o n .
A=5: PAUSEA
v o r c E3 + l
GE}'INI BASIC STRING FUNCTIONS:
TIXE$ - Returns the current t ine in the fornat
on a 24-hour basis as a string.
HOUR:MIN:SEC
F o r e x a n p l e , a t 0 9 : 0 5 : 0 1 a . n . , A $ = T I M E $s e t s
A$ to "090501".
DAY:I'EAR
DATES- Returns the date in the format MONTH:
as a string.
For exanple ' on o c t o b e r 1 9 , 1 9 8 5 ,
PRINT DATE$nould print 101985
IIOTE:
These strings can be operated on by
s t a n d a r d B A S T Cs t r i n g f u n c t i o n s ' e . 9 , ,
A$=LEFT$(TrMn$,r,2).
refer
on string
functions,
For more inforn6tion
t o C h a p t e r 1 3 , M O R EO N G E M I N I B A S I C ,
82
SPECIAI Gtr}IINI BASIC FLOATING PoITT FUNCTIONS
BAT (I) -Returns voltage level in decimal of
b a t t e r y N , l r h e r e0 i s t h e l e f t m o t o r b a t t e r y ,
I is the right motor battery, and 2 is the logic
B S R ( H C , C C , U C , L C ) - T o e x e c u t e a c o m m a n dt h r o u g h
t h e R C S , t h e B S R c o m m a n di s a v a i l a b l e .
This
sill
allov you to control lighcs and other appliances
f r o m B A S I C , A l l a r g u r n e n t sa r e f l o a t i n g
point
numbers. HC = ltouse Code - 0 for A
t f o r B
2 t o r C
t hrll
15 for P
CC = ConmandCode - I
2
3
4
5
6
A11off
All 0n
On
off
Brighten
I f C o n m a n dC o d e i s I - 2 , o n l y g i v e H o u s e C o d e
a n d C o m m a n dC o d e . 1 f C o m m a n dC o d e r s I o r 4 J
g l v e U C = U n i t C o d e . T f c o r n m a n di s t o D i n o r
Brighten,
the Level Code is required.
LC = Level
Code 0-9.
C o n s u l t t h e R C Sn a n u a l
Dim and B r i g h r e n c o f l m a n d s .
If
BSR
do n e s u c c e s s f u l l y , i t
r.t
83
returns a 0.
CIIARG - R e t u r n s 0 i f
I if not.
the robot is on the charger,
TIGHT - R e t u r n s a v a l u e f r o m 0 - 2 5 5 f o r t h e l i g h t
Ievel in
I T O T I O I- R e t u r n s 0 i f n o n o t i o n i s b e i n g d e t e c t e d ,
and a I if motion is being detected,
I{OTE:
Al I above functions
can be used as
valid BASIC floating point functions.
For exarnple, the following are validl
PRINI LIGIIT
A=BAT( O)
(0)
C=SOUND+UOVETO
U O V E l O ( t r )- M o v e r o b o t t o r o o m N .
Returns a
0 if accomplished, else returns an error code. (See
T a b I e 1 2 .1 )
PRESSURtr - R e t u r n s t h e b a r o m e t r i c p r e s s u r e i n
nillibars
P R I N T U O I { E- S e n d s t h e l o b o t b a c k t o t h e c h a r g e r
from any room. Returns a 0 if the robot makes
it onto the charger; othert{ise returns an error
code. (see Tabte l2.l )
R A N G E ( N )- R e l u r n s a r a n g e i n f e e t
N . H e a ds o n a r - 0 . r i g h r r o p f r o n t
bot(on Fronr= 2, Ietr LopLronl = J,
front = 4, right side = 5, left side
center = 7, back = 8.
fron sonar
= I, riCnt
lFfr bortom
= 6, front
S U O K E- R e t u r n s 0 i f n o s m o k e i s b e i n g d e t e c t e d .
However,the bit porr for detecting smokeaill
osc i I late vhen smoke is present.
This neans
the value returned nay be a t or a 0 when smoke
is present.
A l o o p t o " p o I l " t h e S t l o K Ed e t e c t o r
is used to deternine the presence of snoke.
84
SOUND - R e t u r n s a s o u n d l e v e l v a l o e f r o m 0 - 2 5 5 .
Returns the temperature in degrees C€1sius.
lIlP.
TABT.EI2.I
ERRORCODESFOR MOVETOAND HOMEARE:
1
- can't
find charger beacon.
2 - Can't find path to desired roon.
3 - Can-t get room code of sdjacent roon.
Can-t find
nurnber of doors in rooin.
5 - Lost reflector.
Can't get to door.
7 - Door is closed.
8 - Can't find roon beacon of current roon'
9 - Can-t get on charger.
To exit
B A S r c , t y p e " E x r T . " Y o uw i l r b e
Even though you
returned to the Living Loop.
are no longer in the BASIC node' your progran
hit
eill stiII be availableuntil you p;lh.r
a ner Program.
the Reset key or ltrrte
85
CIIAPTER 13
UORE ATOUT GEI'IIIII BASIC
\_
STAI|DARD BASrC COUIIINDS
The follouing conmands, found in nost standard
B A S I Cs y s t e n s , a r e a v a i l a b l e o n G E I ' I I N I :
CURITO},ID
This comnandc Lears the screen and puts
Ehe cursor in the upper left-hand corner.
FOR...NEXT
T h i s i s a s t a n d a r d F O R . . . N E X TL o o p f o u n d
in other BASIClanguages. ExamPle:
ll0 FoR I=l to 4
I2O PRINT I
l3o NEXT
prrnt t
2
3
4
I would - 5 after
This program!'ilI
on the screen.
th.
Program
llo FoR r=l To 4
120
]30
I4O
]50
FOR J=l To 6 STEP 2
PRINT J
NEXT J
NEXT I
This program'iLl
four tines.
print
I tould
I
3
5
= 5 and J 'ouId
86
= 7 after
ll0 roR A=5 To I STEP- I
]20 PRINTA
130nExT
T h i s p r o g r a r nw i l l
print
5
4
3
2
I
a n d A s o u l d = 0 w h e ndone, STAP is required
for decrementing the index and for increnent1ng
other than by l.
GET
This staLen"nr gprs input and ascigns ir
to a va!1able similar to the INPUT statement.
Unlike INPUT, CET does nor wait Ior a Larriag,
Example:
return before assigning.
J I O G E TA
I2O PRINA A
lthen this progran is run' the robot vill
l'ait for a key to be pressed. rf you press a
2, CElIlNl will imediately print a 2.
MSUB
R,ETURN
G O S U Bc a u s e s e x e c u t i o n t o b e g i n a t t h e I i n e
i l s p e c i f i e d . E x e c u t i o nc o n t i n ! e s f r o n t h l s l l n e
u n t i I a R E T U R Ni s e n c o u n t e r e d , A f t € r R E T U R N '
e x e c u t i o nc o n t i n u e s u i t h i i n e i m n e d i a t e L y f o l l o w i n g
the GosuB. Example:
]IO
]I5
]20
]30
]40
M S U B 30
PRINT "COODBYEI'
END
PR1NT"HELLOII
RETURN
a7
ou ld cause HELLo
GOODBYE
to be printed.
mTo
( line
nunber)
T l , i s . a u s " s p r o g r a m t o i u m pt o l i n e # a f L F r
GOTO.
IF (e xpre ss ion ) THEN statenent
If the value of the expresslon 1s true'
then execute the statement. 0therwise skip it.
E x a n pL e :
110
ll5
]20
]30
rF 5=5 TITEN30
PRr r "HELI-o"
END
PRINT 5
"5"
when run, this progran wouLd cause
Exa0pte:
be printed.
to
lr0 rr (3<4) oR (2<>2) TtttrNPRrNT2
I2O END
"2" to
l n h e nr u n ' t h i s p r o g r a n t ' o u l d c a u s e
be pr inted. Example:
l0 A=l : B=5
20 IF A=B THEN PRINT B
30 PRINT A
This program would onLy print
of A, since A is not eqL'al to B.
88
the contents
1X*X
T h i s s t a t e n e n t c h a n g es t h e i n p u t d e v i c e
to the device corresponding to X.
Devices are:
0 - KEYBOARD
l -
PROCON
2 - v10s
3 - EXTERNALPORT
EXPANSION
I
5 - EXPANS]ON
2
The keyboard is a l v a y s a v a i l a b l e f o r i n D u t .
cone in
Example: After INilI, arr input 'ill
fron PROCON
or the
ITIPUT
This causes the variable after this statement
This statement
to be assigned the value typed in.
gives a ? pronpt and continues to read data until
a carriaee return is typed. Exanple:
IIO INPUTA9
]20 PRITTTA9
when this is run'
w o ul d I o o k l i k e t h i s :
if
typed' execution
?HELLO
HELLO
A prompt nessage can be put after the input
statement by enclosing it in quotes' and folloving
Exanple:
it rith a semicolon and the variabte.
]IO IXPUT'\'SAT
]20 PRITT A$
89
IS YOURNATC";A$
if
Whenthis is run,
you type in FRED:
the following will
haPPen
I!'llAT IS YOUR NAME? FRED
rRED
NEl{
This statement clears alI
and variab le s from nenory.
BASICprograns
PR+X
T h i s s t a t e m e n t c h a n g e st h e o u t p u t d e v i c e
to the device corresponding to X . D e v i c e s a r e :
O - SCREEN
I . PROCON
2 - Vros
3
4
5
6
-
EXTERNALPORT
EXPANS
ION T
2
EXPANSION
PRINTER PORT
PRINT
This causes the value of the expression
after rhe statenent to be printed on the screen.
uore than one expression can be used after one
PRIM statenent, If these expressions are seParated
by comnas, the display i,till tab over eight spaces
between each value PRINTed. lf they are separated
by semicolons, aII the values are printed together'
A senicolon at the end of the last expression
will keep a carriage return from being printed
after the last value. Exanples:
PRIl{T il '2"
l,hile
90
!tould display
I
PRIIn
I ' 1 t r ' r t 2 t rw o u l d d i s p l a y
12
ll0 A$ = '1GLLo"
]20 PRITI A$
This lrould d isp lay ItELLo.
REAI)
This statenent sets the variables after
READto the values pointed to in a DATA statenent'
after
t h e R E A Ds h o u l d b e s e p a r a t e d
Va!iables
by comnas. Multiple values after DATA should
be separ€ted by comas. ExamPle:
A,B
]IO R,EAD
l2o DATAI,l0
]30 PRINI A,B
rhis would d isplay I
10.
lr0 IEAD A$,8$
'ffl,L0"
I2O DATA
IIC.MDBYE'
\3O DATA
]40 PRITTTA$,B$
This 'ouLd display IIELL0
GOODBYE.
REX
Ev€rything after REx on sane line as this
staterEnt is ignor€d. Thls is used to put comments
i n t o p r o g r a E s . E x a m lpe :
ll0 REx rErs PtoGRLx grLL CAUSEffiLLo
To BE DISPIAIED OII SCBEEII
120 Ptrrr 'EELIo"
RtrSTORE
This statenent sets the data pointer to
the first value after the first
D A T As t a t e n e n t .
T h i s c a u s e s t h e n e x t R E A Ds t a t e m e n t t o b e g i n
reading data at this statement. Exarnples:
]IO READA,B
]20 RESTORE
130 IBAD C
l4O PRrrarA, B,C
l 5 0 D A T Ar , 2 , 3
This \rould print
I
1.
110 IEAD A$
I2O READB$
]3O RESTORE
I4O READC$
TAN
]50 DATA
This would set A$ to "A," B$ to "B," and
c$ to "A, "
RUIi
If
This statenent runs a EASICprogran.
no line number is given, the prosran is run fron
the beginning.
Otherwise' i t is run from the
Iine li specified.
If a nane rs put afLer run.
the file
by this nane is loaded fron disk or
tape and run.
Examplest
RUN
RUN IO
RUN MYPROG
FLOATING POINT FUNCTIONS
'rhe following
srandard fLoaring point functions
a r e a v a r l a b l e i n G E M I N IB A S I C . T h e s e f u n c r i o n s
3re Lrsed in the s€me
they are in other
B A S I CI a n g u a g e s . T h e y a I l r e r u r n f l o a t i n g p o i n t
values wbich can be assigned to floatinB poinr
vdriable:. lh"y.an al<o b. usedLo put vdtue\
l n t o e x p r e s s i o n s . E x a m p l e so f I e g a l u s e s :
P R I N TS I N ( I O )
A=SQR(9) A=5+L0c(2)
The argumenrs in the foLlo1'ing functions
nust be floating point constants, variables or
SIT{(N)
cos(N)
srn of N where N is in radians
Returns the cosine of N \rhere N is in
TAN(N )
tangent of N where N is
INT(N)
t r u n c a t e d v a l u e o f f L o a ti n g
N.
E x a n pl e :
A = I N T( 5 . 3 ) s e t s A t o 5 .
RND(N) - Returns a randon number betveen 0 and
255.
ABS(N) - R e t u r n s t h e a b s o l u t e v a l u e o f a r g u m e n t
N.
SQR(N) - R e t u r n s t h e s q u a r e r o o t o f N .
EX?(N) - R e c u r n s X r a i s e d t o N , w h e r e X i s e q u a l
to 2.71828183.
Exanpte:
E X P (3 ) r e r u r n s 2 0 . 0 8 5 5 3 6 9 .
LOG(N) Returns the logarithrn of N.
AT[(N) - Returns the arctangent of N.
93
The following floating point functions use
s t r i n g L o n s L a n t so r v a r i a b l F s a s s r t s u n e n t s ,
vAL (A$) - Returns the floatins
the argument where the argunent
-
point value of
is a nunber in
rr!lrLE
lr0 A$="r2"
120B=VAL(A$)
This vould sel B to I2.
LEN(A$) - Returns the nunber of characters in
argument. Exanple: A = LEN ("HELLO") would set
A to 5.
ASc(A$) - Returns the ASCrI code of the first
character in an argunent string.
94
STRING FUIICTIONS
1he following functions return strings whicb
i D u s t b e u s e d i n a s s i g n n e n t s , P R I N To r S P E A Ks t a t e ments, or str ing expressions,
S T R $ ( X )- R e t u r n s f l o a t i n g p o i n t v a l u e X a s s t r i n g .
Exainple:
A $ = s T R($1 2)
sets AStorrl2.rI
CllR$(X) - Returns
ASCII nunber X.
charact€r corresponding to
L E F T $ ( A $ ' x ) - R e t u r n s t h e l e f t m o s t X n u m b e ro f
characters in A$. ExanpLe:
PRINT LEFT$( ''HELLO'',2)
$ould display HE.
\*
RIcET$(A$,x) - Returns the rightmost X nunber
of characters in A$. Exainple:
c$=RrcHTg( "HELLO",3)
would set C$ to "LLO."
MID$(A$,X,Y) - Return Y characters starting
the Xth character in AS. Exanple:
PRINT MID$(,'HELLO'', 3, 2 )
sould dlsplay LL,
95
nith
SASIC ERRORHESSAGES
S i n c e l r e a r e H U M A N Si n s t e a d o f R o B o T S , w e
a r e p r o n e t o i n a k em i s t a k e s f r o m t i m e t o r i m e .
If this happens, BASICwill let you know with
an error message. The following is a list
of
BASIC erro
nessages and what they nean. If
the error occurs in deferred mode, the nessage
will be followed by the line /1.
NEXT WITITOUT
FOR ERRoR- A NEXT statenent
used \.'ithout a corresponding FOR statement.
S Y N I A XE R R O -R M i s t a k e se x i s r
v r o r d s o r l o r m a t o f s La ( e n e n L .
in "pelling
was
ol
R E T U R NW I T H O U TG O S U BE R R O R. R E T U R Ns t a t e m e n t
is used without corresponding GOSUB.
o U T O F D A T AE R R O R- R E A Ds t a t e n e n t
beyond the DATA statement.
tried
to read
- A r loating poinr rrgunenl
ILLEGAL
Q U A Nl "l Y
] ERcOR
was used in a statenent which is nor a Iegal
quantity for this argunent.
OVERFLOW
ERR0R -
An overflow h6s occurred in
OUT OF MEMORY
E R R O R- P r o g r a n a n d v a r i a b l e s p a c e
are roo r arge.
U N D E F ' DS T A T E M E NE
T R R O R- A C 0 T 0 , G O S U B o, r R U N
to an undefined line was attenpted.
R E D T M , DA R R A YE R R O R. A D I M s t a t e m e n E w a s t r i e d
on an array which has alrrady b.en drrpnsioned.
B A D S U B S C R T PETR R O R- A n i t l e g a l
used in an array.
96
subscript was
D I V I S I O N B Y Z E R OE R R O R- D i v i s i o n
at tenpted in an expression.
I L L E G A L D I R E C T E R R O R- A c o n m a n d w a s t r i € d
in
the direct node which can only be done in the
d ef e r r e d m o d e .
S T R I N G T O O L O N G E R R O R- T o o m a n y c h a r a c t e r s a r e
in one string.
FORMULAT00 COMPLEX
ERRoR- Arirhmetic
rs too conplex.
expression
C A N ' T C O N T I N U EE R R O R- A C O N Ts t a t e m e n t r a s u s e d
\there there was nothing to continue.
97
SA}IPI,E BASIC PROGRA}I
to the powerful programs
There is no limit
The
rhich a person can urite for this robot,
fol lowing program wiLl allow GEMINI to keep
anyone-s house quiet.
After reading in the nunber
of roons and the desired sound level in the house'
t h e r o b o t w i r t r n o v et o e a c h r o o m a n d r e a d t h e
sound 1eve1. If it is too loud, che robot wiIl
tpllevpryone to geL quiet jn a very annoying
manneruntil the desired sound level is achieved.
I N H O U S EA N D D E S I R E D
] I O R E MC E T I I O F R O O M S
MAXTMUM
SOUNDLEVEL FOR ALL ROOI'IS.
'.HOWMANYROOMS
ARX ]N IiOUSE,,;ROOMS
]20 INPUT
.'WI]ATIS UAXII,I]MAUN ABLE SOI]ND
LEVEL.';SM
]30 INPUT
EACH
ROOM
RE}l
USE
LOOP
TO
GO
TO
]40
]50 REMENABLEVTOS
]60 ENVIOS
170 FoR I=l T0 RooMS
OH E NI 2 O
] 8 0 I F M O V E T O ( I ) =T
90 REM ROBOTCANNOTGET TO THIS ROOMSO SPEAK
MESSAGEAND TRY NEXT ROOM
100 SPEAK "I CANNOTGET To ROOI'I":SPIAK I
110 G0T0i70
120 IF SOUNDS<=SND
THEN I70
130 REMTELL PEOP],ETO GET QUIET
I4O SPEAK"EVERYONE
P],EASEBE QUIET.,
150 REMKEEP REPEATING
UNTIL IT IS QUIET
160 coTo 120
I7O NEXT
I8O REMDISABLEVIOS BEFOREENDING
I90 DSV]OS
2OO END
98
=
-
SECTION 5
}'AITTENANCE
CHAPTER 14
HANDIj T.IITIi CARE
.
A l t h o u g h G E M I N Ih a s a t o u g h e x t e r i o r ,
its
insides are sensitive and need proper care.
Establishing general rules to fo11os will ensure
you nany hours of enjoyment and education.
STATIC
T h e 1 o w p o r e r C M O Sc h i p s u s e d t h r o u g h o u t
G E M I N Ia r e v e r y s e n s i t i v e t o S T A T I C . D u r i n g
vinter nonths when the heat is turned
the.old
on high, this might becone a problen.
tt vould
be a good idea to use an anti-static spray on
t h e r u g s G E M I N rI i I I
be crossing and around its
charger.
Periodically
F^,
check the static
line
and mat
^,^^--
IIEAD
The bILre foam on CEMINI's head is purely
for €esthetics. It does not protect the sensor
u n d e r n e a t h . P l e a s e d o n o t P O K Ea n y t h i n g i n t h e
foan as danage to the sensor may result.
SONARS
T h e s o n a r s u s e d o n G E M I N Ia r e n o t d a n g e r o u s .
H o n e v e r ,y o u s h o u l d a v o i d t o u c h i n g t h e m , e s p e c i a l L y
uhen they are firing.
A cticking sound can be
heard as each sonar fires.
BASE
l,lhen you \rant to nove CEMINI somevrhere in
a hurrv, either pick it up by the handles on
the baseor use the loystick controLler.
It
-
r or
oo^d
.-
r5-
T.'nr.
100
' a
L.e
base
rr
Lnu
is "pushed" around
robot
CHARGtrR
As with any electrical appliance, it is a
good idea to keep children from playing vith
the charger.
Although it should not hurt then,
t o u c h i n gt h e r u o b r a s s p l a ( e s o f L h e c h a r g e r
rirp
..Itd
o;ve them a shock.
LCD
The manufacturer suggests that the LCD not
be touched. It is also static sensitive and
s cpark coLld hara LhPequrpnenr.
LOOSE COI{NECTORS
I t i s not a good idea to touch any of the
boards inside the robot.
Ho\tever' if yoti need
to tighten a loose connector, be sure to touch
the aluninuB frame with one hand before touching
rlp boards. Also, be surp ro ! h..k fh^ wirinC
diagran for the connector if rn doubt as to vhere
o r h o v i t 3 t t a c h es .
EXPERI}'ENTINC
you are an experinenter and vill be "fiddling"
with the electronics, we reconnend that you buy
a static nat and groundlng line for the robot-s
protecEion. They ar:e available through ARCTEC
SYSTEMS.
If
FOR YOURPROTtrCTION
to
The smoke detector
be part of an overall
o n G E M IN I
" - "
, - i
F.
is
"."
intended
L - -
is inportant
that you DO NoT rely on the smoke
detector as your only neans o f d e t e c t i n g a p o s s i b l e
:rr: Jr hazard,
101
CIIAPTER15
I{HATTO DO IF...
What do I do if
Sinply
CEMINIis
doins something
p r e s s t h e R E S E Tk e l ' o n t h e b a c k o f t h e
R[]ttrXBER: If CEMINI was running a BASIC program,
t h e R E S E Tb u t t o n v i l I e r a s e t h e p r o g r a m f r o m
Things
iust
don't
seen
to
lrork
anymore!
' NTP\5 RESET.
If the problen p€rsists, check che battery voltages
by pressing "B" fron the LIFE MENU. Low batteries
t e n d t o m a k et h e r o b o c a p p e a r t o b e n a l f u n c t i o n i n g .
If the batteries are fine (11.0 or above), try
perforning a Cold Start.
IITPORTANT:Perforning a Cold Start has t'o effects.
The first is that aLl variabLes are reset to
their default conditions. The secondis that
t h e V O C O vLo r d g r o u p s w i l t n e e d t o b e r e t r a i n e d .
Technically, a CoLdstart \riLL only erase the
word group training status flags located at S05FOY o ' c J n r p t d i n f h p r r d i n i n g b y e n 1- r ' . t
05c.
L h " v o n i t o r a n d r a s 4 t L i n gt h e I . d . t o t \ . i r
If
originaL valves prior to the coLd Start.
you do not do this, CEyINI wil i take you through
the training passes the next time you enaer VOCOL.
To perform a Cold Start:
1
P r e s s t h e R E S E TK e y a n d h o l d ;
2
Press Function Key 5 and hold;
3
R e l e a s e R E S E T ;R e l e a s e F u n c t i o n K e y 5
ta2
G E M I N Iw i l l n o e p e r f o r m a c o n p l e t e s y s t e n c h € c k ,
Refer to your checklist and note any problens.
If everythingch.cksour. sap if rne problrr
is gone. lt might havejust neededarrfresh
sLdrl". lf nor. Ldll thF lacroryor in cut\orizpd
Warnings
f r o m G E I . I I N Ia b o u t I o v b a t t e r i e s
This is a good indication that GEMINI's batteries
are veakening.
Under nonnal conditions the batteiies
should last about I year, Replacementbatteries
nay be obtained throuSh ARCTECSYSTEMS.
How do I
change the batteries?
To change the batteries,
first
disconnec t the
bas" fron Lhp rorso, bv r.\ Fr"ine Lne pro pdJre
described in Chapter 3.
Renove the battery clanps
and then carefully
disconnect the battery terninals.
Btr CARBFULnot to touch the terninal s together
or againsE the aluninuin frame.
The sparks could
ldrn Ctl'llNl
vo' I
Aft.r
r'p s.ing L\.
batteries
connect the terminals, checking to
be sLre c\p rpd kir. gops Lo ll-e pl' s sid" ol
the battery
and the black l'ire to the ninus side.
Re-assembie and lrhen powered up, cE lNi will
do .ls sy"lFn se1 -.1'pcl.
ll_p batt"r/ volragps
shurld be okav. b' t if not p'.t :' on rhp ,l-ar8 !
for a vhile and check back in a fer hours.
HIm:
Enter a reminder for about eight nonths
f r o m t o d a y t o c a l l A R C T E C S Y S T E M Sa n d o r d e r C E M I N I
" set o
baLLeries lor nexr rim€.
problprs st'-l p-r".-1. plpdsp call rhF ld! tor)
an authorized service center for help.
We hope you enjoy your new R0BOTFRIEND!
103
gARRANTY
YOURARCTECSYSTEUS90-DAY LIMITED WARMNTY
This is a Limited warranty as defined 1n lhe
U. S. Consuner Product Warranty and Federal Trade
lhis varranLv givps
c o m m i s s i o nI m p r o v e m e nAt . ( .
you specific
lesal rights' and you nay also have
other rights that vary fron state co state vithin
rhe United states.
arranty covers
W A R R A N T YA P P L I C A B T L I T Y- T h i s
only the Arctec Systens assembled CEMINI product
and is not extended to other product
ponents that a customer uses in conjunction oith
This wairanty does not cover softvare
this product.
products or danage to products caused by software
p,odu.rs,
l h i s w a r r a n r y a p p L i a co n l v L u ( h e
first end-user of the Arctec Systems assembled
p r o d u c t w h o b e c o m e s s u c h b y p u r c h a s ea t r e t a i l .
This warranty is not assignable.
IONS - This warranty does not
WARRANTY
EXCLUS
e x r p n d r o i n s L E l l - (i o n a n d a d j ' c t T e a L a t l h o
User's location, or to a ploduct which has been
s u b j e c t e dt o n i s u s e ' a b u s e ' n e g l e c t ' a c c i d e n t '
application, or alteration
improper installation'
i n . l u d ; n gb u r n o t I i n i ( e d r o e l e c t r i c a l . m e c h a r i c J l .
or cosnetic (including removal of Arctec Systems
naneplates, togos, tradenarks' or identification)'
without the expressedwritten authority of Arctec
S y s t e n s ,o r s u b j e c t e d t o n e g l i g e n c e i n u s e ' s t o r a g e '
is
C } l o Sc i r c u i t r y
transportation or handlinS.
'
l
F
L
L
r
i
c
i
t
\
.
3nd
e x t r e r p l y s F n s i L i v et o s t a r i '
a I I C M O Sc h i p s a r e e x c l u d e d f r o n t h i s w a r r a n t y .
S E R V I C EL A B O R- F o r 3 p e r i o d o f 9 0 d a y s f r o m
t h e e f f e c t i v e w a r r a n t y d a t e ' A r c t e c S y s t e n si t i l l
pay for service labor by an Arctec Systens approved
when neededas a result of defective
service facility
worknanship and naterial
S y s t e n s a s se n bl e d p r o d u c t .
in your CEMINIArctec
replacenents for factoryPARTs - New or rebuilt
p
a
r
t
s
b
e
defective
will
supplied for 90 days
fron the effective warranty date.
Replacement
p a r ( s a r e w a r r a n c e df o r t h e r F m a i n i n q p o r L i o n
of the original varranty period.
D A M A G E -S U n d e r n o c i r c u m s t a n c e s s h a I I A r c t e c
Systens be liabIe in any 'ay to the user for
indirect, special, incidental or consequential
danages, including but not Iimited to, any loss
o f b u s i n e s so r p r o f i t s , \ r h e t h e r o r n o t f o r e s e e a b l e '
and !,'hether or not based on breach of sarranty,
contract, or negligence in connection with the
sale of this product.
Sone states do not alLow
the exclusion or limitation of incidental or
consequentiaL danages, so the above limitation
or exclusion nay not apply to you.
E F F E C T M w A R R A N T YD A T E - W a r r a n t y b e g i n s o n
r h . d a r p o r p u r c h a c ea L r F t a i l b v t h e l ; f 5 t e n d
d 5 p r , F o r ) o u r . o n v . n i Fn ( e . k p p p t h e d e a l p r 5
of sale or invoice
or nanufacturer's dated bill
The proof of purchase
as evidence of the sale.
mrst be provided when lrarranty service 1s requested,
L E F E R E N CM
E A N U A L S- R e a d
USER'S ANDTECHNICAR
y o u r U s e r ' s M a n u aI a n d y o u r T e c h n i c a l R e f e r e n c e
I ' l a n u aI c a r e f u l l y
so that you wiLl understand
t h e o p e r a ti o n a n d c a r e o f y o u r p r o d u c t .
I / A R R A N T YS E R V I C E - F o r \ , , a r r a n t y s e r v i c e , c o n t a c t
your dealer, or any Arctec Systen€ approved service
Parts and service Iabor that are Arctec
facility.
5 ] s t e a s ' r e s p o n s ; b i ) ; t \u n d e r r h i s t a r r a n r y t i J l
,.: provided.
other service and transportation
rs 3t the User's Expense.
105
APPENDIX
LIST OF FIGURNS
F I G U R E3 . 1
EXTERIOA
R B S P L A S T I CS H E L L Sp . 1 3
FIGURE4.1
- FRoNTVIEI"I p,22
INTERIORSTRUCTURE
FIGURE4.2
- REARVIEIT p.23
INTERIORSTRUCTURE
FICURE6.I
SA}IPLEBEACON
p.32
AND REFLECTOR
LIST OF TABLES
TABLE 6.I
ROOIIBEACON
p.35
ASSIGNMENTS
T A B L E7 . 1
L I V I N G L O O PS Y S T E IT' IE S T Sp . 4 5
T A B L E8 . 1
vorcE oPTloNsp.58
TABLE 8.2
PROGRAMMABLE
CANNEDSOUNDS
p.58
T A B L E8 . 3
M U S I C A LS E L E C T I O NpS. 5 9
TABLE 8.4
VOCOLWORDCRoUPSp.60
TABLE 12.1
ERRORCODESFOR }IOVETOAND HOMEp.85
I,IST OF PICTURES
PICTURE3.1
TORSO/BASE
HARNESS
CONNECTION
p.L4
PICTURE3.2
PROPER
POSIT]ONINGOF BRASS
HEADGEARp, 14
P I C T U R E3 . 3
p.l5
M A I N C O M P U T ESRI ' I T C H E S
106