openpilot is a full-stack autonomous driver assistance system that runs on embedded Linux hardware (comma four/three) and controls 300+ car models. It is a safety-critical, real-time system written primarily in Python and C/C++, with a custom messaging layer (cereal/msgq) and a Cap'n Proto-based schema for all inter-process communication. The architecture is a collection of independent processes (controlsd, plannerd, radard, modeld, locationd, calibrationd, dmonitoringd, etc.) communicating via a pub/sub message queue, managed by a central process manager. The system ingests CAN bus data, camera streams (road, wide-road, driver), IMU/GPS sensor data, and runs neural network models (ONNX/tinygrad) for perception and planning. The codebase demonstrates strong engineering discipline: a comprehensive process replay regression testing framework that replays logged routes through individual processes and compares outputs bit-for-bit; a safety model implemented in the panda firmware (separate submodule) with ISO 26262 guidelines; real-time scheduling and CPU affinity management across processes; and a sophisticated build system using SCons with Cython compilation. The UI is built on raylib (with a Qt-based Cabana tool for CAN analysis), and there's a MetaDrive simulator bridge for development. Key architectural patterns include: a generic car interface abstraction (opendbc) that allows supporting 300+ car models through fingerprinting and parameter configuration; a model-driven control pipeline where neural network outputs (desired curvature, lead vehicle trajectories) feed into lateral controllers (PID, torque-based, curvature-based, angle-based) and longitudinal MPC planners; an EKF-based sensor fusion system (locationd) combining GPS, IMU, and vehicle odometry; and a driver monitoring system using a separate neural network for distraction detection. The system uses a parameter store (params) backed by a filesystem for persistent configuration. The repository includes extensive tooling: replay infrastructure for regression testing, PlotJuggler/Cabana integration for data visualization, automated car porting tools with fuzzy fingerprinting, release automation with stripped builds, and a comprehensive CI/CD pipeline with GitHub Actions. The codebase is actively maintained with daily commits, a structured release process (release-mici/release-tizi branches), and active community contribution through Discord and GitHub issues.
Apollo is a comprehensive autonomous driving platform developed by Baidu, providing a full software stack for self-driving vehicles. The repository contains a modular architecture built on Cyber RT, a high-performance runtime framework optimized for autonomous driving scenarios with low latency and high throughput. Key modules include perception (camera, LiDAR, radar, sensor fusion), planning (scenario-based with multiple planners), control (PID, LQR, MPC controllers), localization (RTK, NDT, MSF), prediction, routing, and V2X communication. The system integrates with hardware through extensive driver support for various sensors (Velodyne, Hesai, Continental radar, Mobileye, etc.) and vehicle platforms (Lincoln, Lexus, Geely, etc.). Dreamview provides a web-based visualization and monitoring interface. The codebase demonstrates strong engineering practices with clear module boundaries, extensive configuration management, comprehensive testing infrastructure, and support for both x86_64 and ARM64 (Orin) platforms. Recent versions introduce package management for easier deployment, Dreamview Plus for enhanced developer experience, and cloud-based model training services (Apollo Fuel).
libOpenDRIVE is a C++17 library that parses OpenDRIVE (.xodr) road network definition files and generates 3D mesh models for visualization and simulation. The architecture is a classic object-oriented library with a central OpenDriveMap class that loads an XML file and exposes roads, junctions, lanes, road marks, objects, and signals. Key modules include geometry types (Line, Arc, Spiral, ParamPoly3), cubic spline profiles for elevation and lane offsets, a routing graph based on lane connectivity, and multi-resolution mesh generation with triangle strips. The library is dependency-light, relying only on pugixml for XML parsing and a bundled Fresnel integral implementation for spirals. It provides efficient coordinate transforms, surface point queries, and boundary approximation using Ramer–Douglas–Peucker or bezier decomposition. Tests using Catch2 validate parsing and routing against a real-world test file.
PaddleSeg is a comprehensive, modular image segmentation toolkit built on PaddlePaddle. It provides a rich collection of state-of-the-art models for semantic, panoptic, medical, and interactive segmentation, as well as matting. The architecture is configuration-driven with a component registration system (manager.py) that allows easy extension of models, backbones, datasets, transforms, losses, and optimizers. Key entry points include training, evaluation, prediction, and export scripts under tools/, with extensive deployment support for C++, Android, FastDeploy, and serving. The codebase is actively maintained with recent commits and demonstrates solid engineering practices, though some contrib modules exhibit duplication and experimental code. It is primarily a software library/framework for segmentation tasks, not a data research pipeline.
Alpamayo 1 is a Vision-Language-Action (VLA) model designed for autonomous driving applications. It implements the Alpamayo-R1 architecture that combines a Qwen3-VL backbone for vision-language reasoning with a diffusion-based action expert for trajectory prediction. The system takes multi-camera video and egomotion history as inputs, generates Chain-of-Causation (CoC) reasoning traces, and outputs future trajectories (6.4s horizon at 10Hz). Key components include a unicycle kinematic model for action space conversion, CUDA graph acceleration for efficient repeated inference, and robust geometric transformations. While the repository is noted to receive only limited maintenance as newer versions exist, the current implementation demonstrates strong engineering practices with several reusable components.
SparseDrive is an end-to-end autonomous driving framework that processes multi-view camera images to perform unified perception and planning. It simultaneously predicts 3D object bounding boxes with tracking IDs, vectorized HD map elements (dividers, boundaries, pedestrian crossings), agent motion trajectories, and ego vehicle planning trajectories. The architecture employs a ResNet-50 FPN backbone, deformable feature aggregation for multi-view fusion, instance banks for temporal object representation, and specialized heads for each task. Key innovations include hierarchical planning with collision-aware rescore and symmetric sparse representation for detection, mapping, and motion tasks. The system is designed for efficiency, achieving 9.0 FPS on NVIDIA A100 with significantly reduced training time compared to prior art like UniAD.
This repository provides the Bench2Drive benchmark for closed-loop end-to-end autonomous driving, accepted at NeurIPS 2024 Datasets and Benchmarks Track. It includes a large-scale multi-modal dataset (up to 7.3TB) collected in the CARLA simulator, an evaluation suite with metrics like Driving Score and Success Rate, and baseline results for over 10 methods. The codebase is a hybrid of research data pipeline and application: the dataset generation and evaluation scripts form the core data_research component, while the B2DVisualize Flask app, scenario runner, and leaderboard evaluator provide application-like interfaces for interaction and reproducibility. Data lineage: raw simulation data (sensor recordings, ground truth annotations) is collected via data_collect.py, transformed into compressed archives with JSON manifests, and evaluated using the leaderboard pipeline that computes multiple ability metrics. The repository answers research questions about the effectiveness of end-to-end driving policies under diverse urban scenarios.
SimScale is a research codebase for data-driven, non-reactive autonomous vehicle simulation and benchmarking, developed by OpenDriveLab. It provides a comprehensive pipeline for training and evaluating end-to-end driving policies on the nuPlan/OpenScene dataset, with support for synthetic data augmentation (SimScale) and multiple agent architectures including Transfuser, DiffusionDrive, and GTRS-Dense. The repository implements a Plan-Do-Measure (PDM) closed-loop scoring framework, metric caching, and a Hydra-based configuration system for flexible experiment management. While primarily a research platform, it includes production-like training scripts, evaluation pipelines, and submission tools for the NAVSIM v2 challenge. The codebase is heavily coupled to the nuPlan ecosystem and requires large-scale data downloads (>1TB), but offers reusable components such as abstract agent interfaces, feature/target builders, and batch IDM policies. It is actively maintained with recent commits and a growing community of extensions.
ScenarioNet is a data-centric toolkit for managing and converting autonomous driving datasets into a unified scenario format. It provides converters for Waymo, nuScenes, nuPlan, Argoverse 2, VoD, and procedural generation (PG) datasets, transforming raw data into a common ScenarioDescription structure compatible with the MetaDrive simulator. The repository includes dataset management operations (merge, split, filter, copy), verification tools (existence and simulation checks), and utilities for handling scenario metadata. While it contains training and evaluation scripts for machine learning models, its primary focus is on data preparation and scenario engineering for autonomous driving research. The data lineage involves ingesting raw datasets via dataset-specific toolkits, extracting scenario elements (object tracks, map features, traffic signals, timestamps), and serializing them into pickle-based dataset structures with mapping and summary files. These outputs enable downstream tasks such as multi-dataset aggregation, scenario filtering for ML training, simulation-based validation, and dataset splitting. The toolkit addresses research questions around dataset scalability, scenario diversity, and reproducible evaluation of autonomous driving systems by providing a standardized interface across heterogeneous data sources. Key reusable components include the modular converter utility for multiprocessing data transformation, generic dataset operations (merge/split/copy) that operate on the standardized scenario format, and a verification framework with parallel processing and error reporting. These components demonstrate solid data engineering practices but are tempered by dependency management issues (commented-out packages requiring manual installation), hardcoded paths in training scripts, and reliance on external SDKs that may introduce version drift.
PythonRobotics is a large collection of robotics algorithms implemented in Python, designed primarily for educational purposes and as a companion to a textbook. It covers a wide range of robotics domains including localization (EKF, particle filter, histogram filter), mapping (grid maps, NDT, clustering), SLAM (EKF SLAM, FastSLAM, GraphSLAM), path planning (A*, Dijkstra, RRT variants, PRM, DWA, Frenet, etc.), path tracking (Stanley, LQR, MPC, pure pursuit), arm navigation (inverse kinematics, RRT for arms), aerial navigation (drone trajectory, rocket landing), bipedal walking, inverted pendulum control, and mission planning (state machines, behavior trees). Each algorithm is implemented as a standalone script with a main() function that runs a simulation and visualizes results using matplotlib. The code is not packaged as a library and is not intended for production use; it is a learning resource with clear, readable implementations that reference academic papers. The repository includes extensive documentation in Sphinx RST format, CI/CD pipelines, and a test suite that runs each demo without animation.
This repository contains the research code for UniDriveVLA, a unified Vision-Language-Action (VLA) model for autonomous driving. It couples a Qwen3-VL based understanding expert with sparse 3D perception and trajectory planning experts via a Mixture-of-Transformers design. The codebase supports two parallel experiment tracks: nuScenes (real-world open-loop evaluation) and Bench2Drive (CARLA closed-loop simulation). It includes full training pipelines (staged pretraining on driving QA datasets, then fine-tuning on nuScenes/Bench2Drive), evaluation harnesses for detection, motion, planning, and VQA, and a CARLA leaderboard integration for scenario-based testing. The repository is primarily a research artifact—it is not a production application but rather a comprehensive release of model definitions, training scripts, data converters, and evaluation metrics for reproducing the paper's results. Significant code duplication exists between the nuScenes and Bench2Drive directories, and many paths are hardcoded, reducing portability. The code demonstrates strong engineering for research (custom CUDA ops, distributed training with DeepSpeed, modular mmdet3d plugins) but lacks the polish of a reusable library.
The AVOD repository implements the Aggregate View Object Detection network for 3D object detection from LiDAR and camera data, primarily targeting the KITTI benchmark. It provides a complete pipeline for training, evaluation, and inference, including data loading, model definition (AVOD and RPN variants), feature extraction from bird's-eye view and image modalities, anchor-based proposal generation, and post-processing. The system is structured as a modular Python package with protocol buffer-based configuration. Key architectural features include a multi-sensor fusion approach that combines BEV features from LiDAR data with RGB image features through fully connected layers, and a region proposal network for generating object proposals. The codebase demonstrates strong modularity in certain components such as box encoding/decoding utilities, anchor generators, and feature extractors, which could be reused in other 3D detection projects with minimal modification. However, the core model training and evaluation scripts are tightly coupled to the KITTI dataset format and TensorFlow 1.x specifics. The repository shows signs of technical drift due to its reliance on outdated dependencies (TensorFlow 1.3.0, Python 3.5) and deprecated APIs. While the last commit indicates recent activity, the deep learning framework used is no longer current, which may pose challenges for maintenance and extension. Despite this, the implementation includes well-crafted, reusable geometric utilities and modular design patterns that reflect solid engineering practices for a research codebase.
This repository is a curated collection of research papers focused on end-to-end autonomous driving. It serves as a reference list for researchers and practitioners, organizing papers by conference and year with brief annotations. The repository does not contain any executable code, data processing pipelines, or machine learning models. Instead, it relies on manual curation of paper metadata in the README.md file. From a data engineering perspective, the repository lacks reusable components or standardized data formats. The paper information is embedded in markdown, making automated extraction challenging without custom parsing. While the repository is actively maintained and easy to access (requiring only a git clone), its utility for automated data workflows is limited. The absence of dependency management, environment definitions, and structured data formats contributes to its low reusability score. Despite these limitations, the repository successfully fulfills its goal of providing an up-to-date list of end-to-end autonomous driving research. Its value lies in human readability and ease of contribution, rather than in data engineering excellence. For researchers seeking a quick overview of recent publications, it serves as a convenient starting point.