6 from ament_index_python.packages
import get_package_share_directory
7 from launch
import LaunchDescription
8 from launch.actions
import DeclareLaunchArgument, TimerAction
9 from launch.substitutions
import LaunchConfiguration, PathJoinSubstitution
10 from launch_ros.actions
import Node
11 from moveit_configs_utils
import MoveItConfigsBuilder
13 sys.path.append(os.path.dirname(__file__))
14 from hybrid_planning_common
import (
15 generate_common_hybrid_launch_description,
25 .robot_description(file_path=
"config/panda.urdf.xacro")
29 hybrid_planning_gtest = Node(
30 executable=PathJoinSubstitution(
31 [LaunchConfiguration(
"test_binary_dir"),
"test_basic_integration"]
34 moveit_config.to_dict(),
42 executable=
"static_transform_publisher",
43 name=
"static_transform_publisher",
45 arguments=[
"0.0",
"0.0",
"0.0",
"0.0",
"0.0",
"0.0",
"world",
"panda_link0"],
49 robot_state_publisher = Node(
50 package=
"robot_state_publisher",
51 executable=
"robot_state_publisher",
52 name=
"robot_state_publisher",
54 parameters=[moveit_config.robot_description],
58 ros2_controllers_path = os.path.join(
61 "demo_controller.yaml",
63 ros2_control_node = Node(
64 package=
"controller_manager",
65 executable=
"ros2_control_node",
66 parameters=[moveit_config.robot_description, ros2_controllers_path],
70 joint_state_broadcaster_spawner = Node(
71 package=
"controller_manager",
74 "joint_state_broadcaster",
75 "--controller-manager",
76 "/controller_manager",
80 panda_joint_group_position_controller_spawner = Node(
81 package=
"controller_manager",
84 "panda_joint_group_position_controller",
86 "/controller_manager",
90 return LaunchDescription(
92 DeclareLaunchArgument(
93 name=
"test_binary_dir",
94 description=
"Binary directory of package "
95 "containing test executables",
97 TimerAction(period=2.0, actions=[hybrid_planning_gtest]),
98 launch_testing.actions.ReadyToTest(),
103 robot_state_publisher,
105 joint_state_broadcaster_spawner,
106 panda_joint_group_position_controller_spawner,
109 "hybrid_planning_gtest": hybrid_planning_gtest,
116 self.proc_info.assertWaitForShutdown(hybrid_planning_gtest, timeout=4000.0)
119 @launch_testing.post_shutdown_test()
123 launch_testing.asserts.assertExitCodes(proc_info, process=hybrid_planning_gtest)
def test_gtest_pass(self, proc_info, hybrid_planning_gtest)
def test_gtest_run_complete(self, hybrid_planning_gtest)
def get_package_share_directory(pkg_name)
def generate_common_hybrid_launch_description()
def generate_test_description()