ugv_random_walk package from swarm_behaviors reposwarm_behaviors_position swarm_behaviors_velocity swarm_behaviors uav_local_coverage uav_optimal_coverage uav_random_direction uav_simple_tracking ugv_random_walk
|Tags||No category tags.|
|License||Apache License 2.0|
|CI status||Continuous Integration|
|Package Tags||No category tags.|
Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)
- Micha Sende
- Micha Sende
This package performs random walk coverage with an unmanned ground vehicle (UGV). It is part of the swarm behaviors library.
This package depends on the following message definitions: * cpswarm_msgs
The following library packages of the swarm behaviors library are required: * swarm_behaviors_position
The following packages of the swarm functions library are required:
* target_monitor (only if
The following packages of the sensing and actuation library are required: * area_provider * obstacle_detection
Run the launch file
roslaunch ugv_random_walk ugv_random_walk.launch
to launch the
The launch file can be configured with following parameters:
id (integer, default:
The identifier (ID) of the CPS used for name spacing in simulation.
output (string, default:
Whether to show the program output (
screen) or to write it to a log file (
param subdirectory there is the parameter file
ugv_random_walk.yaml that allows to configure the behavior of 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.
ugv_coverage/goal(cpswarm_msgs/CoverageGoal) A goal that starts the random direction coverage behavior.
ugv_coverage/result(cpswarm_msgs/CoverageResult) ID and position of the target that has been found.
target_found(cpswarm_msgs/TargetPositionEvent) Position and ID of a target detected by the target monitor. Only subscribed when
single_targetis set to
obstacle_detection/get_clear_sector(cpswarm_msgs/GetSector) Get the circular sector that is clear of obstacles.
area/closest_bound(cpswarm_msgs/ClosestBound) Get the coordinates of the closest boundary in order to reflect from it.
5.0) The frequency in Hz at which to run the control loops.
1) The size of the message queue used for publishing and subscribing to topics.
true) Whether the algorithm will succeed / terminate once a target has been found.
3.0) The distance in meter that a UGV travels in one step.
0) The seed used for random number generation. In the default case, a random seed is generated.
Changelog for package ugv_random_walk
- Changed: Refactor library structure
- Changed: Read RNG seed from parameter, use random seed otherwise
- Changed: Return state aborted once coverage finishes
- Changed: Check if movement was successful
- Changed: Targets handled by swarm functions library
- Fixed: Correctly handle state of behavior algorithm
- Fixed: Force C++11
- Fixed: Returning of target
- Initial release of ugv_random_walk
- Contributors: Micha Sende
- id [default: 1]
- output [default: log]