I hope this works
library motor code
when Andrew's memory code is uncommented, uncomment the code in this file
Renamed second core directory to test, slated for deletion.
Refactored simulator, set some stuff up to work with multiple robots.
Including common directory in commit
moved stuff from robot_test into libsim.clibsim now contains the timer (pause/resume) stuff
Also commented andrew's code because it broke the build
ticket #159:main() is just for testingno working code yet just comments, still need to figure out the math
Function to free memory added, not sure how to test if its working.
Fixed initialization of simulators struct
Added shared memory setup code to the create_robot function. Need to write the cleanup code still. Exec call is failing but wasn't succeeding before code change either.
Added signal handling code to core simulator
added a robot_test directory which contiains code to run the timer and deal with the robot side signaling. To compile it you need to run gcc robot_test/robot.c -o robot_test/robot. This whole file is temporary. It is just proof of concept until it gets added to the simulator library
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.
added a draw_funcs.c/h, functions need to draw stuff should go there. added a basic function used to draw robot with x, y, orientation.
added robot shared memory id to simulator structure
test again. nothing is changed
Draws circle and square.
Ooops, forgot to commit main method.
update to robot shared header
GUI now compiles.
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.
added some structs to the common header file
Minor modifications and fixes. Haven't gotten it to work yet.
Added beginning GUI code, does not compile.
added tests of two possible ways to control proc's.
leaning heavily towards the itimer method
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.
Made some modifications for testing in the main loop
Some changes in I2C testing in the main loop
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)
Updated makefile to compile binaries for simulator.
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.
extension of update to eeprom/bom/init. this is just the include files and the library archive.
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.
Simulator library compiles.
Simulator library compiles but doesn't do anything.
All library files added, unimplemented.
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
Added unimplemented message to simulator library.
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.
i2c library for the bay boardsdetects xbee presence to determine master/slave
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)
Changed the compile file from Charging.c to ConstantCharging.c
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
Started working on library... Wrote about half of the stubs.
fixed makefile in Robot Debug to point to trunk library for dragonfly
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!!!!
Updated simulator lib directory with new headers.