Basic line sensor readings!
Added LinesensorControl =(
Added linesensor package.
Added template linesensors to scoutsim
Added sim_line behavior for line follow testing.
Fixed bugs and compiler warnings in old code.
Merge branch 'master' of ssh://roboclub.org/home/svn/scoutos
Conflicts: scout/libscout/CMakeLists.txt
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)
splitting up teleop into two separate processes, delay is in the wrong place whoops
Got scheduler to compile. onto wh robots
Fixed problem with serial rx. Rosserial now works.
Tested rosserial a little with a 328.
It doesn't quite work yet. Writing works, reading has not been tested,and rosserial acts weirdly inconsistent.
Added rx buffer for rosserial
added get worst case time to wh_robot
added get_worst_case_time to nav maps
New scout images.
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
Scheduler interface.
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.
Added preliminary rosserial code, in scout_avr/
Everything in src/ros_lib was copied from the rosserial_client packageor generated with 'rosrun rosserial_client make_library.py ...'. Thecontents of the Makefile are just for testing whether it compiles. This...
Adding Doxygen documentation to navigationMap
Made nav map into an actual workable behaviorgit statusgit status
Added scoutsim_internal file.
Behaviours now have names!
Fixed up scoutsim package. Sorry.
Committing some clean ups done in the linefollowing behaviours
Merged changes in scoutsim makelists.
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.
Sonar prototypes in scoutsim package.
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!)
Adding previously missing file sonar_distance.msg
Should have been in previous commits but was not added.
Added scout_constants.h to scoutsim
Previously missing file in last commit.
Fixed the scoutsim node.
Just a couple bugs. All the nodes compile now! You can run "rosmake" from the "scout" directory (compile the whole stack).
Fixed the encoders node.
Simplified the node to only advertise a single service - a query allows other nodes to find out, simply, the total distance traveled. The node also only handles plain encoder ticks, because distance and such computation should be done on the library end.
Fixed the analog node.
Only a couple small changes were needed here. For the most part, good job Dev - looks like this is set up correctly for a skeleton. Changes were debugging only.
Small tidying up.
Took out unneeded gensrv() in buttons, which caused a compilation warning, and made miniscule style changes to motors.cpp.
Fixed the usb_serial node so it now compiles.
Moved the previously split send_serial_data and receive_serial_data into a single message. Renamed files to use usb_serial instead of usbserial. Updated CMakeLists to actually refer to usb_serial and not motors. Fixed bugs.
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.
Updated the motors class and set_motors message.
Still todo: update the query_motors service, make the util file exported as a library.