strands-project/autonomous_patrolling — pull request #18 by cdondrup (2013-07-09 18:23:33+00:00)
Title: Map_saver and waypoint_recorder are no longer teleop only

This pull request addresses issue #11.
I now use the new action_button message from the scitos_teleop to prevent subscribing to the joy node directly and thereby prevent messing up the button layout as well. (It will still compile without the scitos_apps package present, but then won't work with teleoperation)
In addition the map_server and waypoint_recorder now provide services which can be used to trigger these nodes from other nodes instead of the joystick.
* map_saver:
* SaveMap (string file_name): this service saves the map at the given name and location
* waypoint_recorder:
* SaveWaypoint (none): triggers the saving of the next pose update as a waypoint
* SaveWaypointFile (string file_name): saves all the waypoints in a file with the given name and location.

Additional changes:
general:
* the scitos_teleop is now no longer launched with one of the map_saver or waypoint_recorder launch files because they can be used without the teleoperation now.
* I added ROS_INFO outputs to make sure your map and waypoints have been saved.

map_saver:
* the resulting node is now called ap_map_saver instead of joy_map_saver, same for the launch file. (ap for autonomous_patrolling)

waypoint_recorder:
* The waypoints are now saved in a list when pressing the A button or calling the service and written to a file when pressing B or calling the service instead of being directly appended to a file all the time. This allows to specify the filename after the start of the node.

ap_msgs:
* This contains all the services used by the map_saver and waypoint_recorder.

@BFALacerda: Maybe you want to have a look at it. I already tested it on our robot.