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

Write tutorial on using Beluga #305

Closed
hidmic opened this issue Feb 9, 2024 · 2 comments
Closed

Write tutorial on using Beluga #305

hidmic opened this issue Feb 9, 2024 · 2 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@hidmic
Copy link
Collaborator

hidmic commented Feb 9, 2024

Feature description

Precisely what the title says. While Beluga's API is well documented, the only reference on how to make use of the library is a ROS node and some tests. That works against adoption. We need a golden example that builds up in complexity, showcasing Beluga's features. We need to guide newcomers on reproducing that example, one step at a time.

@hidmic hidmic added documentation Improvements or additions to documentation enhancement New feature or request labels Feb 9, 2024
@nahueespinosa
Copy link
Member

nahueespinosa commented Mar 21, 2024

Following up on the conversation on how to implement the golden example, the idea is to implement the one-dimensional hallway example for Monte Carlo Localization presented in Chapter 8.3 in Thrun et. al. using the Beluga core library without ROS dependencies.

Image

Here is a list of milestones that can be used as reference:

  1. Implement the program skeleton, focusing on the creation of a particle set (states and weights) structure and basic visualization capabilities.
    • This can be serializing to a file and then post-processing in Python, or simply writing the output to the terminal in a way that resembles the example in the book.
    • It is key to represent both the position (state) of the particle and the weight (could be a line's height, a circle's diameter, or something else).
  2. Develop the initialization function for the particle set to sample uniformly from a specified interval.
  3. Implement the sensor model capable of reweighting particles based on the map landmarks (doors) and the current position.
  4. Develop the motion model to update the positions of the particles, including a routine for moving particles at a constant rate in a given direction.
  5. Implement a basic resampling step that allows for the selection of particles based on their weights (no need to make it adaptive at this stage, so taking samples up to a fixed size is perfectly fine).

FYI @Alondruck @hidmic @gonzodepedro

Alondruck added a commit that referenced this issue Mar 25, 2024
Alondruck added a commit that referenced this issue Mar 25, 2024
Signed-off-by: Alon Druck <alon.druck@ekumenlabs.com>
@Alondruck Alondruck mentioned this issue Apr 9, 2024
7 tasks
nahueespinosa pushed a commit that referenced this issue May 23, 2024
### Proposed changes

Related to #305, split from #340. 

#### Type of change

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

### Checklist

- [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/)

---------

Signed-off-by: Alon Druck <alon.druck@ekumenlabs.com>
nahueespinosa pushed a commit that referenced this issue Jun 5, 2024
### Proposed changes

Related to #305, split from #340.

#### Type of change

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

### Checklist

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

---------

Signed-off-by: Alon Druck <alon.druck@ekumenlabs.com>
nahueespinosa pushed a commit that referenced this issue Jul 5, 2024
### Proposed changes

Related to #305, split from #340.

#### Type of change

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

### Checklist

- [x] Lint and unit tests (if any) pass locally with my changes
- [ ] 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/)

---------

Signed-off-by: Alon Druck <alon.druck@ekumenlabs.com>
Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Co-authored-by: Michel Hidalgo <michel@ekumenlabs.com>
@hidmic
Copy link
Collaborator Author

hidmic commented Jul 22, 2024

Addressed as of #365 and #387. @Alondruck are the scripts on #387 used for our tutorial?

@hidmic hidmic closed this as completed Jul 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants