Relative Position Matters: Trajectory Prediction and Planning with Polar Representation
Bozhou Zhang, Nan Song, Bingzhao Gao, Li Zhang
ICRA 2026
Trajectory prediction and planning in autonomous driving are highly challenging due to the complexity of predicting surrounding agents' movements and planning the ego agent's actions in dynamic environments. Existing methods encode map and agent positions and decode future trajectories in Cartesian coordinates. However, modeling the relationships between the ego vehicle and surrounding traffic elements in Cartesian space can be suboptimal, as it does not naturally capture the varying influence of different elements based on their relative distances and directions. To address this limitation, we adopt the Polar coordinate system, where positions are represented by radius and angle. This representation provides a more intuitive and effective way to model spatial changes and relative relationships, especially in terms of distance and directional influence. Based on this insight, we propose Polaris, a novel method that operates entirely in Polar coordinates, distinguishing itself from conventional Cartesian-based approaches. By leveraging the Polar representation, this method explicitly models distance and direction variations and captures relative relationships through dedicated encoding and refinement modules, enabling more structured and spatially aware trajectory prediction and planning. Extensive experiments on the challenging prediction (Argoverse 2) and planning benchmarks (nuPlan) demonstrate that Polaris achieves state-of-the-art performance.
- This branch is the original version of Polaris. We have provided a version of Polaris without Mamba in the wo_mamba branch.
# Set up a new virtual environment
conda create -n Polaris python=3.10
conda activate Polaris
# Install dependency packpages
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
pip install -r ./requirements.txt
pip install av2==0.2.1
# Some packages may be useful
pip install tensorboard
pip install torch-scatter -f https://data.pyg.org/whl/torch-2.1.1+cu118.html
pip install protobuf==3.20.3
pip install numpy==1.26.3
# Install Mamba, we follow the settings outlined in [VideoMamba](https://github.com/OpenGVLab/VideoMamba).
cd third_party/causal-conv1d
pip install . --no-build-isolation
cd third_party/mamba
pip install . --no-build-isolation
data_root
├── train
│ ├── 0000b0f9-99f9-4a1f-a231-5be9e4c523f7
│ ├── 0000b6ab-e100-4f6b-aee8-b520b57c0530
│ ├── ...
├── val
│ ├── 00010486-9a07-48ae-b493-cf4545855937
│ ├── 00062a32-8d6d-4449-9948-6fedac67bfcd
│ ├── ...
├── test
│ ├── 0000b329-f890-4c2b-93f2-7e2413d4ca5b
│ ├── 0008c251-e9b0-4708-b762-b15cb6effc27
│ ├── ...
python preprocess.py --data_root=/path/to/data_root -p
└── data
└── Polaris_processed
├── train
├── val
└── test
# Train
python train.py
# Val, remember to change the checkpoint to your own in eval.py
python eval.py
# Model ensembling
python ensemble.py
# Test for submission
python eval.py gpus=1 test=true
| Models | minADE1 | minFDE1 | minADE6 | minFDE6 |
|---|---|---|---|---|
| Polaris | 1.54 | 3.81 | 0.62 | 1.17 |
@article{zhang2026polaris,
title={Relative Position Matters: Trajectory Prediction and Planning with Polar Representation},
author={Zhang, Bozhou and Song, Nan and Gao, Bingzhao and Zhang, Li},
journal={ICRA},
year={2026},
}