Skip to content

FISS Planner 1.0.0

Latest

Choose a tag to compare

@SS47816 SS47816 released this 25 Oct 05:46
· 15 commits to main since this release

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 (formerly frenet_optimal_planner) and fiss_plus_planner are archived and point here.
  • pip install frenet-planner now installs fiss-planner.
  • The paper versions stay available at tag paper-ral2022 (FISS) and at fiss_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.