Evaluation of relative pose measurements.
Project description
cnspy_relative_pose_evaluation
A python3 package for evaluating relative pose measurements between two spatial frames in order to assess the accuracy. The baseline (ground truth) relative pose can be computed from two recorded 3D trajectories of the moving bodies and known extrinsics to the sensors. These can be specified in a single configuration file, see config.yaml
The following evaluations can be conducted:
Describtion | Images |
---|---|
Pose Plot (left: measured, right: gt) | |
Pose Error Plot (left: position, right: orientation, top: meas, middle: error, bottom: nees) | |
Range (gt vs. measured) outliers removed | |
Range Sorted (gt vs. measured) outliers removed | |
Range Error (measured-gt) outliers removed | |
Range Error Histogram (filtered) and distribution | |
Angle (gt vs. measured) outliers set to zero | |
Angle Error (measured-gt) outliers removed | |
Angle Error Histogram (filtered) and distribution | |
Statistics | statistics.yaml |
Installation
Python 3.6 or greater is required. Inside this repo's directory, you may run
pip3 install .
or
pip3 install -e .
which installs the package in-place, allowing you make changes to the code without having to reinstall every time.
This package is still in development. Once stable it should be sufficient to run:
pip3 install cnspy_relative_pose_evaluation
Run from terminal
- RelPoseMeasEvaluationTool
- RelPoseMeasEvaluation
- RelPose_ROSBag2CSV
- ROSBag_TrueRelPoses
- ROSBag_Poses2RelPose
YAML configuration file
YAML configuration file is in the form of:
# relative pose of the moving sensors
sensor_positions: {0:[0, 0, 0], 1:[0, 0, 0], 2:[0, 0, 0]}
sensor_orientations: {0:[1.0, 0, 0, 0], 1:[1.0, 0, 0, 0], 2:[1.0, 0, 0, 0]}
# true pose of the body
sensor_topics: {0: "/uav10/vrpn_client/raw_pose", 1: "/uav11/vrpn_client/raw_pose", 2: "/uav12/vrpn_client/raw_pose"}
# topcis of the relative pose measurement
relpose_topics: {0: "/uav10/data_handler/uvdar_fcu", 1: "/uav11/data_handler/uvdar_fcu", 2: "/uav12/data_handler/uvdar_fcu"}
Important notes for the NEES computation
The covariance of the measurements are assumed to represent the position uncertainty in meters and in the origin of reference frame of the observer, e.g. the camera. The covariance of the measured orientation is assumed to be in radian representing the uncertainty about the roll-pitch-yaw angles about the x-y-z-axes in zyx order (Rz(y)*Ry(p)*Rx(r)) of the body frame (local), thus EstimationErrorType.type5
:
- TRUE = EST + ERR for positions R(3);
- TRUE = EST \oplus ERR for rotations SO(3);
- global position error, local orientation error;.
Please check out: ErrorRepresentationType and EstimationErrorType
License
Software License Agreement (GNU GPLv3 License), refer to the LICENSE file.
Sharing is caring! - Roland Jung
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cnspy_relative_pose_evaluation-0.1.7.tar.gz
.
File metadata
- Download URL: cnspy_relative_pose_evaluation-0.1.7.tar.gz
- Upload date:
- Size: 38.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e33cd1a012bfaed8a2ce7a7508def685a403d292f8da57271009819a5f03b0aa |
|
MD5 | 27d660dfee738bbab7a539a4ee9a828b |
|
BLAKE2b-256 | 1c639d94fca1f29739520f894ba98b6f4dd356629e4b16c4c7422874275ae358 |
File details
Details for the file cnspy_relative_pose_evaluation-0.1.7-py3-none-any.whl
.
File metadata
- Download URL: cnspy_relative_pose_evaluation-0.1.7-py3-none-any.whl
- Upload date:
- Size: 50.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f3ca2e4ec73b650eb03b76835f1218724cf702c503cb841a7651b3c59e4c914 |
|
MD5 | 5f929aa46b6ba6ee148a66c49bc4e401 |
|
BLAKE2b-256 | 3b05f082939073a80cb6411561fd9ed28aacdef89b6a5a6b66a3ae6ce54fe162 |