Added BehaviorList templates.
Merge branch 'master' of ssh://roboclub.org/home/svn/scoutos
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.
Registered a default callback for wireless receiver. Also added default virtual constructor.
Added a maze map.
Added the behavior to behavior list and cmakelists and made things compile.
Finished writing up the maze solving behavior.
Updated sonar so it broadcasts readings in mm as specified.
Removed old teleop.
Changed documentation: sonar pos 0 is on the right
"Fixed" the sonar bug.
Turns out the sonar just wasn't set to on by default, so nothing was being visualized.Changed it so the sonar is on by default.We should probably make it more clear when the sonar is off.
Added services to set individual control for visualization tools.
However, there is a bug in the sonar viz for multiple scouts, looking into it now.
Working on turning sonar on and off for robots individually.
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.
Removed a ROS_INFO from ghost scout file.
Changed sonar to use 16 bit values, not 8
Fixed teleop with new units, and changes the refresh rate to be closer to true m/s.
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.
Continuing work on standardization of units.
Files that add ghost scout.
Changes to add ghost scout to sim frame and make it show up on the simulator.Currently the functionality for killing scouts does not kill the ghost scout. That needs to be fixed eventually.
Conflicts: scout/scoutsim/src/scout.cpp scout/scoutsim/src/scout.h
Fixed sonar bug (corrected y direction)Added sonar_toggle and set_scan command and callbacksCleaned up sonar_visual toggle code
Added header guards to scout constants.
Last commit did not contain changes to Odometry behavior. Gits dumb.
Changed Odometry to publish a ScoutPosition message with the scoutname, x, y, and theta.
Added new launch file template for scoutsim.
Style changes to BehaviorGUI (line length, spacing)
Removed Header from BOM message.
If we need a timestamp, we can add it back later. We don't need aframe_id...
Scoutsim now has consistent units of m and m/s.
This will cause some problems.