lardemua / atom

Calibration tools for multi-sensor, multi-modal robotic systems
GNU General Public License v3.0
250 stars 26 forks source link

Generalize odometry inspector #971

Closed miguelriemoliveira closed 3 months ago

miguelriemoliveira commented 3 months ago

Because of #970 we now seem to have problems in the initial transforms for another sensor.

That means we have to generalize the odometry inspector to run be able to cope with any transformation.

Ultimately we will remove the set initial estimate working from the bagfile, and create a dataset_playbag 2.0 that will allow us to correct annotations and manually set any transformations we'd like.

miguelriemoliveira commented 3 months ago

image

Working with multiple transforms.

3d / 2d mode operational.

Revised the transform tree not to replicate a branch for each collection but rather to have a single branch + the reference collection branch. Much lighter like this.

miguelriemoliveira commented 3 months ago

Now we need to detect if the collection is fixed or dynamic so that when the marker is moved we affect only the selected collection (if the transform is dynamic) or affect all the transformations (if the transform is static).

@Kazadhum you were doing this just yesterday, right?

Kazadhum commented 3 months ago

Hi @miguelriemoliveira!

Indeed, I wrote a check for if a given TF was fixed! It's not a separate function, but its here:

https://github.com/lardemua/atom/blob/3d8558fde888b8c079b87c845639e9fe2503404c/atom_evaluation/scripts/other_calibrations/copy_tfs_from_dataset.py#L71-L89

Keep in mind this comes in the context of the copy_tfs_from_dataset.py script, where the child links and corresponding parent links are given as input arguments. (which are then reorganized into (parent, child) tuples for organization).

I can reorganize it into a function quickly if needed!

miguelriemoliveira commented 3 months ago

This is were I have done it before

https://github.com/lardemua/atom/blob/b1f0a423e92cde78afb850863ee2ebbd9b284a1b/atom_calibration/src/atom_calibration/calibration/visualization.py#L496

miguelriemoliveira commented 3 months ago

I think all is done for now. I have use the dataset['transforms'] that exist in newer datasets.

Perhaps we will need to create a dataset migrate tool ... opened #973 for this.

miguelriemoliveira commented 3 months ago

Missing the creation of a transform_corrector.launch ... should be done in the configure_calibration_package. Opened #974 for this.

miguelriemoliveira commented 3 months ago

Closing.