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

Extend likelihood field to model unexplored space #55

Open
1 task
Tracked by #314
nahueespinosa opened this issue Jan 9, 2023 · 0 comments
Open
1 task
Tracked by #314

Extend likelihood field to model unexplored space #55

nahueespinosa opened this issue Jan 9, 2023 · 0 comments
Assignees
Labels
cpp Related to C++ code enhancement New feature or request

Comments

@nahueespinosa
Copy link
Member

nahueespinosa commented Jan 9, 2023

Description

Probabilistic Robotics, Chapter 6.4.2 mentions a few disadvantages of the likelihood field sensor model:

  • It does not explicitly model people and other dynamics that might cause short readings.
  • It treats sensors as if they can “see through walls".
  • It does not take map uncertainty into account.

To diminish the effect of these limitations, the following extension is proposed:

[...] one might sort map occupancy values into three categories: occupied, free, and unknown, instead of just the first two. When a sensor measurement $z^k_t$ falls into the category unknown, its probability $p(z^k_t | x_t, m)$ is assumed to be the constant value $1 / z_{max}$. The resulting probabilistic model is that in the unexplored space, every sensor measurement is equally likely.

Definition of Done

  • Update our likelihood field model implementation to model unexplored space.
@nahueespinosa nahueespinosa added enhancement New feature or request cpp Related to C++ code good first issue Good for newcomers labels Jan 9, 2023
@nahueespinosa nahueespinosa changed the title Extend likellihood field to model unexplored space Extend likelihood field to model unexplored space Jan 10, 2023
@nahueespinosa nahueespinosa removed the good first issue Good for newcomers label May 16, 2023
DPR00 pushed a commit that referenced this issue Aug 22, 2024
DPR00 pushed a commit that referenced this issue Aug 23, 2024
Signed-off-by: Diego Palma <dpalma@symbotic.com>
DPR00 pushed a commit that referenced this issue Aug 29, 2024
Signed-off-by: Diego Palma <dpalma@symbotic.com>
DPR00 pushed a commit that referenced this issue Aug 31, 2024
Signed-off-by: Diego Palma <dpalma@symbotic.com>
hidmic pushed a commit that referenced this issue Oct 5, 2024
### Proposed changes

The following changes are proposed in order to enhance the Likelihood
Field Model based on the suggestions described on #55:
- First, a new function `unknown_obstacle_data()` is created to ideally
replace the `obstacle_data()` function in
`beluga/sensor/data/OccupancyGrid.hpp`. This new function will return a
`srd::tuple<bool, bool>` containing the values which are occupied and
unknown.
- Then, this new function will be passed to calculate the distance map
using a new function `nearest_obstacle_unknown_distance_map`. This new
function will ideally replace the `nearest_obstacle_distance_map`
function.
- The value of the distance map for unknown values is assigned with a
pre-computed value inside the `nearest_obstacle_unknown_distance_map`
function. Based on this computed value, the likelihood will be
$\frac{1}{z_{max}}$.

Some comments:
- It passed the compilation steps and the beluga example was tested. It
would be nice to make some maps testing the draft. How could I perform
that?

#### Type of change

- [ ] 🐛 Bugfix (change which fixes an issue)
- [x] 🚀 Feature (change which adds functionality)
- [ ] 📚 Documentation (change which fixes or extends documentation)

💥 **Breaking change!** _Explain why a non-backwards compatible change is
necessary or remove this line entirely if not applicable._

### Checklist

_Put an `x` in the boxes that apply. This is simply a reminder of what
we will require before merging your code._

- [x] Lint and unit tests (if any) pass locally with my changes
- [x] I have added tests that prove my fix is effective or that my
feature works
- [x] I have added necessary documentation (if appropriate)
- [x] All commits have been signed for
[DCO](https://developercertificate.org/)

### Additional comments

---------

Signed-off-by: Diego Palma <dpalma@symbotic.com>
Co-authored-by: Diego Palma <dpalma@symbotic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cpp Related to C++ code enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants