Motion planning algorithms commonly used on autonomous vehicles. (path planning + path tracking)

Overview

Overview

This repository implemented some common motion planners used on autonomous vehicles, including

Also, this repository provides some controllers for path tracking, including

Requirement

Vehicle models

This repository uses two models: simple car model and car pulling trailers model.

Hybrid A* Planner

1 2
11 12
13 14

State Lattice Planner

1 2

Controllers

1 2
1 2
1 2

Paper

Planning

Control

Useful Material

You might also like...
 Exploring Versatile Prior for Human Motion via Motion Frequency Guidance (3DV2021)
Exploring Versatile Prior for Human Motion via Motion Frequency Guidance (3DV2021)

Exploring Versatile Prior for Human Motion via Motion Frequency Guidance This is the codebase for video-based human motion reconstruction in human-mot

An example project demonstrating how the Autonomous Learning Library can be used to build new reinforcement learning agents.
An example project demonstrating how the Autonomous Learning Library can be used to build new reinforcement learning agents.

About This repository shows how Autonomous Learning Library can be used to build new reinforcement learning agents. In particular, it contains a model

A motion tracking system for any arbitaray points in a video frame.

PointTracking This code is written by Majid Masoumi @ [email protected] I have used lucas kanade optical flow technique to track the points b

The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion.
The official repo for OC-SORT: Observation-Centric SORT on video Multi-Object Tracking. OC-SORT is simple, online and robust to occlusion/non-linear motion.

OC-SORT Observation-Centric SORT (OC-SORT) is a pure motion-model-based multi-object tracker. It aims to improve tracking robustness in crowded scenes

Keyhole Imaging: Non-Line-of-Sight Imaging and Tracking of Moving Objects Along a Single Optical Path
Keyhole Imaging: Non-Line-of-Sight Imaging and Tracking of Moving Objects Along a Single Optical Path

Keyhole Imaging Code & Dataset Code associated with the paper "Keyhole Imaging: Non-Line-of-Sight Imaging and Tracking of Moving Objects Along a Singl

Various operations like path tracking, counting, etc by using yolov5

Object-tracing-with-YOLOv5 Various operations like path tracking, counting, etc by using yolov5

[CVPR2021] UAV-Human: A Large Benchmark for Human Behavior Understanding with Unmanned Aerial Vehicles

UAV-Human Official repository for CVPR2021: UAV-Human: A Large Benchmark for Human Behavior Understanding with Unmanned Aerial Vehicle Paper arXiv Res

This YoloV5 based model is fit to detect people and different types of land vehicles, and displaying their density on a fitted map, according to their coordinates and detected labels.
This YoloV5 based model is fit to detect people and different types of land vehicles, and displaying their density on a fitted map, according to their coordinates and detected labels.

This YoloV5 based model is fit to detect people and different types of land vehicles, and displaying their density on a fitted map, according to their

Vehicles Counting using YOLOv4 + DeepSORT + Flask + Ngrok
Vehicles Counting using YOLOv4 + DeepSORT + Flask + Ngrok

A project for counting vehicles using YOLOv4 + DeepSORT + Flask + Ngrok

Comments
  • Thanks for promoting Apollo!

    Thanks for promoting Apollo!

    Hi @zhm-real ,

    Thanks for promoting Apollo! It is really glad to help the community and get attentions from the community. We recently added a few paper published related to Apollo PNC algorithms listed in "Related Paper" section of Planning and Control Module, https://github.com/ApolloAuto/apollo/tree/master/modules/planning https://github.com/ApolloAuto/apollo/tree/master/modules/control , was wondering if you could add those in the reference as well.

    Thanks again,

    opened by Capri2014 1
  • use heapdict

    use heapdict

    If the node cost in openset is changed, the priority queue should be updated.

    heapdict supports the operation to change priority of the existing element.

    opened by sldai 1
  • Issue when loading custom reference path on lattice_planner.py

    Issue when loading custom reference path on lattice_planner.py

    Hi , I am studying autonomous driving and used your MotionPlanning repo as a reference. I encounter some issue with lattice_planner as I tried to load a route generated from OpenStreetMap as reference line. I have converted the route’s lat and long to a range from 0 to 100 so I can load to the planner. The path that I loaded to the planner looks like this: image and then I got this error

    Traceback (most recent call last):
      File "c:/Users/nam/Desktop/MotionPlanning-master/LatticePlanner/lattice_planner.py", line 433, in <module>
        main_Crusing()
      File "c:/Users/nam/Desktop/MotionPlanning-master/LatticePlanner/lattice_planner.py", line 335, in main_Crusing
        path = lattice_planner_for_Cruising(l0, l0_v, l0_a, s0, s0_v, s0_a, ref_path)
      File "c:/Users/nam/Desktop/MotionPlanning-master/LatticePlanner/lattice_planner.py", line 265, in lattice_planner_for_Cruising
        path = extract_optimal_path(paths)
      File "c:/Users/nam/Desktop/MotionPlanning-master/LatticePlanner/lattice_planner.py", line 260, in extract_optimal_path
        return paths[-1]
    KeyError: -1
    

    I havent managed to fix this, please help me out! Thanks

    opened by namKolorfuL 0
Owner
Huiming Zhou
Focusing on autonomous driving.
Huiming Zhou
Range Image-based LiDAR Localization for Autonomous Vehicles Using Mesh Maps

Range Image-based 3D LiDAR Localization This repo contains the code for our ICRA2021 paper: Range Image-based LiDAR Localization for Autonomous Vehicl

Photogrammetry & Robotics Bonn 208 Dec 15, 2022
Local trajectory planner based on a multilayer graph framework for autonomous race vehicles.

Graph-Based Local Trajectory Planner The graph-based local trajectory planner is python-based and comes with open interfaces as well as debug, visuali

TUM - Institute of Automotive Technology 160 Jan 4, 2023
GndNet: Fast ground plane estimation and point cloud segmentation for autonomous vehicles using deep neural networks.

GndNet: Fast Ground plane Estimation and Point Cloud Segmentation for Autonomous Vehicles. Authors: Anshul Paigwar, Ozgur Erkent, David Sierra Gonzale

Anshul Paigwar 114 Dec 29, 2022
Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research

Welcome to AirSim AirSim is a simulator for drones, cars and more, built on Unreal Engine (we now also have an experimental Unity release). It is open

Microsoft 13.8k Jan 5, 2023
An all-in-one application to visualize multiple different local path planning algorithms

Table of Contents Table of Contents Local Planner Visualization Project (LPVP) Features Installation/Usage Local Planners Probabilistic Roadmap (PRM)

Abdur Javaid 47 Dec 30, 2022
Stacs-ci - A set of modules to enable integration of STACS with commonly used CI / CD systems

Static Token And Credential Scanner CI Integrations What is it? STACS is a YARA

STACS 18 Aug 4, 2022
Accelerated SMPL operation, commonly used in generate 3D human mesh, STAR included.

SMPL2 An enchanced and accelerated SMPL operation which commonly used in 3D human mesh generation. It takes a poses, shapes, cam_trans as inputs, outp

JinTian 20 Oct 17, 2022
[arXiv] What-If Motion Prediction for Autonomous Driving ❓🚗💨

WIMP - What If Motion Predictor Reference PyTorch Implementation for What If Motion Prediction [PDF] [Dynamic Visualizations] Setup Requirements The W

William Qi 96 Dec 29, 2022
Self-Supervised Pillar Motion Learning for Autonomous Driving (CVPR 2021)

Self-Supervised Pillar Motion Learning for Autonomous Driving Chenxu Luo, Xiaodong Yang, Alan Yuille Self-Supervised Pillar Motion Learning for Autono

QCraft 101 Dec 5, 2022
This repository contains the code for the paper "Hierarchical Motion Understanding via Motion Programs"

Hierarchical Motion Understanding via Motion Programs (CVPR 2021) This repository contains the official implementation of: Hierarchical Motion Underst

Sumith Kulal 40 Dec 5, 2022