Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pilz industrial motion planning capabilities not registered. Therefor not able to load them #1248

Closed
JensVanhooydonck opened this issue May 16, 2022 · 3 comments · Fixed by #1281
Assignees
Labels
bug Something isn't working

Comments

@JensVanhooydonck
Copy link
Contributor

Description

When loading the Pilz industrial motion planner capabilities with:

{
   "capabilities": "pilz_industrial_motion_planner/MoveGroupSequenceAction pilz_industrial_motion_planner/MoveGroupSequenceService"
}

The following error is given:

[move_group-4] [ERROR] [1652689532.974888580] [move_group.move_group]: Exception while loading move_group capability 'pilz_industrial_motion_planner/MoveGroupSequenceAction': According to the loaded plugin descriptions the class pilz_industrial_motion_planner/MoveGroupSequenceAction with base class type move_group::MoveGroupCapability does not exist. Declared types are  move_group/ApplyPlanningSceneService move_group/ClearOctomapService move_group/MoveGroupCartesianPathService move_group/MoveGroupExecuteService move_group/MoveGroupExecuteTrajectoryAction move_group/MoveGroupGetPlanningSceneService move_group/MoveGroupKinematicsService move_group/MoveGroupMoveAction move_group/MoveGroupPlanService move_group/MoveGroupQueryPlannersService move_group/MoveGroupStateValidationService move_group/TfPublisher

Your environment

  • ROS Distro: Galactic
  • OS Version: Ubuntu 20.04 (docker)
  • Binary build
  • If binary, which release version? 2.3.4-1focal.20220430.172306

Expected behaviour

Starting the sequence action and the move group sequence service.

Actual behaviour

Fails to load because the capabilities are not registered

@JensVanhooydonck JensVanhooydonck added the bug Something isn't working label May 16, 2022
@JensVanhooydonck
Copy link
Contributor Author

@JafarAbdi As requested

@JensVanhooydonck
Copy link
Contributor Author

Fixed by #1281

[move_group-4] ********************************************************
[move_group-4] * MoveGroup using: 
[move_group-4] *     - ApplyPlanningSceneService
[move_group-4] *     - ClearOctomapService
[move_group-4] *     - CartesianPathService
[move_group-4] *     - ExecuteTrajectoryAction
[move_group-4] *     - GetPlanningSceneService
[move_group-4] *     - KinematicsService
[move_group-4] *     - MoveAction
[move_group-4] *     - MotionPlanService
[move_group-4] *     - QueryPlannersService
[move_group-4] *     - StateValidationService
[move_group-4] *     - SequenceAction
[move_group-4] *     - SequenceService
[move_group-4] ********************************************************

@sevenagem
Copy link

sevenagem commented Dec 14, 2022

Edit:

I found my mistake. For anybody else running into this problem. The capabilities have to be activated using the capabilities parameter passed to the move_group. This is how my move_group is launched now:

moveit_config = (
        MoveItConfigsBuilder("moveit_resources_panda")
        .robot_description(file_path="config/panda.urdf.xacro")
        .trajectory_execution(file_path="config/gripper_moveit_controllers.yaml")
        .planning_scene_monitor(
            publish_robot_description=True, publish_robot_description_semantic=True
        )
        .planning_pipelines(
            pipelines=["pilz_industrial_motion_planner"]
        )
        .to_moveit_configs()
    )

    move_group_capabilities = {
        "capabilities": "pilz_industrial_motion_planner/MoveGroupSequenceAction pilz_industrial_motion_planner/MoveGroupSequenceService"
    }

    # Start the actual move_group node/action server
    run_move_group_node = Node(
        package="moveit_ros_move_group",
        executable="move_group",
        prefix=["gdbserver localhost:3000"],
        output="screen",
        parameters=[moveit_config.to_dict(),
                    move_group_capabilities],
        emulate_tty=True,
    )

Original comment:

I am trying to get the SequenceAction and SequenceService running with no success. I tried the current main and humble branches (Ubuntu 22.04) with my own robot and the panda robot. This is what my moveit_config of the panda robot looks like:

moveit_config = (
        MoveItConfigsBuilder("moveit_resources_panda")
        .robot_description(file_path="config/panda.urdf.xacro")
        .trajectory_execution(file_path="config/gripper_moveit_controllers.yaml")
        .planning_scene_monitor(
            publish_robot_description=True, publish_robot_description_semantic=True
        )
        .planning_pipelines(
            pipelines=["pilz_industrial_motion_planner"]
        )
        .to_moveit_configs()
    )

I am using the demo.launch.py script from moveit2_tutorials and just removed the other pipelines.
I get this output when i print the planning_pipelines of the moveit_config:

{
    'planning_pipelines': ['pilz_industrial_motion_planner'], 
    'default_planning_pipeline': 'pilz_industrial_motion_planner', 
    'pilz_industrial_motion_planner': {
        'planning_plugin': 'pilz_industrial_motion_planner/CommandPlanner', 
        'request_adapters': 'default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints', 
        'default_planner_config': 'PTP', 
        'capabilities': 'pilz_industrial_motion_planner/MoveGroupSequenceAction pilz_industrial_motion_planner/MoveGroupSequenceService'
    }
}

This is the output of the move_group when pilz is loaded:

[move_group-4] [INFO] [1671009074.480541641] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'pilz_industrial_motion_planner'
[move_group-4] [INFO] [1671009074.482921049] [moveit.pilz_industrial_motion_planner.joint_limits_aggregator]: Reading limits from namespace robot_description_planning
[move_group-4] [WARN] [1671009074.483310594] [moveit.pilz_industrial_motion_planner.joint_limits_aggregator]: Multi-DOF-Joint 'virtual_joint' not supported.
[move_group-4] [WARN] [1671009074.483323143] [moveit.pilz_industrial_motion_planner.joint_limits_aggregator]: Multi-DOF-Joint 'virtual_joint' not supported.
[move_group-4] [INFO] [1671009074.485340395] [moveit.pilz_industrial_motion_planner]: Available plugins: pilz_industrial_motion_planner/PlanningContextLoaderCIRC pilz_industrial_motion_planner/PlanningContextLoaderLIN pilz_industrial_motion_planner/PlanningContextLoaderPTP 
[move_group-4] [INFO] [1671009074.485348215] [moveit.pilz_industrial_motion_planner]: About to load: pilz_industrial_motion_planner/PlanningContextLoaderCIRC
[move_group-4] [INFO] [1671009074.486159243] [moveit.pilz_industrial_motion_planner]: Registered Algorithm [CIRC]
[move_group-4] [INFO] [1671009074.486166233] [moveit.pilz_industrial_motion_planner]: About to load: pilz_industrial_motion_planner/PlanningContextLoaderLIN
[move_group-4] [INFO] [1671009074.486648565] [moveit.pilz_industrial_motion_planner]: Registered Algorithm [LIN]
[move_group-4] [INFO] [1671009074.486654524] [moveit.pilz_industrial_motion_planner]: About to load: pilz_industrial_motion_planner/PlanningContextLoaderPTP
[move_group-4] [INFO] [1671009074.487112177] [moveit.pilz_industrial_motion_planner]: Registered Algorithm [PTP]
[move_group-4] [INFO] [1671009074.487118906] [moveit.ros_planning.planning_pipeline]: Using planning interface 'Pilz Industrial Motion Planner'
[move_group-4] [INFO] [1671009074.489461925] [moveit_ros.fix_workspace_bounds]: Param 'pilz_industrial_motion_planner.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-4] [INFO] [1671009074.489479905] [moveit_ros.fix_start_state_bounds]: Param 'pilz_industrial_motion_planner.start_state_max_bounds_error' was not set. Using default value: 0.050000
[move_group-4] [INFO] [1671009074.489483225] [moveit_ros.fix_start_state_bounds]: Param 'pilz_industrial_motion_planner.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-4] [INFO] [1671009074.489489494] [moveit_ros.fix_start_state_collision]: Param 'pilz_industrial_motion_planner.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-4] [INFO] [1671009074.489492424] [moveit_ros.fix_start_state_collision]: Param 'pilz_industrial_motion_planner.jiggle_fraction' was not set. Using default value: 0.020000
[move_group-4] [INFO] [1671009074.489501604] [moveit_ros.fix_start_state_collision]: Param 'pilz_industrial_motion_planner.max_sampling_attempts' was not set. Using default value: 100
[move_group-4] [INFO] [1671009074.489507384] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-4] [INFO] [1671009074.489510604] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-4] [INFO] [1671009074.489512373] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-4] [INFO] [1671009074.489514093] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[move_group-4] [INFO] [1671009074.499159480] [moveit.plugins.moveit_simple_controller_manager]: Added FollowJointTrajectory controller for panda_arm_controller
[move_group-4] [INFO] [1671009074.499187499] [moveit.plugins.moveit_simple_controller_manager]: Max effort set to 0.0
[move_group-4] [INFO] [1671009074.500030467] [moveit.plugins.moveit_simple_controller_manager]: Added GripperCommand controller for panda_hand_controller
[move_group-4] [INFO] [1671009074.500084024] [moveit.plugins.moveit_simple_controller_manager]: Returned 2 controllers in list
[move_group-4] [INFO] [1671009074.500101594] [moveit.plugins.moveit_simple_controller_manager]: Returned 2 controllers in list
[move_group-4] [INFO] [1671009074.500260808] [moveit_ros.trajectory_execution_manager]: Trajectory execution is managing controllers
[move_group-4] [INFO] [1671009074.500268537] [move_group.move_group]: MoveGroup debug mode is ON
[move_group-4] [INFO] [1671009074.508699021] [move_group.move_group]: 
[move_group-4] 
[move_group-4] ********************************************************
[move_group-4] * MoveGroup using: 
[move_group-4] *     - ApplyPlanningSceneService
[move_group-4] *     - ClearOctomapService
[move_group-4] *     - CartesianPathService
[move_group-4] *     - ExecuteTrajectoryAction
[move_group-4] *     - GetPlanningSceneService
[move_group-4] *     - KinematicsService
[move_group-4] *     - MoveAction
[move_group-4] *     - MotionPlanService
[move_group-4] *     - QueryPlannersService
[move_group-4] *     - StateValidationService
[move_group-4] ********************************************************
[move_group-4] 
[move_group-4] [INFO] [1671009074.508730750] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context using planning plugin pilz_industrial_motion_planner/CommandPlanner
[move_group-4] [INFO] [1671009074.508735910] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context initialization complete

No, error is given, but the action and service are also not loaded. Not sure if this is the same or a different issue, or if something is missing in my launch file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants