Changed the robot dir to drive and added a dir to work on autonomous mapping
Small modifications to receive.c, corrected an errorin the ring buffer. Some commenting and cleaning.
Succesfully tested BOM LED current.
Corrected Makefiles to work inside the trunk.
Moved diagnostic station workspace to trunk.
Moving Diagnostic Station Workspace from branches to trunk.
include path was fixed. AVRDUDEPORT was changed to com4 instead of the usb/tty thingy
Fixed some errors due to BOM being used instead of BOM10
Having trouble with wireless (I think) hopefully this will work by friday.
tested a bunch of different environments for mapping
Switched wl_init and wl_set_com_port in test.c (again?)
Changes all around. Matlab server is now passive, might work soon.
Added the data files for real this time
Ran some tests in different environments. Data is in 1, 2, 3.txt
calls to wl_init() and wl_set_com_port() were inverted
test takes an argument for the USB port #, but it doesn't commit a memory error like it did last time I committed
test now takes a second argument for the USB port number
sorry...didn't mean to commit odometry.c
minor changes to remote control / mapping code...wireless control works with libwireless reverted to rev. 887. code in odometry interrupt conflicts with motors, not allowing the robot to move motors in response to commands.
Wrote some code to test wireless communication between the computer andthe robot. Right now, it doesn't work.
now it will work
Small changes - new file just waits for packets to bufferfor matlab, so the robots will decide when to send theirdata in this version.
Cleaned up test.c and robot_main.c in mapping.
Minor modifications and fixes. Haven't gotten it to work yet.
Small changes and comments.
Changed receive to work when there's no data,haven't tested for when there is,test.c works as expected,Makefile modified to work on receive.c on a linux machine with matlab.testing robots pending - not hopeful - see code.
added test for motors. it just runs the left and right. this can be improved.
Slight corrections to this file. I have no wayof testing without a computer with matlab/linux.
If anyone knows windows threading I'd be much obliged. Alternatively, if anyone knows if thereis an accessible build of gcc higher then version 4 on andrew unix let me know.
Just some test code to see how concurrency works in matlab functions.
Added some test code for the receive function - does not work asI can't get the token ring to start up. receive.c needs to be ona matlab computer to be compiled and run correctly (mex receive.c -lpthread)
Wrote mex file code to interface between matlab and the wireless library.
testing commit on new svn (just template directory)
Added a odometry_velocity function that gives approximate speed of the robot in mm/s.
Added symbolic links to the odometry in mapping to the library, and provided documentation.
Integrated new BOM1.5 compatible code. Also put eeprom code for reading ID and BOM type from EEPROM. will need to program each robot's eeprom separately later. This has been tested and verified to work on robots with different BOM types.
added a test for lights/orbs.
Prototype JNI (Java Native Interface) for libwireless. Compiles, and java loads the library, but untested with a real scenario or hardware.
added passing of overhead camera image to client through PHPfixed unfreed memory in server/vision/savetonetwork.c
OpenCV now works directly with firewire, coriander is not neededNew vision algorithm integrated, a few issues left with algorithm that tracks the movement of a specific robotRemoved experimental interface to send images over commands socket --plan to use php in webserver instead...
New vision algorithm utilitizing Hough Transform and edge detection instead of the older one using ellipse fitting and thresholding
Incremental update; working on: - new vision algorithm utilizing edge detection instead of thresholding - sending camera images over sockets instead of using the webserver
untested realtime ir plotting
Realtime position plotting
A working server, with debug printing, some mapping capabilitiesPartly for testing
changed xbee packet handling, added more info for unexpected packets
sample maps created by pushing the robot around a table (3 or 4 walls)
Nothing was fixed nothing changed.
updated server-side mapping code (remote control, etc)
added odometry to robot mapping code via symlinks to justin's odometry code
Odometry committed. New version is more general, but still drifts to zero.
cleaning up robot code for mapping
Odometry will temporarily not work. Working code commented out. This commit is so the blight on the world that is colony math.h will be eradicated for all time.
Fixed error when getting xbee address during init on computer
added model, whoops
driving code interprets odometry data correctly, uses non-blocking key listener and can receive packets continually
added ideas on multi-robot behaviorwill turn into actual code eventually
updated robot and server code to use odometry. having problems with theta because it is a double (4 bytes on robot, 8 bytes on server)
Odometry works but the precision is awful. Angles are measured fairly accurately, but distance readings are consistently lower then expected.
Robot sends updates 50 times per second. Robot remote control program doesn't mess up terminal upon exit.
fixed output filename and unsigned data
Realized local encoders file was still in the repository.
Quick update before I do something stupid.
remote control of robot and data output for matlab
Code that converts data from the robot into a plot
Compiles now. This code worked a while ago but I haven't touched it since early last semester.The idea was to do exactly what Abe is doing now... so it might be useful.
added range_init() call to dragonfly_init(). you will no longer have to call range_init() separately in your programs
added packet receive functionality to remote control server code
added remote control to robot code that sends mapping data
Wireless output works.
robot_main.c sends the raw sensor data for mapping points to USB. Commented out is untested code to send it over wireless and utilize the (deprecated?) odometry functions.
code for server with xbee dongle to control robot running slave code
keyboard remote control code
girl scouts!! yay!!!!
Changed some odometry stuff. Interrupt is called now.Still some problem that is not updating x and y data.
Forgot to add these files to the repository.
Updated trunk branch of wireless... Still won't work though because of Makefile.
odometry compiles - timer issues, interrupt never called.
Updated libdragonfly makefile.
Updated wireless makefile.
Added comment in discrete controller
Small modifications to odometry. I'm all but committed to using floating point.
Reversed the left wheel. Encoders increment when the robot is moved forward.
Added spi and encoders to the trunk. Tested and worked. Encoders still read out directions backwards - i.e. there isn't a defined 'direction' forthe encoders to go with the wheels yet. I'll fix this about now.
Added encoder test code to trunk. Addition of encoder code pending testing.
Fixed file paths in last commit
Updates to joystick control/slave - attempt 2
Updated analog.c and analog.h documentation and regenerated the docs. No need to remake the library as its just comments.
bom/token ring test completeupdated testeeprom #include to make it compile
Removed KWoo's crap from template.
added eeprom driver and a test for it
Made token ring/BOM test. Currently does not work correctly. Either reports no robots in token ring, or MAXIMUM_XBEE_ID (15) robots in token ring. More testing needed.
Brad your fix fails. Reverting. Setting doxygen to output to an absolute path makes it so it will only work on the trac computer. This also breaks the make docs target.
Now have working version of testanalog which prints the table of analog values stored on the robot. Allows us to do analog tests manually and watch the values the robot is reading.
Prints table of the analog values by cycling through all the analog ports and outputting an integer value corresponding to the ADC conversion of that port. Table format needs work.
testrangefinders works.testanalog gives values, which might mean it works.