Added Metal Detector to the sensor class. Now behaviors can access it. Also made it directly return the bool from messages.
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.
Compiles.
undid overwrite of maze_solve with maze_solve_simple
Merge branch 'master' of ssh://roboclub.org/home/svn/scoutos
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.
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.
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.
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 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.
Conflicts: scout/libscout/src/BehaviorProcess.cpp
Overwrote the ROS sigint handler so now behaviours stop and die and stop motors upon exiting.
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.
Removed headers, sonar uses custom timestamp, added code to manually update timestamp
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.
Freeing memory we allocate. Yay!
Changed scout constants to refresh faster. Also retuned linefollowing for faster refresh rate.
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.
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.
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.
Changed linefollowing so that turns start working once again. Also fixed some bugs with maze solving.
Called spinOnce to update sonar readings.
Registered a default callback for wireless receiver. Also added default virtual constructor.
Added the behavior to behavior list and cmakelists and made things compile.
Finished writing up the maze solving behavior.
a poor barebone of maze_solve that I wasn't able to finish
Sepearated refresh rate for scouts and for the simulator.
Fixed the line following code.
Now works with new unitsFixed a bug with reading the line location, correctly centering the line between -3.5 and 3.5 rather than -4 and 3.Also fixed a bug caused by overflow in absolute speeds sent to motor control, which fixed bouncing in line following.
Changes so that scout1 automatically spawns upon creation of thesimulator environment, and that line follow just continuously followslines instead of prior line-following-capability testing code.
Fixing bugs with ghost scout (these were problems in odometry relatedto constants in the simulator and coordinate frame and theta representationin the simulator). Also made ghost scout translucent in order to differentiateit.
Last commit did not contain changes to Odometry behavior. Gits dumb.
Fixed pause and resume. Kind of. There are lots of bugs with the GUI.
Fixed pause so that it compiles. Also changed behavior gui so that it starts with Scout1 automatically.
Conflicts: scout/libscout/CMakeLists.txt scout/libscout/src/BehaviorList.cpp scout/libscout/src/BehaviorList.h
Added pause behavior to list
Fixed Odometry behavior so that it now works and then added a get readings functionality to sonarcontrol.
Added Sensors class that abstracts away sensors from behaviors. Stops creatingduplicated sensors for each scout.
Added initial GUI for testing, renamed cw and ccw behaviors
Added forward/backward support to motors node
Fixes to WirelessReceiver and wl_test
Changed receive callback to use std::function so we can use std::bind topass non-static member functions. There is still a weird problem whereWirelessReceiver::dummy gets called many times for each incoming packetin wl_test.
Demo almost working Scouts go home! a
Added launch files for the demo and made a little change to theargument checker to make them work.
better warehouse image (corresponds with lines now) and demo. Now only thing left is to implement home behavior.
Ok Scheduler warehouse behaviour working! and linefollowing works better now! Onto better demo.
Trying to make the warehouse robot drive around
Renaming to line follow and getting rid of old linefollowing files.
adding maps for warehouse and fixing strtok issue in wh_robot that massed up curr_task
some testing done on WH_robot exec_task, issue pinpointed to curr_task's dest being stored as 0, not fixed yet
made the linefollowing a bit more reliable
Sim line can make turns now! yay
WH_robot goes home in exec_task, follow_path function added; untested
Adding wl_test files that were not added before
Small changes to wireless, and starting turning with line following.
some fixes to whrobot and scheduler
Line following code made bettergit status
fixed scheduler array access, no more segfaulting, but hangs
Fully working linefollowing. Instructions:
roscorerosrun scoutsim scoutsim_node racerosrun libscout libscout scout1 6
Linesensor tested and done!
Basic line sensor readings!
ROS scheduler/whrobot behavior needs to be debugged