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.
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.
Pushing modified behavior process that requires less arguments and appends scoutname to ros node name. and a compiling but not tested version of test_behaviors (scheduler and wh_robot)
Updated the licensing information in many files.
This is a broken commit because I decided to do this at a bad time. Sorry! The build will be working after next commit, I promise (and I won't push till then). This commit reflects the licensing in the files after I used my auto-add/remove script.
Modified the Behaviors to take a scoutname.
Scoutname now specifies which scout the behavior will affect. Scoutname must be passed to the constructors of each control module (some of which are now in need of modification), so that they can publish to the correct topic....
Updated the Behavior definition and extensions.
The Behavior.cpp/h class now works and can be extended by simply implementing its run() method. However, the subclass must also be extantiated and used in an external executable. An example of this can be seen in PriyaBehavior.cpp/h, and the executable, priya_behavior_process.cpp. In the future, we should move all behaviors into a behaviors/ folder, and autogenerate the executable to be compiled....
Got motor control working with scoutsim
Behaviors can now use the MotorControl class to change the speed of the motors in the simulator. The simulator correctly handles the command.At the moment, the set_motors command is limited to 'scout1'. We should look into prefixes to specify which scout (scout1, scout2, etc) each behavior should command....
Made a lot of changes to the general structure.
Applied object-orienting techniques to the code, cleaning it up considerably. Major design changes are as follows: