Does not load planning adapter plugin
Hello,
I'm trying to write my own planning adapter plugin based on the Tutorial: http://wiki.ros.org/industrial_trajec...
The build does not throw any errors but during the start of the launch file I get the following error:
[ERROR] [1618479719.360767428]: Exception while loading planning adapter plugin 'safety_planning_request_adapters/AddSafety': According to the loaded plugin descriptions the class safety_planning_request_adapters/AddSafety with base class type planning_request_adapter::PlanningRequestAdapter does not exist. Declared types are chomp/OptimizerAdapter default_planner_request_adapters/AddIterativeSplineParameterization default_planner_request_adapters/AddTimeOptimalParameterization default_planner_request_adapters/AddTimeParameterization default_planner_request_adapters/Empty default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints default_planner_request_adapters/FixWorkspaceBounds
planning_request_adapters_plugin_description.xml:
<library path="libsafety_planning_request_adapters">
<class name="safety_planning_request_adapters/AddSafety"
type="safety_planning_request_adapters::AddSafety"
base_class_type="planning_request_adapter::PlanningRequestAdapter">
<description>
</description>
</class>
</library>
package.xml:
<package format="3">
<name>safety_planning_request_adapters</name>
<version>0.0.1</version>
<description>The safety_planning_request_adapters package</description>
<maintainer email="david.tiede@mailbox.tu-dresden.de">David Tiede</maintainer>
<license>TODO</license>
<buildtool_depend>catkin</buildtool_depend>
<depend>moveit_ros_planning</depend>
<depend>roscpp</depend>
<depend>std_msgs</depend>
<depend>trajectory_msgs</depend>
<export>
<moveit_core plugin="${prefix}/planning_request_adapters_plugin_description.xml"/>
</export>
</package>
CMakeLists.txt
cmake_minimum_required(VERSION 3.0.2)
project(safety_planning_request_adapters)
find_package(catkin REQUIRED COMPONENTS
roscpp
std_msgs
moveit_ros_planning
trajectory_msgs)
catkin_package(
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS moveit_ros_planning trajectory_msgs
)
include_directories(${catkin_INCLUDE_DIRS})
add_library(${PROJECT_NAME} src/add_safety.cpp)
target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
install(TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION})
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION})
install(FILES planning_request_adapters_plugin_description.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
Repository: https://git-st.inf.tu-dresden.de/tide...
ROS_VERSION=1
ROS_PYTHON_VERSION=2
ROS_DISTRO=melodic
I don't know what step I have missed or which line might be wrong. Any tips would be appreciated.
It's very likely the tutorial you refer to has bit-rotted, and your planning adapter is missing something which newer versions of MoveIt require.
I'd suggest consulting the MoveIt version of the tutorial: Creating MoveIt Plugins.
@gvdhoorn I saw this tutorial, but this one is only about integrating the available planning adapters.
I linked the wrong tutorial.
I've updated my comment.
It's not specifically about planning adapters, but the same infrastructure is used for them.