Autoware Universe

repository·main·Indexed 23 days ago

https://github.com/autowarefoundation/autoware_universe

A foundational repository in the Autoware ecosystem managing packages that extend autonomous driving capabilities. It includes modules such as the Boundary Departure Checker for trajectory validation, the Obstacle Proximity Checker for detecting nearby obstacles, and the autoware_goal_distance_calculator for monitoring vehicle deviation from target poses. The repository also provides interface specifications, CUDA dependency management, and ROS 2 component integrations like the autoware_glog_component.

Tokens
316.7K
Snippets
275
Records
1.4K
Agent score
82%

What's inside autoware_universe

  1. Overview of autoware_raw_vehicle_cmd_converter

    main
    The raw_vehicle_command_converter node translates high-level desired steering and acceleration inputs (from control modules) into specific vehicle control commands (mechanical inputs like throttle, brake, and steering angle). It uses a CSV-formatted lookup table to map target accelerations to throttle/brake values based on vehicle speed and can optionally use a feedback control system.
  2. Overview of autoware_component_state_monitor

    main

    The autoware_component_state_monitor is a utility that monitors the operational state of individual Autoware components. It functions by utilizing a topic state monitor to verify component health.

    Note: This implementation is currently maintained for backward compatibility with the AD service state monitor and is intended to be replaced by a diagnostics tree in future versions.

  3. Overview of autoware_traffic_light_classifier

    main

    The autoware_traffic_light_classifier package classifies traffic light labels using cropped images (ROIs) around the detected traffic lights. It provides two distinct classification models:

    1. cnn_classifier: Uses deep learning models (EfficientNet-b1 or MobileNet-v2) to classify vehicular and pedestrian signals.
    2. hsv_classifier: Uses the HSV color model to classify traffic light colors (green, yellow, and red).

    If the input ROIs have a height or width of 0, the output signals are set to UNKNOWN color, CIRCLE shape, and 0.0 confidence. If the ROIs are identified as backlight, the output signals are set to UNKNOWN color, UNKNOWN shape, and 0.0 confidence.

  4. Overview of autoware_tensorrt_yolox

    main

    The autoware_tensorrt_yolox package performs object detection and semantic segmentation using YOLOX models optimized with TensorRT.

    Key Capabilities:

    • Object Detection: Detects target objects such as cars, trucks, bicycles, and pedestrians.
    • Semantic Segmentation: Segments target objects (cars, trucks, buses, pedestrians) and environmental elements (building, vegetation, road, sidewalk).
    • Traffic Light Detection: Supports traffic light detection by using a specific ONNX model and a corresponding label_file.

    Model Types Supported:

    • Plain Models: Standard models from the official YOLOX repository.
    • EfficientNMS_TRT Models: Models with the EfficientNMS_TRT module embedded to accelerate Non-maximum-suppression (NMS). Note that for these models, score_threshold and nms_threshold are fixed within the module and cannot be overridden by user parameters.
  5. What is the purpose of autoware_traffic_light_arbiter?

    main
    The autoware_traffic_light_arbiter package is responsible for merging traffic signal states received from multiple sources, such as image recognition (perception) and external systems (e.g., V2X). It provides a single, unified traffic signal state to planning components using either a confidence-based approach or an external-preference approach.
  6. Overview of autoware_pointcloud_preprocessor filters

    main

    The autoware_pointcloud_preprocessor package provides a suite of filters designed to clean, transform, and optimize LiDAR point cloud data before it enters the perception pipeline.

    Available filters include:

    • concatenate_data: Subscribes to multiple pointclouds and concatenates them.
    • crop_box_filter: Removes points within a specified bounding box.
    • distortion_corrector: Compensates for pointcloud distortion caused by ego-vehicle movement during a single scan.
    • downsample_filter: Performs downsampling on the input pointcloud.
    • outlier_filter: Removes noise points caused by hardware issues, rain, or insects.
    • polar_voxel_noise_filter: Removes noise using polar-coordinate voxels and return-type-aware rules.
    • passthrough_filter: Removes points outside a specific range in a given field (e.g., x, y, z, or intensity).
    • pointcloud_accumulator: Accumulates pointclouds over a specified duration.
    • pointcloud_densifier: Enhances sparse point clouds using information from previous frames.
    • vector_map_filter: Removes points outside of lanes using vector map data.
    • vector_map_inside_area_filter: Removes points inside a vector map area of a specific type.
  7. Overview of the Boundary Departure Prevention Module

    main

    The Boundary Departure Prevention Module is an experimental module designed to prevent the ego vehicle from crossing uncrossable boundaries (e.g., road borders).

    Core Functionality

    • Slow down points: Inserts points to reduce vehicle speed when approaching boundaries.
    • Error diagnostics: Publishes diagnostic information when boundary risks are detected.
    • Abnormality handling: Accounts for errors in localization, steering, and longitudinal tracking by expanding predicted footprints to create safety buffers.

    ⚠️ Warning: Experimental Status

    This module subscribes to the control module's predicted path and steering report, creating a circular dependency. This violates Autoware's forward-only data flow principle (where control depends on planning, not vice versa). Consequently, it is not officially supported and is considered unofficial.

  8. Overview of autoware_image_projection_based_fusion

    main
    The autoware_image_projection_based_fusion package enhances obstacle detection accuracy by fusing 2D image-based perception (Regions of Interest/RoIs) with 3D LiDAR-based perception (point clouds, bounding boxes, or clusters). This integration helps refine obstacle classification and detection in autonomous driving systems.
  9. Overview of autoware_elevation_map_loader

    main

    The autoware_elevation_map_loader package generates an elevation map used by autoware_compare_map_segmentation.

    It works by subscribing to a point cloud map and an optional vector map, then computing an elevation map where each cell's value is the average Z-value of the points in the lowest cluster. The package can save these generated maps locally to be loaded in subsequent sessions. It also supports inpainting empty cells using values from neighboring cells to ensure map continuity.