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

fail to run examples #1

Closed
Sollimann opened this issue Apr 27, 2021 · 7 comments
Closed

fail to run examples #1

Sollimann opened this issue Apr 27, 2021 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@Sollimann
Copy link

Hey, great library you have here. Will definitely have a closer look :) I have one issue now that I am unable to run your examples. I get this error here trying to run cargo run --examples visualization_2d_json. Any idea what might cause it?
image

@deltapi
Copy link
Contributor

deltapi commented Apr 27, 2021

Hi Sollimann,

thank you for the feedback. Could you please provide the following information:

  • What is the version of your toolchain?
  • Did you also test with stable?
  • What is your operating system?

Once I have the information I will take a look into the issue.

Regards
Daniel

@deltapi
Copy link
Contributor

deltapi commented Apr 27, 2021

I just did some quick research, and it seems that one of the dependencies has an issue in its current version. I´ll update the dependencies as soon as possible.

@deltapi deltapi self-assigned this Apr 27, 2021
@deltapi deltapi added the bug Something isn't working label Apr 27, 2021
@deltapi
Copy link
Contributor

deltapi commented Apr 27, 2021

Hey @Sollimann,

once you have the time, you could switch to the branch test_issue_1 and try to run the example again. Please let me know if that fixes the issue for you. I still have to do some cleanup on that branch but I´m curious if the problem was actually in the dependencies.

Best
Daniel

@Sollimann
Copy link
Author

Hey, @deltapi . Thank you for the quick answer. It runs now, thank you :) I tried the MIT_2d_optimized dataset. What are the different color codes in the image? Are the blue cubes landmarks, while the red spheres are sampled poses?

image

I have a few questions as well:

  • Are you running loop closure detection?
  • How could the code be changed to allow for laser scan data + robot odometry to solve the graph slam problem?
  • The sparse cholesky solver you have implemented, is that a pose graph optimization algorithm? Or is it some form of scan matching? or both?

I'm kind of new on the topic of graph slam. But I'd like to learn more about it :)

I love that you have chosen to implement this in Rust. I really hope the CV and robotics community gradually start transitioning to Rust instead of C++.

@deltapi
Copy link
Contributor

deltapi commented Apr 28, 2021

Hey @Sollimann,

thank you for your curiosity. I´d really love to go through some of the details with you in depth. Let me give some brief and maybe incomplete answers here:

  • The blue and red objects in the picture are the position measurements and the corresponding poses, respectively. The MIT dataset does not contain landmarks. Thus, it is a pure Pose/Position/Odometry-SLAM you are looking at.
  • Loop closure detection has not yet been a use case for us. We were facing with different traversals of the same region mainly.
  • Robot Odometry should not be an issue at all. Please take a look at the sample input files on how to specify odometry measurements in a json or g2o format.
  • Laser scan data may be a bit tricky, it depends on how you want to use it. If you want to have an association of observations to a certain landmark, you have to write some code yourself in order to do that. gs-rs is only the SLAM backend and expects that the association of observations to variables has already been performed.
  • We rely on a sparse cholesky algorithm contained in nalgebra. The choleski algorithm itself is just a clever way to decompose a matrix, it has nothing to do with the SLAM problem in the first place. I can point you to some resources if you are interested.

That said, I will close the issue here once our fix has been merged to main. It would be really cool if we could find a way to address your questions in person. Maybe we can even work together on improving the documentation.

Best
Daniel

@Sollimann
Copy link
Author

Thank you for you answer! I will most likely revisit this repository at some point. I have a hobby project I'm doing with a vacuum cleaner robot and I'm building the software from scratch in Rust. I'm currently working on my own implementation of a Occupancy Grid FastSLAM to go with the project, but I find GraphSLAM as a good option. Your implementation looks really solid and thorough, so I might try to apply a variant of your library. My front-end consist of wheel-odometry and a 2D laser scan.

@Sollimann
Copy link
Author

Sollimann commented Apr 29, 2021

I'll for sure let you know whenever I start using it! 👍 In that case I will also try to add additional documentation and examples to help you out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants