Files
toid/toid_vision/launch/launch.py

55 lines
1.8 KiB
Python

import launch
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import ComposableNodeContainer
from launch_ros.descriptions import ComposableNode
from launch_ros.substitutions import FindPackageShare
import os
def generate_launch_description():
"""Generate launch description with multiple components."""
vision_share = FindPackageShare("").find("toid_vision")
camera_info = os.path.join(vision_share, 'config/camera_info.yaml')
is_blue_arg = DeclareLaunchArgument(
name= "is_blue",
default_value = "True"
)
is_blue = LaunchConfiguration("is_blue")
container = ComposableNodeContainer(
name='vision_container',
namespace='',
package='rclcpp_components',
executable='component_container_mt',
composable_node_descriptions=[
ComposableNode(
package='toid_vision',
plugin='toid::NutDetector',
name='nut_detector',
parameters= [{
'is_blue': is_blue,
}]),
ComposableNode(
package='camera_ros',
plugin='camera::CameraNode',
name='camera',
parameters= [{
'width': 1640,
'height': 1242,
'orientation': 180,
'camera': 0,
'frame_id': 'camera',
'camera_info_url': "file://" + camera_info
}],
)
],
output='screen',
)
return launch.LaunchDescription([
is_blue_arg,
container
])