Files
yiliao2026/src/racing_control/launch/racing_control.launch.py

76 lines
2.8 KiB
Python

#!/usr/bin/env python3
"""Launch the racing_control orchestration node."""
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
def generate_launch_description():
pkg_dir = get_package_share_directory("racing_control")
default_params = os.path.join(pkg_dir, "config", "racing_control.yaml")
params_file = LaunchConfiguration("params_file")
auto_start = LaunchConfiguration("auto_start")
split_qr_to_vlm_segment = LaunchConfiguration("split_qr_to_vlm_segment")
enable_vlm_image_relay = LaunchConfiguration("enable_vlm_image_relay")
vlm_image_input_topic = LaunchConfiguration("vlm_image_input_topic")
vlm_image_output_topic = LaunchConfiguration("vlm_image_output_topic")
racing_control = Node(
package="racing_control",
executable="racing_control",
name="racing_control",
output="screen",
parameters=[
params_file,
{
"auto_start": auto_start,
"split_qr_to_vlm_segment": split_qr_to_vlm_segment,
"enable_vlm_image_relay": enable_vlm_image_relay,
"vlm_image_input_topic": vlm_image_input_topic,
"vlm_image_output_topic": vlm_image_output_topic,
},
],
)
return LaunchDescription(
[
DeclareLaunchArgument(
"params_file",
default_value=default_params,
description="YAML parameter file for the racing_control node",
),
DeclareLaunchArgument(
"auto_start",
default_value="false",
description="Start the race immediately instead of waiting for SPACE",
),
DeclareLaunchArgument(
"split_qr_to_vlm_segment",
default_value="true",
description="Stop at the VLM waypoint before planning the final home segment",
),
DeclareLaunchArgument(
"enable_vlm_image_relay",
default_value="false",
description="Publish one cached image frame to /vlm_image before VLM trigger",
),
DeclareLaunchArgument(
"vlm_image_input_topic",
default_value="/image",
description="CompressedImage input topic used for one-frame VLM relay",
),
DeclareLaunchArgument(
"vlm_image_output_topic",
default_value="/vlm_image",
description="CompressedImage output topic for one-frame VLM relay",
),
racing_control,
]
)