Engineering Details:
Engineering Zonky A Turtle Robot
A turtle robot is an ambulatory robot that can execute commands received in digital form

Forward Go directly ahead a unit distance
Back Go directly backwards a unit distance
Rotate RightRotate clockwise (as viewed from) ahead a unit angle
Rotate LeftRotate anti-clockwise (as viewed from) ahead a unit angle


The Turtle Robot in the MIT LOGO Group during my sojourn there in 1974 which was used by the young Radia Perlman in teaching kindergarten-age children:
Image of the LOGO Turtle robot designed by Radia Perlman
The MIT LOGO Turtle from MIT newsheet "The Tech" 12/11/1974

Note multi-strand control cable, and large precision stepper motors under a perspex dome.
In contrast the OZNAKI Turtle, the Zonky developed by the writer in conjunction with Grad student Andrew Downing, was mechanically very simple, and made from the cheapest components, but electronically rather more sophisticated. The very first version Zonky was this one:

Zonky + Kathy Edwards + HAC 1976 Rather than re-engineer the tank and power the tracks by stepping motors,
the controller monitored the DC motor feed and counted pulses on the motor feeddue
to the rotation of the commutator through the brushes.
ZONKY fully rigged with primary student programmer, Dr Cohen in background. To right a stripped-down ZONKY clearly showing the 3 wire tether.

This -- the very first Zonky was based on the chassis of a toy tank. With both motors turning in the same direction, Zonky travelled Forward, or Back. If the motors had opposite directions, the robot turned on the spot. It was not practical to turn Zonky through an exact angle, due to slip of the tracks. The main point of the experience with Zonky was to sharpen up students ability to direct a Turtle through the turning commands, R(IGHT), L(EFT), in addition to the more obvious F(ORWARD) and B(ACK) and so prepare students for their encounter with a screen Turtle. Just how powerful this experience is in sharpening a young student's spatial perception, was a discovery described in the Cohen-Green joint paper, Evaluation of the Cognitive Goals of OZNAKI

The Zonky controller was designed constructed by Ph.D. student Andrew Downer working with Dr Harvey Cohen. The design matched the circumstances of 1975, when the basic logic logic gates were cheap, but anything more elaborate was extraordinarily expensive. Thus for example, in this period, UARTS, simple logic circuits on a chip that can convert from parallel to serial and vice versa, cost over $200, so the circuit design incorporated shify registers to achieve that function. All circuitry was CMOS to minimise the load on the rechargeable battery pack.
As sofware engineer I designed the ASCII protocol for controlling ZONKY.
Rather than re-engineer the tank and power the tracks by stepping motors, the controller monitored the DC motor feed and counted pulses due to the rotation of the commutator through the brushes.

The ZONKY Control Scheme The original ZONKY was to be controlled by a serial line from the La Trobe University DEC-10 Computer, which it had to share with a computer terminal. This lead to the following design decisions:

Zonky to be controlled by 7-bit ASCII characters in the range 40H (@) upwards, so that they would be visible on the computer monitor in series with the robot. A unit movement command involved the transmission of ten such code characters; this facilitated the introduction of decimals. Within each code character the bits were allocated as follows:

Bit Number Function
0 Zero LEDS off, 1 LEDS on
1 Zero HORN off, 1 Horn ON
2 Left Track direction 0 = forward, 1 = reverse
3 Right Track Direction 0 = forward 1 = reverse
4 Motor Control: 0 = Both On ; 1 = Both OFF
5Unused - would be lower case ASCII
6This is a COMMAND if this bit =1


Exactly how this works mechanically is indicated by the following diagram, that looks down on ZONKY from above, and indicates direction of movement of top of track.


FORWARD
Control code 40H (ASCII @)
  • bit[6]=1 so this is a motor command
  • bit[2]=0 left track forward
  • bit[3]=0 right track forward

RIGHT
Control code 48H (ASCII O)
  • bit[6]=1 so this is a motor command
  • bit[2]=0 left track forward
  • bit[3]=1 right track backward

There are many examples of these control codes in the 1976 paper detailing the
OZNAKI Language OZ

Zonky II A somewhat less militaristic design was used for Zonky II. However ordinary DC motors were used, mounted in an aluminium chassis. The controller previously used for Zonky 1 was still usable.


Zonky II.
Poly-88 Z-80 based "microcomputer", a specialised keyboard, grayscale output to a modified TV. Note the floppy disk drive - a very recently introduced innovation.
Sofware Engineering in the OZNAKI Project
Note that as Oznaki was a pioneering project, running on the very first personal computers [in that era called microcomputers], the software tools for developing microprocessor code were NOT commercially available and had to developed. Especially notable in this regard is the paper, Harvey A. Cohen and Rhys S. Francis, Macro-Assemblers and Macro-Based Languages in Micro-processor Software Development, first published in IEEE Computer in 1979, and then republished in an IEEE volume, P. Isaacson (Editor), Microprocessors and Microcomputers along with papers describing the architecture of the Intel 8086 by the chips designers, and a paper describing the coming Motorola 68000 by its lead designers. The Intel 8086 was set to power the Wintel PC, and the Motorola 68000, was destined for use in Sun workstations, and in some Apple products. Also in this now historic reprint volume is a notable paper by Alan Kay et al, Personal Dynamic Media describing SmallTalk -- whose GUI was copied by Apple (in the Macintosh) and then by Microsoft in Windows. Kay's paper also and explains the concept of the Dynabook -- essentially a prophesy of the thin laptops of the late 1990's.

Click to return to home page for the OZNAKI Project