fixes #570 avrdude port detection
removed circle and made border thinner in world.txt
update world.txt with screenshots
Able to read and draw circles in the environment
Hopefully final fix for circles
Paren fixes for circles
Even more updates to circles
More fixes for circles
Hopefully unbroke simulator with circles
Commented out code that broke simulator
Added circle collisions
fixed compiler warnings by including library files
it's slightly better
moved the smart-runaround stuff from template to a new folder and restored the old templateimplemented usb_put* which just outputs to stdio
actually found a bug in smar run around using the simulator where the omega is > 255, which causes the robot in the simulator to stop moving.
Also added a hack to make the robot start at a non-90 degree angle
Added library for wireless
Smart run around mostly works!!!
Thanks to Brian for fixing a bug in motion codedivide by 0 zero error in motion.c
Makefile cleans .csim and copy it over
GUI no longer fill the robot
changed the sigchld handler to only wait on robot proc's so that it doesn't try to wait on gui things
Polished file. Added includes
added some vague file type checking to prevent running simulator in simulatorupdated the makefile to make simulator executable filenames end in .csim
cleanup on robot exit
simulating rangefinder and smart run around
changed the position of IR sensors defined in libsimlibsim and libdragonfly use different numbering for IRs (#418, #419)added smart_run_around to template, right now it just hits wall, backs up then segfaults
slowed down motion and hacked more crap
allow rotation while stuck
awful hack for collisions that appears to work
Can now move robots with the GUI, deletion built into GUI but doesn't work in the backend.
Added code for circles in environment. Still needs to be tested
Reorganized coordinate transforms in the GUI.
Robots drawn to scale.
Pretty single check box added for paused robots.
Can run with no robots.
Fixed race condition for adding robots?
speed now takes negative values
Can now add robots through the GUI.
Brad Neuman forgot to add the word "void" in simulator_do();
Switched to loop based suspending on the robots using simulator_do
now runs much better for the stupid template sample
Deleted random files in top level directory.
Added replay functionality and command line arguments
-l <filename> log simulation to file [currently make sure file does not exist, overwriting of files not handled well]
-p <filename> run a log file rather than simulation
-w <filename> load in world file
Made some additions to rayHits.c
Not really useful, just for me
Fixed race condition in GUI, hopefully.
Cleaned up code, removed all compiler warnings.
added some error checking
sped up simulator!
changed the delay to be less and removed spamming of printfs from world.c
Added file to check for collisions with circles
Robots now draw in correct location.
rangefinders are in fact working now
Draws polygons in the environment.
small chnage to motion.c, going forward and backwards should now be consistent
added a sample world, updated main to load the sample world
added update_rangefinders, which should be enough for the demo tomorrow
max_objs is not an argument of load_world. Remove starts_with
started working on integrating with rangefinders
load world from input file, changed create poly to take an array of doubles
added some functions to initialize the world. still needs a lot of work
works with 20 robots! but its incredibly slow and destroys computersalso fixed a bug in the robot creation code (it didn't init robots array to -1 after a resize)
update to libsim.a to include BOM
added BOM to libsim and shared library
use abs in stdlib instead of a crappy macro
working ray-polygon collisions, but needs a lot of clean up
completed skeleton for the environment
world header file, with type definitions
Now runs at a reasonable speed.
Theta changes now.
theta in motors should change now
Forgot to commit header file.
Motion works, but needs fine tuning.
Fixed bug in iterator.
libsim rangefinders works with shared memory now
get rid of the draw_funcs stuff.
Threading issues worked out better... Ready to add motion.
Rangefinder now have normalized random noise!
gaussian noise now has a gauss_init to initialize with a seed and chaos scalar
the function move will now update the position of the robot and its theta. This can be merged into libsim once tested
working gaussian nosie function: gauss_noise()
Started on drawing robots in the right place.
fixed the environment variable stuff
getenv should worksome commented code uncommented
Fixed makefile includes.
Free's shared memory in the core file upon error in forking or error in attaching to shared memory
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
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.