import os
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.launch_description_sources import PythonLaunchDescriptionSource
from ament_index_python.packages import get_package_share_directory

package_name = "gr_vision60"


def generate_launch_description():
    # log format
    os.environ["RCUTILS_CONSOLE_OUTPUT_FORMAT"] = (
        "[{time}] [{name}] [{severity}] {message}"
    )

    pkg_launch_dir = os.path.join(get_package_share_directory(package_name), "launch")

    include_sensors_bringup = IncludeLaunchDescription(
        PythonLaunchDescriptionSource(
            os.path.join(pkg_launch_dir, "sensors_bringup.launch.py")
        )
    )

    include_robot_urdf = IncludeLaunchDescription(
        PythonLaunchDescriptionSource(
            os.path.join(pkg_launch_dir, "robot_urdf.launch.py")
        ),
    )

    include_bridge_node = IncludeLaunchDescription(
        PythonLaunchDescriptionSource(
            os.path.join(pkg_launch_dir, "bridge_node.launch.py")
        )
    )

    return LaunchDescription(
        [include_sensors_bringup, include_robot_urdf, include_bridge_node]
    )
