Engineering project from 1982 using the Polaroid Ultrasonic Sensor (a kit that Polaroid provided based on a sensor then used in its instant cameras) to provide distance feedback to a mobile robot. A 6502-based microprocessor was used for the control. Programming in Basic and Assembler was required.
Original Title
A Closed Loop Robot Control System Using the Polaroid Ultrasonic Sensor Part 3
Engineering project from 1982 using the Polaroid Ultrasonic Sensor (a kit that Polaroid provided based on a sensor then used in its instant cameras) to provide distance feedback to a mobile robot. A 6502-based microprocessor was used for the control. Programming in Basic and Assembler was required.
Engineering project from 1982 using the Polaroid Ultrasonic Sensor (a kit that Polaroid provided based on a sensor then used in its instant cameras) to provide distance feedback to a mobile robot. A 6502-based microprocessor was used for the control. Programming in Basic and Assembler was required.
4. SUMMARY AND CONCLUSIONS
In summary, the sonar unit proved to be extremely capable
of fulfilling its role as a closed loop feedback detector.
The main limitation of the system was the turtle which did
not lend itself to having anything extra mounted on it. In
the end the precariousness of the sonar mount eliminated any
chance of having the turtle perform even basic maneuvers
The most important part of the project turned out to be the
development of the sonar-control ASSEMBLER program. Any fu-
ture setup of the sonar could consist of a 6502 microproces-
sor, a 6522 VIA with associated circuitry, the interface
collection of transistors etc., and the power supply. This
is opposed to the clocks, binary counters and such on the
EDB (see appendix A). For one thing the units of the output
are no longer limited to feet. Since a microprocessor chip
is being used it can be made to do more than just give a
range. Given this setup, there are many avenues of explora-
tion.
I would suggest that in any future work using the unit
with robots, that a different robot be used. The robot
should specifically be built with a platform for holding
different devices. | The sonar unit could then be mounted
like a radiotelescope on a stepper motor. Thus, the trans—
ducer could be rotated instead of the entire robot. Lastly
remote control would be preferable to having a twenty foot
umbilical cord. If the unit was to be used strictly as a
eerange finder, an acoustical horn could be mounted on the de-
tector to focus the sound waves. There might even be a way
to provide “stereoscopic vision".
The trick would be to achieve this without using two so-
nar units. There may be a way to do it with the two trans-
ducers supplied in the kit. The sonar could indirectly con-
nect to both transducers through an integrated circuit of
some kind. The transducer used would be determined by the
microcomputer. This would require that the transducers were
both at the same angle with respect to some fixed position.
The result would be much like the triangulation obstacle de-
tection system mentioned in the introduction. It also might
be helpful to decrease the lower range limit. The method
listed in the instruction manual is to decrease the width of
the ultrasonic pulse. This is not trivial.
The major part of the work has to be in software. There
is no reason why the robot should have to jerk along to its
target. The controlling program must be made faster. It
could simply be written in ASSEMBLER but multiplication and
division subroutines would have to be written. The gain in
speed is compensated for by a loss in sructure and readabil-
ity. Actually though, these may be eliminated once it is
realized that the computer can think in terms of time as
easily as distance. The conversion to feet is done simply
as a convenience to the user. A At measurement could be
sent to the ASSEMBLER program instead of a distance. Thiswould eliminate the extra conversion arithmetic. Once the
sonar unit is put under software control, the range of
things it can be used for increases inmensely.
If a moving obstacle was moving slowly and/or very far
away a collision avoidance system could be implemented. Tf
things are set up in such a way that all that has to be done
is recognize a change in height or width, a sonar unit could
replace a television camera. In short, any application re-
quiring that range be taken can be realized with the micro-
computer controlled sonar unit.Appendix A
EXPERIMENTS WITH THE SONAR UNIT
Since it came already attached to the sonar unit, the ex-
perimental demonstration board was used to provide the dis-
tance readout for the experiments. For reference, a sche-
matic of the ED8 is shown in figure A. The first experiment
was to test the accuracy of the unit. This was done by mov-
ing an object back and forth along a ruler that had the so-
nar transducer at one end. ‘he results of this test showed
that the unit could range objects with no discernible error.
Another good feature was that the range to obstacle never
changed once it was found (i.e., the number given did not
change from cycle to cycle). the next experiment tested the
resolution of obstacle detection. Thinner and thinner ob-
jects were placed in front of the transducer until the dis-
tance measurement showed that the object was no longer de-
tected. ‘this limit was never reached. Apparently the unit
can discern objects only a few millimeters wide. ‘The last
test yielded the angle of detection. An object was moved
left and right perpendicular to the wave direction. ‘The re-
sult was an angle of detection of about +15 degrees. one
other observation was that holding the transducer close to
the table produced readings of .9 feet even when the trans~
eyducer was pointing parallel to the table. This indicated
e that the table was reflecting sound waves. This eliminated
the idea of mounting the transducer close to the floor.
0 el
. i ome | “eine? ia
ae rs a |
° levee Event “gece ee |
eer - ie
= ie I
Seen epee elaty
(cope ieee
To cece wat
Lzmcne/oete [Scannng vind winged Be odes
° foes los
Se ‘BED -t0- Seven
DiSPAY Lt Sus SegaAppendix B
SONAR ACTIVATION AND TIMING PROGRAM51
FL
DELAY
LPL
Lp2
ADTIME
EDA #$01.
STA $A001
LDA $502
BIT SA001
BEQ XLG
JSR ADTIME
LDA #$04
BIT $A001
BEQ FLG
LDX $A008
EDA $A009
STA SOCFE
TXA
STA SOCFF
sec
sac #504
BCS ADDCON
cue
EDA #S01
‘ADC SOCFE
STA SOCFE
LDA #826
Le
‘ADC SOCFF
STA SOCFP
LDA #$00
anc OCF
STA SOCFE
sec
LDA #SFF
SBC SOCFF
STA SOCFF
LDA 4SFP
SBC SOCFE
STA SOCFE
JSR DELAY
LDA #$00
STA SA001
JSR DELAY
RTS
LOX #804
LDA §SEF
STA $A008
STA $A009
LDA $520
BIT $A00D
BEQ LP2
DEX
BNE LPL
RTS.
LDA §SFF
STA SA008
STA $A009
RIS
send VSW pulse
wait for xLG
activate timer
wait for FLG
get contents of timer Jow
see text
correct error in time
get total elapsed time;
store in memory for retrieval
by BASIC program
let VSW high for 200 ms
and low for 200 msAppendix C
CLOSED LOOP CONTROL BASIC PROGRAM
initialization
5 POKE 40962,255: POKE 40960,0: POKE 40963,1: POKE
40961,0
14 POKE 4,0: POKE 5,143 rate= 1780 microseconds
per foot of range, high and low are where the assembler lan-
guage stores the result of the sonar
18 780: LOW=3327
20 326: PLACE=256
50 "INPUT DISTANCE TO Go"
60 INPUT ZC
70 Gosus 3000
set original distance that other distances will be compared
to
80 DEST=DIST
90 POKE 40960,6 turtle forward (see table one:
100 GosuB 3000
if the difference between the old range and the new range is
greater than or equal to the distance needed to be traveled,
stop the turtle and leave the program
give the turtle some time to move
105 FOR J = 1 TO 100: NEXT J
110 IF (DEST-DIST)= > ZC THEN POKE 40960,0: GOTO 130
otherwise loop back
120 GoTo 100
130 sToP
3000 POKE 40960,0 stop motors
3002 DUMMY=USR(0) call to ASSEMBLER subroutine in ap-
pendix A
the delta t returned by the subroutine is turned into a dis-
tance
3010 ‘TIME=PLACE*PEEK (HIGH) +PEEK (LOW
3015 POKE 40960,6 start motors
3020 DIST=TIME/RATE: RETURN
eeis
REFERENCE LIST
Allen, Stephen A. and Rossetti, Tony. On Building a
Light-seeking Robot Mechanism. Hanover, NH: BYTE
Publications; Ines, 1978
Ciarcia, Steve. Home in on the Range!: An Ul trasonic
Ranging System. Hanover, NH: BYTE Publications, Inc.,
November 1980.
Hollis, Ralph. Newt: A Mobile, Cognitive Robot
Hanover, NH: BYTE Publications, June 1977
Morris, Dave L. An Inexpensive Robot Guidance system.
Cerritos, CA: Interface Age, April 1980
Polaroid Corportion. Ultrasonic Ranging system
Description and Operation. Norwood MA: Polaroid Corp.
Rockwell International. AIM 65 BASIC Language
Reference Manual. North Brunswick, NJ: Rockwell, 1979
Rockwell International. AIM 65 Hardware Manual. North
Brunswick, NJ: Rockwell, 1979
Rockwell International.
Brunswick, NJ: Rockwell,
AIM 65 User's Guide. North
‘979
Rockwell International. 6500 Programming Manual.
North Bronewick, Nyt Rockwell thesenat torial 7 TO7S
a9