Small changes to wireless, and starting turning with line following.
some fixes to whrobot and scheduler
Line following code made bettergit status
Merge branch 'master' of ssh://roboclub.org/home/svn/scoutos
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
Added LinesensorControl =(
Changing scheduler and WH robot to ROS messages
Added sim_line behavior for line follow testing.
Fixed bugs and compiler warnings in old code.
Added linesensor to the behavior class.
Forgot to add scheduler to behavior list
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)
Got scheduler to compile. onto wh robots
added get worst case time to wh_robot
added get_worst_case_time to nav maps
Added maps and menus in scoutsim.
Menu options for about, quit, clear, and viewing different maps.
Merged WH_Robots with other files
updating Order with util functs
minor edit to prev push
WH_Robot preliminary code, untested
Fixed some bugs in navmap
Merged scheduler implementations and modified order structrure class
An implementation of a portion of the scheduler code. Will probably be stripped for useful content and added to the real final version. Mostly just sets up the structure of the scheduler class and its interface with getting and putitng jobs into the lists.
Adding scheduler interface.
Adding Doxygen documentation to navigationMap
Made nav map into an actual workable behaviorgit statusgit status
Behaviours now have names!
Committing some clean ups done in the linefollowing behaviours
Added WirelessReceiver to libscout
It does not yet have any filtering functionality, which can be added inthe future if it's really needed.
Added Priority Queue Wrapper and Order object for the scheduler to use to keep track of tasks.
Fixed some of the syntax problems with the navigationMap fsm and tested it, it seems to generally work. Note the fsm eta still does not work for various reasons.
navigationMap bfs tested and worksgit status!
Fixed problems with running behaviors. Something wrong with Cliffsensor control. Must debug later. Also encoder control not working!
Fixed more errors of indentation and spaces.
Fixed Some indentation Errors that were made in LineDrive.cpp and linefollow.cppPlease enter the commit message for your changes. Lines starting
Ok fixed compilation issues from last commit
Commiting pseudo-Gaussian random noise generator. Tested and works.
Temporary, possibly broken, commit to add EncodersControl.
Sorry - my ros build is broken. I will immediately debug on Priya's machine.
Hello, this is James, I updated the navigation map code to better support the getting of the current state and the getting of the estimated time until the robot arrives at its destination. Also there is a TODO that says that we need to find the actual speed of the robot.
Added get outbound edges to navigation map file
Added WirelessSender class to libscout
WirelessSender will hold some metadata like packet destination, pan, andchannel, and will publish a WirelessPacket (also, addedmesssages/WirelessPacket.msg) to /wireless/sendSo far, lacks proper documentation and static functions similarly named...
Finishing BFS for behaviors navigationMap. Also commiting teleop skeleton code.
BFS for NavigationMap prototype, lots of TODOs
Moved outboundVectTable to navigationMap and filled out the code for it.
lineFollow functions for Scout.
The lineDrive function from the colony 3 bots that has been modded to be compatable with c++ and also the motors commands were switched to handle the scouts library. Note: If it fails to compile, I probably did the motors wrong. Love James.
Initial ported traffic navigation code.
navigationMap prototype for Scout
Added scoutsim support for encoders.
To see the query_encoders.srv (used for accessing this data) in action, use: rosrun libscout test_encoders. You will see a stream of encoder data.
Changed deconstructor for behavior list because I discovered vector::empty which should be used instead.
Fixed CliffsensorControl, now actually part of Behaviors
Committing changes that were not previously committed. Also got rid of some confusing/unnecessary code.
New behavior implementation that uses a list of behaviors to command multiple scouts with multiple behaviors.
Added CliffSensorControl to libscout with very basic functionalitythat hopefully doesn't break anything.(Please let me know if I did something wrong!)
Updated ButtonControl and SonarControl.
Finally, the behavior compiles. Had to fix a lot of problems involving misunderstandings with Publisher/Client/ServiceServer/ServiceClient confusion.
We can now run priya_behavior as an executable, though the process for generating behavior executables still needs some work.
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....
Didn't update the CMakeLists in my previous commit.
Removed references to now nonexistant files.
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....
Created Behavior class and a sample behavior using the class. Not tested.
Chaned libscout sonar code so that it turned sonar on and off when necessary.
Integrated SonarControl into the libscout package.
Created SonarControl files. Not tested and therefore not included in libscout interface yet.
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....
actually removing what I removed
Rewrote libbuttons to use objects (ButtonControl).
Also removed query_motors (motors node now responsible for publishing changes)
bugfix: removed -lmotors from manifest files (causing rosmake errors)
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:
Updated motors code.
Changed the definitions for the set_motors message, which forced a fewimplementation changes as well.
Changed "libscout_node" to "node" and "n" to "node" in other packages.
Only added libbuttons files. Adding changes to libscout that make libbuttons work.
Added buttons to libscout. Compiles!
Made libscout compile. Changed behavior.cpp to set motors to the same speed in order to test simulator code.
Fixed bugs I saw in headlights code. Fixed object parameter missing error. Added no-set capability to headlights. Changed attribution in motors. Fixed CMakeLists.txt due to error I put in there on my last commit (extra comma). Should compile now. I'm sorry if it doesn't.
Added libheadlights.cpp(cpp/h). Also updated constants.h and libscout.(cpp/h) for libheadlights. Have not compiled yet, but it should work.
Added behavior.cpp to CMakeLists.txt because I forgot to add it before.
Restructured libscout.(cpp/h) so the behavior main runs in a separate file, and just calls upon libscout.cpp for initialization. This behavior function can then be swapped out or changed, and the rest of the libscout node can be precompiled so it doesn't have to be recompiled every time.
Deleted compiler output files that were accidentally included in analog.
Added code inside motors.cpp to set and read individual speeds in different units. Also added appropriate headers to motors.h, and units field to query_motors.srv and set_motors.msg
Added the ROS stack with the libscout, motors, and sonar packages to the reposititory, and associated files. There are probably still things missing. Libscout won't run properly, but it and motors will compile. Sonar is probably broken, but nothing depends on it yet, so this shouldn't be an issue.
Created first version of git repository; added libscout and motors packages.
The repository root is the ros directory, which contains the ROS stack for the scout project.The included files are those that ROS creates with a new stack or package, and those created manually. Files created during compilation are not included....