GithubHelp home page GithubHelp logo

Comments (10)

mikeferguson avatar mikeferguson commented on May 18, 2024 1

Not sure how far into this you are -- but it really doesn't ignore dynamic obstacles. Basically, the assumption is that the fixed obstacles largely outweigh the dynamic ones and so it tends towards the right answer. The implementation is about 20 years old, and follows the Probabilistic Robotics book pretty closely (the parameter descriptions in the ROS driver actually reference the book rather than describe in extreme detail how the parameters work)

from navigation2.

mikeferguson avatar mikeferguson commented on May 18, 2024 1

My understanding is that Diff Corrected is actually correct to the book. If you do git-blame on the original repo I think you’ll see the issue and PR (it’s only like 2 years ago that was fixed, so we didn’t want to change scoring for all the existing robots).

For ros2, I would drop the old ones, and remove corrected from the names of the ones you keep.

from navigation2.

SteveMacenski avatar SteveMacenski commented on May 18, 2024 1

In agreement with @mikeferguson, I went through a AMCL sprint a few months back and came to the same conclusion - and got a nice performance boost to boot.

Cant speak to the derivation off hand, but I have a copy in my library at home

from navigation2.

SteveMacenski avatar SteveMacenski commented on May 18, 2024 1

I'll take a look when I get home later. But this should provide some details. https://answers.ros.org/question/54467/is-amcls-implementation-of-the-odometry-model-correct/

from navigation2.

SteveMacenski avatar SteveMacenski commented on May 18, 2024

There's a beam skipping feature which attempts to do some of that - but I can't speak much to its effectiveness though seems to help some.

from navigation2.

mikeferguson avatar mikeferguson commented on May 18, 2024

@SteveMacenski -- that's a good point -- I actually forgot that existed.

from navigation2.

SteveMacenski avatar SteveMacenski commented on May 18, 2024

Strengthening that would be a nice AMCL feature.

I have a small bucket list I'd like to see to make it more extendable (extend for 3D, configuration for sampling beams non-uniformly, changing the weighting scheme to deal with short hits better, better precomputation methods). I'm hoping to get some of those into AMCL in the normal nav stack but depending on how fast this develops, I might here as well - is there a ticket for AMCL new features in this repo?

from navigation2.

mhpanah avatar mhpanah commented on May 18, 2024

@mikeferguson that assumption make sense when the number of dynamic objects surrounding the robot is low. So far I've been just straight porting the amcl package and did some minor code refactoring. I'm planning to see where amcl can be improved and omitting the dynamic objects could be one area for improvement.

@SteveMacenski I haven't yet looked at the beam skipping feature, but that seems promising.

My goal is to improve amcl for our navigation package please let me know if you guys have any suggestions or if there are any features that would be nice to have. Thanks in advance.

from navigation2.

mhpanah avatar mhpanah commented on May 18, 2024

@SteveMacenski @mikeferguson Do you guys know why in AMCL's motion model there is ODOM_MODEL_DIFF and ODOM_MODEL_DIFF_CORRECTED? Also OMNI and OMNI_CORRECTED? Thanks.

Also, is the omni motion model also derived from Probabilistic Robotics textbook?

from navigation2.

mhpanah avatar mhpanah commented on May 18, 2024

Thanks @mikeferguson and @SteveMacenski .
I will take a look at git-blame for amcl and then drop the old code.

@SteveMacenski It would be great if you could send me the copy of the derivation so that I can double check the code to make sure it's correct.

from navigation2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.