MoveIt kinematics plugin
Hi,
I have used the MoveIt setup assistant to generate an initial configuration for a ur5 manipulator. During the setup wizard, I specified two planning groups, manipulator and tool. For the planning group, manipulator, I have used the following kinematics solver: kdl_kinematics_plugin
. One would want to use the UR5KinematicsPlugin
as it appears to be the most relevant for developing a solution for ur5 robotic arm. I will shortly explain, my reason to use the kdl_kinematics_plugin
, and also my question.
Having generated the configuration inside a folder within a ROS workspace ~/Desktop/IMPLEMENTATIONS/zahid_test_ws/src/ur5_sa_config
, I do the following steps to test it.
cd ~/Desktop/IMPLEMENTATIONS/zahid_test_ws/
catkin_make
source devel/setup.bash
roslaunch ur5_sa_config demo.launch rviz_tutorial:=true
Another thing to notice is that inside ~/Desktop/IMPLEMENTATIONS/zahid_test_ws/src/ur5_sa_config/config/kinematics.yaml
I have the following:
manipulator:
kinematics_solver: kdl_kinematics_plugin/KDLKinematicsPlugin
kinematics_solver_search_resolution: 0.005
kinematics_solver_timeout: 0.005
rviz launches fine, and I am able to test simple motion plans using the interaction marker and changing different start and goal configurations. However, I see the following on the terminal where I launched the demo.lauch
.
[ERROR] [1576084155.915723352]: The kinematics plugin (manipulator) failed to load. Error: Could not find library corresponding to plugin ur_kinematics/UR5KinematicsPlugin. Make sure the plugin description XML file has the correct name of the library and that the library actually exists.
[ERROR] [1576084155.915757707]: Kinematics solver could not be instantiated for joint group manipulator.
My reasons for changing from UR5KinematicsPlugin
to kdl_kinematics_plugin
was to avoid this error. I would like to use UR5KinematicsPlugin
the plugin but then the error appears. Any inputs, why I receive this error, and how can I fix this.
thank you,
Zahid
EDIT
thank you for your answer.
I had cloned the original repository of universal_robots
into my catkin_ws
using the following command.
cd ~/catkin_ws/src
git clone https://github.com/ros-industrial/universal_robot.git
catkin build
source ~/catkin_ws/devel/setup.bash
This builds correctly. And, within this directory, I have the the following files libur*_moveit_plugin.so
at the following location ~/catkin_ws/devel/lib
.
My own implementation workspace is different from this, i.e., located at ~/Desktop/IMPLEMENTATIONS/zahid_test_ws/
. However, I am sourcing both before I issue any launch commands, i.e.,
source ~/catkin_ws/devel/setup.bash
source devel/setup.bash
and further, I specifically added the following path to ROS_PACKAGE_PATH
, export ROS_PACKAGE_PATH=/home/zahid/catkin_ws:$ROS_PACKAGE_PATH
.
Shouldn't this be able to locate the necessary paths.
I rechecked, and I am getting the similar problems.
thanks,
Zahid
Please don't post answers that are not answers. If you'd like to provide more information for a question that you asked, edit the original question. I moved your answer to be an edit to your question.
You should not ever be modifying the
ROS_PACKAGE_PATH
manually. If you are seeing tutorials/directions indicating you should do so, they are either very outdated or wrong. Thesetup.bash
files generated in a workspace should be all you need to set the ROS environment for finding packages.Hi, thank you for your comments.
I was sourcing the workspace in the wrong order. I have followed your answer given here
https://answers.ros.org/question/205976/sourcing-from-multiple-workspaces/#205994
Now, it works fine without having to copy the *.so files or modifying
ROS_PACKAGE_PATH
thanks,
That's great news!