PJLab-ADG / LeapAD

Continuously Learning, Adapting, and Improving: A Dual-Process Approach to Autonomous Driving
Apache License 2.0
58 stars 3 forks source link

Questions on converting meta action to control signals. #1

Open BritaryZhou opened 2 days ago

BritaryZhou commented 2 days ago

Thank you for such great work! I have some questions about how to convert the meta action to control signals. The appendix A.1 of following "planned waypoints" part only explains about the process of tracking reference path, but how does the contoller handles the meta actions to produce the final waypoints?

The default route waypoints provided by CARLA are sparse, with distances between consecutive waypoints reaching up to several dozen meters. This makes it difficult for our lower-level controller to decompose meta-actions into control signals. To address this issue, we leverage the high-definition map to densify these sparse waypoints into 1-meter interval path-points, which form the reference path for the ego vehicle. Subsequently, our controller employs the Pure Pursuit algorithm [64] to track the reference path, ensuring that the ego vehicle remains on the correct road. The selection of the target path-point for tracking is adaptive, depending on the vehicle’s speed, with the controller choosing one of the third to seventh path points ahead.

Thanks for your reply~

Jieqianyu commented 2 days ago

Thank you for your interest! We select the target point from the densified 1-meter path points, convert meta actions into target speeds, and utilize two PID controllers: one that takes the current speed and desired target speed to output throttle and braking, and the other that receives the angle difference between the ego vehicle’s heading and the target point to output the steering value. Please refer to A2 for more details. Thanks again!

BritaryZhou commented 21 hours ago

Thank you so much for your quick reply~ :) I still have some problems and am not sure if the following understanding is correct:

The control signal is produced with these inputs: (1) target point. (generated from HD map and default route waypoints from CARLA) (2) target speed. (from predicted meta action). (3) current speed. (from ego car status) And the planning results of model only contain the meta action. (Please correct me if I am wrong)

However, the default route waypoints from CARLA are fixed, which does not consider the objects. Then how does the ego car knows to bypass and change lanes when there is a static vehicle in front of the ego car ?

BTW, is there any time schedule of releasing the code? Thanks again!