Archive-name: robotics-faq/part5
Last-modified: Mon Dec 12 12:00:52 1994

This is part 5 of 5 of the comp.robotics Frequently Asked Questions (FAQ) list.
This FAQ addresses commonly asked questions relating to robotics.
Copyright Notice

This FAQ was compiled and written by Kevin Dowling with numerous
contributions by readers of comp.robotics. Acknowledgements are listed
at the end of the FAQ.

This post, as a collection of information, is Copyright 1994 Kevin
Dowling. Distribution through any means other than regular Usenet
channels must be by permission. The removal of this notice is

This FAQ may be posted to any USENET newsgroup, on-line service, or
BBS as long as it is posted in its entirety and includes this
copyright statement. This FAQ may not be distributed for financial
gain. This FAQ may not be included in commercial collections or
compilations without express permission from the author.

Changes, additions, comments, suggestions and questions to:
Kevin Dowling				tel:	412.268.8830
Robotics Institute			fax:	412.268.5895
Carnegie Mellon University		net:
Pittsburgh, PA 15213

Part 5/5
        [11] Whatever happened to Heathkit Hero Robots?
        [12] What's available for Puma Manipulators?
        [13] What kinds of Robotics Simulators are there?
		[13.1] Commercial Simulators
		[13.2] Shareware and Freeware Simulators
        [14] What Real-Time Operating System should I use?
        [15] What is NuTank?
        [16] Survey of Mobile Robot Development Environments
        [17] Small development platforms
                [17.1] What is the Miniboard?
                [17.2] What is the F1 Board?
                [17.3] What is the Bot Board?
        [18] What is the XXX Microcontroller?
		[18.1] Motorola 68XX
		[18.2] Motorola 683xx
		[18.3] Intel 80C186
		[18.4] Intel 8051
		[18.5] Intel 8096
		[18.6] Microchip PIC16/17
		[18.7] Parallax BASIC Stamp
		[18.8] National Semiconductor LM628/629
		[18.9] Hewlett-Packard HCTL 1000, 2000
		[18.10] Motor Drivers

 [11] What's available for Heathkit Hero Robots?

 Heath/Heathkit/Zenith [OUT OF BUSINESS]
 Benton Harbor, MI
 order: 800.253.0570 (At last report these numbers do not work)
 tech:  616.982.3980

 Heros are no longer being made but Heath (Zenith) still offers some
 replacement parts.  They had about 8 years of sales: 4,000 Hero Jr's,
 3,000 Hero 2000's, 14,000 assembled Hero 1's. Ones with less
 capability didn't do as well but higher priced ones did ok in the
 market. Service and maintainability are a problem due to the sheer
 number of bolts, pulleys, boards, sensors, cables etc. Used ones can
 be picked up cheap - but caveat emptor.

There is a mailing group for hero owners managed by Dave Goodwin: 
Send the following command in the message body:
	Subscribe Hero-owners

You may also want to include a HELP command line to get the commands
and their syntax.  Note that the subject on the message is irrelevant.
Of course, to post a message to the group, just send it to hero-owners
at the same host.

The Mailserv software can handle files as well, but none are currently
available.  Hopefully, list subscribers will start to provide any
nifty code they write for the archive.

Finally, the list of subscribers is available from the Mailserv.  See
the help file for how to get it.  Questions or problems should be
addressed to, not at the waldo address.

[12] What's available for Puma Manipulators?

 Pumas are probably the most common robot in university laboratories
 and one of the most common assembly robots. Designed by Vic Schienman
 and financed by GM at MIT in the mid-70's, the Puma (Programmable
 Universal Machine for Assembly) was produced for many years by
 Unimation (later purchased by Westinghouse and sold at a loss later to
 Staubli, a Swiss company) Found in many university labs as well.

 Staubli Unimation, Inc.
 211 Overlook Drive
 Sewickly, PA 15143-2305
 tel: 412.741.1740
 fax: 412.741.1789

 Staubli Unimation Ltd
 Unit G, Stafford Park 18
 Telford, Shropshire, TF3 3Ax

 PUMA singularities:
 The PUMA has three singularities: the ``alignment'' singularity (wrist
 is as close to the axis of joint 1 as it can get), the ``elbow''
 singularity (elbow is fully extended or folded up; the latter is not
 possible because of joint limits), and the wrist singularity (the axes
 of joints 4 and 6 are aligned).

 The angles corresponding to these depend on the Denavit-Hartenburg
 (DH) parameter assignment.  For the PUMA, the definitions given in [1]
 are perhaps the most commonly used Using these, and letting A2, A3,
 D3, and D4 denote the translational DH offsets, the singularities
 occur when the following are true:

 Alignment:	D4*sin(ang2+ang3) + A2*cos(ang2) - A3*cos(ang2+ang3) == 0

 Elbow:		sin(ang3 - atan2(A3,D4)) == 0

 Wrist:		sin(ang5) == 0

 Typical offset values for the PUMA 560 are

 A2 =  431.80
 D3 =  149.09
 A3 =  20.32
 D4 =  433.070	

 [information provided by John Lloyd <>]

Puma Gear Ratios
	Joint #		Gear Ratio
	--------	-----------
	1		0.01597
	2		0.00931
	3		0.01884
	4		0.01428
	5		0.01391
	6		0.01303

Tech Report and Matlab Toolbox [Peter Corke]

 A technical report is available which provides details of the
Unimation Puma servo system, including details of interfacing via the
arm-interface board, digital board firmware, and analog board/motor
dynamics. (54 pages) It can be found at

A Robotics Toolbox for MATLAB which provides functions for homogeneous
transformations, quaternions, forward and inverse kinematics,
trajectories, forward and inverse dynamics, and graphical animation.
The Toolbox uses a very general method of describing the kinematics
and dynamics of any serial-link manipulators.  Descriptors for the
Unimate Puma 560 and the Stanford arm are included.  Location -

That directory contains an extensive manual, (72 pages), as
well as all the M-files.

Trident Robotics and Research, Inc.
 2516 Matterhorn Drive
 Wexford, PA 15090-7962
 (412) 934-8348 
 email: <>
 A board for replacing the PUMA LSI/11 controller with the CPU of your
 choice: The board is basically an I/O board with D/A's, A/D's, encoder
 counters and some digital I/O lines and is available to connect to
 several bus architectures including VMEbus, IBM-PC bus, Multibus and
 IndustryPack bus. (with others under consideration) It comes as a
 two-board set: A PUMA board and a bus interface board. This allows
 several buses to be supported and keeps the analog electronics away
 from the noise of the bus. (It also makes switching buses cheap, if
 the need ever arises.) Since it is primarily an I/O board set, it can
 be used in applications other than controlling a PUMA.

 The user's manuals are available by anonymous ftp: and

 This is a PostScript file that can be printed or viewed (to conserve
 paper) and describes the remote board that mounts inside the Unimate
 controller, replacing the VAL computer.  The file shows
 the board arrangement diagrammatically.
 Useful Puma references:

Richard Paul, Brian Shimano, and Gordon Mayer, ``Kinematic Control 
     Equations for Simple Manipulators''. IEEE Transactions on Systems,
     Man, and Cybernetics, Vol SMC-11, No. 6, June 1981.

B Armstrong, O Khatib, and J. Burdick
     The Explicit Dynamic Model and Inertial Parameters of the PUMA 560 Arm
     Proceedings IEEE Int. Conference on Robotics and Automation, April 1986
     San Francisco, CA pp510-518

P.I. Corke and B. Armstrong-Helouvry
     A search for consensus among model parameters reported for
     the Puma 560 Robot
     Proc. IEEE Conf. Robotics and Automation, 1994 pp. 1608-1613
     It is also available via anonyous ftp from
[13]  What kinds of Robotics Simulators are there?

Simulation allows researchers, designers and users to construct robots
and task environments for a fraction of the cost and time of real
systems. They differ significantly from traditional CAD tools in that
they allow study of geometries, kinematics, dynamics and motion
planning. This list is NOT a comparative analysis of the different
systems but rather a list of systems that are available.

[13.1] Commercial Simulators
[13.2] Shareware and Freeware Simulators

[13.1] Commercial Simulators

Auto Simulations, Inc.
655 Medical Drive
Bountiful, UT  84010
tel: 801.298.1398
contact:  Teresa Francis, ext 330
 Products: AutoMod II
 Platforms: ?
 Cost: ?

PO Box 203
Oakdale, IA 52319
tel: 800.383.1322
tel: 319.337.8968
   DADS - kinematics and dynamics package. Have ProEngineer to CADSI
 interface.  Supports rigid and flexible body analysis. Animation and
 interfaces to FEA/FEM and CAD programs.

Deneb Robotics, Inc.
3285 Lapeer Road West
PO Box 214687
tel: 313.377.6900
 Product:	IGRIP
 Platforms:	SPARCs, SGI
 Cost:	US$50-$60,000.
   Allows offline programming, dynamics capability etc.

Mechanical Dynamics Inc.
2301 Commonwealth Blvd
Ann Arbor, MI 48105
tel: 313.944.3800
fax: 313.994.6418
email technical hotline:
	ADAMS is a general purpose dynamics simulator: it can be used
to simulate any mechanism. You input the model you want to simulate,
and ADAMS builds the system of equations, and solves it through
time. You can do kinematic, static, quasi-static and dynamic
simulations. And then, you can study the results (forces,
accelerations and so on).

	It has a good graphical interface, although it's non-standard
(it doesn't use OpenLook or Motif, but it's own windowing system). But
if you want to study something not very common, you will have to deal
with the text interface, and perhaps Fortran programming. It's not
very easy to learn.

1601 Saratoga-Sunnyvale Road
Cupertino, California  95014
tel: 408.725.8908                           
 Product:	CimStation
 Platforms:	SGI-4D, SUN SparcStation, Apollo, Intergraph,
		 Computervision, HP, IBM Risc6000 and DEC.
 Cost:		Base system around $55K (commercial license)
		 They also have a University Partnership
		 Program to enable universities to purchase CimStation
		 for around $20K US and $25K International.  
 Silma offers application solutions for Spot Welding, Arc Welding,
 Painting, Stamping and Assembly, as well as Robot Calibration Tools.
 Also, SILMA has direct CAD interfaces to Computervision CADDS,
 Parametric Technology Corporation Pro/ENGINEER, IBM CATIA ans MCS
 ANVIL5000. We also support VDAFS and SET in addition to IGES. Finally,
 in addition to CimStation Robotics, we also offer SILMA(R) CimStation
 Inspection - used to create, simulate and edit DMIS programs for
 coordinate measuring machines- (CMMs) and SILMA(R) CimStation NC
 Verification- used to simulate and verify NC part programs.
	 Provides: Basic CAD Tools: 2D and 3D solid & wireframe, IGES
 interface, Robot Modelling: generate the required governing equations
 (iterative or closed form) automatically for "many" classes of robots
 Path Generation Kinematic Simulation with Collision Detection Dynamic
 Simulation (CimStation only at this point) I/O Operations

 John Craig, who wrote the book, Introduction to Robotics is head of
 Silma's R&D. Silma has a programming environment called SIL complete
 with its own PASCAL-like iterative language with graphics and robotics
 extensions. CimStation is built out of this language. This allows you
 to add your own functionality. E.g. your own path planner. You can
 also write C-code, compile it, and add it to the system.

1223 Peoples Avenue
Troy, NY  12180
tel: 518.276.2817
fax: 518.276.XXXX
contact:  Vinay Joshi
  Products: Work-Out
  Cost: Around $25000.

Robot Simulations Ltd.
Lynnwood Busines Centre
Lynnwood Terrace
Newcastle-upon-Tyne, NE4 6UL
tel: +44 (0)91 272 3673
fax: +44 (0)91 272 0121
US contact:
	John Lapham
	Applications Engineer
	International Business Link
	17105 San Carlos Blvd. Suite A6151
	Ft. Myers Beach, FL 33931
	tel: 813.466.0488
	fax: 813.466.7270

Robot Simulations (RSL) develops and markets the world's first
microcomputer based industrial robot simulation software named
Workspace.  The package has been selling since 1989. The package uses
3d graphics to simulate robots and their associated machinery in a
workcell, and is capable of offline programming industrial and
educational robots in many different robot languages. It runs on a PC
and is $5K to educational institutions. $26K for industrial version.

Workspace 3 robot simulation:           Kinematic modeller
Discrete event simulation               Interactive creation of new mechanimsm
   Library of standard robots              
   Advanced robot languages             Dynamics simulator
      Variables                            Forces and torques calculated
      Subroutines                          Graphical representation of results 
      Loop structures                       
      Sophisticated motion commands     Text editor
   Accurate representation of mechanisms   Integral editor for track and 
   Calculation of cycle times                  teachpoint files 
   Collision detection                
                                        Solid 3-d rendering
Integrated CAD system                   Fast shaded animations in 256 colours  
   Constructive solid geometry
   Library of standard 3d primitives    Computer Aided Learning
      Extruded polylines                Simple authoring of training exercises
      Cones                             Calibration  
      Cylinders                            In-built robot and fixture 
      Boxes                                   calibration system   
      Solids of rotation                User Manuals
   DXF and IGES import facilities          Tutorial exercises 
                                           Example robots and workcells 

The system is in use throughout Europe and the Far East in both Industry and
Education with several hundred seats. Sales in the USA are relatively recent.
Further details can be obtained from myself, Or from the Robot Industry 
Association in the USA, or from our USA representative:

Tecnomatix Technologies/Robcad
39750 Grand River Avenue
Suite A-3
Novi, MI 48375
tel: 313.471.6140
fax: 313.471.6147
 Platforms: HP, Silicon Graphics, IBM and Sun
 Tecnomatix makes several packages for simulation including ones for
 Spot welding, Arc welding, Painting, Teleoperation (Martel), CMM and
 Drilling. They also have an open systems environment, ROSE, that
 allows user customization and interface design. ROBCAD itself allows
 robot modeling (library of 100 robots is supplied), collision free
 path generation, importation of IGES, VDAFS and SET files and direct
 interface with Catia and ComputerVision.

 [GMF - the entry that used to be here, no longer supports OLPW-200,
 instead they are a Robcad reseller]

[13.2] Sharware and Freeware Simulators
	Many university groups and individuals have developed
simulators for their own work and made them available via the net.

Ars Magna:
   The ARS MAGNA robot simulator provides an abstract world in which a
   planner controls a mobile robot. The simulator also includes a simple
   graphical user-interface which uses the CLX interface to the X window
   system. Version 1.0 of the ARS MAGNA simulator is documented in Yale
   Technical Report YALEU/DCS/RR #928, "ARS MAGNA: The Abstract Robot
   Simulator".  This report is available in the distribution as a
   Postscript(tm) file, as well as from:
	 Paula Murano
	 Yale University 
	 Department of Computer Science
	 P.O. Box 2158 Yale Station
	 New Haven, CT  06520-2158
	 net: <>
   Comments to Sean Engelson: <>
   ARS MAGNA is available by anonymous ftp:
	 directory:	pub/nisp
	 filenames:	*

EROS [Erann's RObot Simulator]:
	EROS is a mobile robot simulator.  Unlike other simulators,
EROS does not simulate any particular robot.  Instead, EROS is a sort
of robot simulation construction kit.  It is designed to allow users
to assemble their own robots from reusable software components, and to
run those robots in user-designed environments.  EROS draws
inspiration from Hanks and Firby's truckworld simulator, but EROS
operates at a lower level of abstraction than truckworld, and so it is
by some measure more realistic.  EROS has been used to simulate actual
physical robots, and the behavior produced by EROS has, in some cases,
made plausible predictions and accurate postdictions of the behaviors
of the real robots.

NOTE: This is a beta-test version of EROS.  It runs only under
Macintosh Common Lisp version 2.0.  Many of its features have not been
tested (although it has been used in a few applications, so parts of
it work quite well!) and the documentation is not very coherent.

EROS is available by anonymous ftp at:

	This is an early version for beta testing only.  It runs only
under MCL 2.0.  It will not run under any other version of Common
Lisp, including MCL 1.3.  (EROS relies heavily on Macintosh graphics
and CLOS.)  It also includes only a single example robot, so out of
the box it doesn't do very much.  You have to be willing to do a
little hacking to use it as it currently stands.  A future release
will have more turnkey functionality, but it's pretty much an OEM
product at this point.
	Contact: Erann Gat <>

	A mobile robot simulator and controller. Contact: Kurt
Konolige of SRI <> A Preliminary version of a
mobile robot simulator and controller.  All written in C, but you need
Motif to run the graphics.

This is essentially the same software run on Flakey, (robot at SRI
used for research in AI), behaviors using fuzzy control (there's lots
more on Flakey in terms of sensor interpretation and higher-level
control, but I haven't ported that from LISP to C yet).  There are
three example behaviors implemented, showing dumb obstacle avoidance
and goal achievement. There's not much documentation yet, but I will
get some out over the next few months.

The intent is to make the simulator/controller suitable for a course
in mobile robotics, and to have eventually a cheap physical platform
that will imitate the simulator (or vice versa).

Available by anonymous ftp from:
	filename:	erratic-ver1.tar.Z
Uncompress, untar and check the README file for installation.

A collection of five tech reports on Flakey's fuzzy controller is also
available at:
	filename:	flakey_papers_93.tar.Z

Simderella 2.0

Version 2.0 of simderella is here.  Major adaptations:
	- now features Imakefiles;
	- compiles & runs on Solaris and DEC Alpha;
	- some C bugs squashed;
	- bemmel can grab robot with mouse;
	- major improvements to documentation (i.e., an introductory
	  article describing the package).
	- includes a stand-alone version of bemmel for drawing
	  geometrical objects, with viewoint rotation.  Figures
	  can be dumped to xfig for later inclusion in your papers.

   Simderella is a robot simulator consisting of three programs:
	 connel: the controller
	 simmel: the simulator
	 bemmel: the X-windows oriented graphics back-end
   Simmel is the part which actually simulates the robot. It performs a
   few matrix multiplications, based on the Denavit Hartenberg method,
   calculates velocities with the Newton-Euler scheme, and communicates
   with the other two programs.

   Bemmel only displays the robot. It is a fast general-purpose
   display method which places separate objects in space depending on
   the homogeneous matrices it receives from simmel.

   Connel is the controller, which must be designed by the user
   (in the distributed version, connel is a simple inverse kinematics
   routine. I didn't include my neural networks.)

   The three programs use Unix sockets for communication.  This means
	 1. you need sockets
	 2. all the programs can run on different machines
   Since data communication is high-level (meaning, in this case, that
   I do not send doubles, integers, and so on, but encode them first),
   running the programs on different architectures is no problem.  In
   fact, it was thus designed that connel can, at the same time,
   control a real robot _and_ the simulated one.

   Simderella likes to sleep; that is, when nothing happens, no
   processor time will be used.

   The software is available as a compressed tar file from:
	 site: [IP]
	 directory: 	pub/neuro-software/pd
	 filename:	simderella.1.0.tar.Z

   Extract the simulator from the tar file by typing at the Unix
   command line:
	 zcat simderella.2.0.tar.gz | tar xf -
   or use your favourite extracting commands. In the simderella/
   directory, type
	make Makefiles
	make depend
   The sub-directories are recursively visited and executables are
   compiled and linked.

   Supported architectures: Sun (SunOS and Solaris), SGI, DEC Alpha,
   HP700, 386 et al running Linux)

   If you're impatient, execute the thing as follows:
	 cd bemmel; Zoscar & cd ..
	 cd simmel; source env; simmel1 ns & cd ..
	 cd connel; connel s
   all on one machine.  Then type commands like
	 fix-target 50 50 50
	 inverse 50 50 50
   or move the mouse pointer in the bemmel window and press an `l' or
   `r' or `u' or `d' or ....

   [CMU ised Simderella recently to facilitate software development
   and testing of the Shuttle servicing robot before the hardware and
   mechanics are available to test the various parts of the controller.
   it has also been linked to TCA calls and worked very well - nivek]

Public Domain SGI based simulator:
	 This is a Silicon Graphics based delux robot simulator with
   lots of graphics Stuff. It was written by Andrew Conway and
   Craig Dillon as undergraduates for an electrical engineering project
   at the University of Melbourne. Not much in installation
   instructions. There is a latex manual with usage instructions and
   the mathematics.  Warning: It is 4.3Mbytes compressed, and the
   US-Australia link is quite slow.
	 Disclaimer: I [Andrew] haven't used this software for
   years. If it malfunctions, don't sue me or Craig, we don't guarantee

	 The complete programe is divided into three menus: Main,
   Drawing and Robot Menus. features such as selecting elements or the
   complete screen, rotating, translating, zooming, enlarging or
   reducing the scale and passing to the two dimensional drawing window
   from the three dimensional one are available.
	 The Drawing Menu also offers many other possibilities like
   drawing three dimensional circles, ellipses, arcs, elliptical arcs,
   cylinders, cones, prisms, ellipsoids, toroids, etc.  In addition to
   these, it is also possible to obtain hidden line drawing and to
   change the point numbers of the circular drawing elements.  Whereas
   in Robots Menu, operations like selecting modules from the
   sub-menus, containing graphics, which concern body, wrist, hand
   systems and work spaces of robots, finding direct and inverse
   kinematics solution of these systems, point by point simulation of
   the robot motions, changing Denavit-Hartenberg parameters and joint
   freedom extremums from the menus can be performed.
         site:          WSMR-SIMTEL20.Army.Mil and OAK.Oakland.Edu
         directory:     pd1:<>
         filenames:     MODULSH1.ZIP    Design and animation of robots, 1 of 2
                        MODULSH2.ZIP    Design and animation of robots, 2 of 2
	 Dr. Hikmet Kocabas
	 Istanbul Technical University

Contact: Mark W. Spong
Coordinated Science Lab
University of Illinois at Urbana-Champaign
1308 W. Main St.
Urbana, IL 61801

tel: 217.333.4281
fax: 217.244.1653

Robotica is a trademark of The Board of Trustees of the University of

Robotica is a collection of useful robotics problem solving functions
encapsulated in a Mathematica package.  Utilizing Mathematica's
computational features allows results to be generated in purely
symbolic form.

Robotica requires inputing the form of a table of Denavit-Hartenberg
parameters describing the robot to be analyzed.  Once the table has
been entered, Robotica can generate the forward kinematics for the
robot. The A and T matrices as well as the velocity Jacobian, J, are
generated. Of course, it is possible to display and save to an
external file all of the data generated.  If the dynamics equations of
the robot are also to be generated, the input must include the
dynamics description data.

Once the forward kinematics are produced, Euler-Lagrange dynamics
equations can be calculated.  The inertia matrix, Coriolis and
centrifugal terms, Christoffel symbols and gravity vectors are all
available to the user once the dynamics routines have run.

Utilizing the forward kinematics results, Robotica can calculate the
manipulability ellipsoids when supplied with a range of joint variable
values. It is possible to generate and save a list of manipulability
measures as well as display the ellipsoids with the robot on the

In addition, Robotica has the capbability of reading external
simulation (e.g., SIMNON) output files and displaying the motion of
the robot when sbjected to the sequence of joint variables described
in the file. This requires that the robot has been input as a table of
Denavit-Hartenburg parameters, and that the foward-kinematics routines
have been executed.

Robotics contains several functions that can be used to draw the robot
in a specific configuration, or show the robot moving through a range
of joint parameter values. Most of the graphics output can be animated
if the Animation.m package is loaded The animations can be saved and
later restored and viewed again.

To simplify interactation with Robotica, an X-Windows based interface
has been designed. This interface insulates the user from the
inconvenient textual interface Mathematica provides.

Requirements: Mathematica 2.0 or better. X-windows requires 2.1 or

The University has requested that all users of Robotica sign and
return a license agreement.  This is mainly to keep a record of
Robotica users for future upgrades, etc.  The license agreement states
that you may freely use and modify Robotica as you wish but that you
may not sell it.

You can obtain a postscript copy of this license agreement via
anonymous  Please print out the
license agreement, sign and date it, and FAX it to me [Mark Spong]

It is important that you also include your email address on the
license agreement.  As soon as I receive your FAX I will send you the 
Robotica package and the X-windows GUI.   

Also in the directory /pub/robotica is a postscript file containing 
the Robotica users manual which you may freely copy and distribute.  
Any comments that you have after using Robotica would be greatly 
appreciated.  In addition, any questions you have or bugs you find 
can be reported to me and we will do our best to address them.

[13.2.1] What is NuTank?

NuTank stands for NeuralTank. It is a program to simulate complex
networks and interactions. In this program one is given the shell of a
2 dimensional robotic tank.  The tank has various I/O devices like
wheels, whiskers, optical sensors, smell, fuel level, sound and such.
These I/O sensors are connected to Neurons.  The player/designer uses
more Neurons to interconnect the I/O devices.  One can have any level
of complexity desired (640k memory limited) and do subsumptive
designs. More complex design take slightly more fuel, so life is not
free. All movement costs fuel too.  One can also tag neuron
connections as "adaptable" that adapt their weights in accordance with
the target neuron. This allows neurons to learn.

The Neuron editor can handle 3 dimensional arrays of neurons as single
entities with very flexible interconnect patterns.  One can also design
a Glyph or drawing to represent the robot and/or obstacle.  (or bug,
worm, whatever) One can then design a scenario with walls, rocks, fat
(fuel) sources (that can be smelled) and many other such things.

Robot tanks are then introduced into the Scenario and allowed to interact
or battle it out.  The last one alive wins, or maybe one just watches
the motion of the robots for fun.  While the scenario is running it
can be stopped, edited, zoom'd, and can track on any robot. One can
designate a neuron group as the probe group and get a display of the
neural activity of that group.  This helps debug designs.

The entire program is mouse and graphically based. It uses DOS and VGA
and is written in TurboC++

There will also be the ability to download designs to another computer
and source code will be available for the core neural simulator.  This
will allow one to design neural systems and download them to real
robots.  This feature may be in the Beta release, around August 94.
The design tools can handle three dimensional networks so will work
with video camera inputs and such.

Eventually I expect to do a port to UNIX and multi thread the program.
I also expect to do a Mac port and maybe NT or OS/2

The theory that I eventually want to test has to do with the self
oscillating nature of combined subsumptive and standard neural
nets. One can also work on flock and pack behavior.

I have a paper I've written called Artificial Cognition that discusses
a theory of the combination of regular neural nets and subsumptive
networks.  In the shareware file it is called and will need
to be printed on a PostScript printer.  You may get copies of it by
sending $5 to Keene Educational Software.

Getting NuTank:
	NuTank now has a shareware version.  It is about 300k bytes compressed.
	The file is nutank.exe and is a PKZip executable for dos machines.
	It must be put in a directory called C:\nutank

	To unpack nutank firts put nutank.exe in C:
	mkdir nutank
	cd nutank
	..\nutank.exe -d

	After it unpacks
	nutank.exe  is the program

	If anyone would like to put it on their server feel free to do
so. If you put the shareware on your sever please tell me so I can
send you updates.

	Nutank shareware is available vie the ftp sites

The shareware version has the ability to write to disk disabled.  Feel
free to pass the shareware version around.  The regular version costs
$50 (includes a printed copy of the paper) and can be had by sending
$50 US to
	Richard Keene
	Keene educational Software
	8155 Lone Oak Court
	Littleton, CO 80124

        After Oct 3rd 1994 I'll be working for the Park City Group 
        and can be reached at  

   NuTank, Copyright Richard Keene 1994, All rights reserved.

[14] What Real-Time Operating System should I use?
	[14.1] Commerical RTOS
	[14.2] Research RTOS 

For general discussion of this topic see news:comp.real-time and
news:news.answers for the complete RTOS FAQ.


Here is a complete list of many RTOS'.

Below is a list of both commercial and research Real-Time Operating
Systems (RTOS) which are being used around the world for implementing
robotic systems.  Only the names and addresses of the distributors are
included.  Since the available features of each are constantly
changing, and the advantages and disadvantages of each are greatly a
matter of opinion and target application, no such descriptions are

[14.1] Commerical RTOS

	Chimera itself is not available for anonymous FTP as it has
become a commercial product marketed by a Pittsburgh based company
called K2T Inc.  (pronounced K-squared-T).  Onika is tightly bound to
advanced features in Chimera and hence is not currently suited for use
on other platforms.  However, users of Chimera do receive a free copy
of Onika.

	However, there are several papers written by the creators of
these software packages that _are_ available via both ananymous FTP
and via the WWW.  You may obtain Chimera and Onika papers from the WWW
via the following URL:

	This link is to Chimera information, but you may also access
Onika information via links in this document.  You may FTP some
Chimera and Onika papers as compressed PostScript files from CMU:


If you are interested in purchasing Chimera, please contact Eric
Hoffman of K2T Inc. directly:

	Eric Hoffman, Chief Engineer
	K2T Inc.
	Suite 205, One Library Place
	Duquesne, PA 15110
	tel: 412.469.3150
	fax: 412.469.8120


Real-Time Innovations, Inc.
954 Aster, Sunnyvale, CA 94086
tel: 408.720.8312
fax: 408.720.8419    
contact: Stan Schneider

ControlShell is an Object-Oriented Framework for Real-Time System

	Complete object-oriented real-time software environment.
	Graphically build your system from reusable components.
	Readily include powerful rule-based event responses. 
	Easily share data between networked processors.
	The real-time framework for the future!

ControlShell is a next-generation CASE environment for real-time system
software development.  ControlShell's modular, component-based structure,
powerful graphical tools, and integrated data management provide a unique
approach to real-time software development.

With ControlShell, you can:
 * Build your system from reusable components with the graphical
   Data-Flow Editor.  Select and connect your components, set parameters,
   and build your run-time system with a few mouse clicks.
 * Add new components with the graphical Component Editor.  Automatically
   generate C++ source code to interface your new component to the system.
 * Create structured strategic programs with the graphical State-Machine
   Editor.  Combine rule-based transition conditions, true callable sub-chain
   hierarchies, task synchronization and event management.
 * Manage complex system mode changes with the graphical execution
   Configuration Manager. 
 * Perform real-time mathematics with the complete real-time matrix package.
 * Take advantage of an ever-expanding library of generic and reusable
   components, including controllers, estimators, filters, signal generators,
   trajectory generators, and more.

	     Runs on Intel 80X86-based computers
	     Intel Corporation
	     3065 Bowers Avenue
	     Santa Clara, California 95051
	     tel (408) 987-8080
	     Runs on wide variety of platforms, including Motorola,
	     Intel, Sun, and Hewlett Packard.

	     Lynx Real-Time Systems, Inc
	     16780 Lark
	     Los Gatos, CA 95030
	     tel (408) 354-7770
	     fax (408) 354-7085

	     Runs on Motorola MC680X0-based single board computers.

	     Microware System Corporation
	     1900 N.W. 114th St.
	     Des Moines, Iowa 50322
	     tel (515) 224-1929
	     Runs on a variety of Motorola 680X0 and 88100, and 
	     Intel 80386 computers.  Requires a host workstation or
	     personal computer if pASSPORT+ real-time programming
	     environment is to be used.

	     Software Components Group, Inc.
	     1731 Technology Drive
	     San Jose, CA  95110
	     tel (408) 437-0700
	     fax (408) 437-0711

		 VenturCom Inc
		 215 First St.
		 Cambridge, MA. 02142
		 P: (617) 661-1230
	 Product runs on ix86 platforms and PC/104 systems.
	 Product is real UNIX, SVR3.2 & SVR4.2.
	 Workstation version requires ~4MB, 120MB, 80{3|4}86 processor.
	 Embedded version requirements vary depending on features used.
	 Embedded product allows for completely ROMed UNIX systems,
	 from read-only root to stand alone applications.

	     Runs on a wide variety of processors, including Motorola 680X0,
	     Intel 80X86 and 80960, National Semiconductor series 3200. 

	     Ready Systems
	     470 Potrero Avenue
	     P.O.Box 60217
	     Sunnyvale, CA 94086
	     (800) 228-1249
	     fax (214) 991-8775

	     Runs on a wide variety of MC680X0 and SPARC-based single 
	     board computers. Requires a workstation for program
	     developments. Widely used in Unix environments for realtime work.

	     Wind River Systems Inc.
	     1000 Atlantic Avenue
	     Alameda, CA 94501
	     tel: 510.748.4100 or 800.545.WIND (9463)
	     fax: 510.814.2010

Tools related to VxWorks:

Real-Time Innovations, Inc.
954 Aster, Sunnyvale, CA 94086
tel: 408.720.8312
fax: 408.720.8419    
contact: Stan Schneider

Product name:   StethoScope
Overview:       Real-time networked graphical monitoring and data acquisition.

Category:       Software, Development tools

Highlights:     Real-time data collection and display.
                Monitor any program variables.
                Export data to MATLAB and MatrixX.
                Friendly multi-window environment.
                Gain insight into what's happening in your system.

StethoScope is a real-time graphical monitoring, performance analysis,
and data collection tool for VxWorks.  Use it to watch any of your
program variables evolve in real time; any value in memory can be
monitored.  StethoScope opens a window into your application; it shows
you what's really happening.

Product name:   ScopeProfile
Overview:       Real-time dynamic execution profiler.

Category:       Software, Development tools

Highlights:     Detailed procedure-by-procedure analysis of CPU usage.
                Tree or flat structure model.
                Quickly spot performance bottlenecks.
                Minimally intrusive.  Run your code at full execution speed.
                No special compilation.  Analyze already running code.

ScopeProfile is a dynamic execution profiler for VxWorks.  It shows you exactly
where you're spending your CPU cycles.

Product name:   RTILib
Overview:       VxWorks tool and utility package.
Category:       Software, Development tools

Highlights:     Memory integrity and leak testing
                Re-entrant shell program
                Execution tracing utility
                Fast buffer management

RTILib is a collection of focused utilities and debugging tools. 

	Distributed, POSIX, real-time microkernel for Intel x86
	processors. Supports fault tolerance and also hosts MS-Windows
	in Standard mode

QNX Software Systems
175 Terrence Matthews Cr.
Kanata, Ontario K2M 1W8, Canada                   
tel: 613.591.0931 x111
fax: 613.591.3579

QNX Software Systems
Westendstr.19 6000 Frankfurt, Germany
tel: 49 69 97546156 x299
fax: 49 69 97546110

Two QNX papers are available via anonymous FTP:
 An Architectural Overview of QNX
 A Microkernel POSIX OS for Realtime Embedded Systems

[14.2] Research RTOS 

	     Runs on MC680X0-based single board computers
	     Division of Electrical Engineering
	     National Research Council of Canada
	     Ottawa, Ontario, Canada
	     K1A 0R6
	     ref: NRCC Tech Report No. 30081

	 REXIS (Real-time EXecutive for Intelligent Systems) is a small
	 multi-tasking preemptive real-time executive for implementing control
	 programs for intelligent systems such as robotics and distributed
	 networks. It provides functions for
	 managing tasks, memory allocation, message ports, timers, and
	 event processing.
		 It is distributed as shareware at a low cost to
	 hobbyists / students.  The current requirements for compiling
	 and running REXIS is an ANSI C HC11 cross compiler and a HC11
	 target with at least 24K of RAM. Other targets are under
	 consideration.  For more information, please contact
	 Richard Man
	 P.O. Box 6
	 North Chelmsford, MA 01863
	 (phone+FAX) (508) 452-5203, or

Robot Control C Library (RCCL)
	 A robot programming environment embedded in C/UNIX. A graphics
	 simulator is provided which supports the PUMA, Stanford, and
	 `Elbow' manipulators. The system can be compiled on SGIs (so
	 the Indigo should be fine), and the graphics runs under either
	 X or GL.  You can get the system from RCIM for a small fee to
	 cover copying and shipping. If you are interested send mail
	 John Lloyd 		Research Center for Intelligent Machines        McGill University, Montreal
	 tel: 514.398.8281			       fax: 514.398.7348

[16] Survey of Mobile Robot Development Environments

This list provides a look at mobile systems that people are using. The
list includes robot base information, as well as hardware and software
environments used in the systems.

This is an updated and abridged survey compiled by Willie Lim
<> The complete file, which includes a list of
organizations and the original messages can be ftp'd from

;;;								   ;;;
;;;								   ;;;
;;;                      FOR MOBILE ROBOTS			   ;;;
;;;								   ;;;
;;;								   ;;;
;;;								   ;;;
;;; Updated: Tue Dec  6 08:59:45 1994 <>            ;;;
;;; Created: Sat May 23 09:37:24 1992 <>            ;;;
;;;								   ;;;
;;; Maintained by: (for now)		           ;;;
;;;								   ;;;
;;; Please send updates, additions, corrections, etc. to:	   ;;;
;;;			           ;;;
;;;								   ;;;
;;; A complete version of this survey including detailed           ;;;
;;; descriptions of the various projects is available via          ;;;
;;; anonymous ftp from the host as the file         ;;;
;;; /pub/mobot-survey.text.                                        ;;;

Organization   	Robot		Development		Languages &		
               	Type		HW Environment		SW Enviroment		
=============   ====		==============		=============		
Alcatel Alsthom Indoor robot	SPARC II, VME proc	VxWorks, MOTIF		
Recherche (AAR) Outdoor	robot							
Brown U.        a)Mobile robots	SPARC I & II,		OS/9, GNU Emacs, Xlib,	
                		VME 68030		MOTIF, Forth, C, C++	
	        b)2 RWI B12's     Sparc 10s/Solaris offboard   UNIX, Motif, C++, Lisp, Rex, X
                c)2 RWI B24's     486 Linux onboard, arms
CMU             a) SM^2(walker)	VME 68020 & 68030,	Chimera II RTOS, C,	
                				Sun			Sun tools		
                b) AMBLER	VME 68020 & 68030,	MOTIF, VxWorks,			
                   		SPARC II, Iris		X windows, C		
                c) Mobile Mani-	Z8088s, Sun IPC & ELC,	X Window, Lisp, C, Hero		
                   pulator	NeXT			Basic			

                d) Mobile robot	SPARC, Iris, Mac,	X windows, Openwindows,	
                		VME, Maspar, Titan	VxWorks, Chimera RTOS,
                					TCA, GIL, LISP
                e) Navlab	Sun-4			X windows, C		

Colorado Sch.   Denning MRV-3	Sparc IIs, IPXs,	C, X11, Khoros, potential fields
of Mines        		IBM RS/6000s           	X11 visualization tool (homemade)

Colorado St.    6-legged robot	68HC11EVM, AT		C			

Cornell U.	2 mobile robots	Gespak 68000, Intel	Scheme, Lucid Lisp
		(robot with	80c196, Sun(?)
		base coming)

Cray Research(?)Mobile robot	MC68HC16EBV, 386	Assembler		

Georgia Tech	Denning	DRV-1	SUN IPC, Decstation,	X windows, C,		
            	& MRV-II	Microvax II		Lisp

Grumman CRC     SmartyCat	Mac II's/IIci's,	C, CLOS, LISP, SAL		
            	(Cybermotion	uExplorer, SGI		VxWorks(soon)
		 K2A)		68030 VME board(soon)
		LLV (Grumman	SGI, 68030 VME board,	C, CLOS, LISP, SAL 
		Long Life Veh.,	mini-boards.
		the US Postal

IBM TJ Watson	TJ, TJ2		Symbolics, RS/6000,	LISP, CLOS, CLIM,	
(1989?-1992)           		286, 386, Suns		C, X-windows, MOTIF,
                					GNU Emacs
ISX Corp        Subsumption	Mac II cx's/ci's	C(?)		
JPL             7 robots	Suns to 6811		RCCL, ALFA	

McGill U	Mobile robot	Sparcs, mc68hc11, PC	GNU, X, Small-C 
							C, C++
		QUADRIS		SUNs, Macs, C-40, 68K	C, X-windows, IRIS GL

Michigan Tech.	Tracy		6502, Apple IIe, SUN,	C, Assembly
U.				68HC11
		Minirobots	6811

MIT		20 robots	Mac II & IIsi, HC6811	Behavior Language
		GOPHER (ISR R2)	68332, Mac, Sun		GCC, Behavior Language,
							Lisp, X-windows
		Polly		VME, 6811, Mac		Senselisp(Scheme)
		SOZZY(homemade)	6811, Mac		Lisp, Behavior Language
MITRE           Denning MRV-1	MacQuadra, uExplorer	Lisp, REX/GAPPS, C, C++	

Northeastern U.	Lobster Robot	HC11, Mac		C, Pascal, Assembly
		Phaeton		Sun 4/330, Mac		C, epsilon (Cognex), 
		(Denning MRV3)				X-windows

NRC of Canada	EAVE		Mac II's, 68020's	C, HARMONY OS, MacAPP

NC State        Mobile robot	VME 68020 & 68040,	OS/9, P/NET	

Osaka U.	Homemade	VME 68030, SUN IPX,	C, X-windows
				Sparc 2

Purdue U.	PETER		Sun4, 68030		C, VxWorks

SRI		FLAKEY		Sparc10/30, Z80		Lucid Lisp, C, X-windows

Stanford        Landmark based	Mac IIci		C, LISP		
Swiss FIT       Mobile robot	Mac			MacMETH, Modula-2	
U of Central    a) 6-leg walker	Commodore 64		SuperC,	C	
                b) 6-leg walker Amiga 500		C		

U of Edinburgh	a) ALDER	8052, SUN, PC		Basic
		b) CAIRNGORM	68000, SUN		C
		c) Bill (RWI)	PC, transputers		C	
		d) Ben Hope(RWI) transputers		C
		e) (LEGO based)	68000			C, CPL
U of Mass.,	Denning		DECstation 5000,	C, LISP
Amherst				Sparcstation

U of Michigan   BORIS (TRC)	486, Decstations, SGI,  Borland C++, FORTH, DOS
		CARMEL (K2A)	286, 486, (ditto)	Borland C++, FORTH, DOS
		MAVERIC		486, Sparc 10,		Lisp, GCC, Borland C++, X, DOS
				Datacube, (ditto)

U of New	Underwater	Sparcstation,		VxWorks, C(?)
Hampshire	robots		CMOS VME boards

U of South	Cybermotion K2A Z-80, 68000		PASM, GEHPL, UNIX,
Carolina	& K3A, Heathkit				DOS/Windows
		Hero 1 ET-18

U Wash.		Denning		HP 9000 series 300's,	Gensym G2, OS/9	
				68000			LLAMA (Forth), Lisp, C 

Worcester Poly-	James		NEC 76310, 68HC11,	Assembly, Small-C (DOS) 
technic Inst.	(RWI B12)	Gateway 2000 PC

Wright Lab,	Hero 2000	286			MS C (DOS), Assembly
Wright-Pat. Air
Force Base

VTT (Technical	Akseli		HP-1100, 386		MS-DOS, LynxOS (soon)
Research Center						C
of Finland)

[17] Small development platforms
                [17.1] What is the Miniboard?
                [17.2] What is the F1 Board?
                [17.3] What is the Bot Board?

[17.1] What is the Miniboard?

New version: Miniboard 2.1 extended -

 The Mini Board is an outgrowth of the MIT 6.270 robot course and
 design project. It is a small and inexpensive design for a controller
 board based on the ubiquitous (yet sometimes hard to find) 68HC11

The Mini Board 2.1 Extended is the latest version of the Mini Board.
It is based on the Mini Board 2.0 Extended (see file
pub/miniboard/docs/mbextend.txt), and includes the following new

    *   full six-wire SPI jacks include power, ground, and all four
SPI wires.

    *   optional diode protection prevents reverse-polarity voltage
input when using DC power jack.

    *   power and ground on Port A headers may be bridged to motor
power and ground, allowing RC servos to be plugged directly into the
Port A header (when using a 5.5 to 6v power supply).

    *   extra space between PLCC socket and female header connectors
to allow for newer, slightly larger PLCC sockets.

    *   mounting holes drilled for single RJ11 jack (for RS-232
serial), saving money on triple RJ11 jack if SPI ports are not to be

Download the file pub/miniboard/docs/mb21ext.PS.Z to see the
silkscreen of the new board.  

The MINI BOARD 2.1 is a complete embedded computer board for robotic
applications.  It can directly power four DC motors and receive inputs
from numerous sensors.  Its miniature size (smaller than a business
card) makes it suited well for mobile applications as well as other
embedded control.

It can be programmed in 6811 assembler code or C for stand-alone
operation, or it can serve as a serial-line based controller operated
by a desktop computer.

  * overall dimensions: 3.3" by 1.86", smaller than a business card.
    If desired, an off-board serial connector can be used, allowing an
    additional .6" of board length can be chopped off. 

  * nearly all parts can be purchased from Digikey (including all
    connectors and switches).  Extensive use of resistor packs 
    minimizes component count.

  * uses Motorola 68hc811e2 microprocessor with 2048 bytes of
    internal, electrically erasable PROM and 256 bytes of RAM.

  * four motor drivers for bidirectional control of small DC motors
    (up to 600 mA current, 36 volts each motor).

  * eight analog inputs; eight digital inputs or outputs; several
    timer and counter I/O pins, all broken out to convenient header

  * on-board 5v regulator allows board to be powered by any DC power
    source from 5.6 to 36 volts.

  * RS-232 compatible RJ-11 port for communication/program download
    between host computer.

  * two modular high speed serial jacks, allowing networks of multiple
    MB 2.0's to be constructed using common 4-wire phone cable.
    Multiple-mastering bus protocols supported.

  * optional battery level monitoring using voltage divider from
    supply voltage before regulation.

  * XIRQ line broken out to a pad:  when this line is given 12.5v,
    an 'hc711e9 chip with 12K of EPROM can be programmed in place.

  * MS-DOS, Macintosh, and Unix software provided for downloading
    programs to board.  6811 monitor program provided for recording
    changes in sensor state, controlling motors and interacting with
    other board features over serial line.

  * C/assembler libraries provided for code development using
    Dunfield Development Systems' Micro-C compiler, and ImageCraft's
    freeware icc11 C compiler.

 A fifty-page manual describing how to build and operate the Mini Board
 is on-line on the FTP server:

 People who don't have access to anonymous FTP can do FTP-by-mail,
provided as a public service by DEC.  Send a message containing the
single word "help" to "" for instructions.

 Also on-line is software for programming the Mini Board from MS-DOS,
 Macintosh, and Unix machines.

* Douglas Electronics, Inc.                           
  2777 Alvarado Street
  San Leandro, California 94577  USA         
  tel: 510.483.8770
  bbs: 510.483.6548
  fax: 510.483.6453

Douglas Electronics, a Macintosh PCB CAD software house and a
commercial PCB fab facility, is a new distributor of blank Mini Board
PCBs. [Thanks to Bill]

Pricing for the new mini-board is as follows:

1 board only  ................. $ 10.00
2 to 9 boards  ................    7.50 ea.
10 to 50 boards  ..............    6.25 ea.
50 and over  ..................    5.00 ea.

There is also a dollar volume discount on Douglas' breadboard products,
that applies over and above the per-board quantity discounts, as follows:
$ 500    5%, $1000   10%, $2500   15%, $5000   20%
For more info see:

-Two individuals are independent suppliers of Mini Board technology:

* Gregory Ratcliff <>, 1763 Hess
  Boulevard, Columbus, Ohio 43212; (614) 487-0694 (late evenings EST). 

  Greg sells blank boards for $6, parts kits, and assembled boards.
  Please contact him for information.

* Mark Reeves <> 1117 Braemar Court,
  Cary, NC 27511; BBS and voice (919) 481-3170 (voice hours from 5-7
  pm EST).

  Shipping - all orders will be shipped ASAP, we do not need to wait for
a certain number of orders (although there may be delays while certain
parts are gotten). If a delay happens you will be notified by email or
postcard. No check or MO will be cashed until the order is ready to

PRICES (subject to change without notice)
All kits include a PCB, a kit without a PCB will be $5.00 less.
A kit without the 1 RJ11 adpt will be $2.50 less, a kit without the
3 RJ11 adpt will be $5.00 less.

K0 - a super basic kit, does not include any RS232 stuff,  or motor drive
items,  inductors, or most of the other discrete components, it does have a
PCB, CPU, socket, one 36 pin header, and a few other items. Good for
TTL level RS232, via some other chip, for the person wants to use the
board for expansion purposes, or whatever.
    Contact us for price.

K1 - basic kit all parts needed to get a board up and going, one 
RJ11 jack, no headers, for the true hobby person

K2 - same as above, but has all header connectors (3 female, 2 male - 36
     pin header connectors)

K3 - basic + motor controller the full kit with all needed parts, with 
all LED's and motor controller chips, one RJ11 jack

K4 - full kit same as K3, but has the 3 RJ11 jacks for interconnecting 
with other boards

B1 - bare PCB board, double sided, extended version silk screened parts 
location, etc.

J1 - a DC power jack and power switch for the board.  Use if the screw
power connector is not used; this would work with a plug in power supply.
Note- these items are sold at cost, they are not cheap

    Add $25 to any kit to get it built, add an B to the kit number, i.e. K4-B
    or K4-B-A for the 68hc11A1 version of the kit.  All assembled boards
    will have all parts soldered on them, but to meet FCC requirements
    there will be minor work to be done ( you have to install on chip)

NOTE: the basic kits do NOT include the motor controller chips or the
motor LED's, they do have the RS232 parts, they are for people who want
to use the board for things other than robotics. No speaker or sensors
are included.  All motor controller chips are the TI version, 1A drive
current.  All prices are subject to change without notice; please
e-mail to check if prices have gone up or down since this posting.

  Mark is a supplier of the recent board revision called the "Mini
  Board 2.0 Extended."  This version of the Mini Board includes a
  power switch and DC power jack for ease of use.  Please see the file
  pub/miniboard/mbextend.txt for more information.

 Hard copies of the Mini Board manual may be ordered by sending a check
 payable for U.S. $5 to "MIT Epistemology and Learning" at Epistemology
 and Learning Publications, MIT Media Laboratory, 20 Ames Street
 E15-301, Cambridge MA 02139.

 There is now a mailing list for discussing the board.  The purpose of
 the mailing list is to discuss robot controller boards, and robot
 control in general.  In particular, the list will be used to support
 the Mini Board 2.0 and 6.270 board design by Fred Martin and Randy
 Sargent of MIT.  However, any and all traffic related to robot
 controllers is welcome.

 Administrative address:
	 (send a message containing the word "help" for directions)
 Mailing list address:
 Maintainer:		<>
 Please DO NOT send administrative things to the main mailing list
 address, as then everyone will get annoyed.

[17.2] What is the F1 Board?

	A PCB board set designed around the 68HC11f1 microprocessor,
which I have made available as a non-profit enterprise to all you
folks on the net. To help those of you in the US, Daniel Mauch of the
Seattle Robotics Society agreed to act as a distributor.

	Well, my first shipment of these PCB's to Daniel lasted about
a week, I didn't realise they were going to be so popular! He has now
received the second shipment from me, so if anyone is interested in
these boards please Email Daniel at <>

If you missed any of my original postings, here again are the details of the

'F1 Board:
     Size  118 x 80 mm  (4.6" x 3.2")
          Power 6.5 - 35vdc (or 5vdc if you jumper the 7805 socket)
          RS485 serial communications
          RS232 serial communications
          SPI interface  (Same as Miniboard connectors but Master/Slave
          8 Analog inputs
          Port A connector
          Control bus connector for additional boards
          32K Ram memory
          32K EPROM (or another 32K Ram - switch select)
          MODA & MODB jumpers
          Analog Vrh & Vrl jumper to +5 & 0v or user selectable
Motor Board:
     Size  107 x 59 mm ( 4.2" x 2.3")
          8 Digital inputs
          8 Digital outputs
          4 x DC motors
          2 x Stepper motors (<1.5 Amps each)
          2 x R/C servo motors
          5 x base address selections (allows for multiple boards to be used)
          Stepper / Servo switch selectable
          Separate power supply for DC and Stepper motors.

	F1 board		$17
	Motor board		$13
	EPROM (w/Buffalo)	$11
	Postage			$5

This board was designed primarily for embedded control and small robotics
applications, and as such it is as versatile as I could get it. For more
details there is complete documentation (in postscript format) in the file

Dept. of Mech. Eng.                |Pete Dunster
University of Wollongong           |Tel     +61-42-213597
Northfields Ave                    |Fax     +61-42-213101
Wollongong                         |Email
N.S.W. 2522  AUSTRALIA             |

[17.3] What is the Bot Board?
	The BOTBoard is a single chip microcomputer board designed for
general use, and robotics applications.  The BOTBoard uses the popular
68HC11 microcontroller in a minimum configuration, and is easily
programmed from your PC. Engineered to be small, the BOTBoard is also
powerful and flexible.  Each BOTBoard is 2" X 3" with a 1" X 2"
prototyping area.
Special BOTBoard Features:
.    Four R/C Servo Ports.
.    Auto start jumper.                                   
.    Reset Switch and low voltage circuitry.
.    1" X 2" proto-typing area, with power bus strips.
.    Easy to use Networking Port (SPI). With Master/Slave selection.
.    Powered RS232 Port (TTL level) for serial communication.
.    Pull up resistors on IRQ and XIRQ.
.    All I/O pins on .100 grid headers.
.    Single sided circuit board design.
.    Uses either the MC68HC11 or MC68HC811 .
.    Mounting holes that can be used for stacking.
.    Power supply connector.
	The BOTBoard is a bare circuit board that was designed to give
the most amount of flexibility for the least cost.  The BOTBoard
manual contains parts list, building instructions, ordering
information, schematics, and application notes.  You can assemble the
BOTBoard in less than a half hour, with a total cost of parts being
about $20.
BOTBoard   =  $5.95  each or three for $15.
Shipping   =  $1.25 plus .25 for each board.
Marvin Green  821 SW 14th  Troutdale, OR 97060 (503) 666-5907.
[18] What is the XXX Microcontroller?

 Which microcontroller should I use and what are the differences
 between them? What about motor controllers and motor drivers?

There are a wide variety of microcontrollers that can be used in
robotics projects. Some of the most popular are 6811's (Miniboard and
many single board computers), 80186, and PIC's. This topic engenders
hot debates of the merit of one chip over the other. Therefore, the
best way for you to decide is to understand your problem requirements
and see which devices fit your needs. At that point, you can look at
issues of support platforms, cross-compilers, cost etc to make the
best decision.

Related newsgroups include:, comp.realtime,
sci.electronics, alt.comp.hardware.homebuilt

A FAQ devoted to Microcontrollers can be found at the following:
      Maintainer:  Russ Hersch <>

In this FAQ, just brief overviews and pointers are provided for these
families of microcontrollers and related devices.

	[18.1] Motorola 68XX
	[18.2] Motorola 683xx
	[18.3] Intel 80C186
	[18.4] Intel 8051
	[18.5] Intel 8096
	[18.6] Microchip PIC16/17
	[18.7] Parallax BASIC Stamp
	[18.8] National Semiconductor LM628/629
	[18.9] Hewlett-Packard HCTL 1000, 2000
	[18.10] Motor Drivers

Basically there are three kinds of "boards" out there that are of interest
to design engineers and the definitions are necessarily broad:

 1) The evaluation board. This is a board designed by the manufacturer
    of a part to demonstrate its features. Using such a board a DE can
    decide whether the part will meet their needs for the design they
    are creating. Generally somewhat expensive (because they are
    produced in relatively small numbers) except when the part is
    being 'pushed' by the manufacturer and there is some sort of
    promotional deal going on. Often the evaluation board will have
    some sort of breadboard area on the board for custom circuitry.

 2) The Single Board Computer or SBC. These are generally produced
    by a third party using some manufacturers chip. The are generally
    pretty flexible but may not 'expose' all features. SBCs come in
    all sizes and price ranges, some are availabe in kit form. Many
    have development tools available for them.

 3) The Embedded processor. These are generally boards dedicated to
    some particular function (like driving a stepper motor, running
    a modem etc) and are usually available pretty cheaply on the
    surplus market. Unlike SBCs there are rarely any design tools
    available to use with them but they can be quite inexpensive.

A FAQ devoted to Microcontrollers can be found at the following:
      Maintainer:  Russ Hersch <>

[18.1] Motorola 68XX
	 A 68HC11 is an 8-bit data, 16-bit address microcontroller from
 Motorola, with an instruction set similar to the older 68xx (6801,
 6805, 6809) parts.  It has several on-chip resources including digital
 I/O, timers, PWM, A/D RAM, various types of ROM, and synchronous and
 asynchronous communications channels (RS-232 and SPI). It can easily
 be integrated into single-chip applications. Less than 20ma current
 draw. Good freeware assembly-language tools are available, as well as
 several good commercial C compilers. It is widely used because it is
 very inexpensive and the availability of developments tools makes it
 very attractive.

	 Moto nows offers an evaluation kit that includes DOS and Mac
 compatible software, low-power design tutorial and extensive technical
 literature. M68EBLPIIKIT has batteries included and has 68HC11E9
 microcontroller, LCD display, Moto LCD driver, RS232 line
 driver/receiver chips, wire-wrap area for custom work, simple
 development platform and development code. Includes assembler, several
 examples, and extra crystals. $199.11 through 4/22/94.

 For a lot more detail see the 68HC11 FAQ at:
 The FAQ is also regularly posted to several newsgroups.

To subscribe to a listserv mailing list for 68HC11's send the following
message to
	subscribe mc68hc11 <your name here>

There is also a FAQ on news:comp.sys.m68k.  This FAQ covers the
Motorola M680x0 and the MC68300 series of microprocessors.  There are
sections on the VME bus and PowerPC parts.  Sources for software for
all Motorola products including the HC11 series is included.  This
list also points to resources provided by Motorola to its customers.
Much of this FAQ is applicable to parts other than the M68K.
This FAQ is available on the World Wide Web at

Although there are reports of shortages of the 68HC11, presumably
because of large customers, here is one vendor who is reported to have
significant stock:

Contact Beall and Glenn at 800-874-4797. 
	MC68HC11A1 - $2.50  each.
	MC68HC11E1 - $3.00  each.
	MC68HC11E1 - $3.00  each. ( This is a 12Mhz version.)
If you order over $20 the shipping is free.  They also take VISA.

[18.2] Motorola 683xx

	The 683xx family from Moto are highly integrated CPU's.
Several have onboard RAM (eg, up to 2K), none have on-board ROM, but
they do have timers, software programmable chip selects, etc, making
it possible to build very small but complete systems.

68302: Designed for communications, especially ISDN. On-board
        nice serial controller. 68000 CPU, some memory.
68330: Has CPU32, which is in between a 68000 and a 68020.  Not much else.
68331: Add standard async serial controller.
68332: Add separate Time Processing Unit and some RAM.  The TPU can do
	things like off-line PWM processing. Nice general package.
68340: Delete TPU, add DMA controller.

[18.3] Intel 80C186

	 An 80C186 is a evolution from the 8086. It is an embedded
processor sold by Intel, and has the same instruction set as the 8086,
with the additional "real-mode" instructions of the 286. It has the
same 16-bit data and 20-bit address bus structure of the 8086.  The
80C188 is an 8-bit data bus version, just like the 8088 (of PC & PC/XT
fame).  For embedded systems, it is much easier to use than the 8086.
	It has an on-chip timer system, interrupt controller, DMA
controller, and clock generator.  For DRAM operation, it also has an
integrated DRAM refresh generator.  However, it has no on-chip I/O,
nor does it have any memory on-chip.  There is, however, extra
circuitry for selecting external memory with a minimum of extra logic.
Can be programmed using most DOS compilers and assemblers, but
requires a linker that knows about locating code in absolute memory.
	The '186 is not as accessible; it is harder to set up, the
tools cost more, and robotics & control resources have to be added
externally.  The timers can be configured for PWM or pulse timing, It
does, however, run at higher speeds, have more accessible memory, and
can be hooked up to a floating-point co-processor (C187).  It looks a
lot like a DOS machine. This may be important when software is run on
multiple platforms and also helps with the learning curve.

[18.4] Intel 8051

   A typical 8051 contains:
       - CPU with boolean processor
       - 5 or 6 interrupts: 2 external, 2 priority levels
       - 2 or 3 16-bit timer/counters
       - programmable full-duplex serial port
         (baud rate provided by one of the timers)
       - 32 I/O lines (four 8-bit ports)
       - RAM and ROM/EPROM in some models

The 8051 and varients are now sourced by more than a half-dozen
companies including Intel, AMD, Dallas, Signetics, Siemans and others.
The 8051 FAQ can be found at:

It includes 8051 ftp sites, public domain langauges, commercially
available software and publications for the 8051.

[18.5] Intel 8096

It is 16 bit, many registers, internal RAM, the usual compliment of
on-board peripherals (serial, A/D, pwm, timer/counters, etc)

[18.6] Microchip PIC16/17

Microchip Technology
Corporate Office
2355 West Chandler Blvd
Chandler, AZ 85224-6199
tel: 602.786.7200
fax: 602.899.9210

UK: Arizona Microchip Technology 
tel: 44 062-885-1077
fax: 44 062-885-0178

Japan: Microchip Technology
tel: 81 45/471-6166
fax: 81 45/471-6122

CMOS field-programmable microcontrollers - PIC16/17. high performance
low cost and small package size. Large numbers are used in consumer
electronics and automotive applications, computer peripherals,
security and telecommunication applications.

A FAQ on the PIC exists and is posted regularly to the following
newsgroups: comp.realtime, comp.robotics, sci.electronics
Maintainer:  Tom Kellett <>
A PIC list address is: 
Administrative matters go to:

Internet PIC sites are at:

PIC16CXX and PIC17Cxx are 8-bit microcontrollers that use a high-speed
RISC architecture.The PIC17CXX is probably the faster 8-bit
controller.  16-bit instruction word and vectored interrupt
capabilities.You can add external program memory, up to 64K words. The
PIC17C42 has a number of counter/timer resources and I/O handling

Features include: timers, embedded A/D, extended instruction/data
memory, inter-processor communication and ROM, EPROM and EEPROM
memories.  assemblers, linkers, loaders, libraries and source-level
debuggers are available. Digi-Key carries PIC's (See Parts Suppliers)

A simulator is available from Compuserve from the MicroChip BBS.  The
simulator is and the assembler is  You do
not have to be a member of CompuServe to get to the MicroChip BBS.

 1. Set modem to 8N1
 2. Dial your local Compuserve phone number.
 3. Type <ENTER> and a garbage string will appear because compuserve is
    expecting a 7E1 setting.
 4. Type +<ENTER> and  Host Name:  will appear.
 5. Type MCHIPBBS<ENTER> and you wil be connected to the Microchip BBS.

Vendors of PIC boards:
These are from reviews by Chuck McManis <>:

Micro Engineering Labs
P.O. Box 7532,
Colorado Springs, CO 80933
tel: 719.520.5323
contact: Jeff Schmoyer
	MEL has designed a couple of PC boards for prototyping PIC
systems PICProto 18 - $9.95 US including shipping in the US.  This
board is 1.5" by 3", double sided, solder masked, and has plated
through holes. the top 7/8" x 1.5" of the board (oriented with the
narrow side "up") consists of an 18 pin socket print, holes to
conviently mount either a crystal or RC oscillator and a set of holes
to mount a 5v regulator, either the TO-220 type or the low power TO-92
type as used on the Miniboard.  All of the PIC I/O pins, RB0 - 7, RA0
- 3, RTC, Vdd and Gnd are brought out to a dual row of pads. they are
followed by 15 rows of pads, with the outer pad on one side being the
Vdd bus and the outer pad on the other side being the Vcc bus. After
this there are two rows of pads, offset, that can accomodate a DB9,
DB15, or DB25 connector. This board will accept either the 16C5x
series (in the 18 pin package) or a 16C71 PIC.

The PICProto Dual - $14.95 US
	Is similar except it has pads for 1 18 pin PIC and 1 24 pin
(or another 18 pin) PIC. It is 3" x 3" and shares all of the same
properties of the PICproto 18 with respect to setting up crystal or RC
timing for the PICs.  It has pads for 1 DB connector that is 25 pins
or less.  It adds about 50% more prototyping pads so you can put two
or three more chips on it. The nice thing about this one is that one
PIC can do asynchronous things like be a serial interface while the
other provides I/O pins and monitoring functions.

PIC Prototype-1 - $195.00 from Digikey

This gizmo is made by Depew Engineering ( and
is sold by Digikey and Parallax and possibly others. It is a
breadboarding system for testing out PIC designs. If you have a
Digikey catalog you can look at the picture there, but it is basically
a circuit board with a 28/18pin ZIF socket in the upper left corner, a
9 pin DB-9 connector that is attached to a MAX232 chip to provide
RS-232 levels and a 25 pin DB-25 connector at the top center which is
wired as a "parallel" port like you might find on a PC. Continuing
across the top, now in the right hand corner there is a coaxial power
plug and switch. Along the right side are five 7 segment displays that
are permanently wired to display the value of PORTA, PORTB, and PORTC
(when available) in hex notation, along the lower right are a set of
dip switches for setting the clock rate (500Khz - 32 Mhz in 32Khz
increments). Along the bottom edge are green LEDs showing the state of
all the PORT pins (in binary :-)) and taking up roughly 45% of the
circuit board is a solderless breadboard section. The solderless
breadboard has two primary sections, an upper bus section containing
connectors attached to all of the PIC pins and some useful pins on the
board (like inputs to the MAX chip and outputs from it), and a lower
section which is a standard breadboard with two rows of 5 pin
connectors spaced .3" apart.

Additionally, the circuit has support for Parallax's PBASIC
interpreter PICs and a serial EEPROM for storing your BASIC
program. (Sort of a giant BASIC STAMP). Note you have to buy a PBASIC
PIC ($18 from digikey or Parallax) separately. Overall my impression
is of a product, that does a lot of neat stuff but fails to be the
killer product it could have been. Consequently I'll first discuss the
weaknesses of the board before going on to the stronger aspects.

The board claims to be a 16c5x prototyper, but the manual suggests it
supports 16C71, and 16C84 parts as well. What it didn't do was add the
parts to make it an optional 16C84 programmer. Given how easy this is
I'm guessing that they just didn't think of it or had the design
"done" before they had access to 16C84 parts.

The next weakness is that while they have the EEPROM socket for BASIC
users, they don't bring the pins out the protoboard so it is not
possible to take advantage of the EEPROM in your prototype designs.

On the prototype board, +5/Gnd are available in the bus section on two
connectors but there aren't two strip connectors that you find on all
other breadboards for carrying Vcc and ground. This means that you end
up either daisy chaining your power and ground connections, or
dedicating some of the connectors on the main bread board for Vcc and

Another area that could, in my opinion, be improved is the
availability of non-dedicated I/O devices, at the least it would be
nice to have a 4 position dip switch and 4 available LEDs that could
be used in the circuit as needed. A neat feature that would be by no
means required would be using two color LEDs to display the state of
the output as true (green), false (red), or floating (yellow).

Finally there is the issue of cost, at $195.00 this is a fairly pricey
system for what it does. Now I realize that similar systems for other
microcontrollers are similarly priced although the nearest direct
equivalent would be the Heathkit ET trainer series that were much more
oriented to learning about microcontrollers. IF I could program and
emulate PICs with it (like the Parallax tools do) in addition to using
it as a breadboard that would be wayyy cool, but I don't know how much
that would effect the price. I'd probably pay another $50 for that

Ok, so all that grousing aside what did I like about it? I liked the
fact that I can now prototype PIC designs (hardware wise) in minutes
as opposed to hours. Prior to this device I would get a
MicroEngineering Labs PicProto board, wire up the PIC section,
wirewrap my I/O hardware or a connector that connected to my hardware,
and then start programming. If I had to redo the hardware that would
be fairly long delay. With this thing I can put the hardware on the
prototype strip or, using the 26 pin IDC connector, connect it over to
my "big" breadboard. I don't have to worry whether or not the PIC is
working and I can do a 10mhz design on a breadboard.

In terms of value for the money my guess is that I'll need to do at
least four and possibly six different designs on it before I've made
back my investment.

If it were part of a PIC seminar, it would be a wonderful teaching tool.
-Chuck McManis

[18.7] Parallax BASIC Stamp

	The Stamp is a 1x2" (2.5x5cm) computer that runs BASIC
programs written on a PC. 8 I/O lines which can be used for serial
communications, potentiometer inputs, pulse measurement, switches,
speaker drivers etc. Usually you'll have to add no more than a
resistor or capacitor at most. A BASIC editor on the PC converts
instructions into token that are downloaded to the Stamp via a
3-conductor cable and stored in EEPROM. Whenever the Stamp is powered
up, the on-board interpreter runs the program. Battery clips are built
in for a 9V battery (Stamp has 5V supply built in.) and the Stamp has
a small prototyping area as well. From Digikey the Development Kit
(including a Stamp) is $139, and a Stamp is $39.

There is a BASIC STAMP Mailing List (NOT a newsgroup)
Subscribe to it by sending mail to
 with a line of text saying
	subscribe stamp-list <your-real-name>

There is also an FTP site at "" that has a STAMP
directory structure. It contains (so far) all the stuff from the
Parallax BBS, plus a few other goodies.

[18.8] National Semiconductor LM628/629

Small motor control chip. Does PWM for motion control at a very low
cost. A couple of H-bridges on the outputs. Good reference for using
the 628/9 for motion control is in: Closing the Loop on DC Motor
Control by Tom Dahlin and Don Krantz The Computer Applications
Journal, Issue #28 Aug/Sept, 1992

[18.9] Hewlett-Packard HCTL 1000, 2000

HP's motor and encoder interface chips. Widely used and widely available.

[18.10] Motor Drivers

The L293D, motor driver on a chip, is an SGS-Thomson part and is
second sourced by Unitrode. In spite of its utility it is not readily
available in small quantities. This part is a dual full H-bridge that
can drive motors up to 0.6A.

The significance of the 'D' in L293D is that it is diode protected.
There is a reverse biased diode that shunts the reverse EMF from a
motor to the V+ supply. The L293B doesn't have this diode so it must
be provided externally.

National has an LM18293 which they say is a cross for an L293B. The
price should $4.00 or less and they need the external diodes. A
replacement for the D part is the Texas Instruments 754410 which
actually has a bit better current capacity (1A vs .6A) this latter
part is available from Arrow electronics in the US.

An alternative part is the UDN2998. This is a 3A bridge in an inline
package, it is limited to motor supplies greater than 10V. You can
also build your own H-bridge out of either bipolar chips or MOSFETs.

[19] Acknowledgements
	Thanks to those who responded with updates, new material,
corrections, suggestions etc. Some of the names are indirect; that is,
they replied to queries on the newsgroup:

Hans Moravec, Maki Habib, Ken Goldberg, David Stanton, John Nagle,
Sean Graves, Sjur Vestli, Mark Yim, Rich Wallace, Dan Hudson, Sanjiv
Singh, Matt Stein, Dave Stewart, Ed Cheung, Ron Fearing, Klaus
Biggers, Lisa Rendleman, Nobuhiko Mukai, Paul Sharkey, Fred Martin,
Willie Lim, Allen Brown, Erann Gat, Judd Jones, Tony Sprent, Richard
Seldon, Brian Richardson, Ross McAree, Nathan Stratten, Chuck McManis,
Ben Brown, Terry Fong, Jeff Fox, Bill Lye Patrick Arnold, David
Novick, Stephen Klueter Chris Malcolm, Frank Hausman, Sam Miller, Rich
Voyles, Jean-Pierre Merlet, Karl Altenburg, Dave Hrynkiw, Ken Baker,
Vic Callaghan, Gerhard Weiss, Ambarish Goswami, Peter Turner, Peter
Corke, Michael Bakula, Andrew Whitwell, Brian Richardson, Mark Copley,
Bob Bonitz, Karl Altenburg, Mike Cleary, Martin Boyer, Prabal Dutta,
Shane Bouslough, Chris Peters, Carl Wall, John Strohm, Jerry Ethridge,
Gary R. Porter, Mark Kantrowitz, Larry Bradley, Richard LeGrand, Jeff
Collins, Vic Callaghan, Scott Anderson, drsharp, Warrick Wilson, Jan

...and many others who dropped off suggestions, comments and
changes. Thank you!


aka:    Kevin Dowling         Carnegie Mellon University
tel:    412.268.8830          The Robotics Institute
fax:    412.682.1793          5000 Forbes Avenue
net:    <>       Pittsburgh, PA 15213
End of part5


aka: Kevin Dowling			Carnegie Mellon University
tel: (412) 268-8830			The Robotics Institute
adr:			Pittsburgh, PA 15213

aka: Kevin Dowling			Carnegie Mellon University
tel: (412) 268-8830			The Robotics Institute
adr:			Pittsburgh, PA 15213