Calibration Manager

The calibration results are stored in yaml files with the following format:

parent1:
  child1: [transformation]
  child2: [transformation]
parent2:
  child3: [transformation]
child2:
  child4: [transformation]

All entries represent a transformation from a parent to a child frame. Each transformation consists of two keys: a data key, which contains a list of type-specific values generated by the motion3d export, and a type key that provides the corresponding transformation type. The available types are:

A

motion3d.AxisAngleTransform

D

motion3d.DualQuaternionTransform

E

motion3d.EulerTransform

M

motion3d.MatrixTransform

Q

motion3d.QuaternionTransform

The scripts in scripts/transforms can be used to merge or visualize calibration files.

The CalibrationManager is used to manage and store calibrations:

class excalibur.io.calibration.CalibrationManager[source]
__init__()[source]
add(topic_from: str, topic_to: str, transformation: TransformInterface, overwrite: bool = False) bool[source]
clear()[source]
copy()[source]
extend(other, overwrite: bool = False)[source]
frames()[source]
get(topic_from: str, topic_to: str) TransformInterface | None[source]
has(topic_from: str, topic_to: str) bool[source]
items()[source]
classmethod load(filename: str | Path, unsafe: bool = False)[source]
plot_frames(origin: str, length: float)[source]
plot_graph()[source]
remove(topic_from: str, topic_to: str) bool[source]
save(filename: str | Path)[source]