TAD Sim (Tencent Autonomous Driving Simulation)

repository·main·Indexed 19 days ago

https://github.com/tencent/tad_sim

A cross-platform, distributed simulation system for testing autonomous driving algorithms (perception, decision, control) using high-fidelity vehicle dynamics and professional rendering engines. It includes MapSDK for parsing high-precision map data (OpenDrive), message bridging adapters for LCM, OSI v3.5.0, and ROS 2, and supports CarSim 2016.0 (Windows) and 2019.0 (Ubuntu).

Tokens
156.8K
Snippets
278
Records
631
Agent score
66%

What's inside TAD Sim

  1. Overview of MapSDK

    main

    MapSDK is a cross-platform (Windows and Ubuntu) library designed to parse high-precision map data (such as OpenDrive) and convert it into a structured data model. It provides specialized APIs for data querying to support L2, L4, and simulation business requirements. The SDK is organized into four layers:

    1. Core System Layer: Provides low-level functions like spatial indexing (RTree), geometric operations, coordinate transformations, and unique ID generation.
    2. Data Model Layer: Provides abstract representations of map elements (inspired by OpenDrive design) and their operational interfaces.
    3. Data Access Layer: Provides unified access to various map data formats. Includes Map Import for OpenDrive and DB Interface for SQLite.
    4. Business Logic Layer: Handles dynamic data loading and global path planning based on high-precision maps.
  2. Overview of the SensorTruth Module

    main

    The SensorTruth module is responsible for calculating ground truth data for various sensors in a simulation environment. It models sensor measurement characteristics to provide high-fidelity data for research, development, and testing.

    Inputs:

    • Main vehicle information.
    • Traffic vehicle data.
    • Sensor data.

    Outputs:

    • Target-level data subject to specific constraints (e.g., visibility, field of view).
  3. Overview of TAD Sim Standalone Version

    main

    TAD Sim (Tencent Autonomous Driving Simulation) Standalone Version is a cross-platform distributed system designed for the research and verification of autonomous driving systems. It leverages game engine technology, virtual reality, and cloud gaming to integrate industrial-grade vehicle dynamics models and professional rendering engines.

    Key capabilities include:

    • Closed-loop simulation: Supports full-module verification including perception, decision-making, and control algorithms.
    • Simulation Models: Covers road scenarios, traffic flow, vehicle-mounted sensors, and vehicle dynamics.
    • Versatility: Designed to reduce R&D costs and shorten development cycles by providing high-fidelity environments.

    TAD Sim is available in two primary modes:

    1. Standalone Version: For local development and testing.
    2. Cloud Version: Includes Scenario-based Cloud Simulation and Virtual City-based Cloud Simulation for large-scale batch testing (capable of millions of kilometers per day via cloud computing).
  4. Overview of the Scene Editor

    main

    The Scene Editor provides comprehensive operational capabilities for parameter-level configuration of various scene elements. Users can define and adjust settings for:

    • Main Vehicle (主车): Configuration of the primary actor's parameters.
    • Maps (地图): Setting up the environment and spatial layout.
    • Traffic Participants (交通参与者): Configuring other vehicles, pedestrians, or obstacles.
    • Environment (环境): Adjusting environmental conditions and scene factors.
  5. Overview of the Map Editor

    main

    The Map Editor is a tool for quickly and freely drawing road networks, including drawing based on satellite imagery. It allows users to transform complex geographic information and traffic networks into precise map models.

    Core Capabilities:

    • Map Management: Search, filter, import, export, and view map lists.
    • Model Library: Search and view built-in universal models or import custom models.
    • Editing: Modify roads, intersections, lanes, lane lines, connection lines, and road textures.
    • Object Addition: One-click addition of elements like poles, signs, traffic lights, environmental facilities, road markings, roadside equipment, pedestrian bridges, and more.
    • Visualization: Support for view switching (top-down vs. perspective), panning, rotating, and zooming.
    • Compatibility: Full support for importing and editing OpenDrive 1.4/1.5 formats and association with OpenCRG.
  6. Overview of Scene Editor features

    main

    The Scene Editor in TAD Sim provides a comprehensive suite of tools for creating, configuring, and playing back simulation scenarios. The interface is organized into several key functional areas:

    • Menu Bar: Provides file operations (New, Open, Save, Save As), editing (Delete), data management (Scenario Library, Map, Ego Vehicle Algorithm, Global Module, Metrics, and Evaluation Report management), and system settings (Simulation Settings).
    • Toolbar: Contains tools for active editing and workflow control, including scenario creation/saving, configuring ego vehicles, traffic control, environment/weather, scenario generation, and measurement tools.
    • Scenario/Model Library: A repository for managing existing scenarios (grouped by scenario sets) and a library of elements to add to the scene (Ego vehicle, traffic vehicles, motorcycles, non-motorized vehicles, pedestrians, animals, and obstacles).
    • Windows: Allows switching between different modes: Scene Editing (adding/configuring elements), Playback (running the scenario), and Map Editing (launching the map editor).
    • Scene Element Bar: Displays a categorized list of elements currently in the scene. Users can focus on an element by clicking it or delete it by right-clicking.
    • Properties Panel: Used to view and customize parameters for any selected element (Scenario, Ego vehicle, traffic vehicles, pedestrians, etc.), including sensor configurations for the ego vehicle.
    • Editing Interface: Displays metadata such as scenario name, map name, map offset coordinates, and geographic coordinates during editing, or algorithm runtime data during playback.
  7. Overview of the simlabel module

    main
    The simlabel module is responsible for converting simulation data into annotated data. It adds descriptive information to simulated objects (such as vehicles, pedestrians, and sensor data) during the simulation process. This is primarily used to generate high-quality training and validation data for autonomous driving algorithms by collecting information about traffic participants in various simulated scenarios.
  8. Overview of RuntimeMeshLoaderExtend

    main

    RuntimeMeshLoaderExtend is an extension for RuntimeMeshLoader designed for Unreal Engine 4.25 (UE4.25). It enables loading meshes at runtime using either Blueprints or C++.

    Key features:

    • Component Support: Works with ProceduralMeshComponent and UStaticMeshComponent.
    • Path Support: Supports both relative and absolute file paths.
    • Dependencies: Requires the Assimp 5.1.X library.
    • Supported Platforms: Mac and Windows.
  9. Overview of the Scenario Player

    main

    The Scenario Player is used to quickly generate and play back scenarios after editing is complete. It supports both 2D playback and 3D scene rendering. Key capabilities include:

    • Real-time visualization of the main vehicle's status via charts.
    • Log viewing and algorithm evaluation for debugging.
    • Switching between 2D and 3D views.

    To enter the player, click the 播放 (Play) icon in the window switch bar.