
This program 'robotsim' simulates PUMA robots connected to a standard Unimation
controller running the interface software called ``moper''. The real version
of moper, which is downloaded into the controller through a serial line, lives
in the directory ../lsi11/.

Much of the code in this simulator program was taken from ``moper'' directly
(so this simulator code conceivably find bugs in moper as well).

RCISimMuxd.c
RCISimMuxd.h
	This is the robot service daemon, which is started on every machine
	where a simulator program is being run. When a simulator starts up, it
	registers the robots it is simulating with the daemon, which then gives
	the appropriate port numbers to clients requesting simulator
	services.

chull.h
chull.c
	Routine for computing the convex hull of a set of points. Used in the
	program 'polytest' which tests the routines for intersecting convex
	polygons. 

configFile.c
	Routines for readings the robot simulator configuration file.

display.c
display.h
	Routines for printing out state information about a robot which is
	being simulated.

genericIO.c
	Routines for simulating generic I/O devices (such as serial line units
	and parallel ports) which are attached to a robot controller.

grf4.c
grf4.h
	GRF4 stands for 'graphics 4'; it is a generic 3-D graphics package
	capable of producing wireframe displays on SunView and X11 systems,
	and solid shaded displays on the Silicon Graphics GL library.

	The user interface routines for grf4 are defined in grf4.c.

grf4GenDraw.c
	GRF4 support routines for drawing wireframe displays.

grf4GenObject.c
grf4GenObject.h
	GRF4 support routines for drawing wireframe representations of certain
	types of convex objects.

grf4Gl.c
	GRF4 driver routines for interfacing to the GL library.

grf4GlObject.c
grf4GlObject.h
	GRF4 support routines for drawing certain types of convex objects
	using the GL library.

grf4Glwf.c
	GRF4 driver routines for creating wireframe displays under GL.

grf4Internal.h
	GRF4 internal data structure definitions.

grf4Sunview.c
	GRF4 driver routines for interfacing to SunView.

grf4Support.c
	Robot geometry routines used by GRF4 if the RCCL geometry library is
	not available.

grf4Test
grf4Test.c
	A simple testbed program for GRF4.

grf4X11.c
	GRF4 driver routines for interfacing to X11.

hidden.c
	GRF4 support routines for doing full hidden line removal on wireframe
	images.

hostIO.c
	The interface driver that communicates with RCI. This driver is the
	counterpart of the driver "sim" that RCI uses to talk to robotsim.
	Communication is done over a UNIX domain socket.

linkedList.c
linkedList.h
	A package of generic linked list routines.

manipIO.c
manipIO.h
	Routines for simulating the low level communication with the joint
	servo controllers.

manipSim.c
	Routines that do the actual simulation of the PUMA robot.

polytest.c
	Test program to check the convex polygon intersection routines.

rbtControl.c
	The part of the simulator program that communicates with RCI. Feedback
	data from the robot is assembled here into a packet to be sent back to
	RCI, and command packets from RCI are interpreted.

rbtGraphics.c
	Support routines for drawing graphic images of robots.

rbtPuma.c
	Specific routines for drawing graphic images of PUMA robots.

robotsim.c
robotism.h
	The "main" file for the robotsim program. This contains the
	intialization code, the main dispatch loop for events, and the
	interactive "C-tree matcher" code.

serialDev.h
	An include file defining the serial line interface block used by the
	microkernel in the ../lsi11/ directory. This is here simply so some of
	the ``moper'' code cn be compiled unchanged.

simFxns.c
	Tables for referencing user defined functions in the simulator.

specialIO.c
	Routines for simulating special I/O devices, such as force sensors,
	joysticks, etc.

testhostIO*
testhostIO.c
	An interactive program for testing the routines associated with
	hostIO.c.

vclip.c
	Test program for checking the code that intersects convex polygons
	with vectors.

