Skip to content

feat(freespace_planner): parking module enhancement #1935

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

Draft
wants to merge 22 commits into
base: awf-latest
Choose a base branch
from

Conversation

YCLiu-TD
Copy link

@YCLiu-TD YCLiu-TD commented Mar 28, 2025

Description

Provide two different-stage planners to assist the Freespace Planner module in generating parking-friendly paths, aiming to reduce the final angular deviation between the vehicle and the designated goal pose. These consist of two main enhancements: an improved heuristic function for the A* algorithm that enables the planner to generate more trackable paths, and a reparking function as a recovery mechanism when the vehicle deviates from the target orientation during parking. An additional update includes the implementation of a grid map resolution switching feature.

  1. Improvement A* heuristic function
    Introduce a final segment threshold range, within which three additional cost weights are considered: the pose deviation between the vehicle and the goal, the lateral distance to the goal’s extension line, and the steering angle change between steps. This encourages the planner to generate a straighter reverse path within the final segment, reducing the difficulty for the controller to track the path and minimizing steering adjustments near the goal, thereby improving parking precision.
    image
    Comparison of planned paths between the baseline method and the proposed method.

  2. Reparking function
    If the vehicle's orientation deviates from the goal by more than ±1 degree after the initial parking attempt, the system triggers a reparking mechanism. This mechanism uses the A* algorithm to generate a new path that first moves the vehicle away from the goal to realign, then approaches the goal again—mimicking human-like parking behavior through iterative fine-tuning. The system allows up to three reparking attempts per parking cycle. If any of the three attempts results in an orientation error within ±1 degree, the parking is considered successful. If all three attempts fail to meet this criterion, the system returns a message indicating the maximum number of parking attempts has been reached and stops triggering further replanning, marking the end of the parking cycle.
    image
    The reparking mechanism generates a complete path that first moves the vehicle away from the goal for alignment correction and then guides it back toward the goal for re-entry.

  3. High resolution occupancy grid map
    The default resolution used by the perception module is 0.5 meters, and an additional grid map with a finer 0.25-meter resolution is introduced. When planning fails with the default resolution, the system switches to the finer grid map for path search, reducing the risk of obstacle misclassification caused by coarse grid sizes.
    Screenshot from 2025-02-05 10-38-25
    map resolution 0.5m
    Screenshot from 2025-02-05 12-02-02
    map resolution 0.25m

Test map
parking.zip

Related links

Parent Issue:

How was this PR tested?

This pull request was tested in Psim.

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

Copy link

github-actions bot commented Mar 28, 2025

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@YCLiu-TD YCLiu-TD marked this pull request as draft March 28, 2025 11:33
YCLiu-TD and others added 2 commits March 31, 2025 18:20
…tions for departing and arriving maneuvers during reparking to achieve earlier alignment.

Signed-off-by: Yu-Cheng Liu <[email protected]>
YCLiu-TD and others added 2 commits April 3, 2025 01:05
…ance to reparking_distance to improve readability.

Signed-off-by: Yu-Cheng Liu <[email protected]>
…er_converged temporally

Signed-off-by: NickYang-Turing <[email protected]>
pre-commit-ci bot and others added 7 commits April 2, 2025 17:08
…le names and explanations.

Signed-off-by: Yu-Cheng Liu <[email protected]>
…function with node expansion logic to encourage alignment with the goal orientation during vehicle pull-out phase.

Signed-off-by: Yu-Cheng Liu <[email protected]>
…n_out_distance_ to reparking_distance_

Signed-off-by: Yu-Cheng Liu <[email protected]>
…r is_steer_converged temporally"

This reverts commit 43e39f2.
Copy link

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