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(autonomous_emergency_braking): update and speed up aeb #1532

Closed
wants to merge 15 commits into from

Conversation

danielsanchezaran
Copy link

@danielsanchezaran danielsanchezaran commented Sep 11, 2024

Description

This PR updates the AEB module to match the current OSS implementation.
Improvements include:

  1. AEB can function when one path (imu or mpc) is missing.
  2. Fixes bug causing the MPC predicted path to have an extra, unwanted polygon
  3. Adds info markers to AEB to improve visibility
  4. Adds the timekeeper to better track AEB performance
  5. Speeds up AEB with refactoring by reducing expensive function calls.

Related links

Parent Issue:

  • Link

How was this PR tested?

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

danielsanchezaran and others added 15 commits September 11, 2024 09:20
…aeb (autowarefoundation#7548)

* add polling sub to predicted objects

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP requires changing path frame to map

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add parameters and reuse predicted obj speed

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* introduce early break to reduce computation time

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* resolve merge conflicts

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix guard

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove unused declaration

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix include

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix include issues

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove inline

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete unused dependencies

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add utils.cpp

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove _ for non member variable

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…utowarefoundation#7605)

* add minimum cluster height threshold

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add update param option

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* use param

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* avoid the float check if cluster_surpasses_threshold_height is already true

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* update README

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add cluster height description

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…oundation#7740)

change resize to reserve

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…utowarefoundation#7707)

* add support for negative speeds

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* remove negative speed check for predicted obj

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…utowarefoundation#7703)

* apply clangd suggestions

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add maintainer

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…owarefoundation#7894)

* add virtual stop wall to aeb

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add maintainer

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add uppercase

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* use motion utils function instead of shiftPose

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…state (autowarefoundation#8312)

add info marker and override for state

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…warefoundation#8330)

update readme for new param

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…undation#8126)

* add initial tests

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add more tests

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* more tests

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP add publishing and test subscription

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add more tests

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix lint cmake

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* WIP tf topic

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* Revert "WIP tf topic"

This reverts commit b5ef11b.

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add path crop test

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add test for transform object

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add briefs

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* delete repeated test

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…autowarefoundation#8569)

* make it so AEB works with only one req path type (imu or MPC)

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* fix missing mpc path return

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add check

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* modify no path msg

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…arefoundation#8611)

fix bug by using the collision data keeper

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…DME (autowarefoundation#8612)

* docs: improve AEB module's README

Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp>

* update rss distance length

Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp>
---------

Signed-off-by: Kyoichi Sugahara <kyoichi.sugahara@tier4.jp>
…undation#8706)

* add timekeeper to AEB

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add more info to output

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…t transform (autowarefoundation#8734)

set stamp to 0 to get the latest stamp instead of waiting for the stamp

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
…8778)

* add missing rclcpp::Time(0)

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* refactor to reduce cropping to once per iteration

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* add LookUpTransform to utils

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* separate object creation and clustering

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

* error handling of empty pointcloud

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>

---------

Signed-off-by: Daniel Sanchez <danielsanchezaran@gmail.com>
Copy link

@rej55 rej55 deleted the beta/v0.29.0+update-aeb branch December 25, 2024 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants