on ■ MHMml MBHIHHia IfiBNslltii ■ 9 91 fUEKB ■fiSU H Ml B38K m HK n BJIMflJ Hi ■BR] HBB8BBH BB onfl wt Hn aSSS HflaS^BHIan BWlTlfMiffl atPo HHHHBHai BflHHfl I ■ ■ «H >5^l Pffll i H Bisl BB H ■ Rfi IBS MHeaHl H BMMMI ^V IHfflMlffl H HI 88 BH MB HHnHl K Hi HfB&H Bui SXfl HHh LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 510.84 IA6r no .679-684 cop. 2. The person charging this material is re- sponsible for its return to the library from which it was withdrawn on or before the Latest Date stamped below. Theft, mutilation, and underlining of books are reasons for disciplinary action and may result in dismissal from the University. UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN NOV 5 OCT 13 "" RECO ,.,■: .,:< ,wi L161 — O-1096 UIUCDCS-R-7U-683 /yivcf TELEMAZE: A FEEDBACK CONTROL SYSTEM FOR THE REMOTE POSITIONING OF A DISTANT EXPLORATORY VEHICLE ty EDWARD JAMES POTT October 191b / DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN URBANA, ILLINOIS IHE LIBRARY OF THE JUN 3 1975 UNIVERSITY OF ILLINOIS UIUCDCS-R-7^-683 TELEMAZE: A FEEDBACK CONTROL SYSTEM FOR THE REMOTE POSITIONING OF A DISTANT EXPLORATORY VEHICLE BY EDWARD JAMES POTT October 197U Department of Computer Science University of Illinois Urbana, Illinois 6l801 This work was supported in part by Contract No. NOOO-1U-6T-A-0305-002U and was submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science, at the University of Illinois. Digitized by the Internet Archive in 2013 http://archive.org/details/telemazefeedback683pott Ill ACKNOWLEDGMENT The author wishes to thank his advisor, Professor W. J. Poppel"baum, for suggesting this thesis and for his support and guidance. Also, he would like to thank Frank Serio and his staff for fabricating the circuit cards, Mark Goebel for the drawings in this report, Evelyn Huxhoid for typing the text, and Dennis Reed for the publication of this thesis . Last, but not least, he would like to thank his wife, Anne, and his son, Steve, for their encouragement and perseverance. IV TABLE OF CONTENTS Page 1. INTRODUCTION 1 2. TELEMAZE SYSTEM DESCRIPTION 7 2.1 Telemaze World Model 7 2.2 TELEMAZE Control System Block Diagram 7 2.3 Communication System -------------------- io 2.k Local Station Control Description ------------- 12 2.5 Remote Station Control Description ------------- ik 2.6 Operation Instructions -------------------15 3. TELEMAZE LOCAL STATION l6 3.1 Local Station Design and Operation -------------16 3.2 Local Station Block Diagram ---------------- 16 3.3 Major State Transition Diagram --------------- 18 3.3.1 Local Station Hardware/Processors ----------20 3.3.1.1 MDR/SR 8-Bit Register ■ 20 3.3.1.2 CPR 8-Bit Register 22 3.3.1.3 Local Station Buffer Memory 22 3.3.2 Major States Description --------------23 3.3.2.1 Preview State 23' 3.3.2.2 Maze State 23 3.3.2.3 Landing State 2k 3.3.2.U Path State 2k 3.3.3 Major Modes Description ---------------24 3.3.3.1 Ready Mode 2k 3.3.3.2 LED Mode 2k V Page 3.3.3.3 Transmit Mode 25 3.3.3.U Update Mode 25 3.U Local Station Clocks/Synchronization ------------ 26 3.5 Input Square Processor ------------------- 2Q 3.5.1 Square Processor Block Diagram -----------28 3.5.2 LED Panel/Coordinate Recognition ---------- 2b 3.5.2.1 LED Panel Block Diagram 30 3.5.2.2 LED Panel Hardware 30 3.5.3 Displacement Logic -----------------36 3.6 Local Station Timer 37 3.7 Local/Remote Interconnections ---------------37 3.8 Local/Remote Communication -----------------39 3.8.1 Transmitting Processing Logic ------------ Ul 3.9 Update Processor ----------------------1+1+ 3-9.1 Update Processor Hardware -------------- U7 3.10 Video Generation and Processing -------------- 1+7 3.10.1 Block Diagram 50 3.10.2 Video Square Generator ---------------50 3.10.3 Video Gray Scale Generator -------------52 U. TELEMAZE REMOTE STATION 57 U.l Remote Station Design and Operation ------------57 U.2 Remote Station Block Diagram ----------------57 U.3 Tape Recorder Decoder -------------------59 U.U Remote Station Timing - ------------- -6l U.U.I Data Input Clock 6l U.U.2 Data Output Clock 63 vi Page U.U.3 Information Processing Clock ------------ 63 1+.5 Major State Transition Diagram --------------- 63 k.5.1 Remote Station Hardware --------------- 65 i+ . 5 • 2 Major States Description -------------- 68 k. 5.2.1 Power On State ■ 68 k. 5.2.2 Landed No-Obstacle State 68 4.5.2.3 Landed Obstacle State 68 U.5.3 Major Modes Description ---------------69 h. 5.3.1 Ready Mode 69 U.5.3.2 Preview Mode 69 U.5.3.3 Initialize Mode 69 U. 5- 3. U Test Mode TO k.6 Tape Recorder Date Processor/Test Mode Logic --------70 U.T Remote Station Maze Memory ----------------- 72 k.Q Display /Video Processing ------------------72 5. SUMMARY 7k LIST OF REFERENCES 75 APPENDIX A 76 APPENDIX B 77 APPENDIX C 79 Vll LIST OF FIGURES Figure Page 1. Relationship of the Model Maze to Actual Maze -------- 2 2. Telemaze System Photograph ------------------ 1| 3. Sequence of Finger Drawing on LED Panel ----------- 6 h. Telemaze Real World Model ------------------ 8 5. Telemaze Model Feedback System ---------------- 9 6. Communication System Block Diagram ------------- n 7. Tape Recorder Photograph ------------------- n 8. Telemaze Control Panel --------------------13 9. Remote Station Front Panel ------------------13 10. Local Station Block Diagram -----------------17 11. Local Station Transition Diagram ---------------19 12. Local Station Hardware Diagram ----------------21 13. Master Clock Waveforms --------------------27 lU. Possible Legal Paths from AtoB 29 15. Square Processor (X Component) ----------------29 16. Telemaze Local Station --------------------31 17. LED Panel Block Diagram 32 18. LED Panel Partial Schematic 3^ 19. LED Panel Processing Logic Diagram --------------35 20. Local Remote Interconnection Diagram -------------38 21. Command Word Bit Assignments ----------------- kO 22. Data Word Format Using Biphase Encoding ----------- U2 23. Biphase Encoding Logic Block Diagram -------------1+3 2k. Update Processing Example ------------------ 1*5 Vlll Figure Page 25. Update Processor State Transition Diagram — — — — — — — — — — 1+6 26. Update Processor Hardware -------------_-___ 1+8 27. Television CRT Face (Active Video Area) 1+9 28. Video Block Diagram (Local Station) ------------- 51 29. Local Station Synchronization ---------------- 53 30. Square Generator Block Diagram ---------------- 5I+ 31. Video Gray Scale Generator ------------------ 56 32. Remote Station Block Diagram -----------------58 33. Biphase Decoder Logic Block Diagram ------------- 60 3h. Biphase Decoder Waveforms ------------------ 62 35* Remote Station Clock Waveforms ---------------- 6U 36. Remote Station Major States ----------------- 66 37- Remote Station Hardware -------------------67 38. Shift Register Decoder Logic Block Diagram ----------71 CI. Local Station Flow Diagram A-----------------80 C2. Local Station Flow Diagram B-----------------81 C3. Local Station Flow Diagram C-----------------82 Ck. Remote Station Flow Diagram -----------------83 1. INTRODUCTION It is well known that feedback for on-line operation is useful only if the delay in the loop is short enough. A typical example where feed- back is nearly useless is the control — from earth — of an exploratory vehicle on a remote planet : either we have to go so slowly that the vehicle hardly moves in "one feedback time," or we must risk destruction by unknown obstacles. Professor Poppelbaum suggested a novel solution of the problem in which all that is known about the environment of the vehicle (i.e. an environmental "model") is stored in a computer on earth. Guidance is then obtained by steering an "image" of the vehicle through the model. Two cases arise: either the real vehicle (which follows with some delay the "image" in the model on earth) does not pick up any unexpected information — e.g. the position of an obstacle, in which case we can happily continue through our "imaginary world" in the computer; or, and this is the important case, an obstacle does occur. The vehicle then comes to a standstill, sends out a "hold it" signal to earth and updates the model in the earth's computer. The driver will retrace his path to the position preceding the obstacle. After the up- date process is completed the driver continues his "excursion" through the updated model. The important point is, generally he will have a reasonably accurate model right from the beginning (previous photographs, etc.) and that the update process will happen relatively rarely. Thus, the vehicle can proceed at a reasonable speed, losing only a minimum amount of time due to feedback delays. TELEMAZE is a simple control system which uses a l6 x l6 array of squares. A "black" square corresponds to an obstacle, and a "white" square corresponds to a free path. The game is now exactly as described UJ N < a >• «*- g QJ 2 aJ -p o CM — > ♦ CO UJ in the earth/planet case: we get from time to time an "occupied" signal — with considerable delay — and must backtrack to our position just before we encountered the obstacle. Figure 1 shows a typical example. Suppose, for example, that an exploratory vehicle is to be guided from point A to point E and that, from prior information, the vehicle is known to be at the end of a valley opening to the north. We can guide it along the solid line from A(2,3) to B(U,3) with the intention of reaching E(U,5). However, by the time we reach E(U,5') the "update" signal light flashes and our model is updated to show that this path was actually impossible. The vehicle has halted and is waiting for further instructions at B(U,3). It can be seen that the actual maze contains an obstacle at point (U,i+) which is unknown to the model. Thus, after one "hold it and update" signal, this square will now be contained in the model and we can now construct a new path around it. Thereupon we continue traveling: we proceed to C(5,3) and west to D(5,5) and back south to E(U,5). This time we reach E without further incident. It_ i_s_ to_ be_ emphasized that we only used the " hold it and update" process once , losing only one feedback delay . Had we pro- ceeded from square to square to wait for an "OK" it would have cost us several feedback delays. Also we are actually only interested in the correction for a linear path : what is outside (in two dimensions!) does not concern us. The TELEMAZE system is shown in Figure 2. An operator sits at the local station (earth's computer) and steers the "image" of the vehicle through the model maze. Also shown is the remote station which simulates the remote planet. The exploratory vehicle, which traverses this planet, is represented on the remote monitor by a small gray square. Figure 2. Telemaze System Photograph In Figure 3 is shown a sequence of photographs showing how it is possible for an operator to guide the "image" of the remote vehicle through the model maze, using the fingertip as an input device. By making successive requests, a path is constructed for the vehicle to follow. After a considerable time delay has elapsed it will be known if the vehicle has succeeded or not. Figure 3. Sequence of Finger Drawing on LED Panel 2. TELEMAZE SYSTEM DESCRIPTION 2.1 TELEMAZE World Model The TELEMAZE control system is intended to be a "world model," as close as possible to the real world situation. The state transition diagram for this model system is shown in Figure U, and reflects this thinking. The first stage in beginning any remote mission to a distant planet would be the acquisition of reconnaissance information. This could be in the form of a satellite photograph(s) . This photograph can provide data which would be used to form the earth computer's initial "model" maze. Once this is accomplished, a space vehicle will attempt to place the ex- ploratory vehicle in a safe location on the remote planet's surface. Having successfully landed, the exploratory vehicle can now begin its trek. The exploratory vehicle will make replies only if it senses danger. 2.2 TELEMAZE Control System Block Diagram TELEMAZE is a simple control system which transmits control signals to a remote exploratory vehicle. Figure 5 shows the block diagram for the TELEMAZE model feedback system. Guidance of the remote vehicle is obtained by steering the "image" of the vehicle through a "model maze," ■ which is an approximation to the real maze. The model maze information is contained in a l6 x l6 matrix of squares called the model maze memory. Control of the vehicle's path is obtained by placing the fingertip into a linear array of light-emitting diodes and phototransistors (the LED panel) The vehicle's path is constructed one square at a time and stored in a 16 x l6 matrix (the path memory). As each square is requested, it also e State 1 State 4 Vehicle "Reply "Only When Endangered \Landing Attempt To Land Vehicle * =The Machine Will Normally Reside In State 4. The First Three States Are For Initialization. **= The Machine Assumes A New Vehicle Will Attempt A Landing. State 3 Start Mission State 2 Photos Entered Into Model Figure k. Telemaze Real World Model z UJ »- o UJ X 111 ►-5 ..1 zo O X tc en LJ SO > oo_ < u o 0. UJ c s UJ N < >- Z K O -l z UJ UJ Q z O z • I a CD -P 0} >> CO M a a ' , '■ J TELEMAZE REMOTE STATION Figure 9. Remote Station Front Panel 11* Path Indicator : When a landing site is selected, the machine auto- matically sequences into the path state which illuminates this lamp. Re- quests for additions to the vehicle's path now can be constructed. Update Indicator (Red) : When illuminated, this light denotes the local station computer is receiving information from the remote station, and an "update" has started: an obstacle has been detected and is cur- rently being added to the "model" maze. Timer On Indicator (Yellow) : The timer on light indicates that a valid path square has been inputted from the LED panel and this request is being transmitted to the remote station. The timer setting selected on the thumbwheel switches corresponds to the total communication delay time. When this light goes out, both the local station display and the remote vehicle are in synchronism. Ready Indicator (Green) : Requests can now be accepted. The remote vehicle is waiting for control signals. 2.5 Remote Station Control Description Figure 9 shows a photograph of the remote station front panel. Opera- tion of these controls are not normally used by the local station operator, although knowledge of the indicators yield more insight into the system operation. Landed Indicator (Green) : The landed indicator is illuminated when the exploratory vehicle lands on the remote planet's surface. Obstacle Indicator (Red) : When the exploratory vehicle senses the next square is occupied, the obstacle lamp is illuminated. Preview Indicator/Initialize Switch (Yellow) : The "preview indicator" lamp indicates that the remote station is in the preview mode concurrently with the local station. The duration of this mode is approximately 2 15 seconds. During this interval the local station views the "real" maze video information. When the "initialize switch" is depressed, the local station video is copied into the "real" maze memory. Tape On or Ready Indie at or /Reset Switch (Red) : The "ready indicator" lamp denotes that the remote station is in the ready mode and the tape recorder is on, i.e. the unmodulated carrier is being received. This lamp must be illuminated for the remote station to be active. When the "reset switch" is depressed the remote station is placed into the power clear mode. All major hardware of the remote station is reset. 2.6 Operation Instructions These instructions are to be followed after the maze initialization and tape recorder preparation instructions (Appendix A) have been com- pleted (by a person independent to the operation). 1. Prepare to draw the "model" maze. Upon depressing the preview switch, the "real" maze from the remote station is shown for approximately 2 seconds. Depress the preview switch. 2. Having seen the "real" maze, enter all that can be reconstructed from memory into the local maze by placing the fingertip to the CRT face and drawing on it. 3. When the local model maze is completed, depress the land switch-, denoting to the local station that you are ready to land the vehicle. h. Enter the position where the vehicle is to land. This is done by "pointing" to the desired square. 5. Enter the coordinates where the vehicle is to move next. This is done by "pointing" to the desired path. The path constructed must be "continuous," therefore no squares can be added to the path unless they are adjacent to the preceding square. 16 3. TELEMAZE LOCAL STATION 3.1 Local Station Design and Operation The TELEMAZE local station is the primary part of the control sys- tem. The local station, the earth's computer, contains the "model" maze of the remote planet. The local station sequences through the necessary steps one would follow in placing an unmanned vehicle on a "distant" planet. This remote vehicle is "steered" through the model maze by placing the fingertip into the LED detecting system mounted on the faceplate of the local station monitor. . The display shows three distinct video levels. The first two levels are black and white, representing the maze information; the third level is an intermediate gray level representing the path the vehicle is fol- lowing. The square in which the vehicle actually resides has a smaller white square contained within the path square. This provides for easy recognition of the remote vehicle. 3.2 Local Station Block Diagram The block diagram of the local station is shown in Figure 10. The local station inputs information to the system, achieved by using the ■ LED panel and the fingertip. The LED panel contains the logic necessary to resolve the control information into discrete X and Y coordinates. This information is then encoded into a ^-bit binary code for each axis. The displacement logic circuitry compares previously processed words ( 8-bit s) with new LED requests, processing only those which are adjacent. This is necessary to insure a "continuous" path. Having successfully passed as a new request, a command is given to write the new word into the buffer, implemented as a circular stack memory. This information is IT 5 Local Clock I Sync. Generator £ T.V. Monitor Square Generator Logic ENABLE Video Received Data Processor "C "MAZE" Memory (Initalization J "PATH" Memory CRT RED I 1 LIGHT ^^ LED Panel Video Level and Logic Generator a> o: Square Processor and Buffer Memory Transmission Path From Remote Station -J Transmission Path To Remote Station Figure 10. Local Station Block Diagram 18 also placed into the path memory. Information from the LED panel is transmitted to the remote station, as this is the steering information. The local station contains two display memories, the path memory and the "model" maze memory. The path memory is used to display all squares the vehicle has traversed. The "model" maze is used to display the "model" maze in which the "image" of the exploratory vehicle is steered. The output of both memories is converted into video by the video level and logic generator. The square generator logic is used to access the information from the path and maze memories, producing the video pattern in matrix form. The update data processor receives information from the remote sta- tion. This processor uses the buffer memory to find the last valid posi- tion the vehicle attained preceding the obstacle. The final operation is to add the obstacle to the local station "model." The sync generator forms the master clock to the system. All pro- cessing units within the local station are synchronized to it. It is possible to use a submultiple of the display clock for processing be- cause human input rates to the LED panel are several orders of magnitude slower than conventional television frequencies. 3.3 Major State Transition Diagram The function of the major state generator is to provide the world model major states shown in the state transition diagram of Figure 11. The actions causing the major state generator to change states are sum- marized as follows: The initial application of power will cause the local station to proceed immediately into the first state (preview) of the diagram. To enter into the second state (maze state), it is necessary to 19 cd •H Q fl o •H -P •H en Eh C O •H -P cd -P CO H cd o O ■r-i fa 20 depress the preview switch on the local station control panel. For 2 seconds after the preview switch is depressed, "real" maze infor- mation is displayed on the local station monitor. The operator can enter "model" maze information into memory in this state. Upon com- pleting the "model" maze, the land switch is depressed. The local station will then wait for the landing of the exploratory vehicle. The first position pointed to (first LED request) is considered to he the landing coordinates for the remote vehicle. The local station will automatically sequence into the fourth state (path state). 3.3-1 Local Station Hardware/Processors The local station hardware diagram is shown in Figure 12. The various paths information can travel, the flipflops which control data flow, and their interconnections within the local station are shown. Also provided for the reader is a list of hardware names and their abbre- viations, found in Appendix B. State transition diagrams are provided throughout the sections on the various processors. All processor hard- ware design and implementation in the local and remote stations were completed using these diagrams and the Mealy-Moore techniques on sequen- tial machine design. Material on these subjects are found in references 2, 3. 3.3.1.1 MDR/SR 8-Bit Register The heart of the local station data processing hardware is the memory data and shift register (MDR/SR). Regardless of which state the local station is in, or which mode it is in, the MDR/SR is actively processing data. The contents of this register are 8-bits of X, Y coordinate infor- mation normally coming directly from the LEDR. Its functions are sum- marized below: 21 u •H Q 3 otJ c o •H -p CO o o >-3 CM P-4 22 1. Remote station to local station receiving shift register. 2. Local station to remote station transmitting shift register. 3. Memory d.ata register for the buffer, path, and "model" maze memories. 3.3.1.2 CPR 8-Bit Register The current position register (CPR) is implemented in hardware using an 8-bit bistable latch. The contents of the CPR represent the "image" of the remote vehicle. The contents of this register are dis- played on the local station monitor as a gray path square with a smaller white vehicle centered within it. This register is initialized in the land state with the coordinates where the vehicle begins its existence on the remote planet. In the path state the contents of the LED panel are copied into the CPR and buffer with each move of the vehicle. When an update occurs, retracing the vehicle's path is necessary. This is accomplished by removing one word of data from the buffer memory and replacing it in the CPR. This is continued until the vehicle's position is corrected. 3.3.1.3 Local Station Buffer Memory The local station buffer memory is organized as a 256 word by 8-bit per word high speed bipolar memory. This organization provides one memory location for each possible X, Y coordinate in the display to be requested once and stored. This is sufficient to store most paths imagin- able. This local station buffer memory is implemented to function as a stack memory, i.e. the first word in is the last word out. As each point 23 is transmitted out, it is placed on the top of the stack. Then, when an update request is received, each retraced path square in order is removed from the stack and compared with the reply to find the obstacle. The next location in memory that is removed from the stack represents the coordinates where the vehicle has stopped. This memory is implemented in hardware form using SN7^89, 6U-bit memories. Supplementary information pertaining to implementation of this type of memory system can be found in reference k. 3.3.2 Major States Description 3.3.2.1 Preview State When power is initially applied or a reset action is taken the local station is placed into the preview state. No action is taken until the operator depresses the preview switch. At that time the local station monitor displays the "real" maze for a period of about 2 seconds. The local station then automatically sequences into the maze state. 3.3.2.2 Maze State Once the local station is in the maze state, the "model" maze can be constructed. This is accomplished using the LED panel. Coordinates (8-bit binary words) are detected by the LED panel and placed into the LED panel decoder register (LEDR). The LEDR is copied into the MDR/SR at the end of the decoding cycle. The only path this binary information can follow is to the "model" maze memory address inputs. The contents of the MDR/SR determine the location of the "model" memory to be desig- nated as an obstacle. 2k 3.3.2.3 Landing State The function of this state is basically to initialize the current position register (CPR). The landing state is entered when the land switch is depressed on the local station control panel. Since the vehicle can land only in one location, selection of the first coordinates cause the local station to sequence into the path state. Simultaneously, data from the LED panel arrive in the MDR/SR as before. The shift right flip- flop (SRF) is set to a logic "l". During the next clock interval the contents of the MDR/SR are placed into the CPR and path memory, and buffer memory. Then the local station will sequence into the path state and transmit mode. 3.3.2.U Path State In this state "continuous" path requests are inputted through the LED panel and processed to the remote station. As shown in Figure 11, this state is composed of four different modes of operation. It is im- portant to note that these modes exist only in the path state. These are discussed in the following sections. 3.3.3 Major Modes Description 3.3.3.1 Ready Mode The ready mode is actually a waiting mode. Requests may or may not be incoming but the net result is that the displacement flipflop (DXYF) is at a binary "0". Therefore processing is inhibited. 3.3.3.2 LED Mode The path state and LED mode is where the local station normally resides. Information placed into the MDR/SR from the LED panel and 25 register are then placed into the path memory, buffer memory, CPR, and transmitted out as requests (command words) to the remote vehicle. There is only one restriction placed on the information inputted in this state. Successive requests must be displaced by one square in either the X or Y direction. This requirement prevents jumping over obstacles or passing through one diagonally. To find out if a new request is displaced by one dimension from the previous request, it is necessary to compare the contents of the MDR/SR — new request — and the CPR — current vehicle position. If it differs by one, the DXYF is set to a logic "l". Therefore, any re- quests which cause the DXYF to be "l" will put the local station into the transmit mode. 3.3.3.3 Transmit Mode After the contents of the MDR/SR have been processed within the local station, they must be sent to the remote station in the form of requests. The MDR/SR and OCR (operation code register) are processed as one 13-bit shift register. The contents of these registers are shifted and encoded during the unused 15 clock periods of the LED decoder cycle. 3.3.3.U Update Mode The update mode is enabled upon reception of a reply from the remote station. The first bit of information received triggers the update flip- flop (UPDF) into the logic "l" state. Serial information is passed into the MDR/SR and OCR. After 13 clock periods have passed, the update pro- cessor is invoked. Under the processor's control, the buffer memory is scanned until the obstacle is found. This entails loading the CPR with each buffer word and comparing it with the contents of the MDR/SR, which contains the reply data. When the contents of both registers are equal, 26 the CPR equals MDR/SR flipflop (CEQSR) will equal a logic "l". When the CEQSR bit is not equal to "l", a part of the path memory must be erased. Therefore the path memory will be requested to reset this bit of informa- tion. This processor is discussed in more detail in section 3.11. 3. k Local Station Clocks/Synchronization Local station synchronization is .designed around the 31.5 KHz crys- tal controlled display clock. The waveforms of the clock generator are shown in Figure 13. The master system oscillator is found on the tele- vision sync card. A partial schematic of the sync generator card is shown as it applies to processing synchronization in Figure 29 (for further information on this card, see reference 5). Additional informa- tion on the standard television synchronizing signals may be found in reference 6, 7« The output of the television sync card is a 15.75 KHz clock. This clock is counted down by a factor of four to obtain a 3937. 5 Hz clock used for the LED panel. This clock is referred to as the LED clock in the following discussions. The input data rate from the LED panel will be shown to be 2k6 points per second, which is very slow in comparison to video processing rates. Therefore all display counters, etc. will be given on-line operation with all data processing being limited to the horizontal blanking periods for completion. It should be noted from the figure that there are two horizontal pulses during each LED clock period. The first horizontal pulse occurs during the LED strobe clock period and is used to secure information from the LED panel. The second horizontal pulse occurs during the LED gate period and is used for writing informa- tion into the appropriate memories. These times are represented by the shaded areas on the clock waveforms. The LED clocks are also shown on the 27 L J L L o 0> 5 O o H U U o N X Y 16 LEDS CO Q U (0 CO a: e 00 CO z < o X 0. 16 PHOTOTRANSISTORS Figure l6. Telemaze Local Station 32 Master Counter X- Axi» Decoder/Driver I Linear LED Array //////// Z /////////////////////////// Y-Axlt Decoder Driver Linear LED Array sfc 1 Scan A x 9 Scon Y BEAM Hand Model CRT Face Y-Axis Photo Detector* Y-Axis Encoder Multi- plexer X-Axis Photo Detector X-Axie Encoder Multiplexer Y Latch Coincidence Detector X Latch T T Request (X,Y) Coordinates Figure IT. LED Panel Block Diagram 33 clocked at a 3937^5 Hz rate. It provides for sixteen independent address- able channels for each axis that can be distinguished. Each channel is enabled in sequence until one light beam is found to be obstructed. To enhance the panel's performance, short focal length lenses have been added. One lens is used for each LED and one for each phototransistor. These lenses are used to focus the infrared light beams. The transmitting board determines which LED is to beswitched on. A U-bit to l6 line decoder is used for this. Each decoded LED is switched on sequentially by its corresponding 2N3638 transistor. The 2N2219 tran- sistor is used as a constant current source to control the LED current. In the receiver section, light incident on each phototransistor is used for beam detection. The SN7^150 multiplexer gates on only one photo- transistor output at a time. This serves to eliminate interference from adjacent LEDs from false triggering adjacent channels. If the phototran- sistor is conducting a current sufficient to drive the collector of the 2N361+2 transistor to logic "0", at the multiplexer input no detection pulse is generated. Otherwise a pulse will be generated during that multi- plexed time slot. This technique outputs a pulse from the multiplexer only when a light beam has been broken. The major limitation to speed in this system is the phototransistor rise time. Photodiodes were not chosen due to the quantity needed and the inherent low sensitivity. To overcome this limitation and reduce cycle time a sampling pulse is used. This is the LED strobe discussed earlier. The function of this pulse is to allow the phototransistor to reach its maximum conduction level before the channel is tested. Once either coordinate has been detected, a pulse is sent to the X or Y axis flipflop. The current address of the U-bit counter is then retained in its respective part of the LEDR, shown in Figure 19. The 3k v» UJ QE K) or o < ' K 1 |i u o B 0) o CO -p P-. Q CO (L) 3 35 -I 03 UJ Q. cr u bO cd o •H hO O ttO c CO CO H 36 other coordinate axis circuitry will continue to scan until the other detected pulse is obtained. It is the coincidence of both the X and Y flipflops that enable the combined 8-bit word to be gated from the LEDR into the MDR/SR. This will occur at the end of the decoder cycle. 3- 5 • 3 Displacement Logic The function of the displacement logic is to prevent discontinuities in the vehicle's path. While steering the "image" of the remote vehicle through the model maze, it is important to define each square the vehicle will traverse. To test for discontinuities, the current position (con- tents of the CPR) is compared to the MDR/SR, the output of the LED decoder. This logic compares the new request with the previously processed request. If the new coordinates are adjacent to the previous one, in either the horizontal or vertical direction, the new request will be processed. To check for proper displacement, a simple algorithm is used. This algorithm is used simultaneously on the X and Y components of the request. These steps are summarized below. 1. Compare the component of the MDR/SR and CPR desired (X or Y). 2. Complement the smaller of the two numbers. 3. Add the larger number and the complemented smaller number in ■ 2's complement form. h. If the result is binary 10000, proper displacement is detected. A sketch of the proof of this algorithm is as follows. Let Nl be the smallest of two binary (U-bit) numbers Nl and N2. By complementing Nl, the l's complement of Nl is obtained. Let this number be denoted N3. An expression for this number is N3 = 15 - Nl and can be used below. SUM = N2 + N3 = N2 + (15 - Nl) = N2 - (Nl + l) + l6 Therefore if N2 = Nl + 1; SUM = l6 37 The same argument is used if N2 is the smaller number, for Nl and N2 are just interchanged. Once the individual X and Y components are tested, the displacement logic must test the combination for only one X or Y displacement of one. Since having both X and Y components displayed by one square is not allowed, the following logic equation is used to determine a valid request. VALID = EX-EY-DX + EX-EY-DY The variables are defined as EX = X components are equal EY = Y components are equal DX = X components are displaced by one DY = Y components are displaced by one. 3.6 Local Station Timer The communication timer is included on the local station control panel. The function of this timer is to keep a running time clock to determine if sufficient time has elapsed for an update reply. The timer is started upon reception of an LED request pulse. This pulse loads the down counters with the count time setting on the thumbwheel switches also mounted on the control panel. The clock for the timer produces one second pulses, which are easily obtained by a divide by 60 circuit using a 60 Hz vertical drive pulse. Each time a new request is processed, the timer circuitry is reset. As long as the timer is counting down, the yellow wait light is lit up on the control panel. 3.7 Local/Remote Interconnections The interconnection of the local and remote stations are intended to be as realistic as possible, consistent with practical design. Therefore only two communication links are used. Communications using the tape delay 38 u bO a •H Q a o •H -P O en cd -a •H « •H V) !=> a) Q CM Pn U3 a. O fr UJ o o o z UJ uj Q CC O O UJ or uj cc J UJ 00 > 5, tt O Q a T3 O o c UJ a> CO o ml •H Q o o H m bO O b0 •H o o a w o; m ft •H pq CO u 3, •H En kk may be noted that an update request would also sequence information into the MDR/SR + OCR, but because the input data from the remote station is also shifted to the right, it trails the outgoing data. Thus the encoded path information is not disturbed, even upon changing modes. 3.9 Update Processor The function of the update processor is to receive updating information from the remote station and enter it into the "model" maze. The local sta- tion must include the square in which an obstacle has been detected. An example of this is shown in Figure 2U. Part a_ of the figure shows the actual position of the vehicle before the sequence begins. Shown in part b_ is a request generated by drawing a path on the local station monitor using the LED panel. The coordinates of these squares are received at the remote station and the vehicle attempts to follow them. In this example, square C is found to contain an obstacle and its coordinates are sent to the local station. The vehicle will retrace its path until the obstacle, square C, is located within the buffer memory. Then square C is added to the "model" maze memory. The vehicle will be left at point B, which is contained at the next location in the buffer. The rate at which the backtracking occurs on the monitor is on the order of 2 squares per second. Therefore the- operator can readily see this action happening on the local station tele- vision monitor. The state transition diagram for the update processor is shown in Figure 25. There are five states in which the processor sequences through. They are summarized in the table below. 1*5 HI Hi i f HI UJ N < UJ o o 3 UJ 3 O UJ a: 0) H X! W bO •H CO w 0) o o PL, CD ft CM CD s, •H ? UJ N < -I < UJ U6 POP 1 1 READY BUFFER CELL I UPDMSR(OOO) 1 INTO CPR j PLACE \ VEHICLE \ IN LAST \ VALID 1 BACKTRACK \ \ SQUARE UPDMSR(IOO) REMOVE 1 SQUARE FROM PATH DELAY STATE UPDMSR(lOl) APPROX 1 SEC COUNT FOR DISPLAY REMOVED SQUARE IS NOT OBSTACLE RESET VEHICLE UPDMSR(llO) OBSTACLE FOUND AND ADDED TO MODEL TEST STATE UPDMSR(OIO) Figure 25. Update Processor State Transition Diagram hi State UPDMSR Output s Ready- 000 Backtrack 100 Delay- 101 Test 010 Rest vehicle 110 Put contents of buffer into CPR Reset path memory by 1 square Delay approximately 1/2 second Are contents of CPR equal to MDR/SR? Place vehicle in front of obstacle 3.9-1 Update Processor Hardware The update operation is summarized as follows. The update hardware diagram is shown in Figure 26, indicating the interconnections between elements during the update mode. The buffer memory addressing register (BMAR) contains the buffer address of the word in memory to be read out. The contents of this memory location are then placed into the CPR. This moves the vehicle backwards one path square in its travel. As each square is removed from the buffer, it is tested and removed from the path memory. This square is compared with the obstacle (contents of the MDR/SR) and, if equal, causes the CEQSR flipflop to be set into the logic "l" state. Then this obstacle is placed into the maze memory and the model is updated. To position the vehicle at the last valid position attained, one additional path square must be backtracked (removed) from the buffer. This will be the contents of the SPR now that this processing is complete. 3.10 Video Generation and Processing The basic function of the video generator is to produce the video pre- sentation on a television monitor cathode ray tube (CRT), consisting of a pattern of 256 squares in l6 x l6 matrix arrangement, shown in Figure 27. The matrix itself should be square so that the pattern displayed can be U8 COUNT UP/ DOWN CONTROL UPDATE DATA (FROM REMOTE STATION) MDR/SR 8 BUFFER 256W X 8B 8 BMAR UPDATE ^ P(3,l) w P(3,2) \ P(3,3) P(3,4) P(2,4) P(l,4) CEQSR A 8 BIT COMPARE LOGIC £ 256 B PATH MEMORY t* P(Xj,Yj) _J f 8 CPR J ADDRESS 256 B MAZE MEMORY Figure 26. Update Processor Hardware ^9 WWW wpru vWW\N \\WW Q Sw \\\\\\ \VvXv\9§| \VVV\V o *° > 3 >= o UJ CO M < (D 5 m s CM J 0) v. <; o H ID E-" ♦ 50 subdivided into smaller squares. The standard television CRT display is rectangular, and therefore some of the picture area must be left at the blanking level. This unused portion is represented by the shaded portion of the video shown in the figure. 3.10.1 Block Diagram The major components needed to generate the pattern previously dis- cussed are shown in Figure 28. The squares are generated by a gated high frequency astable multivibrator. The period of this high frequency clock cycle is then used to determine the horizontal length of the video square on the CRT. Also, the sync generator supplies the necessary sync signals which allow the addressing logic to determine which memory location is to be read. The video square generator contains the signals needed to address both the maze and path memories. It also generates the video enable gate which enables the video logic generator to process the data or blank it out during retrace periods. The video level generator uses the 2-bits of mem- ory information and establishes four levels of video for the CRT. 3.10.2 Video Square Generator This logic block has the function to generate the timing signals necessary for displaying the contents in the "model" maze and path 256- bit memories. It must convert l6 bits per row into synchronized serial information for the television presentation. The synchronization needed between the television monitor and the video square generator is obtained from the sync generator card (Figure 29). The sync generator used produces both the vertical and horizontal sync pulses used in a 525 line per frame system. The method used to generate squares on the CRT is to intensify the successive sweeps identically for 31.5 KH Z 51 SYNC GENERATOR N X m in z t >- o w X VIDEO SQUARE GENERATOR AND MEMORY LOGIC ENABLE COMPOSITE SYNC. MIXED BLANKING PATH BIT MAZE BIT ENABLE GATE SQUARES CLOCK 300-400 KH 3 CLOCK -> -> VIDEO LEVEL AND LOGIC GENERATOR Figure 28. Video Block Diagram (Local Station) 52 one clock period. The largest multiple of l6 (number of rows) that can be used in this system is 30 (i.e. 30 horizontal lines will be the vertical height of each square). In each interlaced field (one-half of a frame) there will be 15 horizontal lines per square. The 30 lines are sufficient to appear as a solid square to the eye. The block diagram of the square generator is shown in Figure 30. To address the l6-bits per row horizontally, a U-bit binary counter is used. After a selected delay time has elapsed, for centering the square matrix, l6 pulses are generated and used to- address each memory location in the row. The l6 pulses counted are derived from the cross-coupled one-shots shown in Figure 29- This circuit produces a clock which is at a fre- quency of approximately 380 KHz. A delay one-shot, fired by the horizontal blanking pulse trailing edge, is used for a delayed triggering pulse to blank the left side of the CRT display. The right side of the CRT display is blanked by ending the video gate after the sixteenth addressing pulse has occurred. The operation of the vertical addressing logic is similar to the horizontal logic except that the input is a clock of 1050 Hz, which is one clock pulse every 15 horizontal intervals. Included in the vertical and horizontal logic diagram are two sig- nals, vertical enable and horizontal enable, which are both ANDed together. This signal — video enable — is used to gate the maze and path memories into the read mode, and signal the video logic generator to receive maze and path information. 3.10.3 Video Gray Scale Generator The function of this circuitry is to take 2-bits of memory informa- tion and convert this into four unique video levels for display on the 53 a o •H -P 03 tsJ •H C o & o CO o •H CO H cd o o ►J ON CM •H 1*1 5^ •H Q a; o o H PQ o -p a v a 03 o 00 In •H 55 local station television monitor. The 2-bits of information are from the "model" maze memory and the path memory. The "model" maze information is the maze in which our vehicle is steered. The obstacles are denoted by the black level, and unobstructed regions are denoted by the white level. Path information represents the actual path the vehicle has taken. The only remaining choice for display of path information is gray levels. The vehicle will have a small white square within the gray. The actual circuit operation is described as follows (Figure 31 ). Maze and path information are decoded and sent to one of three driver cir- cuits. Each driver circuit, when enabled to conduct current, will cause the voltage at that point to approach zero volts. When all drivers are off, the video output is about 5 diode drops above ground. The other extreme is when the blanking driver is conducting current and a voltage close to zero is obtained. The gray levels are then obtained by selecting the number of diode drops desired. This circuit provides a very fast response time which must be present in video processing. This circuit also uses only one power supply, made possible by the fact that the monitor selected is capacitively coupled at the input terminals. 56 o a5 o >> O O d on CD d bO •H 57 U. TELEMAZE REMOTE STATION k.l Remote Station Design and Operation The remote station is a small independent sequential machine. Its main function is to simulate a remote vehicle on a distant planet. The first step in the operation of this station is landing the vehicle. When a request to land is received, the machine will either create a gray square on its monitor (the vehicle) or send back the disastrous news that the vehicle has crashed. The remote station will accept 13-bit command words, biphase encoded, from the tape recorded delay unit. After a valid landing site is chosen for the exploratory vehicle, it can then be steered through its real maze. The vehicle in the television display is denoted by a small gray square which traverses the CRT. Each time an invalid request is found, i.e. an attempt to move to an occupied square, a reply is sent out to the local station. This reply is used to update the local "model" maze. Once an obstacle is found, the remaining data which are part of the path are not meaningful. This path continues even though the vehicle has stopped. Therefore there must be a time lag in which the local and remote stations can become re-synchronized. The local station will receive the reply, update its model and, along with the next request, send out the reset code. Once the obstacle has been sensed, the remote station is put into a new state called "vehicle has sensed an obstacle." The next inputs that will be processed will have to start with a reset code. k.2 Remote Station Block Diagram The block diagram of the remote station is shown in Figure 32. The local station inputs information to the remote station, while the remote 58 LOCAL STATION VIDEO TEE V L INITIALIZE SWITCH/ LOGIC PREVIEW LOGIC DATA IN LOCAL TRANSMISSION FROM TAPE RECORDER V ± INVALID POSITION REPLY TO LOCAL > STATION LOCAL STATION COMPOSITE SYNC > "MAZE" MEMORY W TAPE RECORDER DECODER SQUARE GENERATOR LOGIC 7\/\ JL TAPE RECORDER DATA PROCESSOR /STATE GENERATOR CLOCK POSITION DATA 3- > SYNC. SEPARATOR TV. MONITOR <- DATA i] W VIDEO VIDEO LEVEL AND LOGIC GENERATOR "^~ DATA < VEHICLE A POSITION J w-* Figure 32. Remote Station Block Diagram 59 station outputs information to the local station. Communications between the two stations are completed using 13-bit commands. These commands are generated at the local station and are not modified if the same word is sent back to the local station as an obstacle . This processing is done by the tape recorder data processor. The real maze memory contains the arbitrarily chosen matrix of occupied squares. This information is accessed by the video square generator and delivered to the video logic generator, for display on the remote station monitor. The remaining input to the video level and logic generator is the vehicle current position. This information is converted into a small gray square and also displayed upon the remote monitor and separating it back into horizontal and vertical components. The horizontal sync also can be used as the remote station processing clock, providing system synchroniza- tion. k. 3 Tape Recorder Decoder Information is transmitted to the remote station via the continuous loop tape recorder. This information was biphase encoded on a continuous unmodulated 3937-5 Hz carrier. Waveforms for the decoder are shown in Figure 33. It may be seen that the playback voltage output from the mag- netic tape recorder is considerably changed from the square wave modulated input. This is due to the loss of higher frequency harmonics which the recorder cannot amplify. Therefore the playback waveform as shown is more sinusoidal. The input playback amplifier must account for the difference in response to the 3937-5 Hz and also the 7875 Hz components. Therefore a small amount of equalization is included in the playback amplifier to pro- duce the waveform as shown with constant amplitude. The amplified voltage is then applied to a Schmitt trigger circuit. The output from this circuit can be seen to be the reconstruction of the biphase encoded waveform. 60 cd o o rH pq V •H bO O ^ o o (in 6l The reconstructed waveform can now be applied to the decoding logic to extract the clock and data. On each transition of the Schmitt trigger output, a one-shot multivibrator is fired. These pulses are ORed together and applied to the circuitry depicted in Figure 3h. The original binary- data and clock are then extracted. Further information on biphase decoding can be found in reference 10. The decoded data are clocked serially into a 13-bit shift register. After 13 clock periods, the most significant bit is shifted into the high order bit of the 13-bit shift register. These incoming data are no longer synchronized to the local station clocks, having been circulating on the continuous tape loop. In order to interface the data into the remote sys- tem, the shift register high order bit is sampled during the end of each processing clock period. This insures the data to be tested can be pro- cessed during one complete clock interval. This is necessary to insure that gating signals observe proper hold times when addressing the maze memory, etc. After the contents of the decoder register are processed, a clear pulse — horizontal clear pulse — horizontal clear — is provided to reset the shift registers. h.k Remote Station Timing U.U.I Data Input Clock The data input clock is derived from the unmodulated waveform from the tape recorder. This is discussed in detail in the decoder section. It is important to note, however, that the input data rate is 3937.5 Hz and asynchronous to any clocks due to the recording on magnetic tape, and there- fore must be extracted from the waveform itself. This is the primary reason biphase encoding is used. 62 5 ° o I- 3 - £■ E O o CO o > & U o o w aJ x: •H PQ -3- en "5 o -* o R-e ulse CO 1 o o o o o a. Q 4— o H- . _c E» CO 63 k.k.2 Data Output Clock The data output clock is the LED clock waveform from the local sta- tion. It is derived by sampling the direct local-remote communication link. This is the clock inputted to the MDR/SR in the local station. Thus the correct output timing will he achieved. U.4.3 Information Processing Clock Information is processed only during the test mode. Information is inputted to the remote station serially, requiring 13 clock periods. The basic clock of the local station is the LED clock. Information is processed in the remote station at the same rate to preserve compatibility. Infor- mation is processed during one LED clock interval so that a reply is readied entirely during this clock period . This processing must also be compatible with the display system, and therefore the first horizontal pulse within the LED clock will be used. The horizontal sync pulse is available from the sync separator and is used as the primary processing clock. Thus all processing can be completed during the horizontal blank- ing interval. Shown in Figure 35 are the waveforms associated with the test mode processor. The delayed horizontal blanking pulse is used for gating maze data out of the memory, and the delayed horizontal sync pulse is used for clocking. The horizontal clear pulse is used to clear the decoder register after processing has been completed. This will be shown later in the pro- cessing timing diagrams, referring to the names of the various horizontal clocks . H.5 Major State Transition Diagram The function of the remote station major state generator is to auton- omously sequence the remote station into the correct responses based 6k J d d id Nl> UJ r P i i o I o o rH o a o •H -P CO - c/) PERIO SHOT z >- if) HORI ING o < UJ o Ul N DELAYED BLANK DELAYED SYN , (/> o Q_ o HORIZ. ONE- or o M or o i o 65 solely upon the requests transmitted to it. The state transition diagram in Figure 36 shows the major states this processor must possess. Information is transmitted to the remote station in the form of 13- bit command words, previously shown in Figure 21. Bits 3 through 5 form the operation code of the command. The state transition diagram shows the proper operation codes required and the action taken upon reception of each command. In all states, improper codes are ignored, as previously used tapes may be inserted, for example, and (unless properly sequenced) the remote station would generate erroneous replies. Initially applying power causes the remote station to begin in the "prepare to land" state. In this state a land code is all that is pro- cessed. When a land code is accepted, the remote station has one of two decisions to make: either the landing site is unoccupied and all is well, or the landing site is occupied and action must be taken. That is, the vehicle has been placed in an obstruction, cannot move out, and is there- fore deemed to have "crashed." Upon landing at a safe location, the vehicle will travel throughout the real maze. The vehicle has been made self-protecting and will sense trouble ahead if it occurs. When the vehicle does sense that the next square is occupied, it replies to the local station and waits in the reset state. It will ignore any new requests until an incoming request is found to contain a reset code. This reset code is the local station's acknowl- edgment that an update has been received and the next request is based upon the updated model. U.5.1 Remote Station Hardware The remote station hardware diagram is shown in Figure 37- Included are the interconnections, and the data busses which comprise the remote 66 UJ Q O O < _J 0) -p 05 -p CO o o •H -P ffl -P CO (1) p o K en M ■H 67 < 2 O -» < £ v> A K UJIUJ cokQ JQO 3 — O 0_*Z UJ J5i- _i 3 < a. E 3 OT O in f~\ »H /» < _J u. ^ QC t-. • co u. Hi u. 0) CO ^ <. •g t- >» X 1- or a. o 00 in 00 7=} a J) c / o •H -P V) cd h- ro s 03 »-x * in N CM < or _i bO •M je fe ■B <_ / V A / V _j < f- 3 -1 < H K a. 3 Ul z DC 0. IA Ul (0 z 1 ao DC UJ 1- c > 1 0E UJ x2 UJ UlO 2 Z > UJO N . z « (loc a. £8=5 N. 28 3^ z ■s JnO CO Ui o as Ul BE o — 7 K / ^ u > z H >: oc z u) UJ5 O Q O .— ECOR T FRi STA7 UJI- < a 3 y £ c >y 68 station. A list of hardware names and their abbreviations which may "be found in Appendix B is also provided. U.5.2 Major States Description 4.5.2.1 Power On State When power is initially applied to the remote station, or the local station is reset, the remote station resides in the "power on state." Information from the tape recorder is decoded and shifted serially into the decoder shift register (DCDRSR) as each request is received. This action will cause the remote station to enter the test mode. Because it is possible to reset the local station and still have data remaining on the continuous loop recorder, the necessary condition to leave this state is the reception of a new landing request. U.5.2.2 Landed No-Obstacle State Upon reception of a valid landing request, the remote station will reside in the "landed no-obstacle state." In this state, information is passed from the DCDRSR into the current position register (CPR) as the vehicle successfully maneuvers throughout the real maze. If, during the test mode, an obstacle is sensed, the remote station will sequence into the next state to be discussed. 1+.5.2.3 Landed Obstacle State Upon reception of an invalid path request, the remote station will proceed into the "landed obstacle state." In this state, information which could normally be processed is ignored: when a complete path is trans- mitted to the remote station, it is not known if an obstacle is contained within it. Therefore once an obstacle is found, the remaining path is 69 invalid becuase it is based upon moving through the obstacle. Since this is impossible, the remote vehicle must ignore all requests until a reset coded path request is obtained. If the reset request contains a valid request, the remote station will then transfer back into the landed no obstacle state. 1+.5.3 Major Modes Description U.5.3.1 Ready Mode The ready mode in this station is a waiting mode. In this mode infor- mation received from the tape recorder is all binary zeros. These pulses generate decoding clock pulses and must be present or the tape on/ready light indicator lamp will not be illuminated on the front panel. Until this indicator is on, the remote station is inactive. U. 5-3.2 Preview Mode The preview mode is basically for the use of local station. No data are processed, but the real maze memory, normally displayed remotely, is switched into the local station cable and fed into the local station monitor. The duration of this mode is typically 2 seconds. ^•5.3.3 Initialize Mode In the initialize mode the remote station real maze memory is initial- ized to contain the maze in which the remote vehicle must traverse. The procedure to complete this uses the local station. Any desired maze is constructed upon the local monitor using the LED panel. To copy this in- formation into the remote maze, the initialize switch on the front panel is depressed. Then the local station video is synchronously loaded into the LRISR register. The LRISR is a l6-bit shift register and its contents TO represent the l6 squares horizontally. This register is loaded l6 times vertically to complete the l6 x l6 remote maze. U . 5 . 3 - ^+ Test Mode The test mode is the mode in which incoming requests are processed. The results of the test mode logic determine in which state the remote station will reside. Under the direction of the tape recorder decoder, requests are placed into the DCDRSR. If the request is valid, the DCDRSR is copied into the CPR. If the request is invalid, the DCDRSR is copied into the transmitter shift register (TXSR). It is then transmitted to the local station for updating the local model maze. h.6 Tape Recorder Data Processor /Test Mode Logic This logic implements the decision making operations of the remote station. The transition diagram for this logic was shown previously in Figure 36. The block diagram of the decoder is shown in Figure 38. As each command word is received it is shifted into a 13-hit shift register. Whichever code is present, and the state the remote station presently re- sides in, determines the action taken. More information about this decoder can be learned by examining the timing diagram in Appendix C. If the remote station is in the power on state, only land coded requests are pro- cessed. If the remote station is in the landed state, only path coded re- quests are accepted. And, finally, if the remote station has previously sensed an obstacle, the present state is the landed obstacle state and re- quires a reset code to accompany a path request. Having received a proper request, the next decision is whether or not the position requested is that of an obstacle. If it is found not to be one, then the positive action is taken by the vehicle's position being 71 o UJ a -J UJ u (/) < ZK UJ W V) ID O I<5 - 1 < l e o cr 5 CUJ . 2 f* - 1 < h- u. 2 C/5 < Q UJ M < 2 UJ or I— J±? or o cr UJ o li o o o o UJ _j o I UJ <5i £ UJ cr ui UJ 5 z> o UJ I H (K a: io3 l o. rt oi- b. z in cr to cr Q O o cr« l- u. en t o w m uj UJ So irg 00 < Q cr w x CD p 01 I < 3 CO Q0D cr 0. o to Q 5 3 CD 00 cr tie 00 u cr > - or t 1 cr ft DO > O Q. m UJ w w ►- < bO cd •H « t) o H m bO O CO o o (0 Q CO +» en •H bO CO « •H Xi CO ao on CO bO •H 72 updated — placing the contents of the DCDRSR into the CPR. If it is found that the position requested is an obstacle, the negative action is taken by the requests being sent back — placing the contents of the DCDRSR into the TXSR output shift register. The contents of the TXSR are shifted to the right into the local station receiving register, the MDR/SR. U . 7 Remote Station Maze Memory The remote maze memory is a 256-bit memory. The main function of this memory is to realize the real maze , representing the terrain of a distant planet. The exploratory vehicle will be steered through this maze, and the vehicle is not allowed to exist on any occupied square. This memory is organized differently for the reading and writing operations required. To read information out of the maze for display, an identical vertical and horizontal addressing scheme is supplied, as de- scribed in the local station section. To write data into the maze, only a vertical address is supplied. This is the initialization technique des- cribed in the initialize mode section earlier. ^.8 Display /Video Processing Included in the hardware diagram are the registers used to generate the display for the remote station monitor. The circuits used are identical to those found in the local station. The only fference between the two systems is the source of the sync signals: the local station derives its sync signals from a standard television sync generator card. However, this card is not available to the remote station, and adding a second card would create more problems than it would cure. It was, therefore, chosen that the remote station would use the local station composite sync from the remote monitor and separate the signals out. The sync and blanking 73 waveforms can be constructed, both horizontally and vertically, by a sync separator. These waveforms are then used to drive the HVDC as in the local station. TU 5. SUMMARY This report describes the design of a model feedback control system called "Telemaze." Telemaze has been shown to be an alternative system for the remote control of a distant vehicle. The emphasis of this report has been the system design and implementation of the Telemaze system. 75 LIST OF REFERENCES 1. Poppelbaum, W. J., ONR Proposal 1971/1972, June 1971- 2. Dietmeyer, D. , Logic Design of Digital Systems , Allyn and Bacon, Boston, 1971. 3. Kohavi, Z. , Switching and Finite Automata Theory , McGraw-Hill, New York, N. Y. , 1970. h. Texas Instruments, Inc., The Integrated Circuits Catalog , Texas Instruments, Inc., Dallas, Texas. 5. Katoh, T. , Raser: Random to Serial Converter , Ph.D. Thesis, University of Illinois, Urbana, No. UIUCDCS-R-72-51-5 , June 1972. 6. Poppelbaum, W. J. , Computer Hardware Theory , Macmillan, New York, N. Y. , 1972. 7- Glasford, G. M. , Fundamentals of Television Engineering , McGraw- Hill, New York, N. Y. , 1955. 8. Ebeling, F. A., Goldhor, R. S. , Johnson, R. L. , "A Scanned Infrared Light Beam Touch Entry System," Society for Information Display Proceedings , June 1972. 9. Morris, R. L. , and Miller, J. R. , Designing with TTL Integrated Cir- cuits , Texas Instruments Electronics Series, McGraw-Hill, New York, N. Y., 1971. 10. Bycer, B. B. , Digital Magnetic Tape Recording: Principles and Computer Applications , Hayden, New York, N. Y. , 19o5. 76 APPENDIX A TELEMAZE Operation Preparation The main function of these instructions are to initialize the re- mote planet's "real" maze. The following instructions are intended to be used by a person other than the operator of the local station. Maze Initialization 1. Depress the preview switch located on the local station control panel. The yellow preview lamp on the remote station should come on for approximately 2 seconds. (If this lamp fails to come on, depress the local station reset switch and then depress the preview switch). 2. Construct the desired maze on the local station monitor. Squares may be added with the maze data switch "on" and deleted with the switch "off". 3. When the maze is completed, depress the remote station initialize switch. The local maze will now be copied into the remote maze. k. Depress the local station reset switch. Tape Recorder Preparation 1. Turn on the power to the unit by turning the record gain control on the recorder front panel. 2. Adjust the unmodulated carrier level, i.e. the record gain control until a reading of decibels is achieved. 3. Insert the desired cartridge and start the tape loop rotating. h. Reduce the playback gain and allow a length of time to elapse equal to the tape delay inserted. 5. Increase the playback gain until the remote station recorder sense lamp glows steadily, (i.e. no trace of flicker). 77 APPENDIX B TELEMAZE Hardware Summary Local Station Hardware Nomenclature Memories Organization Buffer Path Maze Registers MSR UPDMSR SHIFTC OCR BMAR CPR HVDC LEDR MDR/SR MSR Major States State No. 1 2 3 k Major Modes Mode No. 256 words by 8 "bits 256 words "by 1 bit 256 words by 1 bit Length (bits) 2 3 k 5 8 8 8 8 8 Binary Code 00 01 10 11 SRF 1 0/1 UPDF 1 Name Major State Register Update Master State Register Shift Right Counter Operation Code Register Buffer Memory Address Register Current Position Register Horiz. and Vert. Display Counters LED Panel Output Register Memory Data and Shift Register State Name Preview Maze Land Path Name Ready, LED Transmit Update 78 Flipflop Names Abbreviation CEQSRF DXYF RBF SRF UPDF Oneshot Flipflop Names Abbreviation CRASH PWRON Actual Name Contents of CPR equals contents of MDR/SR X,Y displacement valid Reset bit flipflop Shift right enable flipflop Update enable flipflop Duration Function 1/30 sec. Clear path memory, reland after crash 1 second Power initialization and system reset Remote Station Hardware Nomenclature Memory Name Maze 1. Organization 256 words by 1 bit output Registers Length (bits) CPR 8 HVDC 8 LRISR 8 DCDRSR 13 TXSR 13 Major State Land Flipflop Obsi 1 2 1 3 1 2. l6 words by l6 bit input Name Current Position Register Horiz. and Vert. Display Counters Local Remote Initialize Register Decoder Shift Register Transmit Shift Register Obstacle Flipflop State Name Power On Landed No-Obstacle 1 Landed Obstacle 79 APPENDIX C Local and Remote Stations Timing Diagrams Shown in Figures CI through C3 for the local station and Figure Ck for the remote station, are the timing diagrams. These diagrams show the relationship between the processing clocks and the data transfers that occur while processing X,Y position data. Shown in the table below is a summary of the material discussed in the various sections for easy ref- erence, pertaining to the diagrams. Station Text Defining Clock Named Waveform of Clock Hardware Diagram Local Section 3.b Figure 13 Figure 12 Remote Section k.k Figure 35 Figure 37 An o M CO X w ■ K u CC s 3 < H o • tt-k. a b. Q Z < a K O bl j S * 52 7 Ho pf - SIR* fcSSfc + £ 5 CO 2 til 2 ♦ fc o i < t CO qQ uo 559 Eol a D Hh ai ■ OHO. 5 P4 o X UJ o Si CO cc CO a ♦ z bl < N -1 UJ < N < cc CO a M bl 2 cc o 2 t > < t N < a t H CO >» 0) O bl UJ 3 JO UJ cc o bl -J DC O 2 o cc o o 2s S >l- bl £ bi* ft: S bl > I., bl cc CO LU a.™ < * a > C % ♦ bl N < UJ a. O bl a 9 a bl O cc a UJ / sA / o / o LED CLOCK AND STROBE LEVEL HORIZ LANKING /SYNC LED STROBE TRAILING EDGE ED GATE LEVEL HORIZ LANKING /SYNC LED CLOCK ND GATE RAILING EDGE / ° m -J CD <»- u bO ctJ •H Q S H U ' " "^ HO H «4 u o ■ »- o r u. X CO U. Q 0. N * 3 lH ' •■Hi ■H ■H u X ■ \- mi (C 5 u u... •"8 K U- — u. XX X u. xSx coco SHIFT-RIG MDR/SR + CO Mil •IKK own X CO S + u. OS (0 riKK •••■ u I- 11 i OB X UI u CO 2 -1 h- "V u. >- M 3 LIl X X £ Uu ox K»K k.h- t< x oc CO X O — O. X3< ■ a CO CO 2 o o«o Xv KB 1 ♦ o ■* o o o 1- co QU III 3 OS a ui -i CO Ice '♦♦♦ Omw O w -«« ft ♦ X < oc II "a • u. >- X o > UJ !5 h- /*UI LED CLOCK AND STROBE LEVEL HORIZ BLANKING a SYNC LED STROBE TRAILING EDGE GATE VEL HORIZ BLANKING a SYNC LED CLOCK AND GATE TRAILING EDGE 0(0 oa. qUJ UJ-I -I pq w •H o H o •H -P cd -P CQ H m o o OJ o g> •H 82 i-H as or w SI ujo. \ ft >- ■ -o 3 oo >- or ,4|_ •* j.° U + V < Old d* o cc Q- o E o < 1 cc UPDM UPDF OCR CEQS 1 ♦ l M 1 till il < 1 OOQO o 8 | » § 1 o S $ < X o 0- M K * 1 f Z a s- _, V) V) o o O E III < 3 u K IT (J CO o a: 2 < ) o f. 0. f ml o o o rt D H E X] c cc Z « < CO ^. in 0.1 2 ? z o o I o a. 3 00 * ♦ K 0. O < - < 0.1 t "• ♦ I - LED STROBE TRAILING EDGE UJ 8S! HORIZ BLANKING a SYNC LED CLOCK AND GATE TRAILING EDGE / o-J / oo. x -too OD 8" _i o u aj ■H Q > O H Pk C o •H 4-> aJ +3 CO o o CO o a) •H P-H 83 o o 3 o z CO CO UJ o o tr Q. UJ Q O co UJ CO UJ O UJ or SP ■H Q 5 H O •H -p CO -p § K o 0) a ■H fa S5 K UJ SECURITY CLASSIFICATION OF THIS PACE (Whan Data Bnlatad} REPORT DOCUMENTATION PAGE READ INSTRUCTIONS BEFORE COMPLETING FORM I. REPORT NUMBER uiucdcs-r-tU-SSs a. OOVT ACCESSION NO >. RECIPIENT'S CATALOG NUMBER 4. TITLE (and Submit) TELEMAZE: A FEEDBACK CONTROL SYSTEM FOR THE REMOVE POSITIONING OF A DISTANT EXPLORATORY VEHICLE ■• TYRE OF REPORT k PERIOD COVERED Technical 7. AUTHORfaJ Edward James Pott • ■ PERFORMINO ORO. REPORT NUMBER UIUCDCS-R-7U-6B^ t. CONTRACT OR GRANT Nl NUMBERO) N000-14-67-A-0305-002U PERFORMING ORGANIZATION NAME AND ADDRESS Department of Computer Science University of Illinois at Urbana-Champaign Urbana. Illinois 6l801 10. PROORAM ELEMENT, PROJECT, TASK AREA • WORK UNIT NUMBERS II. CONTROLLING OFFICE NAME AND ADDRESS Office of Naval Research 219 South Dearborn Street , Chicago, Hlinnlfl 6Mok 14. MONITORING AGENCY NAME * ADORE 12. REPORT DATE October IQlk IS. NUMBER OF PAGES IV SECURITY CLASS. (o( (Ma report; ADDRESSf// dlltaranl Irom Controlling Oltlea) \%a. DECLASSIFICATION/DOWNGRAOING SCHEDULE IS DISTRIBUTION STATEMENT (of thlt Rmpott) 17. DISTRIBUTION STATEMENT (ol lha abttract anlarad In Block 30, It dltfarant from Rapori) IS. SUPPLEMENTARY NOTES It. KEY WORDS (Contlnuo on rararaa mid* II nacmamary and Identity by block numbor) Model maze - environmental model which contains an image of the remote vehicle and terrain Real maze - simulated real environment of the remote area Local station - earth's computer and controller Remote station - remote planet Update time - time it takes model maze to become in sync with Real maze, 20 ABSTRACT (Conllnua on rararaa old* It nacaaamry and Idantlty by block numbar) It is well known that feedback for on-line operation is useful only if the de- lay in the loop is short enough. A typical example where feedback is nearly useless is the remote control pf an exploratory vehicle on a distant planet. TELEMAZE is a simulator for this situation. Guidance of the vehicle is ob- tained by steering an image of the vehicle through an environmental model stored in a local display system. DD,, FORM AN 73 1473 EDITION OF 1 NOV St IS OBSOLETE S/N 0102-014-6601 | SECURITY CLASSIFICATION OF THIS PAOE (Whan Data BnlaraaJ) BIBLIOGRAPHIC DATA HEET 1. Report No. UIUCDCS-R-T^SS 3. Recipient's Accession No. Title and Subtitle TELEMAZE: A FEEDBACK CONTROL SYSTEM FOR THE REMOVE POSITIONING OF A DISTANT EXPLORATORY VEHICLE 5. Report Date October, 197H Author(s) EDWARD JAMES POTT 8. Performing Organization Rept. '• UIUCDCS-R-7U-683 Performing Organization Name and Address Department of Computer Science University of Illinois at Urbana-Champaign Urbaria, Illinois 6l801 10. Project/Task/Work Unit No. 11. Contract/Grant No. N000-ll*-67-A-0305-002^ 2. Sponsoring Organization Name and Address Office of Naval Research 219 South Dearborn Street Chicago, Illinois 6o60h 13. Type of Report & Period Covered technical 14. 5. Supplementary Notes 6. Abstracts It is well known that feedback for on-line operation is useful only if the delay in the loop is short enough. A typical example where feedback is nearly useless is the remote control of an exploratory vehicle on a distant planet. TELEMAZE is a simulator for this situation. Guidance of the vehicle is obtained by steering an image of the vehicle through an environmental model stored in a local display system. 7. Key Words and Document Analysis. 17a. Descriptors Model maze - environmental model which contains an image of the remote vehicle and terrain Real maze - simulated real environment of the remote area Local station - earth's computer and controller Remote station - remote planet Update time - time it takes model maze to become in sync with Real maze. 'b. Identifiers/Open-Ended Terms fc. COSATI Field/Group i. Availability Statement unlimited distribution 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 93 22. Price 5RM NTIS-38 ( 10-70) USCOMM-DC 40329-P7 1 JUM 6 «75 CD in CO cm;:!*;:* Hi Hi ^M^H H HlBBI BShRI HP H m Hi In ■ BuIBIHI