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

feat(multi_object_tracker): multi object input #6820

Merged

Conversation

technolojin
Copy link
Contributor

@technolojin technolojin commented Apr 16, 2024

Description

Enable multi_object_tracker subscribe multiple detected objects topics.

This PR contains the following components/updates.

  • Channel configuration: Provide all available sources of detections.
  • Input manager: Manage multiple detected object message channels.
  • Process timing algorithm: Operate the tracking process in an optimal set of objects to reduce latency.
  • Existence model: Model the existence probability of each detection source to understand the contributions of detections.
  • Debugger: Visualize association results and existence probability on each channel.

The following is an example of possible perception pipeline diagram (the PR do not contain changes of the pipeline).
Screenshot from 2024-04-16 13-51-46

Related links

TIER IV INTERNAL

Tests performed

multi_input_mot_test1.mp4

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.

  • The PR follows the pull request guidelines.
  • The PR has been properly tested.
  • The PR has been reviewed by the code owners.

Post-review checklist for the PR author

The PR author must check the checkboxes below before merging.

  • There are no open discussions or they are tracked via tickets.
  • The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@technolojin technolojin self-assigned this Apr 16, 2024
@github-actions github-actions bot added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Apr 16, 2024
@technolojin technolojin force-pushed the feat/mot-multi-object-input branch from cad733b to d8d35cd Compare May 8, 2024 04:02
@github-actions github-actions bot added the component:launch Launch files, scripts and initialization tools. (auto-assigned) label May 8, 2024
@technolojin technolojin force-pushed the feat/mot-multi-object-input branch from d8d35cd to d0bd1b2 Compare May 9, 2024 08:24
@technolojin technolojin linked an issue May 9, 2024 that may be closed by this pull request
3 tasks
@technolojin technolojin force-pushed the feat/mot-multi-object-input branch from 13dfe38 to 1f533f0 Compare May 13, 2024 06:33
@github-actions github-actions bot added the type:documentation Creating or refining documentation. (auto-assigned) label May 13, 2024
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]>
@technolojin technolojin marked this pull request as ready for review May 14, 2024 08:29
@technolojin technolojin added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label May 16, 2024
technolojin and others added 3 commits May 16, 2024 16:54
…ebugger/debug_object.hpp

Co-authored-by: Shunsuke Miura <[email protected]>
Signed-off-by: Taekjin LEE <[email protected]>
@technolojin technolojin force-pushed the feat/mot-multi-object-input branch from 827ead6 to 9edd2e0 Compare May 16, 2024 07:55
@technolojin technolojin force-pushed the feat/mot-multi-object-input branch from 2ffb7d8 to 4445c45 Compare May 17, 2024 01:22
@technolojin technolojin requested a review from yukkysaito May 17, 2024 01:25
Copy link
Contributor

@YoshiRi YoshiRi left a 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

@technolojin technolojin merged commit 3aa84b0 into autowarefoundation:main May 23, 2024
22 of 24 checks passed
const rclcpp::Time & object_latest_time, const rclcpp::Time & object_oldest_time,
ObjectsList & objects_list)
{
assert(object_latest_time.nanoseconds() > object_oldest_time.nanoseconds());
Copy link
Contributor

@wep21 wep21 May 26, 2024

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.

Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wep21
I made a fix. #7127
However, I couldn't reproduce the situation with the planning simulator.

Can you test this modification and let me know if the issue is resolved?

karishma1911 pushed a commit to Interplai/autoware.universe that referenced this pull request Jun 3, 2024
* 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]>
a-maumau pushed a commit to a-maumau/autoware.universe that referenced this pull request Jun 7, 2024
* 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]>
KhalilSelyan pushed a commit that referenced this pull request Jul 22, 2024
* 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]>
@technolojin technolojin deleted the feat/mot-multi-object-input branch July 26, 2024 02:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:launch Launch files, scripts and initialization tools. (auto-assigned) component:perception Advanced sensor data processing and environment understanding. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) type:documentation Creating or refining documentation. (auto-assigned)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace serialized detected object mergers to reduce complexity
5 participants