$ show ApolloAuto/apollo
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).
The LLM identified 8 files worth highlighting for reuse:
Cyber RT is the core middleware framework providing high-performance inter-process communication, component-based architecture, configurable schedulers (classic and choreography), and service discovery. It supports both intra-process (shared memory) and inter-process (RTPS/UDP) communication with zero-copy optimizations. The framework includes built-in tools for monitoring, recording, and performance analysis.
Comprehensive perception stack supporting camera (2D/3D detection, BEV, occupancy), LiDAR (PointPillars, CenterPoint, CNN segmentation), radar (4D, Conti, Racobit), and multi-sensor fusion with probabilistic fusion. Features plugin-based detector/tracker architecture, TensorRT/ONNX inference optimization, and support for multiple sensor configurations.
Scenario-based planning framework with modular task pipeline (path decider, speed optimizer, trajectory stitcher). Supports public road, navigation, parking, and open-space scenarios. Uses QP spline and piecewise jerk optimization for smooth trajectories. Includes lattice planner, RTK replay planner, and learning-based components.
Control module with plugin architecture supporting longitudinal (PID, PID+) and lateral (LQR, LQR+, MPC) controllers. Features trajectory analyzer, interpolation utilities, calibration table support, and auto-tuning service integration. Supports multiple control pipelines for different driving modes.
Multi-Sensor Fusion (MSF) localization combining GNSS, IMU, and LiDAR with HD map. Supports 2-system and 3-system modes with adaptive sensor weighting. Includes lossy/lossless map representations, NDT-based localization, and online visualization tools.
Next-generation developer tool with React/TypeScript frontend, modular panel system (VehicleViz, PointCloud, CameraView, PNCMonitor, Charts), WebSocket-based real-time data streaming, routing editing, resource management, and simulation control. Features plugin architecture and theme system.
Automated vehicle integration tool that parses DBC files and generates complete CAN bus protocol code (encoding/decoding), vehicle controller, message manager, and configuration files. Significantly reduces effort for new vehicle platform integration.
Dataset conversion tool supporting nuScenes, KITTI, ApolloScape, and Waymo formats to Apollo record files. Handles sensor calibration, point cloud conversion, and maintains consistency between training and testing data pipelines.