import os
from launch import LaunchDescription
from launch_ros.actions import Node
from ament_index_python.packages import get_package_share_directory
def generate_launch_description():
"""
Launch controllers for SO-101 robot.
This launch file starts only the controller spawners.
The robot_state_publisher and controller_manager should already be running
(started by so101_gazebo.launch.py).
"""
joint_state_broadcaster_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=[
"joint_state_broadcaster",
"--controller-manager",
"/controller_manager",
],
output="screen",
)
arm_controller_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=["arm_controller", "--controller-manager", "/controller_manager"],
output="screen",
)
gripper_controller_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=["gripper_controller", "--controller-manager", "/controller_manager"],
output="screen",
)
return LaunchDescription(
[
joint_state_broadcaster_spawner,
arm_controller_spawner,
gripper_controller_spawner,
]
)