Adding specs
Vinay added data for the intersection and roads for the barcode table. Compiles.
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
Added main-intersectionTest.c for testing intersection code without messing with main.c.
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.
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.
Added a "feature id" field in bits 13,14,15,16 of the database ints, documented accordingly
Edited the .h and .c file so that global variables can be seen by other files with the .h file is included.
Updated main to work for the demo. It now switches states properly, but button1 seems to trigger accidentally sometimes (but strangely consistently at the same point in the program). Also edited the random turn generator to use the rtc instead of a rangefinder for the seed.
now it really works, for real this time!
Merging works
More bugfixes (holy crap I'm bad at this)
More bug fixes, and most importantly,Documentation about how to call the functions.
Changed main and validTurns to get the test going. Should theoretically drive through the cloverleaf, switching between road and intersection mode, but has trouble following the line and keeps reading phantom barcodes.
More bug fixes for collision_avoid
Fixed directions and array indexes to match.
Added todo list to collision_avoid.c (i forgot to do this, sorry for the extra message!)(HAI!)
First commit of the Collision Avoid Code. It probably doesn't work as-is.This code is supposed to detect when multiple robots can cross an intersection at the same time.
Authors:-Alexander Lam-Willis Chang
Merged highway code into main to test switching states between intersection and highway. Highway code doesn't behave as it should, but I may be calling it wrong. Switching states is currently based on button1, until bar codes get integrated. State switches are weird, and don't aways go into the correct state or wait for the button.
Did stuff, but its not complete yet
Updated main to include a break and highways.h to prototype files
Edited intersection behavior to break it into separate functions, and moved the #defines around.
forgot to add intersectData.c and .h
Tested and finished the database and the valid turns and everything!
database: files: intersectData.c and intersectData.h database is an array defined in .h that stores all intersections right now it is defined for our demo map. it has an intialize function that is unique for each map and all...
Changed index of INTERSECTION variables and got rid of getCrossPos andgetCrossType that are being implemented in the database.
Separated the intersection constants from the turning constants, updated fuctions accordingly.
added code that makes the makefile work again
random character in one of those files...and the other needed a 7 instead of a 3...=D
Merged the types of doubles into the crossing type. Also fixed commentsthat were never updated and implements things of type DOUBLE as DOUBLE_T'sif you dont specify because DOUBLE_T is more safe.
testing file for validTurns.c. Also documents how "barcode" (eventuallywill be the value from the table look up) is implemented/used.
tested validTurns.c and made it more compatible with the upcoming database.
added highways.h to the traffic_navigation.h file, made highways.c/h actually work for merging left. changed main.c to run the new highways.c code.
Worked on highways and object avoidance and now uses doDrive and not lineFollow
adding traffic_navigation.h
Uploaded traffic_navigation.h
Added code for pinging in intersections, but it currently doesn't work so its commented out. Intersections should work. Unfortunately some of Alex's doxygen code might be gone. Sorry.
GARS, source files aren't supposed to be executable. (now my ls output has the right colors!)
fixed priya's bugs, left her questionable sytlistic choices
see comments for validTurns.h
this is the actual code for the function validateTurn that takes a barcodeand returns an integer that corresponds to a valid turn.
header file for the function called when entering an intersection thatdetermines whether or not a turn is valid based on the intersection typeand position of the robot. Currently uses random number generators (i.e. rangefinders) to determine intersection type, position, and turn type.
Added comments (doxygen style) to linefollow and linedrive.
Completed adding ping capabilities for intersections. Code compiles, but untested on robots. Bots will ping each other in an intersection, and adapt if a bot disappears from the queue. Can only accept 1 robot disappearing at a time, unless vanishing robots aren't adjacent in the queue.
Added function to reply to pings, and come calls to ping robots in the queue. Won't yet do anything to check if a bot disappeared, but it will compile.
removed old code
Added code to make it demo that the queue works. Mostly orbs and buttons, but some variables changed. Also started work on wireless reliability.
Updated line following code from line following project
Fixed the #include so it can find the linefollow header. This should be fixed so it can find the .h file in the proper directory. Also added lineFollow.c and lineFollow.h to this directory so main can find them. They will not be updated when the real copies update.
Added beginning of wireless protocol for traffic navigation, and added code for handling intersections, with the exception of that code that involves navigating the intersection (so just the code that deals with wireless, the intersection queue (as I see it), and deciding when to go).
Added the traffic_navigation directory to projects in trunk, and inserted my preliminary main function. As of now, it relies on the linefollowing code in the other project directory.
Updated all makefiles. You may need to update the port settings to get your project to program the robots again.
Updated IR rangefinder lookup table. Now reports in millimeters with an accuracy of +-10mm.
Added a folder for developing Target Practice Demo.
changed template main to use new basic wireless
fixed doxygen problems in wireless library, added new docs
Makefile OS autodetection
include path was fixed. AVRDUDEPORT was changed to com4 instead of the usb/tty thingy
now it will work
testing commit on new svn (just template directory)
Removed KWoo's crap from template.
Commented some of the encoder functions.
reverted projects/template/ directory to pre-demo state. moved run_around demo code into behaviors/smart_run_around_fsm/ directory.
recompiled library - orb_init was called twice by dragonfly init. template folder contains run around demo code (to be restored post-demo). the ords appear to work (at least for demo).
Updated robot_slave code; reformatted a lot of stuff
dos2unix on Makefile.
Moved port to front in template makefile.
Added two lines to the default Makefile that checks for a predefined COLONYROOT variable.I suggest everyone defines a global as the ../../.. is undependable.
Added template file.