import os from ament_index_python.packages import get_package_share_directory from launch import LaunchDescription from launch_ros.actions import Node import xacro package_description = "go2_description" def process_xacro(): pkg_path = os.path.join(get_package_share_directory(package_description)) xacro_file = os.path.join(pkg_path, 'xacro', 'robot.xacro') robot_description_config = xacro.process_file(xacro_file) return robot_description_config.toxml() def generate_launch_description(): rviz_config_file = os.path.join(get_package_share_directory(package_description), "config", "visualize_urdf.rviz") robot_description = process_xacro() return LaunchDescription([ Node( package='rviz2', executable='rviz2', name='rviz_ocs2', output='screen', arguments=["-d", rviz_config_file] ), Node( package='robot_state_publisher', executable='robot_state_publisher', name='robot_state_publisher', output='screen', parameters=[ { 'publish_frequency': 100.0, 'use_tf_static': True, 'robot_description': robot_description } ], ), Node( package='joint_state_publisher_gui', executable='joint_state_publisher_gui', name='joint_state_publisher', output='screen', ) ])