Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deskew in Config is erased by not passing --deskew in kiss_icp_pipeline #317

Closed
ClementLeBihan opened this issue Apr 8, 2024 · 8 comments

Comments

@ClementLeBihan
Copy link

Hi,
When calling kiss_icp_pipeline with a config file that contains deskew: True (kiss_icp_pipeline input.bag --topic /scan --config config.yaml), the deskew parameter is erased to False as OdometryPipeline is called with the deskew parameter from argument parser. So if I do not call kiss_icp_pipeline with the --deskew flag, it don't use the deskew parameter in config file.

Is it normal ?
Is there any other config option that are erased ?

@nachovizzo
Copy link
Collaborator

@ClementLeBihan are you sure about this ? could you please provide more details ? In my case is working.

PS: please post the config file

@ClementLeBihan
Copy link
Author

ClementLeBihan commented Apr 8, 2024

If it works on your case I'm not sure anymore, but when I print the deskew parameter in OdometryPipeline init function it is false, so load_config(config, deskew=deskew, max_range=max_range) is called with deskew=False and deskew is overidden to False in load_config function ...
When I add print("before overriding config : ", config) and print("after overriding config : ", config) in load_config.py here is what I got :

Before overriding config :  out_dir='results' data=DataConfig(preprocess=True, max_range=100.0, min_range=4.0, deskew=True) mapping=MappingConfig(voxel_size=0.5, max_points_per_voxel=50) adaptive_threshold=AdaptiveThresholdConfig(fixed_threshold=None, initial_threshold=2.0, min_motion_th=0.1)

After overriding config :  out_dir='results' data=DataConfig(preprocess=True, max_range=100.0, min_range=4.0, deskew=False) mapping=MappingConfig(voxel_size=0.5, max_points_per_voxel=50) adaptive_threshold=AdaptiveThresholdConfig(fixed_threshold=None, initial_threshold=2.0, min_motion_th=0.1)

And my pointcloud isn't deskewed ...

Here is my config file :

out_dir: "results"

data:
  deskew: True
  preprocess: True
  max_range: 100.0
  min_range: 4

mapping:
  voxel_size: 0.5
  max_points_per_voxel: 50

If I print("Cmd deskew : ", deskew) in cmd.py L228, it says deskew is False (as I haven't added --deskew flag)

I'm using kiss-icp 0.4.0 installed with pip and python 3.10.8

@nachovizzo
Copy link
Collaborator

Have you checked the data? That would be the most important thing. If you see the cloud being deskew or not? If you see perfect circles even when there is motion they it's not being deskewed. I'll check into this anyway

@ClementLeBihan
Copy link
Author

ClementLeBihan commented Apr 8, 2024

Yes I've checked the data and the pointcloud isn't deskew unless I add the flag --deskew.
Without --deskew flag, get_motion_compensator return StubCompensator().

On your side the deskew config parameter isn't overriden in config.py ?

@benemer
Copy link
Member

benemer commented Apr 11, 2024

This PR #305 should have solved this. Can you build KISS from source and check again?

@ClementLeBihan
Copy link
Author

Yes indeed ! Do you know when it will be available though pip ?

@benemer
Copy link
Member

benemer commented Apr 11, 2024

As soon as @nachovizzo pulls the trigger for a new release :)

We are currently changing quite a few things in another PR, so a new release is very likely to arrive soon!

@nachovizzo
Copy link
Collaborator

Thanks @benemer .
@ClementLeBihan it will take some time until the next release, in the meantime you can also run this very beautiful command to install that particular fix, or change it for main in case you want the latest

pip install git+https://github.com/PRBonn/kiss-icp.git@11c7d97d156a7ff72fefdacc3105db4a99805e0e#subdirectory=python

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants