lardemua / atom

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

Interactive marker for seed position for lidar labeling anchored to moving frame #889

Closed brunofavs closed 3 months ago

brunofavs commented 3 months ago

Hey,

I noticed that after collecting data for datasets with LiDARs, the labelings were way off. Then I checked the documentation and realized I wasn't setting the seed point when collecting data (yep rookie mistake I know :D ).

In the documentation, the example. the base foot print is static hence the issue doesn't present itself :

image

But when trying to do the same with a mobile robot such as the softbot, the seed point is always moving around due to being anchored to the robot's base footprint.

2024-03-2014-43-32-ezgif com-video-to-gif-converter

I discussed it with @manuelgitgomes and he seemed to agree with me, even though he said it shouldn't affect the final output as the seed is only set when the interactive marker is updated.

Despite that, is still unintuitive so I think it should be looked over.

I think the solution will be changing the anchor frame of the interactive marker in the lidar labeler script.

What do you think @miguelriemoliveira ?

brunofavs commented 3 months ago

Update:

Actually moving this issue from enhancement to bug because it actually completely kills the seed algorithm.

https://github.com/lardemua/atom/assets/31831043/0faf98c8-ac8e-41be-8522-88ea924e4a1c

I paused and placed the seed correctly, but the only collection the seed algorithm worked was indeed for the first collection, all others pointed to the floor mistakenly.

brunofavs commented 3 months ago

2024-03-2015-46-20-ezgif com-video-to-gif-converter

Seems fixed, its on my current branch only at the moment for testing.

miguelriemoliveira commented 3 months ago

Hi @brunofavs ,

looks nice. I agree that the best would be the work fixed frame, since the robot moves but the pattern does not.

In any case, the world frame name changes from system to system, so we should have a mechanism to add an argument, and use the atom templates to set this argument correctly in the launch file.

@brunofavs do you know what I am talking about? We can meet for 20 mins if you need help ...

brunofavs commented 3 months ago

Im not sure what you meant, the name does change from system to system but its set on the config.yml for that robot and thats where im getting the world frame name from. Meaning its already dynamic.

I might have not understood your point.

In any case, Im needing your help to clarify a few things in #880 and #882. I understand you might have not had the time to see it yet as I spammed a lot of things this past few days ahah, so I would like to meet with you very soon

brunofavs commented 3 months ago

We talked, my solution is fine