Skip to content

Parking + Perception Integration. cleaned. ready to merge#174

Merged
krishauser merged 25 commits intos2025from
parking_perception_integration_merge
May 12, 2025
Merged

Parking + Perception Integration. cleaned. ready to merge#174
krishauser merged 25 commits intos2025from
parking_perception_integration_merge

Conversation

@AadarshHegde123
Copy link
Collaborator

Integration of Perception's cone detection into parking team's parking space detection. We have also integrated this perception pipeline to work within the overall integration scheme outlined by the Planning team.

Video attached showcasing this integration's functionality. For reference, the ParkingSim component is the component that runs Parking team's overall state machine logic (ie. starting in Scanning mode, checking if we found a goal parking space and updating state to Parking). The RoutePlanningComponent is the component that will actually run planning logic depending on what state we are in.

The overall component pipeline is ConeDetector3D (Perception Team) -> ParkingSpotsDetector3D (Parking Team) -> ParkingSim (Parking Team) -> RoutePlanningComponent (Shared with other Teams)

The actual integrated planning logic is not included in this PR.

perception_integration_functionality.mp4

@KenC1014
Copy link
Collaborator

KenC1014 commented May 1, 2025

Constants are now moved under utils/constants.py

@krishauser
Copy link
Owner

Perception PR is not yet merged pending review. Wait for their updates.

@krishauser krishauser closed this May 5, 2025
@AadarshHegde123
Copy link
Collaborator Author

Perception has converted cones to be obstacles and updated their PR. This has been integrated and tested on this branch.

@AadarshHegde123
Copy link
Collaborator Author

Decided "middle ground" approach for calibration files is that calibration team will have a script that can convert their yaml files to the format perception and parking wants with cameras.yaml. With this approach parking and perception PRs can remain unchanged and are both functional.

@sonarqubecloud
Copy link

sonarqubecloud bot commented May 7, 2025

@krishauser
Copy link
Owner

Still awaiting resolution of mission_plan.py and utils.py comments.

Copy link
Owner

@krishauser krishauser left a comment

Choose a reason for hiding this comment

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

Trying to submit file specific comments again…

@KenC1014
Copy link
Collaborator

KenC1014 commented May 8, 2025

The newest commit that address the above comments includes the follows:

  1. Removed lidar to vehicle transform from "constants.py". Instead, T_l2v was added to "camera.yaml", parking _detection component now reads in yaml file supplied by calibration as input arguments.
  2. "cone_detection.py" was using T_l2v from "constants.py" before, now it reads this value from the "camera.yaml" instead. (perception code modified)
  3. "parking_detection.yaml" was modified to take in proper arguments.
  4. There were multiple definitions of "obstacle_detection" component in the computational graph. The duplication was removed.
  5. vehicle length and width are now getting values from "gem_e4_geometry.yaml"

Flow was tested again with Rosbag after the above changes were made.

@KenC1014 KenC1014 requested a review from krishauser May 8, 2025 04:20
@AadarshHegde123
Copy link
Collaborator Author

Updated to include some changes perception made after feedback.

Copy link
Owner

@krishauser krishauser left a comment

Choose a reason for hiding this comment

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

Some continued minor changes

Copy link
Owner

Choose a reason for hiding this comment

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

Please put the new attributes in Obstacle, not ObstacleState

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This file is not authored by Parking team, we copy it from what perception has on their PR branch to ensure consistency. We looked at the file more closely we didn't think having a separate ObstacleState class was necessary.

I have talked with Tianyu and we have agreed to delete ObstacleState, and move anything needed to Obstacle. Please see commit 077ec81

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We are also up to date with Perception's PR, so this PR merged on its own will include all of perception's updates.

Ren990420 and others added 6 commits May 12, 2025 13:43
changed a few variable names
Removed ObstacleState
removed obstacle state
This is the default cone_detection.yaml. Verticals should modify this file and integrate with their planning & other functions.
Copy link
Owner

@krishauser krishauser left a comment

Choose a reason for hiding this comment

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

LGTM

@krishauser krishauser merged commit acc06b7 into s2025 May 12, 2025
1 of 2 checks passed
@krishauser krishauser deleted the parking_perception_integration_merge branch May 12, 2025 20:15
@sonarqubecloud
Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants