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.
Fixed some comments in linefollowing.c
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
Cleaned up analog.c file. Removed the interrupt handler code and removed the "start analog loop" code from init function.
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.
killed analog loop
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
minor bug fix, 2nd attempt
minor bug fix
lineFollow now supports merge. line drive is UNTESTED and has NO COMMENTS, but will provide higher level driving control
improved turning
Moved the old ref code to oldRef, and deleted the files from ref (the .old files).
Added turning
Added my RefBot code, and the hunter_prey.* files that it needs. Brad's old code is still existing in main.c.old, and the Makefile for it is in Makefile.old. The new RefBot runs on a robot, not a USB XBee.
Removed all the unnecessary files that get added when compiling in James' hunter prey directory.
added Carroll James' hunter prey corrected to bosserman's wireless specifications
Added james' hunter-prey folder.
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.
Updated linefollowing/barcode code.Makefile is configured to OSX to annoy Dan.
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.
Some barcode code
Added line following
Added james and ben's hunter prey code.
implemented bad line following, which dan will make magical.
Working code that outputs orbs for the darker side
Updated unit tests (correctly this time)
update the ir unit test
Inserted linefollowing code into main.cUpdated test_ir unit test
Copied template to linefollowing directory
Removed the linefollowing folder
Accidently added linefollowing folder in /projects
Removed the _ from the function head in test_lights.c so all unit tests compile.
Unittests: Added test_ir.c to test new IR receivers for line following, and modified main.c to only use testir.
Added Butterworth filtering code.
Woking version
Circle.c in formation control works, but shakily. Some of the best robots can execute the code, but sloppily. More recovery code and error checking code needs to be integrated. Higher level code works. Turning as a group was implemented. This is a relatively stable version of circle.
Added a turn method to the code, which theoretically works now. Circle.c.
Made some slight upgrades to cicle.c, cincluding formatting.
Changed the turning methods to simpler versions which should work more consistently -circle.c
Robots still oscillate while facing in wrong direction
This is broken
Trying to refresh circle aboutFace()
Cleaned up joystickPlayer folder.
Rearranged hunter_prey joystickPlayer file structure.
changed joystick player robot to have dleays between motion states. It's now less responsive but also resets much less
made human tagging easier and added joystick control code from colonet in a subdir of joystickPlayer
Updated the correctTurn method to the more general aboutFace code
Fixed the code so it works again with the restructuring; working on a better turning algorithm.
Restructured the code to include higher-level programming and states devoted to certain actions.
noob mistake: forgot to add files before checking in joystick stuff
update to makefile for Brad
1. added a folder: encoder_censored_forward, which contains a c file that has this function. Still under testing. And cannot control speed well.2. test result files for encoder_get_x() for robots 3,4,5,6.
Documented the circle code extensively. Starting reorganization from procedural to funtion-calling code.
update to makefile for make demo option. now works under linux
updated makefile to new make demo code
Updated circle, trying to fix 3-character packet sending.
Starting to make the circle move as a group.
Still editing counting code in circle.c
Fixed the updated circle code.
Updated circle so the robot counting should be less buggy.
Cut out unused parts of circle.c, organized program, fixed a couple bugs
Fixed circle.c, added comments, tested the program. Added terminal states.