Made CliffsensorControl compile, and readded the files.
Added RungeKutta to the helper classes and changed the odometry to use that instead. Also created PaintboardControl files, changed the Makefile to compile all control classes and deleted Cliffsensor control becase it did not work.
wrote metal detector class and messages. Untested.
Merge branch 'master' of ssh://roboclub.org/home/svn/scoutos
Sorted behaviors alphabetically in the generate script.
Lumps together all behaviors (both behaviors/ and test_behaviors/) and sorts them alphabetically by name, ignoring case, before assembling the output lists.
undid overwrite of maze_solve with maze_solve_simple
Conflicts: scout/libscout/src/BehaviorList.cpp scout/libscout/src/BehaviorList.h scout/libscout/src/test_behaviors/smart_runaround.cpp
Update smart_runaround and add old files.
Added a reset() function to EncodersControl. Untested.
Fixed existing doxygen; preparing to add more.
Added a ScoutPosition struct with some functions and Changed the odometry code to use it.
Flipped front left encoder ticks because its backwards on the scout. Also continuing testing Odometery_new.
Fixed warnings in libscout behaviors.
Some of these were actually serious errors. Others were little things.
Removed Makefile. Needs to be automatically generated using 'cmake .'
Changed this so that it runs the generate script automatically.
Added the make clean script to the makefile as make superclean.
Added messages/services I forgot to add earlier.
Fixes to the Odometery behavior.
Moved all messages to the messages/ folder.
This meant changing a lot of includes and things.
Removed BehaviorList.cpp and h, since they are autogenerated.
Removed useless NodeHandlePtr.
Fixed CW and CCW circle behaviors to turn the right way XD
Added Behavior::wait() to spinOnce for a duration.
Also added maze_solve_simple which always turns right.
Tested encoders on scout. Made hacky changes so that it works. Tom needs to clean this up.
Changed cliff_status_changed to a singe int8 bitmask
fixed the autoname generating issue
added new Odometry in test behaviors, done some simple testing in scoutsim
Retired (deleted) unused packages.
Moved their msg/srv definitions to the messages/ package instead, and revised the libscout and scoutsim files that depended on those namespaces.
Removed old files and test executables.
fixed the issue of behavior list not corresponding to the GUI listof behaviors
behaviors now overwrite teleop (see comments in scout.cpp for details)
Fixed up the smart_runaround behavior to integrate it fully.
Updated BehaviorList with the new smart_runaround.
Added BehaviorList templates.
Added a script to auto-generate BehaviorList files.
This includes some sub-changes:
* Restructured behaviors/ folder into behaviors/, test_behaviors/ and limbo_behaviors/
* Added a new CMakeLists.txt that automatically finds behaviors in their folders
* Removed the obsolete trafficNavigtaion.*...
Add smart runaround behaviors.
Test commit for new clone.
Encoders node now actually reads from hardware
This compiles but hasn't been tested on the Scout yet.
Changed motor max speed and added constants in set_motors.msg
The new speed range is -100 to 100, to be consistent with the pwmdriver. They can be accessed with motors::set_motors::MIN_SPEED andmotors::set_motors::MAX_SPEED respectively.
Overwrote the ROS sigint handler so now behaviours stop and die and stop motors upon exiting.
fixed died rosnode kill and added sonar viz
Updated line follow code to make turns for Lab 2.
Also upgraded at_destination and LineSensor::destination() for Intro Lab 2.
Added new at_destination functionality.
Maze turns are buggy and are the next order of business.
More fixes to launch scripts (poorly written by Tom ;)
Fixed launch script error
Removed headers, sonar uses custom timestamp, added code to manually update timestamp
changed GUI according to the new order to conform to"rosrun libscout libscout <behavior#> <scoutname>" w
running libscout behaviors without specifying a name shouldmake everything publish directly (e.g., to /set_motor instead of/scout1/set_motor) and thus should work on hardware.
Added rosscout.launch in libscout
On startup, it will now launch rosscout instead of rosserial. rosscoutincludes rosserial, motors, encoders, and any other helper nodes addedlater.
Freeing memory we allocate. Yay!
Changed scout constants to refresh faster. Also retuned linefollowing for faster refresh rate.
Fixed bugs with how the simulator was doing math for pose estimation.
added teleop to GUI, should be able to choose which scout to control now
New GUI should be working now! (run, pause resume should all workpretty robustly). Teleop is not working yet...
Partially done GUI rewriting GUInow can only add and kill scouts freely but can do nothing else
Adding 3 line following maps to the repository.
\Fixed teleop to work with behaviors. Teleop currently has priority over behaviors
Fixed pause not working with the GUI. Also removed super annoying printf from MotorControl. And also fixed some pause/resume GUI bugs and the fact that process.kill and process.terminate wouldnt do anything.
Removed 'priya_draw_name' include from BehaviorList.
Adding make_clean.sh to recursively clean subdirectories.
Hacky fix to pause to work around issue that sending motor commands sometimes does nothing.
Changed it so that all behaviors are not instantiated immediately. Also changed pause so it does not spam (0, 0) motor speeds.
Bugfix to BehaviorGUI causing crashes.
Fixed segfault from LinesensorControl when the service call failed
Added latching to publishers so the first message gets noticed.
Added conversions abs_to_rel and rel_to_abs.
Also, added warnings after these conversions in the case that a requested speed has to be cropped.
Tested against a temporary behavior which set the speeds (now removed since it's very easy to write such a test behavior).
Added code for unit conversion, pending tests.
Old little changes to sonar.
Adding a Priya custom scout.
Removed unnecessary extra code in motors node (oops!)
Fixed whitespace in motors node
Fixed motors node to work around pwm driver bug
The node can now only do writes to /dev/pwm*, because doing both readsand writes causes the fstream to try seeking, which fails because it'snot supported by the driver. Then the fstream refuses to do any more io.
Changed some more stuff, broke running things.
Probably fixed the crashing bugs. Implemented floating point pickers.
Changed linefollowing so that turns start working once again. Also fixed some bugs with maze solving.
Fixed sonar out of range bug. Max range now at 9.144 m.
Called spinOnce to update sonar readings.
Nicer look for maze map.
Added new services.