Only released in EOL distros:
tuw_marker_filter: tuw_marker_noise | tuw_marker_server | tuw_marker_slam
Package Summary
Documented
The tuw_marker_noise package provides nodes for adding artificial noise to MarkerDetection messages from the marker_msgs package and for recording MarkerDetection messages in order to obtain a measurement noise model.
- Maintainer status: developed
- Maintainer: Markus Bader <markus.bader AT tuwien.ac DOT at>
- Author: Markus Macsek
- License: BSD
- Source: git https://github.com/tuw-robotics/tuw_marker_filter.git (branch: kinetic)
Contents
Content
tuw_record.py
In order to obtain a measurement noise model one needs first to record samples. The tuw_record node stores for later comparison the poses of observed markers in combination with their expected pose in a separate output file record.csv.
Usage
rosrun tuw_marker_noise tuw_record.py
Subscribed Topics
markers (marker_msgs/MarkerDetection)- Pose measurements of detected markers will be retrieved via this latched topic.
Parameters
input (string)- CSV-file containing real poses of markers (used for predicting measurements). Format: id;x;y;z;roll;pitch;yaw
- Directory for storing the output file record.csv. This CSV-file contains the expected and the observed measurements. Format: exp_length;exp_angle;exp_orientation;length;angle;orientation
- Name of frame of visual markers real poses.
Example
roslaunch tuw_marker_noise record.launch
variance.py
Based on the observed and expected measurements given in the record file a statistical variance can be calculated. For more grained resolution variance.py separates the measurements into boxes of given precision determined by the expected pose. The calculated variances are written out again with their corresponding expected measurements into the file variance.csv. Then parameter.m is called with this CSV-file as input. Finally, the result of this call is stored in another CSV-file parameter.csv.
Usage
./variance.py -r ../output/record.csv -p 1.0
Parameters
recordfile (string)- CSV-file containing expected and observed measurements.
- A floating point determining the size of internally used boxes for calculating the variances.
Output
variance.csv
- Contains the expected poses and additionally the corresponding calculated variances. Format: exp_length;exp_angle;exp_orientation;var_length;var_angle;var_orientation
parameter.csv
- Contains the parameters determined by calling parameter.m with the pre-calculated variance.csv. Format: var_length;var_angle;var_orientation X par_length_x;par_length_c;par_angle_x;par_angle_c;par_orientation_x;par_orientation_c
paramater.m
Calculates the parameters of an underlying measurement noise model based on the expected poses of markers and their measured variance using a least square root approximation.
Usage
octave> parameter('../output/variance.csv')
Parameters
file (string)- CSV-file containing expected poses and their statistical variance.
tuw_marker_noise.py
This node implements a parametrized measurement noise model for simulation purposes. It receives (perfect) measurements of markers and puts noise on it based on the underlying measurement noise model. The noised poses are then re-send again illustrating more realistic measurement results.
Usage
rosrun tuw_marker_noise tuw_marker_noise.py
Subscribed Topics
marker (marker_msgs/MarkerDetection)- Pose measurements of detected markers will be retrieved via this latched topic.
Published Topics
marker_noise (marker_msgs/MarkerDetection)- Receive noised pose measurements of detected markers via this latched topic.
Parameters
beta_1/18 (double)- Parameters of the underlying measurement noise model.
- Indicates if received and noised pose measurements are plotted or not.
Example
roslaunch tuw_marker_noise noise.launch