Repository navigation
The first release of FISS Planner: FISS (RA-L 2022) and FISS+ (IROS 2023), with the FOP and FOP+ baselines, in one C++17 core. It comes with Python bindings, ROS 2 / ROS 1 nodes, map support and an MPC controller.
pip install fiss-planner▶ Interactive replay · Documentation
Highlights
- Four planners, one interface, switchable at runtime. A planning cycle takes 0.1–1 ms with FISS / FISS+, which generate 5–11× fewer candidates than exhaustive search.
- Map-aware:
- Lanelet2, CommonRoad and CARLA maps;
- real lane geometry and lane-change legality;
- speed and curvature limits;
- route urgency and red lights.
- Keeps its distance:
- car following at a set time headway;
- proximity costs and a hard safety envelope with a reaction-time grace for cut-ins;
- a time gap to crossing and oncoming traffic on turns.
- Map-aware prediction along lanes, also for tracked objects that arrive with only their current state.
- Graceful fallbacks: the previous plan, then a re-plan without the envelope, then a shorter collision horizon, and only then braking. Driving resumes right after an emergency stop.
- Explainable: every cycle reports why candidates were rejected, which obstacle blocked the best one, and the gap, headway and TTC to the vehicle ahead.
- Planning to control: an optional QP smoother in a space–time corridor, and an LTV-MPC with 1–2 cm lateral error in CARLA.
- Foxglove: record or stream any CARLA or CommonRoad run as MCAP. The ROS 2 node publishes scene markers, and an RViz 2 configuration is included.
Results
- CommonRoad, 280 scenarios (closed loop, QP smoother):
- 69–71 % success with all four planners;
- FISS plans in 0.6 ms with 18 trajectories per cycle, against 205 for FOP;
- distance keeping nearly halves the runs that come within 0.5 m of another road user.
- CARLA 0.9.16:
- 40 runs over lead vehicle, parked car, scripted cut-in and dense traffic, all collision-free;
- dense traffic over ten seeds: no collisions and no stops for passing traffic.
- ROS 2 bag replay of 20 NGSIM recordings: plans stay within 1.3–1.4 m of the human driver over 3 s.
Full tables: docs/benchmarks.md.
One home for the FISS series
This repository now hosts the whole project:
frenet_planner(formerlyfrenet_optimal_planner) andfiss_plus_plannerare archived and point here.pip install frenet-plannernow installsfiss-planner.- The paper versions stay available at tag
paper-ral2022(FISS) and atfiss_plus_planner@paper-iros2023(FISS+).
Assets
| File | Content |
|---|---|
carla_cut_in_fiss_plus.mp4, carla_static_obstacle_fiss_plus.mp4, carla_traffic_fiss_plus.mp4 |
CARLA chase-camera videos with the planner overlay |
carla_cut_in.mcap, carla_traffic.mcap, commonroad_zip.mcap, commonroad_us101.mcap |
Recordings for Foxglove: scene, candidates, plan, stats, camera |
fiss_planner_layout.json |
Foxglove layout for the recordings |
fiss_planner-1.0.0-*.whl, fiss_planner-1.0.0.tar.gz |
Python wheels (3.10–3.13; Linux x86_64 / arm64, macOS arm64) and source, also on PyPI |
To view a recording, open it in Foxglove (or Lichtblick) and import the layout; see docs/foxglove.md.