43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
import launch
|
|
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')
|
|
|
|
|
|
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': True,
|
|
}]),
|
|
ComposableNode(
|
|
package='camera_ros',
|
|
plugin='camera::CameraNode',
|
|
name='camera_driver',
|
|
parameters= [{
|
|
'width': 1640,
|
|
'height': 1242,
|
|
'orientation': 180,
|
|
'camera': 0,
|
|
'frame_id': 'camera',
|
|
'camera_info_url': "file://" + camera_info
|
|
}])
|
|
],
|
|
output='screen',
|
|
)
|
|
|
|
return launch.LaunchDescription([container]) |