Robotic-Decision-Making-Lab / alpha

ROS 2 interface for the Reach Alpha 5 manipulator.
MIT License
11 stars 2 forks source link

[BUG]: Moveit configuration for jazzy release #82

Open brammmieee opened 3 months ago

brammmieee commented 3 months ago

Issue Description

When including the planning launch file in the main launch file moveit terminates due to multiple parameter issues.

Steps to Reproduce

Run the following command from the /alpha/alpha_bringup/launch folder after having built the project using colcon: ros2 launch ./alpha.launch.py use_planning:=true

Expected Behavior

After the expected Error from the moveit.moveit.ros.occupancy_map_monitor node saying "No 3D sensor plugin(s) defined for octomap updates" the following error will appear:

[move_group-1] terminate called after throwing an instance of 'rclcpp::ParameterTypeException'
[move_group-1]   what():  expected [string_array] got [string]

Error Message

No response

Runtime Environment

Dell laptop running Ubuntu 24.04 natively

Additional Context

No response

brammmieee commented 3 months ago

Changing the planning_pipelines.yaml to the following will resolve the issue:

/**:
  ros__parameters:
    default_planning_pipeline: ompl
    planning_pipelines: [pilz, ompl]
    pilz:
      planning_plugins: [pilz_industrial_motion_planner/CommandPlanner]
      start_state_max_bounds_error: 0.1
    ompl:
      planning_plugins: [ompl_interface/OMPLPlanner]
      request_adapters:
        - default_planner_request_adapters/AddTimeOptimalParameterization
        - default_planning_request_adapters/CheckForStackedConstraints
        - default_planning_request_adapters/CheckStartStateBounds
        - default_planning_request_adapters/CheckStartStateCollision
        - default_planning_request_adapters/ResolveConstraintFrames
        - default_planning_request_adapters/ValidateWorkspaceBounds
      start_state_max_bounds_error: 0.1

After that you will be met with another issue:

[FATAL] [1723815312.946491966] [move_group]: Exception while loading planning adapter plugin 'default_planner_request_adapters/AddTimeOptimalParameterization': According to the loaded plugin descriptions the class default_planner_request_adapters/AddTimeOptimalParameterization with base class type planning_interface::PlanningRequestAdapter does not exist. Declared types are  default_planning_request_adapters/CheckForStackedConstraints default_planning_request_adapters/CheckStartStateBounds default_planning_request_adapters/CheckStartStateCollision default_planning_request_adapters/ResolveConstraintFrames default_planning_request_adapters/ValidateWorkspaceBounds

Which can be solved by changing it to the following:

/**:
  ros__parameters:
    default_planning_pipeline: ompl
    planning_pipelines: [pilz, ompl]
    pilz:
      planning_plugins: [pilz_industrial_motion_planner/CommandPlanner]
      start_state_max_bounds_error: 0.1
    ompl:
      planning_plugins: [ompl_interface/OMPLPlanner]
      request_adapters:
        request_adapters:
          - default_planner_request_adapters/AddTimeOptimalParameterization
          - default_planning_request_adapters/CheckForStackedConstraints
          - default_planning_request_adapters/CheckStartStateBounds
          - default_planning_request_adapters/CheckStartStateCollision
          - default_planning_request_adapters/ResolveConstraintFrames
          - default_planning_request_adapters/ValidateWorkspaceBounds
      start_state_max_bounds_error: 0.1