strands-project / autonomous_patrolling

Autonomous Patrolling
11 stars 17 forks source link

The autonomous patrolling package

This package allows for the sequential or randomized visit of a set of pre-defined waypoints in the environment, along with a charging behaviour when the battery level drops below a given treshold. It also has two tools for creating and saving a map, and for creating and saving a set of waypoints. It assumes that either a morse simulation or the scitos_bringup have been launched

The map_saver

Without rumblepad

Prior to waypoint autonomous patrolling, a map of the area to be patrolled needs to be created. For that:

  1. Have the robot docked (the docking station must be the origin of the odometry frame)

  2. Run the map_saver package:

    $ roslaunch map_saver ap_map_saver.launch

The ap_map_saver provides a SaveMap service, that takes as input a string of the form "path to folder where to save the map"/map_name (e.g., /home/strands_user/map) and creates the map_name.yaml and map_name.pgm files in the selected folder.

With rumblepad

The ap_map_saver can also be used in conjunction with the rumblepad, where the user can build a map by driving the robot around and then save it. To do this:

The waypoint recorder

Without rumblepad

Prior to waypoints autonomous patrolling, a file with the waypoints to be visited needs to be created. For that, the waypoint_recorder package can be used:

  $ roslaunch waypoint_recorder waypoint_recorder map:="file path to the map's .yaml file"

The waypoint_recorder provides two services:

With rumblepad

The waypoint_recorder can also be used in conjunction with the rumblepad, where the user can drive the robot around, create waypoints, and then save them to a file. To do this:

The waypoint patroller

Aunonomously visits a pre-defined list of points randomly or in sequence. Goes to charge when battery drops below a given treshold and after it is recharged, continues the patrolling. Assumes static map and waypoints set are given as input.