-
Notifications
You must be signed in to change notification settings - Fork 669
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
feat(multi_object_tracker): multi object input #6820
feat(multi_object_tracker): multi object input #6820
Conversation
cad733b
to
d8d35cd
Compare
d8d35cd
to
d0bd1b2
Compare
13dfe38
to
1f533f0
Compare
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
perception/multi_object_tracker/include/multi_object_tracker/debugger/debug_object.hpp
Outdated
Show resolved
Hide resolved
…ebugger/debug_object.hpp Co-authored-by: Shunsuke Miura <[email protected]> Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
827ead6
to
9edd2e0
Compare
perception/multi_object_tracker/include/multi_object_tracker/debugger/debug_object.hpp
Outdated
Show resolved
Hide resolved
perception/multi_object_tracker/src/processor/input_manager.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
2ffb7d8
to
4445c45
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with minor comments
perception/multi_object_tracker/src/processor/input_manager.cpp
Outdated
Show resolved
Hide resolved
perception/multi_object_tracker/src/tracker/model/tracker_base.cpp
Outdated
Show resolved
Hide resolved
Signed-off-by: Taekjin LEE <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
const rclcpp::Time & object_latest_time, const rclcpp::Time & object_oldest_time, | ||
ObjectsList & objects_list) | ||
{ | ||
assert(object_latest_time.nanoseconds() > object_oldest_time.nanoseconds()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@YoshiRi @technolojin @yukkysaito @miursh When launching planning simulator, this assertion always occurs at the start time in my environment. I appreciate it if someone could check if this assertion is valid.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wep21 Thanks.
@technolojin May I ask for confirmation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wep21 @yukkysaito
Thank you for your report. I will investigate it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* refactor: frequently used types, namespace Signed-off-by: Taekjin LEE <[email protected]> * test: multiple inputs Signed-off-by: Taekjin LEE <[email protected]> * feat: check latest measurement time Signed-off-by: Taekjin LEE <[email protected]> * feat: define input manager class Signed-off-by: Taekjin LEE <[email protected]> * feat: interval measures Signed-off-by: Taekjin LEE <[email protected]> * feat: store and sort inputs PoC Signed-off-by: Taekjin LEE <[email protected]> * chore: rename classes Signed-off-by: Taekjin LEE <[email protected]> * feat: object collector Signed-off-by: Taekjin LEE <[email protected]> * impl input manager, no subscribe Signed-off-by: Taekjin LEE <[email protected]> * fix: subscribe and trigger callback Signed-off-by: Taekjin LEE <[email protected]> * fix: subscriber and callbacks are working Signed-off-by: Taekjin LEE <[email protected]> * fix: callback object is fixed, tracker is working Signed-off-by: Taekjin LEE <[email protected]> * fix: get object time argument revise Signed-off-by: Taekjin LEE <[email protected]> * feat: back to periodic publish, analyze input latency and timings Signed-off-by: Taekjin LEE <[email protected]> * fix: enable timing debugger Signed-off-by: Taekjin LEE <[email protected]> * fix: separate object interval function Signed-off-by: Taekjin LEE <[email protected]> * feat: prepare message triggered process Signed-off-by: Taekjin LEE <[email protected]> * feat: trigger tracker by main message arrive Signed-off-by: Taekjin LEE <[email protected]> * chore: clean-up, set namespace Signed-off-by: Taekjin LEE <[email protected]> * feat: object lists with detector index Signed-off-by: Taekjin LEE <[email protected]> * feat: define input channel struct Signed-off-by: Taekjin LEE <[email protected]> * fix: define type for object list Signed-off-by: Taekjin LEE <[email protected]> * feat: add channel wise existence probability Signed-off-by: Taekjin LEE <[email protected]> * fix: relocate debugger Signed-off-by: Taekjin LEE <[email protected]> * fix: total existence logic change Signed-off-by: Taekjin LEE <[email protected]> * feat: publishing object debug info, need to fix marker id Signed-off-by: Taekjin LEE <[email protected]> * feat: indexing marker step 1 Signed-off-by: Taekjin LEE <[email protected]> * fix: uuid management Signed-off-by: Taekjin LEE <[email protected]> * feat: association line fix Signed-off-by: Taekjin LEE <[email protected]> * feat: print channel names Signed-off-by: Taekjin LEE <[email protected]> * feat: association lines are color-coded Signed-off-by: Taekjin LEE <[email protected]> * fix: association debug marker bugfix Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix Signed-off-by: Taekjin LEE <[email protected]> * feat: add option for debug marker Signed-off-by: Taekjin LEE <[email protected]> * feat: skip time statistics update in case of outlier Signed-off-by: Taekjin LEE <[email protected]> * feat: auto-tune latency band Signed-off-by: Taekjin LEE <[email protected]> * feat: pre-defined channels, select on launcher Signed-off-by: Taekjin LEE <[email protected]> * feat: add input channels Signed-off-by: Taekjin LEE <[email protected]> * fix: remove marker idx map Signed-off-by: Taekjin LEE <[email protected]> * fix: to do not miss the latest message of the target stream Signed-off-by: Taekjin LEE <[email protected]> * fix: remove priority, separate timing optimization Signed-off-by: Taekjin LEE <[email protected]> * fix: time interval bug fix Signed-off-by: Taekjin LEE <[email protected]> * chore: refactoring timing state update Signed-off-by: Taekjin LEE <[email protected]> * fix: set parameters optionally Signed-off-by: Taekjin LEE <[email protected]> * feat: revise object time range logic Signed-off-by: Taekjin LEE <[email protected]> * fix: launcher to set input channels Signed-off-by: Taekjin LEE <[email protected]> * fix: exempt spell check 'pointpainting' Signed-off-by: Taekjin LEE <[email protected]> * feat: remove expected interval Signed-off-by: Taekjin LEE <[email protected]> * feat: implement spawn switch Signed-off-by: Taekjin LEE <[email protected]> * fix: remove debug messages Signed-off-by: Taekjin LEE <[email protected]> * chore: update readme Signed-off-by: Taekjin LEE <[email protected]> * fix: change tentative object topic Signed-off-by: Taekjin LEE <[email protected]> * Revert "fix: remove debug messages" This reverts commit 725a49e. Signed-off-by: Taekjin LEE <[email protected]> * fix: reset times when jumps to past Signed-off-by: Taekjin LEE <[email protected]> * fix: check if interval is negative Signed-off-by: Taekjin LEE <[email protected]> * fix: missing config, default value Signed-off-by: Taekjin LEE <[email protected]> * fix: remove debug messages Signed-off-by: Taekjin LEE <[email protected]> * fix: change no-object message level Signed-off-by: Taekjin LEE <[email protected]> * Update perception/multi_object_tracker/include/multi_object_tracker/debugger/debug_object.hpp Co-authored-by: Shunsuke Miura <[email protected]> Signed-off-by: Taekjin LEE <[email protected]> * chore: Update copyright to uppercase Signed-off-by: Taekjin LEE <[email protected]> * chore: fix readme links to config files Signed-off-by: Taekjin LEE <[email protected]> * chore: move and rename uuid functions Signed-off-by: Taekjin LEE <[email protected]> * chore: fix debug topic to use node name Signed-off-by: Taekjin LEE <[email protected]> * chore: express meaning of threshold Signed-off-by: Taekjin LEE <[email protected]> * feat: revise decay rate, update function Signed-off-by: Taekjin LEE <[email protected]> * fix: define constants with explanation Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: Taekjin LEE <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Shunsuke Miura <[email protected]>
* refactor: frequently used types, namespace Signed-off-by: Taekjin LEE <[email protected]> * test: multiple inputs Signed-off-by: Taekjin LEE <[email protected]> * feat: check latest measurement time Signed-off-by: Taekjin LEE <[email protected]> * feat: define input manager class Signed-off-by: Taekjin LEE <[email protected]> * feat: interval measures Signed-off-by: Taekjin LEE <[email protected]> * feat: store and sort inputs PoC Signed-off-by: Taekjin LEE <[email protected]> * chore: rename classes Signed-off-by: Taekjin LEE <[email protected]> * feat: object collector Signed-off-by: Taekjin LEE <[email protected]> * impl input manager, no subscribe Signed-off-by: Taekjin LEE <[email protected]> * fix: subscribe and trigger callback Signed-off-by: Taekjin LEE <[email protected]> * fix: subscriber and callbacks are working Signed-off-by: Taekjin LEE <[email protected]> * fix: callback object is fixed, tracker is working Signed-off-by: Taekjin LEE <[email protected]> * fix: get object time argument revise Signed-off-by: Taekjin LEE <[email protected]> * feat: back to periodic publish, analyze input latency and timings Signed-off-by: Taekjin LEE <[email protected]> * fix: enable timing debugger Signed-off-by: Taekjin LEE <[email protected]> * fix: separate object interval function Signed-off-by: Taekjin LEE <[email protected]> * feat: prepare message triggered process Signed-off-by: Taekjin LEE <[email protected]> * feat: trigger tracker by main message arrive Signed-off-by: Taekjin LEE <[email protected]> * chore: clean-up, set namespace Signed-off-by: Taekjin LEE <[email protected]> * feat: object lists with detector index Signed-off-by: Taekjin LEE <[email protected]> * feat: define input channel struct Signed-off-by: Taekjin LEE <[email protected]> * fix: define type for object list Signed-off-by: Taekjin LEE <[email protected]> * feat: add channel wise existence probability Signed-off-by: Taekjin LEE <[email protected]> * fix: relocate debugger Signed-off-by: Taekjin LEE <[email protected]> * fix: total existence logic change Signed-off-by: Taekjin LEE <[email protected]> * feat: publishing object debug info, need to fix marker id Signed-off-by: Taekjin LEE <[email protected]> * feat: indexing marker step 1 Signed-off-by: Taekjin LEE <[email protected]> * fix: uuid management Signed-off-by: Taekjin LEE <[email protected]> * feat: association line fix Signed-off-by: Taekjin LEE <[email protected]> * feat: print channel names Signed-off-by: Taekjin LEE <[email protected]> * feat: association lines are color-coded Signed-off-by: Taekjin LEE <[email protected]> * fix: association debug marker bugfix Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix Signed-off-by: Taekjin LEE <[email protected]> * feat: add option for debug marker Signed-off-by: Taekjin LEE <[email protected]> * feat: skip time statistics update in case of outlier Signed-off-by: Taekjin LEE <[email protected]> * feat: auto-tune latency band Signed-off-by: Taekjin LEE <[email protected]> * feat: pre-defined channels, select on launcher Signed-off-by: Taekjin LEE <[email protected]> * feat: add input channels Signed-off-by: Taekjin LEE <[email protected]> * fix: remove marker idx map Signed-off-by: Taekjin LEE <[email protected]> * fix: to do not miss the latest message of the target stream Signed-off-by: Taekjin LEE <[email protected]> * fix: remove priority, separate timing optimization Signed-off-by: Taekjin LEE <[email protected]> * fix: time interval bug fix Signed-off-by: Taekjin LEE <[email protected]> * chore: refactoring timing state update Signed-off-by: Taekjin LEE <[email protected]> * fix: set parameters optionally Signed-off-by: Taekjin LEE <[email protected]> * feat: revise object time range logic Signed-off-by: Taekjin LEE <[email protected]> * fix: launcher to set input channels Signed-off-by: Taekjin LEE <[email protected]> * fix: exempt spell check 'pointpainting' Signed-off-by: Taekjin LEE <[email protected]> * feat: remove expected interval Signed-off-by: Taekjin LEE <[email protected]> * feat: implement spawn switch Signed-off-by: Taekjin LEE <[email protected]> * fix: remove debug messages Signed-off-by: Taekjin LEE <[email protected]> * chore: update readme Signed-off-by: Taekjin LEE <[email protected]> * fix: change tentative object topic Signed-off-by: Taekjin LEE <[email protected]> * Revert "fix: remove debug messages" This reverts commit 725a49e. Signed-off-by: Taekjin LEE <[email protected]> * fix: reset times when jumps to past Signed-off-by: Taekjin LEE <[email protected]> * fix: check if interval is negative Signed-off-by: Taekjin LEE <[email protected]> * fix: missing config, default value Signed-off-by: Taekjin LEE <[email protected]> * fix: remove debug messages Signed-off-by: Taekjin LEE <[email protected]> * fix: change no-object message level Signed-off-by: Taekjin LEE <[email protected]> * Update perception/multi_object_tracker/include/multi_object_tracker/debugger/debug_object.hpp Co-authored-by: Shunsuke Miura <[email protected]> Signed-off-by: Taekjin LEE <[email protected]> * chore: Update copyright to uppercase Signed-off-by: Taekjin LEE <[email protected]> * chore: fix readme links to config files Signed-off-by: Taekjin LEE <[email protected]> * chore: move and rename uuid functions Signed-off-by: Taekjin LEE <[email protected]> * chore: fix debug topic to use node name Signed-off-by: Taekjin LEE <[email protected]> * chore: express meaning of threshold Signed-off-by: Taekjin LEE <[email protected]> * feat: revise decay rate, update function Signed-off-by: Taekjin LEE <[email protected]> * fix: define constants with explanation Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: Taekjin LEE <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Shunsuke Miura <[email protected]>
* refactor: frequently used types, namespace Signed-off-by: Taekjin LEE <[email protected]> * test: multiple inputs Signed-off-by: Taekjin LEE <[email protected]> * feat: check latest measurement time Signed-off-by: Taekjin LEE <[email protected]> * feat: define input manager class Signed-off-by: Taekjin LEE <[email protected]> * feat: interval measures Signed-off-by: Taekjin LEE <[email protected]> * feat: store and sort inputs PoC Signed-off-by: Taekjin LEE <[email protected]> * chore: rename classes Signed-off-by: Taekjin LEE <[email protected]> * feat: object collector Signed-off-by: Taekjin LEE <[email protected]> * impl input manager, no subscribe Signed-off-by: Taekjin LEE <[email protected]> * fix: subscribe and trigger callback Signed-off-by: Taekjin LEE <[email protected]> * fix: subscriber and callbacks are working Signed-off-by: Taekjin LEE <[email protected]> * fix: callback object is fixed, tracker is working Signed-off-by: Taekjin LEE <[email protected]> * fix: get object time argument revise Signed-off-by: Taekjin LEE <[email protected]> * feat: back to periodic publish, analyze input latency and timings Signed-off-by: Taekjin LEE <[email protected]> * fix: enable timing debugger Signed-off-by: Taekjin LEE <[email protected]> * fix: separate object interval function Signed-off-by: Taekjin LEE <[email protected]> * feat: prepare message triggered process Signed-off-by: Taekjin LEE <[email protected]> * feat: trigger tracker by main message arrive Signed-off-by: Taekjin LEE <[email protected]> * chore: clean-up, set namespace Signed-off-by: Taekjin LEE <[email protected]> * feat: object lists with detector index Signed-off-by: Taekjin LEE <[email protected]> * feat: define input channel struct Signed-off-by: Taekjin LEE <[email protected]> * fix: define type for object list Signed-off-by: Taekjin LEE <[email protected]> * feat: add channel wise existence probability Signed-off-by: Taekjin LEE <[email protected]> * fix: relocate debugger Signed-off-by: Taekjin LEE <[email protected]> * fix: total existence logic change Signed-off-by: Taekjin LEE <[email protected]> * feat: publishing object debug info, need to fix marker id Signed-off-by: Taekjin LEE <[email protected]> * feat: indexing marker step 1 Signed-off-by: Taekjin LEE <[email protected]> * fix: uuid management Signed-off-by: Taekjin LEE <[email protected]> * feat: association line fix Signed-off-by: Taekjin LEE <[email protected]> * feat: print channel names Signed-off-by: Taekjin LEE <[email protected]> * feat: association lines are color-coded Signed-off-by: Taekjin LEE <[email protected]> * fix: association debug marker bugfix Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix Signed-off-by: Taekjin LEE <[email protected]> * feat: add option for debug marker Signed-off-by: Taekjin LEE <[email protected]> * feat: skip time statistics update in case of outlier Signed-off-by: Taekjin LEE <[email protected]> * feat: auto-tune latency band Signed-off-by: Taekjin LEE <[email protected]> * feat: pre-defined channels, select on launcher Signed-off-by: Taekjin LEE <[email protected]> * feat: add input channels Signed-off-by: Taekjin LEE <[email protected]> * fix: remove marker idx map Signed-off-by: Taekjin LEE <[email protected]> * fix: to do not miss the latest message of the target stream Signed-off-by: Taekjin LEE <[email protected]> * fix: remove priority, separate timing optimization Signed-off-by: Taekjin LEE <[email protected]> * fix: time interval bug fix Signed-off-by: Taekjin LEE <[email protected]> * chore: refactoring timing state update Signed-off-by: Taekjin LEE <[email protected]> * fix: set parameters optionally Signed-off-by: Taekjin LEE <[email protected]> * feat: revise object time range logic Signed-off-by: Taekjin LEE <[email protected]> * fix: launcher to set input channels Signed-off-by: Taekjin LEE <[email protected]> * fix: exempt spell check 'pointpainting' Signed-off-by: Taekjin LEE <[email protected]> * feat: remove expected interval Signed-off-by: Taekjin LEE <[email protected]> * feat: implement spawn switch Signed-off-by: Taekjin LEE <[email protected]> * fix: remove debug messages Signed-off-by: Taekjin LEE <[email protected]> * chore: update readme Signed-off-by: Taekjin LEE <[email protected]> * fix: change tentative object topic Signed-off-by: Taekjin LEE <[email protected]> * Revert "fix: remove debug messages" This reverts commit 725a49e. Signed-off-by: Taekjin LEE <[email protected]> * fix: reset times when jumps to past Signed-off-by: Taekjin LEE <[email protected]> * fix: check if interval is negative Signed-off-by: Taekjin LEE <[email protected]> * fix: missing config, default value Signed-off-by: Taekjin LEE <[email protected]> * fix: remove debug messages Signed-off-by: Taekjin LEE <[email protected]> * fix: change no-object message level Signed-off-by: Taekjin LEE <[email protected]> * Update perception/multi_object_tracker/include/multi_object_tracker/debugger/debug_object.hpp Co-authored-by: Shunsuke Miura <[email protected]> Signed-off-by: Taekjin LEE <[email protected]> * chore: Update copyright to uppercase Signed-off-by: Taekjin LEE <[email protected]> * chore: fix readme links to config files Signed-off-by: Taekjin LEE <[email protected]> * chore: move and rename uuid functions Signed-off-by: Taekjin LEE <[email protected]> * chore: fix debug topic to use node name Signed-off-by: Taekjin LEE <[email protected]> * chore: express meaning of threshold Signed-off-by: Taekjin LEE <[email protected]> * feat: revise decay rate, update function Signed-off-by: Taekjin LEE <[email protected]> * fix: define constants with explanation Signed-off-by: Taekjin LEE <[email protected]> * style(pre-commit): autofix --------- Signed-off-by: Taekjin LEE <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Shunsuke Miura <[email protected]>
Description
Enable multi_object_tracker subscribe multiple detected objects topics.
This PR contains the following components/updates.
The following is an example of possible perception pipeline diagram (the PR do not contain changes of the pipeline).
Related links
TIER IV INTERNAL
Tests performed
multi_input_mot_test1.mp4
debug message
Tests on Autoware enviornments
Tests on the simulations provided by the Autoware tutorials were operated and the system worked.
Notes for reviewers
prior PR on autoware_launch.
This PR will be merged after the launcher is updated.
Interface changes
Additional configuration of input channel selection is added.
Effects on system behavior
Default value is single input.
The overall perception pipeline will work as same as before.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.
In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.
Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.
After all checkboxes are checked, anyone who has write access can merge the PR.