Coop-SimLingo / README.md
YongshuoLiu's picture
Link complete input-output example
811df58 verified
|
Raw
History Blame Contribute Delete
3.86 kB
---
library_name: pytorch
pipeline_tag: robotics
tags:
- autonomous-driving
- vision-language-action
- cooperative-driving
- CARLA
---
# Coop-SimLingo
Coop-SimLingo is the hint-enabled SimLingo baseline released with
[CoDrive](https://github.com/YongshuoLiu/CoDrive), a closed-loop benchmark for
temporally grounded cooperative vision-language driving.
## Files
- `coop_simlingo_fp32.pt`: model-only FP32 PyTorch state dictionary.
- `coop_simlingo_inference.yaml`: frozen inference architecture.
- `model_metadata.json`: format and SHA256 metadata.
- `SHA256SUMS`: integrity checksums.
## Usage
Clone CoDrive, create the pinned environment, and download this model through
its helper:
```bash
git clone https://github.com/YongshuoLiu/CoDrive.git
cd CoDrive
conda env create -f environment-simlingo.yaml
conda activate simlingo
python -m pip install -e . --no-deps
bash codrive.sh setup
```
For one-image inference without CARLA:
```bash
bash codrive.sh predict \
--image front_1024x512.jpg \
--speed 6.2 \
--target 15.0,0.2 \
--next-target 30.0,0.4 \
--scenario S1 \
--front-car-pos 18.0,-1.2
```
A complete, runnable S1 record with the front image, numeric inputs, inference
script, and `best-005` reference output is available in the
[CoDrive example directory](https://github.com/YongshuoLiu/CoDrive/tree/main/examples/s1_pedestrian_emergence):
```bash
bash codrive.sh example --device cuda:0
```
The public Python API is `codrive.CoopSimLingoRuntime`. S1-S5 use the
`<FRONT_CAR_POS>` token and its numeric ego-frame position. The canonical S6
cross-traffic warning is non-positional.
## Inputs and cooperative hints
The model requires a rectified `1024x512` front image with `110-degree`
horizontal FoV, current speed in m/s, and two ego-frame navigation target
points. The optional canonical hints are:
| ID | Exact hint |
| --- | --- |
| S1 | `The pedestrian at position <FRONT_CAR_POS> is about to enter the ego lane.` |
| S2 | `The vehicle at position <FRONT_CAR_POS> will cut into the ego lane soon.` |
| S3 | `The static object at position <FRONT_CAR_POS> is blocking the ego lane.` |
| S4 | `A wrong-way vehicle at position <FRONT_CAR_POS> will cross the ego left-turn path. Yield before turning left.` |
| S5 | `A wrong-way vehicle at position <FRONT_CAR_POS> will cross the ego right-turn path. Yield before turning right.` |
| S6 | `A vehicle approaching from the left will cross the ego right-turn path. Yield before turning right.` |
S1-S5 additionally require the referenced `[forward, right]` ego-frame
position in meters. Positive values mean forward/right; negative lateral
values mean left. For example, `[18.0, -3.5]` is 18 m ahead and 3.5 m left.
The value is not a pixel, GPS/world coordinate, or distance-bearing pair.
`<FRONT_CAR_POS>` is a hazard-anchor token and may refer to an actor or
expected conflict point, not necessarily a front car. The special token must
not be replaced with coordinate text; the numeric value is supplied separately
through the CoDrive API.
Current speed is a non-negative scalar in meters per second, not km/h. The
camera, speed, navigation targets, warning, and hazard position must describe
the same timestamp. Full details and command examples are provided in
`docs/inference_interface.md` in the CoDrive repository.
## Scope
The model predicts future waypoints for recorded data, vehicle integration,
and CARLA evaluation. It is not a physical-vehicle controller. Deployment
requires independent localization, camera calibration, V2X message handling,
waypoint control, collision monitoring, watchdogs, and emergency stopping.
Follow `docs/real_vehicle.md` in the CoDrive repository.
## Base model
The architecture uses SimLingo with `OpenGVLab/InternVL2-1B`. Users must comply
with the licenses and terms of the upstream SimLingo and InternVL2 components.