45 lines
1.4 KiB
Python
45 lines
1.4 KiB
Python
|
import xacro
|
||
|
from launch import LaunchDescription
|
||
|
from launch.actions import DeclareLaunchArgument, RegisterEventHandler
|
||
|
from launch.event_handlers import OnProcessExit
|
||
|
from launch_ros.actions import Node
|
||
|
def generate_launch_description():
|
||
|
|
||
|
joint_state_publisher = Node(
|
||
|
package="controller_manager",
|
||
|
executable="spawner",
|
||
|
arguments=["joint_state_broadcaster",
|
||
|
"--controller-manager", "/controller_manager"]
|
||
|
)
|
||
|
|
||
|
imu_sensor_broadcaster = Node(
|
||
|
package="controller_manager",
|
||
|
executable="spawner",
|
||
|
arguments=["imu_sensor_broadcaster",
|
||
|
"--controller-manager", "/controller_manager"]
|
||
|
)
|
||
|
|
||
|
leg_pd_controller = Node(
|
||
|
package="controller_manager",
|
||
|
executable="spawner",
|
||
|
arguments=["leg_pd_controller",
|
||
|
"--controller-manager", "/controller_manager"]
|
||
|
)
|
||
|
|
||
|
ocs2_controller = Node(
|
||
|
package="controller_manager",
|
||
|
executable="spawner",
|
||
|
arguments=["ocs2_quadruped_controller", "--controller-manager", "/controller_manager"]
|
||
|
)
|
||
|
|
||
|
|
||
|
return LaunchDescription([
|
||
|
leg_pd_controller,
|
||
|
RegisterEventHandler(
|
||
|
event_handler=OnProcessExit(
|
||
|
target_action=leg_pd_controller,
|
||
|
on_exit=[imu_sensor_broadcaster, joint_state_publisher, ocs2_controller],
|
||
|
)
|
||
|
),
|
||
|
])
|