• Stars
    star
    155
  • Rank 240,864 (Top 5 %)
  • Language
    C++
  • License
    Apache License 2.0
  • Created almost 3 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[RA-L 2022] FISS: A Trajectory Planning Framework using Fast Iterative Search and Sampling Strategy for Autonomous Driving

FISS Planner

[RA-L 2022] FISS: A Trajectory Planning Framework using Fast Iterative Search and Sampling Strategy for Autonomous Driving

Ubuntu ROS C++ CodeFactor GitHub Repo stars GitHub Repo forks

This is an improved framework based on the framework used in frenet_optimal_planner. We utilize historical planning results as prior information in heuristics and introduce an iterative search-generate-evaluate strategy to look for the optimal trajectory candidate. Compared to the current frameworks, our method can significantly reduce the number of computationally expensive operations spent during the planning and achieve 2-6 times faster.

Our paper has been accepted by RA-L 2022 and IROS 2022.

@article{Sun_FISS_A_Trajectory_2022,
author={Sun, Shuo and Liu, Zhiyang and Yin, Huan and Ang, Marcelo H.},
journal={IEEE Robotics and Automation Letters},
title={FISS: A Trajectory Planning Framework Using Fast Iterative Search and Sampling Strategy for Autonomous Driving},
year={2022},
volume={7},
number={4},
pages={9985-9992},
doi={10.1109/LRA.2022.3191940}
}

Video

video

cover_image

Updates

  • [14 Jul 2023] An improved new version of the method, FISS+, is now available at https://github.com/SS47816/fiss_plus_planner
  • [19 Oct 2022] Major updates in the documentation. Now you should be able use this repo out-of-the box.

Dependencies

Our package is only based on standard ROS pkgs, with no other external dependencies:

  • C++11 above
  • CMake: 3.0.2 above
  • Eigen (included)
  • ROS Packages:
    • roscpp
    • rospy
    • tf
    • tf2_ros
    • std_msgs
    • nav_msgs
    • geometry_msgs
    • autoware_msgs
    • visualization_msgs
    • dynamic_reconfigure

Installation

To use this package, you will need to create a catkin_ws first. Details please see the ROS official tutorial.

# locate your catkin workspace (assuming ~/catkin_ws here)
cd ~/catkin_ws/src

# clone the lgsvl_utils repo so that you can use this planner with the lgsvl simulator
git clone https://github.com/SS47816/lgsvl_utils.git
# clone this repo
git clone https://github.com/SS47816/fiss_planner.git

cd ..

# install dependencies
rosdep install --from-paths src --ignore-src -r -y

# build
catkin_make
# source
source devel/setup.bash

Usage

  1. Install the LGSVL simulator by following this guide
  2. Set up your LGSVL simulator and launch the lgsvl_utils nodes by following the guide
  3. Launch the FISS planner nodes by running:
    # Launch nodes
    roslaunch fiss_planner fiss_planner.launch
    The local planner is now waiting for the global route to be published so that it can start planning.
  4. You may adjust any config parameters you like in the dynamic_reconfigure window.
  5. In the RVIZ window, use the 2D Nav Goal tool to selet a reachable goal point on the road as the global goal. The global planner will immediately plan a global route for you. And you will soon see the local planner starts planning.
  6. Press the green A button on your joystick to enter the autonomous mode.
  7. Now you should be able to see your ego vehicle moving. Have fun!

Contribution

You are welcome contributing to the package by opening a pull-request

We are following: Google C++ Style Guide, C++ Core Guidelines, and ROS C++ Style Guide

License

Our fiss_planner ROS package is licensed under Apache License 2.0

The included Eigen Library follows its own Mozilla Public License v. 2.0

More Repositories

1

lidar_obstacle_detector

3D LiDAR Object Detection & Tracking using Euclidean Clustering, RANSAC, & Hungarian Algorithm
C++
250
star
2

frenet_optimal_planner

Implementation of the Frenet Optimal Planning Algorithm (with modifications) in ROS.
C++
77
star
3

fiss_plus_planner

[IROS 2023] FISS+: Efficient and Focused Trajectory Generation and Refinement using Fast Iterative Search and Sampling Strategy
Python
39
star
4

DriveSceneGen

[RA-L 2024] DriveSceneGen: Generating Diverse and Realistic Driving Scenarios from Scratch
Python
24
star
5

lgsvl_utils

ROS Helper Nodes for visualizing and utilizing LGSVL Simulator
C++
12
star
6

junior_local_planner

This local planner implements the local planning method used in Tier IV's Autoware OpenPlanner (Local Planner), with modifications to suit our application.
C++
7
star
7

3D-PointCloud

DeepBlue 3D-PointCloud Course Notes and Practices
Python
4
star
8

Lidar-SLAM

DeepBlue Lidar SLAM Course Notes and Homeworks
Makefile
3
star
9

fiss

[RA-L 2022] FISS: A Trajectory Planning Framework using Fast Iterative Search and Sampling Strategy for Autonomous Driving
3
star
10

Cpp-Notes

Notes for C++ Course
Jupyter Notebook
2
star
11

visual-computing

NUS EE5731 Visual Computing Projects
Jupyter Notebook
2
star
12

SFND-Notes

Study Notes for Sensor Fusion Engineer Nanodegree
Jupyter Notebook
2
star
13

carla_utils

C++
1
star
14

SFND_Radar_Target_Generation_and_Detection

MATLAB
1
star
15

face-recognition

EE5907/EE5027 Pattern Recognition Programming Assignment CA2
Python
1
star
16

ARC-Starter-Cookbook

Cookbook for new Robotics students
1
star