Ask Your Question
0

MoveIt kinematics plugin

asked 2019-12-11 11:34:20 -0600

zahid990170 gravatar image

updated 2019-12-12 09:45:54 -0600

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

edit retag flag offensive close merge delete

Comments

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.

jarvisschultz gravatar imagejarvisschultz ( 2019-12-12 09:49:55 -0600 )edit

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. The setup.bash files generated in a workspace should be all you need to set the ROS environment for finding packages.

jarvisschultz gravatar imagejarvisschultz ( 2019-12-12 09:51:30 -0600 )edit
1

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

source ~/catkin_ws/devel/setup.bash
cd ~/Desktop/IMPLEMENTATIONS/zahid_test_ws
catkin clean
catkin_make
source devel/setup.bash
roslaunch ur5_moveit_path_planner smp.launch

Now, it works fine without having to copy the *.so files or modifying ROS_PACKAGE_PATH

thanks,

zahid990170 gravatar imagezahid990170 ( 2019-12-13 06:02:42 -0600 )edit

That's great news!

jarvisschultz gravatar imagejarvisschultz ( 2019-12-13 12:26:02 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-12-11 11:53:13 -0600

To use the UR5KinematicsPlugin, you'll need to have the ur_kinematics package installed or built in your workspace. Then in the kinematics.yaml file you mentioned, the kinematics_solver field would need to be defined according to the exported plugin name from the ur_kinematics package (see relevant line here)

So your config might look something like:

manipulator:
  kinematics_solver: ur_kinematics/UR5KinematicsPlugin
  max_solver_iterations: 100
edit flag offensive delete link more

Comments

thanks for your answer.

Finally, following this link [https://github.com/ros-industrial/uni...] I was able to avoid this error.

zahid990170 gravatar imagezahid990170 ( 2019-12-11 12:38:00 -0600 )edit

Copying the *.so file might have solved the issue, but it is not the correct way to solve the issue. You should be able to find this plugin without any manual copying. If you can't, that points to an underlying issue with either the package itself, or your workspace/environment.

jarvisschultz gravatar imagejarvisschultz ( 2019-12-12 09:48:43 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2019-12-11 11:34:20 -0600

Seen: 27 times

Last updated: Dec 12 '19