Skip to content

TUM-AVS/TUM-Autoware-RTC-Handler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TUM RTC Handler

tum_rtc_handler is a ROS 2 node that connects vehicle lane-change assist signals with Autoware RTC (Request To Cooperate) lane-change requests.

It automatically approves safe RTC lane-change requests when the corresponding assist signal is inactive. When needed, it can also force manual behavior by disabling RTC auto mode per lane-change module.

Highlights

  • Uses CAN-based lane-change assist states with Autoware RTC handling.
  • Auto-approves safe lane-change requests when policy allows it.
  • Supports a manual override mode for stricter operation.
  • Simple launch and parameter-based integration.

How it works

At runtime, the node:

  1. Listens to RTC status messages from Autoware.
  2. Listens to left and right lane-change assist state topics.
  3. Checks each safe lane-change RTC request.
  4. Optionally disables RTC auto mode when configured.
  5. Sends an approval command unless the matching assist signal is active.

In short, this package acts as a policy layer that decides when lane-change RTC requests should be approved automatically.

Use cases

TUM Autoware integration

EDGAR

Use this package as part of the TUM Autoware stack to integrate EDGAR CAN lane-change assist states into RTC decision handling.

Reuse in other Autoware-based systems

This package can also be adapted for other Autoware projects if equivalent interfaces are available:

  • RTC status topic: tier4_rtc_msgs/msg/CooperateStatusArray
  • RTC command service: tier4_rtc_msgs/srv/CooperateCommands
  • RTC auto mode service: tier4_rtc_msgs/srv/AutoModeWithModule
  • Left/right lane-change assist topics: std_msgs/msg/Bool

If your topic or service names differ, remap them in your launch setup.

Compatibility

This node has been tested and validated within the TUM Autoware fork based on Autoware version 0.41.

Using it with other Autoware versions or custom forks may require additional interface or behavior validation.

Interfaces

Subscribed topics

  • /api/external/get/rtc_status (tier4_rtc_msgs/msg/CooperateStatusArray)
  • /edgar/can/lane_change_assist_left_state (std_msgs/msg/Bool)
  • /edgar/can/lane_change_assist_right_state (std_msgs/msg/Bool)

Service clients

  • /api/external/set/rtc_commands (tier4_rtc_msgs/srv/CooperateCommands)
  • /api/external/set/rtc_auto_mode (tier4_rtc_msgs/srv/AutoModeWithModule)

Lane-change module mapping

The current implementation interprets RTC module type values as:

  • 1: lane change left
  • 2: lane change right

All other module types are ignored currently.

Parameters

Parameter definitions are generated from param/tum_rtc_handler_parameters.yaml.

  • enable_debug (bool, default: false)
    • Enables detailed debug and info logging.
  • force_manual_mode (bool, default: false)
    • If true, disables RTC auto mode for lane-change modules before approval.

The runtime parameter file used by the launch file is:

  • config/tum_rtc_handler.param.yaml

Build

From the Autoware workspace root:

colcon build --packages-select tum_rtc_handler

Run

Launch

ros2 launch tum_rtc_handler tum_rtc_handler.launch.py

Launch arguments:

  • node_name (default: tum_rtc_handler)
  • tum_rtc_handler_param_path (default: package config file)

Example with a custom parameter file:

ros2 launch tum_rtc_handler tum_rtc_handler.launch.py \
  tum_rtc_handler_param_path:=/path/to/your.param.yaml

Behavior summary

For each incoming RTC status entry, the node:

  • skips entries that are not marked safe,
  • processes only lane-change module types (1 left, 2 right),
  • optionally disables auto mode when configured,
  • skips approval when the corresponding lane-change assist state is true,
  • sends an ALLOW cooperate command otherwise.

Integration checklist

Before deployment, verify the following:

  • Topic and service names match your system or are remapped correctly.
  • Lane-change module type IDs match your RTC configuration.
  • force_manual_mode is set according to your operational policy.
  • QoS settings are compatible with your RTC and CAN bridge publishers/subscribers.

Package dependencies

Core ROS dependencies:

  • rclcpp
  • std_msgs
  • geometry_msgs
  • tier4_rtc_msgs
  • generate_parameter_library

Contributors

Contact

Contact: marvin.seegert@tum.de

License

MIT License - Copyright 2026 TU Munich

About

A module for RTC requests from the behavior path planner in Autoware Universe developed and used at TUM.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors