-
Notifications
You must be signed in to change notification settings - Fork 0
[PI Sprint 24/25 / PD-456] - [Feature] Implement Localization #34
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
Open
mbsaloka
wants to merge
45
commits into
master
Choose a base branch
from
feature/implement-localization
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 24 commits
Commits
Show all changes
45 commits
Select commit
Hold shift + click to select a range
7001d91
feat: add gyakuenki subscriber
mbsaloka 968b1cd
feat: add localization methods and attributes
mbsaloka 6bb8a55
feat: run localize when odometry updated and projected objetcs not empty
mbsaloka 4cd6c76
feat: add subscriber for delta position
mbsaloka a3e4132
fix: localize every get delta pos msg
mbsaloka a333ac1
feat: add subscriber for button status
mbsaloka 8c8be98
feat: use landmark label to calculate likelihood
mbsaloka 69ee83d
feat: update odometry use estimated pose
mbsaloka e57ca4b
feat: debug log
mbsaloka b942ba3
feat: debug and testing log
mbsaloka 58d2418
fix: change attribute name
mbsaloka 8c9f1b2
fix: apply estimate pose
mbsaloka 7f39056
refactor: remove debug logs
mbsaloka faef1d4
feat: use counter to initialize particles across the field
mbsaloka 06d20e2
fix: clear projected objects after evaluate particles
mbsaloka 7f253d9
feat: validate delta pose before localize
mbsaloka 81bd763
refactor: pass initial localization as method parameter
mbsaloka 0eed5ef
docs: add copyrights
mbsaloka 38fe626
refactor: clean up code
mbsaloka 94f3573
fix: change particles initialization range
mbsaloka cfd0ec8
fix: swap field width and length in init particles
mbsaloka 9938477
feat: validate estimated pose before apply using num particles
mbsaloka 5da59ed
fix: use radian for trigonometri calculation
mbsaloka 01b85a1
feat: add option to enable localization in config
mbsaloka b0f7c52
fix: improve loop code
mbsaloka d7b1f5a
feat: enhance resampling and pose estimate method
mbsaloka 8f4fee1
fix: apply localization and update position bug
mbsaloka 025cd46
feat: set particles number use config
mbsaloka d24ae4d
fix: adjust constant values and resolve stuck particles
mbsaloka 6298403
fix: refine localization calculation
mbsaloka 126190d
feat: add sigma to config
mbsaloka 2f35942
feat: add particles publisher
mbsaloka 7418faa
fix: fix reset particles
mbsaloka abdf34c
feat: add max object distance config
mbsaloka 967f304
fix: resolve resampling problem
mbsaloka 3706868
fix: change likelihood calculation from product to sum
mbsaloka ceea0fe
feat: publish estimated pose to particles topic
mbsaloka 1aca1fb
fix: adding motion noise to motion update
mbsaloka 750e8f3
feat: prevent particle evaluation when roll-pitch or pan-tilt out of …
mbsaloka 058d455
fix: resample and initial particles
mbsaloka b957cd0
feat: use hungarian for landmark matching
mbsaloka ac5cc3b
refactor: remove unused debug code and tidy up
mbsaloka ef150af
feat: adjust constraint and coef for localization
mbsaloka ffbc119
feat: locomotion follow method for continuous scanning
mbsaloka 2537233
feat: add jump rejection
mbsaloka File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
| // Copyright (c) 2025 Ichiro ITS | ||
| // | ||
| // Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| // of this software and associated documentation files (the "Software"), to deal | ||
| // in the Software without restriction, including without limitation the rights | ||
| // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| // copies of the Software, and to permit persons to whom the Software is | ||
| // furnished to do so, subject to the following conditions: | ||
| // | ||
| // The above copyright notice and this permission notice shall be included in | ||
| // all copies or substantial portions of the Software. | ||
| // | ||
| // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
| // THE SOFTWARE. | ||
|
|
||
| #ifndef SUIRYOKU__LOCOMOTION__MODEL__FIELD_HPP_ | ||
| #define SUIRYOKU__LOCOMOTION__MODEL__FIELD_HPP_ | ||
|
|
||
| #include <vector> | ||
|
|
||
| #include "keisan/keisan.hpp" | ||
|
|
||
| namespace suiryoku | ||
| { | ||
|
|
||
| struct Field | ||
| { | ||
| public: | ||
| int width; | ||
| int length; | ||
| std::vector<keisan::Point2> landmarks_L; | ||
| std::vector<keisan::Point2> landmarks_T; | ||
| std::vector<keisan::Point2> landmarks_X; | ||
| std::vector<keisan::Point2> landmarks_goalpost; | ||
|
|
||
| Field() | ||
| : width(600), | ||
| length(900), | ||
| landmarks_L({ | ||
| {0.0, 0.0}, | ||
| {0.0, 600.0}, | ||
| {100.0, 50.0}, | ||
| {100.0, 550.0}, | ||
| {900.0, 0.0}, | ||
| {900.0, 600.0}, | ||
| {800.0, 50.0}, | ||
| {800.0, 550.0} | ||
| }), | ||
| landmarks_T({ | ||
| {0.0, 50.0}, | ||
| {0.0, 550.0}, | ||
| {450.0, 0.0}, | ||
| {450.0, 600.0}, | ||
| {900.0, 50.0}, | ||
| {900.0, 550.0} | ||
| }), | ||
| landmarks_X({ | ||
| {210, 300}, | ||
| {690, 300}, | ||
| {450, 300}, | ||
| {450, 375}, | ||
| {450, 225} | ||
| }), | ||
| landmarks_goalpost({ | ||
| {0.0, 170.0}, | ||
| {0.0, 430.0}, | ||
| {900.0, 170.0}, | ||
| {900.0, 430.0} | ||
| }) | ||
| { | ||
| } | ||
| }; | ||
|
|
||
| } // namespace suiryoku | ||
|
|
||
| #endif // SUIRYOKU__LOCOMOTION__MODEL__FIELD_HPP_ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.