No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.1.0
License Apache License 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/cpswarm/swarm_functions.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2020-02-13
Dev Status DEVELOPED
CI status Continuous Integration
Released RELEASED
Package Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A package that manages information about targets in a swarm of cyber physical systems (CPSs).

Additional Links

Maintainers

  • Micha Sende

Authors

  • Micha Sende

target_monitor

Build Status

This package manages information about targets in a swarm of cyber physical systems (CPSs).

Dependencies

This package depends on the following message definitions: * geometry_msgs * cpswarm_msgs

The communication between CPSs is based on the CPSwarm Communication Library.

The following packages of the swarm functions library are required: * task_allocation

The following packages of the sensing and actuation library are required: * *_pos_provider

Further required packages are: * roscpp * tf2

Execution

Run the launch file

roslaunch target_monitor target_monitor.launch

to launch the target_monitor 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 are two parameter files target_monitor.yaml and targets.yaml that allows to configure the behavior of the target_monitor node. The targets.yaml contains the coordinates of the simulated targets. It is only used when the parameter simulation is set to true. They are given as two list parameters where the list index is the ID of the target.

Nodes

target_monitor

The target_monitor node keeps track of targets and their positions that are being detected by CPSs in the swarm. They are typically detected by a camera. Each target has a unique numeric ID assigned to it which should be a positive integer. Targets that are detected locally by this CPS are reported through the target_tracking topic. It contains the offset between the current position and the target position in form of a transform. This information can either originate from another node or, if simulation is set to true, from this node. In the latter case, the target detection is triggered according to the current position of the CPS and the coordinates given in the targets.yaml parameter file. Targets that are being managed have a certain state associated to them. This is depicted by the following diagram where the transitions are labled with incoming event / outgoing event:

Target FSM

The state of the target changes depending on local and remote events that are exchanged between CPSs through the CPSwarm Communication Library.

Subscribed Topics

Published Topics

Action Servers

  • cmd/target_done/goal (cpswarm_msgs/TargetGoal) Sets the state of a target to done. This invokes the target_done event to be published.

Parameters

  • ~loop_rate (real, default: 1.5) The frequency in Hz at which to run the control loops.
  • ~queue_size (integer, default: 10) The size of the message queue used for publishing and subscribing to topics.
  • ~tracking_timeout (real, default: 5.0) The time in seconds after which a target transitions into the state lost when no target information is received.
  • ~target_tolerance (real, default: 0.1) The path of the smach state machine whose state shall be exchanged.
  • ~fov (real, default: 0.5) Range of the target tracking camera in meter. It is used to simulate target detection. Targets within this distance are detected by the CPS.
  • ~simulation (boolean, default: false) Whether the targets are detected virtually by position or actually by the camera tracking topic.

  • ~targets_x (real list, default: []) The x-coordinates of the simulated targets.

  • ~targets_y (real list, default: []) The y-coordinates of the simulated targets.

Code API

target_monitor package code API documentation

CHANGELOG

Changelog for package target_monitor

1.1.0 (2019-10-31)

  • Initial release of target_monitor
  • Contributors: Micha Sende

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged target_monitor at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.