This file describes the setup of the planner files. Last updated by Robert Kindel 3-21-98 The source code is divided up into a number of different files to allow easier modularity. Each of these is described below. collision.c collision.h These implement the low level collision detection routines. densarray.c densarray.h These implement the array for binning the workspace and provides a number of commands for interacting with the density array (which it provides as an abstract data type) mytrig.c mytrig.h These implement a cached sin and cos functionality to speed up computation of the acceleration vectors when an integer number of directions is all that is desired. spline.c spline.h These implement the splining functions and provide a spline abstract data type for the planner to use. structs.c structs.h These provide a number of different structures that are used by the other files. It also provides a large number of routines for accessing and manipulating these structures. At this point it might want to be broken up into two files. planner.c This is the main planner and contains all the logical planning routines as well as a number of routines for manipulating pathlists. It has grown somewhat out of control (and out of its original well defined scope) and should probably have some of its functionality moved to other (or a new) file. The makefile is set up for our system in the ARL and may not work elsewhere. The planner is compiled for solaris using 'gmake' There is a linux makefile in the directory as well 'makefile.linux' The compiled planner can be executed by typing 'planner' or $target/planner (if the symbolic link is not intact). It takes an input file called world.txt (see format in planner.c) and can output the trajectory as spline segments or as t,x,y. Most of the time this is all invisible, as the gui is used. *.tcl These files are all part of the gui, and by rights should be in their own directory. The first line of gui must point to your local version of wish (or wishx) in order to run. Other than that it should be highly system independent.