Replies: 4 comments
-
|
Related:
|
Beta Was this translation helpful? Give feedback.
-
|
cc. @ktro2828 |
Beta Was this translation helpful? Give feedback.
-
|
Hi. I may can answer some of questions.
Short answer: NO
It depends on user requirement. It has configuration parameter
Current rule-based prediction has no requirement of consist time interval.
PredictedObjects -> PredictedObject -> PredictedObjectKinematics -> PredictedPath[] |
Beta Was this translation helpful? Give feedback.
-
|
@ahsan155 Here's the slide that @ktro2828 shared today: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Motivation
Reliable prediction of the trajectories of human agents around the AD system is vital for the planning of safe and efficient trajectories. The current implementation in Autoware is a relatively limited rule-based approach that covers only a narrow range of possible scenarios. In recent years, ML-based prediction models have shown promising results in various different trajectory prediction challenges.
Integrating a sophisticated motion prediction module in Autoware will allow the ego vehicle to safely navigate in complex traffic scenarios.
Possible key advantages over rule based prediction:
Model input (identical to current implementation):
Model output
The autoware_perception_msgs::msg::PredictedObjects message type will need to be extended to include more than one predicted trajectory.
Subsequent handling of the predicted trajectories:
Integration potential
A simple way to integrate would be to replace the existing map based prediction module. The existing module input is similar to what our model uses which are object tracking history and lanelet map.
Tracking data of a particular vehicle with unique id can be retrieved from TrackedObjectKinematics message which contains pose with covariance and twist with covariance features. Vehicle position and orientation history can be placed in a buffer. Once enough history is collected for an agent, the model will start making predictions.
Also, our model uses a lanelet map for the purpose of calculating vehicle distance from lane boundaries and collecting possible routes a vehicle can take from a certain pose. Vehicle to a lane boundary distance can be easily calculated if lanes are defined as polylines. Multiple nearest lane point distance can be taken from a vehicle and averaged to get an estimated distance. For retrieving possible routes from a certain vehicle pose, lane center points of the lane that contains the vehicle and lane center points of connected lanes can be gathered. If possible route information can’t be collected in this manner then we can have predefined route information saved for later retrieval. We can drive around in the chosen map and save the route information a vehicle can follow from different poses of the map.
Each of the ten future coordinates that our model outputs can be set as Pose with geometry_msgs/msg/Pose type. Each of these Pose can be inserted into the Pose[] array in autoware_perception_msgs/msg/PredictedPath type. Modules in planning will be able to access this trajectory array as it will be published.
Architecture questions
The model we are proposing takes the past five positions and predicts a trajectory for ten timestep in the future. The difference between each timestep is 0.1 second. For model training, data was collected in carla simulation sync mode. The simulation speed was 10hz. Consistent time difference between each of the five historical data points is critical because the model relies on a temporal structure. Data collection rate by real world hardware must be consistent with simulation settings in which model training data was collected.
It was observed in simulation that autoware struggles to estimate vehicle future trajectory in intersections. Behavior velocity planner has intersection as a sub-component. A purpose of this sub-component is to check collisions with upcoming vehicles. Assuming current map based prediction works with vehicles with constant velocity, will this sub-component benefit from our prediction model that can account for speed change.

How to add a distribution of possible predicted trajectories to the PredictedObjects message type? Options: Provide a set of the N most probable trajectories (including their weights) or provide a distribution of possible trajectories.
What is a good way to integrate a distribution over future positions of each predicted agent into downstream components such as trajectory planning and collision avoidance?
Beta Was this translation helpful? Give feedback.
All reactions