76 lines
2.8 KiB
Python
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,
|
|
]
|
|
)
|