Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

Awesome-Self-Driving

an awesome list of self-driving algorithms, software, tools
https://github.com/kuzen/Awesome-Self-Driving

Last synced: 2 days ago
JSON representation

  • 3. HD Map

      • Tier4 Tool - Vector Map Builder is a tool that helps to create a vector map from point cloud data.
      • fmm - Fast map matching, an open source framework in C++.
    • 3.4. Others

      • opendrive2lanelet - Opendrive to lanelet2.
      • QGIS - QGIS is a free, open source, cross platform (lin/win/mac) geographical information system (GIS).
      • OpenHDMap - An open HD map production process for autonomous car simulation.
      • opendrive2lanelets-converter - This is an unofficial copy of <https://commonroad.in.tum.de/tools/opendrive2lanelet>.
      • osm2xodr - Converter for OpenStreetMaps to OpenDrive roads - for use with Carla or other things.
      • xodr-OSM-Converter - OpenDrive to osm.
      • osm2opendrive - A tool for generating OpenDRIVE maps from OpenStreetMap data.
      • VectorMap2Opendrive - Convert Autoware vector map to Opendrive format.
      • OpenHDMap - An open HD map production process for autonomous car simulation.
    • 3.2. OSM

      • JOSM - The Java OpenStreetMap Editor.
      • JOSM - The Java OpenStreetMap Editor.
      • prettymaps - A small set of Python functions to draw pretty maps from OpenStreetMap data. Based on osmnx, matplotlib and shapely libraries.
      • GMapCatcher - An offline map viewer.
      • JOSM - The Java OpenStreetMap Editor.
    • 3.3. OpenDrive

      • libOpenDRIVE - Small, lightweight C++ library for handling OpenDRIVE filess.
      • libOpenDRIVE - Small, lightweight C++ library for handling OpenDRIVE filess.
      • opendriveparser - OpenDRIVE Map parser.
      • OpenDriveOnlineEditor - Web based viewer of OpenDrive (xodr) files (editing not implemented yet).
      • libOpenDRIVE - Small, lightweight C++ library for handling OpenDRIVE filess.
    • 3.1. Lanelet2

      • MapToolbox - Plugins to make Lanelet2/vector_map in Unity.
      • AssureMappingTools - Desktop based tool for viewing, editing and saving road network maps for autonomous vehicle platforms such as Autoware.
      • Lanelet2 - Map handling framework for automated driving.
      • lanelet_rviz_plugin_ros - Rviz Plugin for displaying a lanelet2 map.
  • 8. SLAM

    • 8.7. Loop Closing

      • scancontext - Global LiDAR descriptor for place recognition and long-term localization.
      • OverlapNet - OverlapNet - Loop Closing for 3D LiDAR-based SLAM (chen2020rss).
    • 8.1. Lidar-based

      • LIO-SAM - LIO-SAM: Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping.
      • LT-mapper - A Modular Framework for LiDAR-based Lifelong Mapping.
      • clins - CLINS: Continuous-Time Trajectory Estimation for LiDAR-Inertial System.
      • LINS---LiDAR-inertial-SLAM - A Lidar-Inertial State Estimator for Robust and Efficient Navigation based on iterated error-state Kalman filter.
      • LaMa - A Localization and Mapping library. Low computational effort and low memory usage whenever possible.
      • LeGO-LOAM - Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain.
      • loam_livox - A robust LiDAR Odometry and Mapping (LOAM) package for Livox-LiDAR.
      • decentralized_loam - A decentralized framework for simultaneous calibration, localization and mapping with multiple LiDARs
      • SC-LIO-SAM - LiDAR-inertial SLAM: Scan Context + LIO-SAM.
      • MULLS - MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square.
      • lili-om - LiLi-OM is a tightly-coupled, keyframe-based LiDAR-inertial odometry and mapping system for both solid-state-LiDAR and conventional LiDARs.
      • PyICP-SLAM - Full-python LiDAR SLAM using ICP and Scan Context.
      • SC-LeGO-LOAM - LiDAR SLAM: Scan Context + LeGO-LOAM.
      • A-LOAM - Advanced implementation of LOAM.
      • floam - Fast LOAM: Fast and Optimized Lidar Odometry And Mapping for indoor/outdoor localization (Lidar SLAM).
      • hdl_graph_slam - 3D LIDAR-based Graph SLAM.
      • lio-mapping - Implementation of Tightly Coupled 3D Lidar Inertial Odometry and Mapping (LIO-mapping).
      • M-LOAM - Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration.
    • 8.2. Camera-based

      • VINS-Fusion - An optimization-based multi-sensor state estimator
      • VINS-Mono - A Robust and Versatile Monocular Visual-Inertial State Estimator.
      • ov2slam - OV²SLAM is a Fully Online and Versatile Visual SLAM for Real-Time Applications.
      • ORB_SLAM3 - ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM.
    • 8.3. Lidar-Camera-based

      • r3live - A Robust, Real-time, RGB-colored, LiDAR-Inertial-Visual tightly-coupled state Estimation and mapping package.
      • LVI-SAM - LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometry via Smoothing and Mapping.
      • CamVox - A low-cost SLAM system based on camera and Livox lidar.
    • 8.4. Odometry

      • Faster-LIO - Faster-LIO: Lightweight Tightly Coupled Lidar-inertial Odometry using Parallel Sparse Incremental Voxels.
      • FAST_LIO - A computationally efficient and robust LiDAR-inertial odometry (LIO) package.
      • ESVO - This repository maintains the implementation of "Event-based Stereo Visual Odometry".
      • LOL - LOL: Lidar-only Odometry and Localization in 3D point cloud maps.
    • 8.5. Registration

      • Quatro - Fast and robust global registration for terrestrial robots @ ICRA2022.
      • UnsupervisedR&R - Unsupervised Pointcloud Registration via Differentiable Rendering.
      • 3d-icp-cov - Code for the paper "A New Approach to 3D ICP Covariance Estimation for Mobile Robotics".
      • TEASER-plusplus - A fast and robust point cloud registration library.
      • FS3R - A Fast Symbolic 3D Registration Solution from HKUST RAM-LAB.
    • 8.6. Optimization

      • voxgraph - Voxblox-based Pose graph optimization.
      • Kimera-RPGO - Robust Pose Graph Optimization.
      • MOLA - A Modular Optimization framework for Localization and mapping.
    • 8.8. Other

      • evo - Python package for the evaluation of odometry and SLAM.
      • libRSF - A robust sensor fusion library for online localization.
      • slam_docker_collection - A collection of docker environments for 3D SLAM packages.
      • removert - Remove then revert (IROS 2020).
      • interactive_slam - Interactive Map Correction for 3D Graph SLAM.
      • removert - Remove then revert (IROS 2020).
  • 9. GPS, IMU

    • 8.8. Other

      • PPPLib - Precise Point Positioning Library.
      • imu_tools - ROS tools for IMU devices.
      • RTKLIB - RTKLIB is an open source program package for standard and precise positioning.
      • gnss-ins-sim - Open-source GNSS + inertial navigation, sensor fusion simulator. Motion trajectory generator, sensor models, and navigation.
      • rtklib_ros_bridge - Rtklib_ros_bridge is a package that outputs the latitude and longitude, satellite reception status, altitude, ecef xyz, ecef velocity vector, and Time of Week (GPS Time) calculated by RTKLIB as ROS messages.
      • ntpd_driver - This node convert ROS TimeReference message to ntpd-shm format.
      • eagleye - Precise localization based on GNSS and IMU.
      • GPS_IMU_Kalman_Filter - Fusing GPS, IMU and Encoder sensors for accurate state estimation.
      • imu_utils - A ROS package tool to analyze the IMU performance.
      • imu_tools - ROS tools for IMU devices.
  • 15. Other Tool

    • 8.8. Other

      • CARLA Autonomous Driving Leaderboard - The main goal of the CARLA Autonomous Driving Leaderboard is to evaluate the driving proficiency of autonomous agents in realistic traffic situations.
      • PoseLib - Minimal solvers for calibrated camera pose estimation
      • PoseLib - Minimal solvers for calibrated camera pose estimation
      • catkin_virtualenv - Bundle python requirements in a catkin package via virtualenv.
      • pal_statistics - The PAL Statistics Framework provides a way of gathering, aggregating, storing and visualizing statistics from arbitrary sources in a flexible and real-time safe way in ROS.
      • PUMA - Poisson Surface Reconstruction for LiDAR Odometry and Mapping.
      • RoboStack for ROS Noetic - RoboStack, which tightly couples ROS with Conda, a cross-platform, language-agnostic package manager.
      • modelzoo - A collection of machine-learned models for use in autonomous driving applications.
      • ROSIntegration - Unreal Engine Plugin to enable ROS Support.
      • jupyter-ros - Jupyter widget helpers for ROS, the Robot Operating System.
      • jupyterlab-ros - Helper extensions for running ROS from within JupyterLab.
      • ros2-for-unity - High-performance ROS2 solution for Unity3D.
      • semantic-segmentation-editor - Web labeling tool for bitmap images and point clouds.
      • MegBA - MegBA: A Distributed High-Performance Library for Large-Scale Bundle Adjustment with GPUs.
      • ikd-Tree - This repository provides implementation of an incremental k-d tree for robotic applications.
      • ros_msft_onnx - ONNX Runtime for the Robot Operating System (ROS), works on ROS1 and ROS2.
      • rosbag_editor - Create a rosbag from a given one, using a simple GUI.
      • laser_line_extraction - A ROS package that extracts line segments from LaserScan messages.
      • python-pcl - Python bindings to the pointcloud library (pcl).
      • ros_deep_learning - Deep learning inference nodes for ROS with support for NVIDIA Jetson TX1/TX2/Xavier and TensorRT.
      • imgui_ros - View ros images, visualize in 2D and 3D, and interact with nodes through topics and services using ocornut/imgui.
      • ROS-Mobile-Android - Visualization and controlling application for Android.
      • PPTK - The Point Processing Toolkit (pptk) is a Python package for visualizing and processing 2-d/3-d point clouds.
      • PoseLib - Minimal solvers for calibrated camera pose estimation
  • 16. Other Awesome

  • 1. Self-Driving Software

    • Autoware.ai - Open-source software for self-driving vehicles.
    • apollo - An open autonomous driving platform.
    • AutowareArchitectureProposal.proj - This is the source code of the feasibility study for Autoware architecture proposal.
    • self-driving-ish_computer_vision_system - This project generates images you've probably seen in autonomous driving demo.
    • Aslan - Open source self-driving software for low speed environments.
    • AutoC2X-AW - AutoC2X is cooperative awareness driving software, extension for Autoware and OpenC2X.
    • Autoware.ai - Open-source software for self-driving vehicles.
  • 2. Planning

    • mesh_navigation - The Mesh Navigation bundle provides software to perform efficient robot navigation on 2D-manifolds in 3D represented as triangular meshes.
    • omg-tools - Optimal Motion Generation-tools: motion planning made easy.
    • gbplanner_ros - Graph-based Exploration Planner for Subterranean Environments.
    • path_planner - Hybrid A* Path Planner for the KTH Research Concept Vehicle.
    • PathPlanning - Common used path planning algorithms with animations.
    • MotionPlanning - Motion planning algorithms commonly used on autonomous vehicles. (path planning + path tracking).
    • se2_navigation - Pure pursuit controller and Reeds-Shepp sampling based planner for navigation in SE(2) space.
    • far_planner - Fast, Attemptable Route Planner for Navigation in Known and Unknown Environments
    • mesh_navigation - The Mesh Navigation bundle provides software to perform efficient robot navigation on 2D-manifolds in 3D represented as triangular meshes.
    • path_optimizer - Real-time path planning for vehicles.
    • full_coverage_path_planner - Full coverage path planning provides a move_base_flex plugin that can plan a path that will fully cover a given area.
    • conformal_lattice_planner - conformal lattice planner C++ implementations for autonomous driving tasks. The software is build upon Carla and ROS.
    • mesh_navigation - The Mesh Navigation bundle provides software to perform efficient robot navigation on 2D-manifolds in 3D represented as triangular meshes.
  • 10. Dataset

    • 8.8. Other

      • Argoverse 2 dataset - Official GitHub repository for the Argoverse 2 family of datasets.
      • Argoverse 2 dataset - Official GitHub repository for the Argoverse 2 family of datasets.
      • kapture - Kapture is a file format as well as a set of tools for manipulating datasets, and in particular Visual Localization and Structure from Motion data.
      • UrbanLoco - UrbanLoco: A Full Sensor Suite Dataset for Mapping and Localization in Urban Scenes.
      • UrbanNavDataset - UrbanNav: an Open-Sourcing Localization Data Collected in Asian Urban Canyons, Including Tokyo and Hong Kong.
      • mapping_dataset_styria - Open mapping dataset of styria in Austria.
      • Argoverse 2 dataset - Official GitHub repository for the Argoverse 2 family of datasets.
  • 11. Simulation

    • 8.8. Other

      • highway-env - A minimalist environment for decision-making in autonomous driving.
      • AWSIM - Open source simulator for self-driving vehicles.
      • carla - Open-source simulator for autonomous driving research.
      • autocore_sim - A ROS1/ROS2 Multi-robot Simulator for Autoware.
      • LGSVL - A ROS/ROS2 Multi-robot Simulator for Autonomous Vehicles.
      • highway-env - A minimalist environment for decision-making in autonomous driving.
  • 12. Visualization

    • 8.8. Other

      • streetscape.gl - Visualization framework for autonomy and robotics data encoded in XVIZ.
      • rosshow - Visualize ROS topics inside a terminal with Unicode/ASCII art.
      • rosbag_fancy - Fancy terminal UI for rosbag.
      • zethus - Realtime robot data visualization in the browser.
      • webviz - Web-based visualization libraries.
      • Foxglove Studio - Foxglove Studio (foxglove.dev) is an integrated visualization and diagnosis tool for robotics.
      • 3D-Detection-Tracking-Viewer - 3D detection and tracking viewer (visualization) for kitti & waymo dataset.
      • rviz_satellite - Display internet satellite imagery in RViz.
      • mapviz - Modular ROS visualization tool for 2D data.
      • streetscape.gl - Visualization framework for autonomy and robotics data encoded in XVIZ.
      • rviz_visual_tools - C++ API wrapper for displaying shapes and meshes in Rviz.
      • PlotJuggler - The Time Series Visualization Tool that you deserve.
      • streetscape.gl - Visualization framework for autonomy and robotics data encoded in XVIZ.
  • 4. Semantic

    • 3.4. Others

      • lift-splat-shoot - Lift, Splat, Shoot: Encoding Images from Arbitrary Camera Rigs by Implicitly Unprojecting to 3D (ECCV 2020).
      • lidar-bonnetal - Semantic and Instance Segmentation of LiDAR point clouds for autonomous driving.
      • Kimera-Semantics - Real-Time 3D Semantic Reconstruction from 2D data.
      • semantic_suma - SuMa++: Efficient LiDAR-based Semantic SLAM (Chen et al IROS 2019).
      • mmsegmentation - OpenMMLab Semantic Segmentation Toolbox and Benchmark.
  • 5. Calibration

    • 3.4. Others

      • multiple-cameras-and-3D-LiDARs-extrinsic-calibration - This repo contains source code of our paper presented in IROS2021 "Single-Shot is Enough: Panoramic Infrastructure Based Calibration of Multiple Cameras and 3D LiDARs"
      • SensorsCalibration - OpenCalib: A Multi-sensor Calibration Toolbox for Autonomous Driving.
      • multi_sensor_calibration - A calibration tool to calibrate a sensor setup consisting of lidars, radars and cameras.
      • camera_calibration - Accurate geometric camera calibration with generic camera models.
      • image_projection - Image_projection is a ROS package to create various projections from multiple calibrated cameras.
      • velo2cam_calibration - Automatic Extrinsic Calibration Method for LiDAR and Camera Sensor Setups. ROS Package.
      • ACSC - Automatic Calibration for Non-repetitive Scanning Solid-State LiDAR and Camera Systems.
      • kalibr - The Kalibr visual-inertial calibration toolbox.
      • SensorCalibration - IMU-Lidar Extrinsic Calibration Package.
      • lidar_IMU_calib - Targetless Calibration of LiDAR-IMU System Based on Continuous-time Batch Estimation.
      • lidar_camera_calibration - Light-weight camera LiDAR calibration package for ROS using OpenCV and PCL (PnP + LM optimization).
      • atom - Calibration tools for multi-sensor, multi-modal, robotic systems.
      • FastCertRelPose - Fast and robust certifiable relative pose estimation.
      • lidar_align - A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor.
      • extrinsic_lidar_camera_calibration - This is a package for extrinsic calibration between a 3D LiDAR and a camera, described in paper: Improvements to Target-Based 3D LiDAR to Camera Calibration.
      • mrcal - MRCAL is a generic toolkit to solve calibration and SFM-like problems originating at NASA/JPL.
  • 6. Detection

    • 3.4. Others

      • MapTR - [ICLR'23 Spotlight] MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction
      • patchwork++ - Patchwork++: Fast and robust ground segmentation method for 3D point cloud. @ IROS'22.
      • urban_road_filter - Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles.
      • conditional-lane-detection - "CondLaneNet: a Top-to-down Lane Detection Framework Based on ConditionalConvolution".
      • AB3DMOT - Official Python Implementation for "3D Multi-Object Tracking: A Baseline and New Evaluation Metrics".
      • JRMOT_ROS - A Real-Time 3D Multi-Object Tracker.
      • LaneATT - Code for the paper entitled "Keep your Eyes on the Lane: Real-time Attention-guided Lane Detection" (CVPR 2021).
      • Pseudo-LiDAR - (CVPR 2019) Pseudo-LiDAR from Visual Depth Estimation: Bridging the Gap in 3D Object Detection for Autonomous Driving.
      • depth_clustering - Fast and robust clustering of point clouds generated with a Velodyne sensor.
      • bbox - Python library for 2D/3D bounding boxes.
      • CLOCs - CLOCs: Camera-LiDAR Object Candidates Fusion for 3D Object Detection
      • CenterFusion - CenterFusion: Center-based Radar and Camera Fusion for 3D Object Detection.
      • CenterPoint - Center-based 3D Object Detection and Tracking.
      • OpenPCDet - OpenPCDet Toolbox for LiDAR-based 3D Object Detection.
      • LaneDetection_End2End - End-to-end Lane Detection for Self-Driving Cars (ICCV 2019 Workshop).
      • VoxelNetRos - Implement the VoxelNet with ROS, using Kitti data to test.
      • PLARD - Progressive LiDAR Adaptation for Road Detection.
      • RoadMarkingExtraction - A C++ Program for automatically extraction of road markings from MLS or ALS point cloud [ISPRS-A' 19].
  • 7. Control

    • 3.4. Others

      • MPCC - Model Predictive Contouring Controller (MPCC) for Autonomous Racing.
      • mpc_local_planner - It provides a generic and versatile model predictive control implementation with minimum-time and quadratic-form receding-horizon configurations.
  • 13. Web

    • 8.8. Other

      • rosboard - ROS node that turns your robot into a web server to visualize ROS topics.
      • webrtc_ros - Streaming of ROS Image Topics using WebRTC.
      • AutomanTools - AutomanTools is an open-source software for self-driving AI.
      • Rosbag-Analyser - Interactive Post-mortem/Live Analysis of ROS Bag Files.
  • 14. Study

    • 8.8. Other

      • visual-slam-roadmap - Roadmap to becoming a Visual-SLAM developer in 2021.
      • RosHowTwo - A place to find and share ROS2 learning resources!
      • Eigen-Cheatsheet - A cheatsheet of Eigen, the C++ linear algebra library.
      • slambook2 - Edition 2 of the slambook.
      • CppRobotics - Cpp implementation of robotics algorithms including localization, mapping, SLAM, path planning and control.
      • self-driving-car - The Udacity open source self-driving car project.
      • Dig-into-Apollo - Apollo notes - Apollo learning notes for beginners.
      • Autoware_tutorial - Autoware Simple Tutorial for Self-driving Car.
  • 17. For Chinese