# Copyright (c) 2024, D-Robotics. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import os from ament_index_python.packages import get_package_share_directory from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription from launch.launch_description_sources import PythonLaunchDescriptionSource from launch.substitutions import LaunchConfiguration from launch_ros.actions import Node def generate_launch_description(): package_share = get_package_share_directory("car_usb_cam") camera_config = os.path.join(package_share, "config", "usb_camera.yaml") calibration_file = os.path.join( package_share, "config", "usb_camera_calibration.yaml" ) return LaunchDescription([ DeclareLaunchArgument( "camera_config", default_value=camera_config, description="ROS parameter file for the USB camera", ), IncludeLaunchDescription( PythonLaunchDescriptionSource( os.path.join( get_package_share_directory("hobot_shm"), "launch", "hobot_shm.launch.py", ) ) ), Node( package="hobot_usb_cam", executable="hobot_usb_cam", name="hobot_usb_cam", parameters=[ LaunchConfiguration("camera_config"), {"camera_calibration_file_path": calibration_file}, ], arguments=["--ros-args", "--log-level", "warn"], ), ])