Only released in EOL distros:
Package Summary
A package performs random walk coverage with an unmanned ground vehicle (UGV).
- Maintainer status: developed
- Maintainer: Micha Sende <sende AT lakeside-labs DOT com>
- Author: Micha Sende <sende AT lakeside-labs DOT com>
- License: Apache License 2.0
- Source: git https://github.com/cpswarm/swarm_behaviors.git (branch: kinetic-devel)
Contents
Dependencies
This package depends on the following message definitions:
The following library packages of the swarm behaviors library are required:
The following packages of the swarm functions library are required:
target_monitor (only if single_target=true)
The following packages of the sensing and actuation library are required:
- area_provider
- obstacle_detection
Further required packages are:
Execution
Run the launch file
roslaunch ugv_random_walk ugv_random_walk.launch
to launch the ugv_random_walk node.
The launch file can be configured with following parameters:
id (integer, default: 1)
- The identifier (ID) of the CPS used for name spacing in simulation.
output (string, default: screen)
Whether to show the program output (screen) or to write it to a log file (log).
In the param subdirectory there is the parameter file ugv_random_walk.yaml that allows to configure the behavior of the ugv_random_walk node.
Nodes
ugv_random_walk
The ugv_random_walk performs coverage using the random walk algorithm. The random walk is a mathematical movement model, where an agent moves straight for a specific distance. Then, it changes its direction randomly into a direction that is clear of obstacles and moves straight again. If it arrives at the environment boundary, it reflects to continue its walk. When the parameter single_target is set to true, the UGV succeeds once a target has been found and returns the target ID and position.Action Goal
ugv_coverage/goal (cpswarm_msgs/CoverageGoal)- A goal that starts the random direction coverage behavior.
Action Result
ugv_coverage/result (cpswarm_msgs/CoverageResult)- ID and position of the target that has been found.
Subscribed Topics
target_found (cpswarm_msgs/TargetPositionEvent)- Position and ID of a target detected by the target monitor. Only subscribed when single_target is set to true.
Services Called
obstacle_detection/get_clear_sector (cpswarm_msgs/GetSector)- Get the circular sector that is clear of obstacles.
- Get the coordinates of the closest boundary in order to reflect from it.
Parameters
~loop_rate (real, default: 5)- The frequency in Hz at which to run the control loops.
- The size of the message queue used for publishing and subscribing to topics.
- Whether the algorithm will succeed / terminate once a target has been found.
- The distance in meter that a UGV travels in one step.
- The seed used for random number generation. In the default case, a random seed is generated.
Acknowledgements
This work is supported by the European Commission through the CPSwarm H2020 project under grant no. 731946.