New 3.6.0 is now relased. As usual, I probably changed too much
without thorough testing, but M3 (my robot) was able to sucessfully
run the A* course, so much seems to be still working. The
dynamic mapping is still very BETA until I can get some localization
added. See the draft OOMRM Library Users's Guide (OOMRM_UG.doc) in
the doc directory for more details.
Biggest changes include:
* Added new OOMRM library User's guide.
* Added mission_profile class : purpose is to contain information
on a particular mission (speed, waypoints, etc.)
* WARNING: occupancy_grid.h size (GRIDX/GRIDY) is 35x440.
This is for the RSSC contest which will run through a
7'x110' hall.
change to whatever you wish, but just don't send the
robot off the world if doing A* navigation!
* simulator refresh now automatic. Seems to solve some problems
and creates other features. Also
Changed "speed" to "MS" on simulator and added "INC" combination
of milliseconds each callback and number of iterations
done per callback allows a little more fine control of speed.
* fixed vertical scrollbar bug in simulator. (4/15/04)
* switched around some fixed/floats testing invariant accuracy.
interrupts back up to 25 ms. (need more optimization).
* Added color to simulator to display invariant (real) position of
robot in black;
internal (normal) robot in red. (4/15/04)
* Added another top layer (world) for doing error modeling--
invariant layer (See user guide).
* added Windows Makefile part of portaudio to drive speaker. Will
need to incorporate to Linux when I get there again.
For simplicity all needed code is included in this library. I
hate having to download a bunch of libraries! (4/8/04)
* changed atomic_rotation to DEGREE (pose.h) and DEGREE to short
(was int).
* made Geometry_Driver subclass Primitive_Driver; I did not add
all the constructors for all
motor configurations. You will have to copy constructors from
Primitive_Driver if you use other motor configurations!
I'm not sure if this is the best way, but the hiearchy chart
sure looks prettier ;)
* removed speed() methods from vector_driver and created set_speed
() method to set speed.
This will probably be reworked in the future with some sort
of "mission_spec" class, but
for now I only wanted one place where you set the speed (at
lowest level).
* Somehow the symbolic links are no longer needed with all the
reorganization (finally).
* changed Primitive_Driver to Geometry_Driver (Vector_Driver) as
this is more of the JAUS equivalent.
* changed oMobileRobot to Primitive_Driver as this is more of the
JAUS equivalent.
* major rewrite of oStatus: eliminated and replaced with "C"
functions--this allows use by interrupt handlers.
* emulation oSCI and scihandler: above status+ this helped debug a
nasty trasmission problem.
* sensor_base/IR_base: addition of a servo creates a scanner type
sensor mount.
Enjoy,
Derek