Rewrote some of the WH_Robot.h code to make it c-compatible. Most of the c++ was commented out instead of deleted.
More forklift demo fixes.
Demo Code for forklift on colony 3.
Fixed forklift_demo to compile and download
Added forklift_demo for carnival
Added api for communicating with the forklift over i2c, minus line following,which is handled elsewhere.
Added the helper classes for the warehouse code that we are also going to have to port over. Things are looking grim boys
added the warehouse behavior section that will be used on the colony 3's. Currently only contains the c++ files that we are going to port over
Commited activities_fair_demo for activites fair Fall 2011
Refactored main_new timings so that bots travel through intersections morefluidly
Fixed issue where if bot had no other bot in front it would still wait the timefor the imaginary bot in front to drive out of intersection.
Added auto-calibration for barcode reading.
I screwed the last commit, fixed it
Temporary hack to make sure bot that announces it has exited is really clear ofintersection.
Updated some random number generators to have more entropy.
adding tests for graph script
changed map_gen.py to account for new spec
This is a working version of the code for the demo. It works on Bot 7, and partially on Bot 14. Due to the number of changes here, I'll list them by file:
traffic_navigation.hI added a #define for sendGraph, so its main won't be compiled unless defined. Uncomment the #define line at the top of this file to turn its main on. Make sure you also comment out the #define for main-new. Also, has the new #define for the node wireless packet type....
Updated mapping code. Fixed some bugs.Usure about something - see the TODO. Will fix soon.
Fixed barcodes first read problem.
Barcodes used to always read gray for the first bit, but this problem is now fixed by better initializiation in lineFollow init.
Created some mapping code that compiles!Lower level mapping functions finalized!
Higher level random mapping still needs some work.It is probably buggy.
Modified barcodes again - after reading the first barcode, should work like normal.
Update intersectData.{c,h} to reflect new demo map. Renumbered intersections.Created macro UNUSED_INTER, an intersection number that signifies that a node isnot in use. Use it to initialize the arrray for indices that do not correspondto meaningful barcodes.
Added new barcode reading to linefollowing project - first barcode is still wrong, however.
Fixed all compilation errors and warnings in traffic_navigation. If you committed theseabominations, I hope you're sorry. I only made things compile. If I fixed your code, itmight no longer do what you intended, but I can pretty much guarantee that it didn't do...
Added old files that used to compile, new main in sendGraph that sends a graph packet - temporary
Added the map generation script
Fixed small bug in new main where if barcode was invalid, forgot to restartmotors for line following.
Added function that creates the edges used for mapping in mapping.c. Note: code does not yet compile.
Fixed location of pound define to enable wireless watcher
Back to most recent version of barcode reading.
Traffic Navigation:Fixed some various issues with the new main (bad calls & added barcode errorhandling)It compiles by default now.
Turned on orbs for linefollowing
Linefollowing:
added #defines around orb statements to keep them from interfering with otherorb control statements.
Traffic Navigation:Started integration of the new intersection queue code.(main-intersectionDebug.c, main-new.c, & traffic_navigation.h).The new code will not be compiled by default.Additionally, I added #defines to all orb control statements becausethey were interfering with each other. To turn some orb control statements on,...
Added an alternate main that merely outputs the wirelesspackets that are being thrown across the air to usb.
It translates Traffic Navigation packet id's into names.
adding parser test script
Added test map data encoding to intersectData.c. Fixe a whole bunch of stuff sothat at least this traffic_navigation compiles without warnings. Symlinked toneeded files in linefollow. Changed function declaration style. Addeddelclaration of read_line to analog.h. You're welcome. Fixed several #includes....
Added readSerail.sh which reads from a robot on USB and prints to a file named graphData. I'll modify it soon to print to stdout instead, but for now this works.
Removed the 'x bytes:' from each line for easier parsing by the mapping programs.
Redoing grapher script...
added grapher script
Added new linefollowing code for barcodes.
Debug statements are still included, but this is the latest version of the code.
Bot14 at least reads all barcodes consistently. Thresholds may have to be adjusted for other robots.
Fixed lineFollow.h compile issues.
Added new linefollow function with bucketing.
Added more functionality to database for mapping things.
Reverted revisions 1949 and 1950 due to broken code (main.c contained some sortof wierd unresolved merge?)
Added a unit test for the new (mux-ed) line following sensors(test_linefollow.c)
Deprecated the old line following test (test_ir.t)
Status bot works!! The main function will listen and print to USB all wireless packets on whatever channel it is set to. The second function is still untested.
changed black_value
Small edits to the barcode reader
With proper setup of the barcodes (printed on rather than taped), this barcode reader is working.
changed constant in linefollowing
Added mapping capabilites
Fixed tiny bug
Added the logic tester. It still needs development, and won't compile with most library functions. Don't use yet.
Added Java code to listen to serial port. Also included development notes (DEV-NOTES.txt) which describe the process I had to go through to get serial ports to work in Java.
Changed to use Alex's barcode code.
Added objects and some object functions to server Python script.
Updated calibration station robot code to print values for more sensors.
Updated barcode code to use the new line sensor, and to work better.
Modified python script to read from Arduino over serial and write values into a SQLite3 database. Also adjusted the Arduino station code to read from two sensors every five seconds and send the information over serial to the server.
updated linefollowing for new line sensors
ifdef'ed main-intersectionTest.c so it won't be found by gcc when compiling. Hopefully this won't break anything.
Some bugfixes for collision avoidance.
removed shell script
added spec for proposed robustness improvement of intersection handling
Adding specs
Vinay added data for the intersection and roads for the barcode table. Compiles.
Renamed arduino file name. Python script can read from both robot and arduino at the same time.
fixed ??? trunk
Used template file instead of cicles file to start cal_sta_robot.c. Removed .h file. Figured out baud rates for arduino and robot. Python script can read from both sources.
forgot to uncomment some things in update_linefollow.pl
more general script for updating linefollowing code into traffic_navigation
added a init script in traffic_navigation
Copied over files for robot code to Calibration Station folder. Renamed files to more appropriately describe what the files should do.
improved read_line to reduce delay
Fixed line following readings, addded 1ms delay to fix the mux.
Made the serial output of line sensor values print in order and documented it on the top of main.
Added Dan's line following code
Added whitespace for clarity
Changed Makefile to automatically pick AVRDUDE_PORT for all 3 major platforms.
Added a statusbot project to help me debug the demo by seeing what the bots are thinking.
Added main-intersectionTest.c for testing intersection code without messing with main.c.
Added server-side python script and started to develop serial communication with Arduino. Changed Arduino code a little to facilitate development of server-side python code.
Created folders for station code and for server code. Moved arduino code into station folder.
Added folder for Calibration Platform.
Attempting to use rtc to do full left turns - not working at the moment, but does something.
Demo now MOSTLY WORKS. Yay. It just has trouble making turns and for some reason (which may be hardware caused) switches into intersection mode without a button press. It also needs barcodes. In order to run the demo, turn it on, press button 1 to make it stop at an intersection, and when it exits an intersection, press button 1 to make it go into highway mode, or button 2 to make it go into road mode. Highway mode only sometimes works, but not often.
Made compatibility of lineDrive.h and validTurns.h.
Redefinitions.
Updating some documentation for lineFollow
Included barcode reader value means, standard deviations, histograms for various materials including printer paper, lined white paper, poster paper (non gloss), duct tape, black electric tape, and black masking tape. Have yet to include glossy poster paper.
reorganized stuff in intersectData. made new function getTurningIntersectthat can be used to input directly into dan's code. made new functions to getinformation about road nodes stored int he intersection database. eventually should convert it to the node database.
Bickles stopped working after revision 1906, so I tested it and changedstuff in main so that it works.
Added a function getTurnIntType(), which converts the intersection types into something usable by the turning code. Updated main to use it
Changed the randomNumGen so that it stopps reading IR and does stuff with a seed. More random? Maybe.
populated the database for the demo.