5 from ament_index_python.packages
import get_package_share_directory
6 from launch_ros.descriptions
import ComposableNode
7 from launch_ros.actions
import ComposableNodeContainer
8 from moveit_configs_utils
import MoveItConfigsBuilder
13 absolute_file_path = os.path.join(package_path, file_path)
16 with open(absolute_file_path,
"r")
as file:
17 return yaml.safe_load(file)
28 .robot_description(file_path=
"config/panda.urdf.xacro")
30 publish_robot_description=
True, publish_robot_description_semantic=
True
32 .planning_pipelines(
"ompl", [
"ompl"])
33 .trajectory_execution(file_path=
"config/moveit_controllers.yaml")
40 "moveit_hybrid_planning",
"config/global_planner.yaml"
43 "moveit_hybrid_planning",
"config/local_planner.yaml"
45 hybrid_planning_manager_param =
load_yaml(
46 "moveit_hybrid_planning",
"config/hybrid_planning_manager.yaml"
50 container = ComposableNodeContainer(
51 name=
"hybrid_planning_container",
53 package=
"rclcpp_components",
54 executable=
"component_container_mt",
55 composable_node_descriptions=[
57 package=
"moveit_hybrid_planning",
58 plugin=
"moveit::hybrid_planning::GlobalPlannerComponent",
59 name=
"global_planner",
62 moveit_config.to_dict(),
66 package=
"moveit_hybrid_planning",
67 plugin=
"moveit::hybrid_planning::LocalPlannerComponent",
71 moveit_config.to_dict(),
75 package=
"moveit_hybrid_planning",
76 plugin=
"moveit::hybrid_planning::HybridPlanningManager",
77 name=
"hybrid_planning_manager",
79 hybrid_planning_manager_param,
def get_package_share_directory(pkg_name)
def load_yaml(package_name, file_path)
def generate_common_hybrid_launch_description()