Rosanswers logo

Hi everybody,

I am recently struggling with implementation of IK for my robot arm. It's a 4DOF uArm robot (link here), with deterministic IK solutions. I'm working with ROS Kinetic and MoveIt. I have generated an IkFast plugin, but I'm having issues implementing it, because the last joint of my robot arm is not actuated (check the link attached). This seems to confuse MoveIt! and I have not been able to find a solution. It was already brought up in this question. I was researching the option of using a mimic joint, but it doesn't seem to resolve the issue plus it would have to mimic two joints at the same time (joint4 = 0.15707 + joint1 - joint2).

As a matter of fact, I don't actually need such a sophisticated system as IkFast, since the joint values are deterministic for each location. I actually have the IK equations and a C++ implementation. I could use this as an IK, but I don't know how to connect it to MoveIt. I was checking the old tutorial for creating a custom constrained_ik, but it seems to no longer be relevant.

I am after any hint as for where to look. If you have any idea what is the nature of a connection between the IK solver package and MoveIt, what kind of connection and/or message is being used between the two or where I can access such information. I have tried checking a IkFast solution and reverse engineering it, but it's a bit too complicated for my understanding. Can't find which part is actually receiving and sending the solution.

Originally posted by AdamSorrel on ROS Answers with karma: 65 on 2018-06-02

Post score: 2


1 Answer 1


Rosanswers logo

The official documentation is here, along with some links to example code. Another example is ur_kinematics.

The kinematics are loaded in MoveIt via a plugin architecture (see this pluginlib tutorial). When you have created your plugin, you can select it in your kinematics.yaml file like this:

  kinematics_solver: ur_kinematics/UR5KinematicsPlugin

Originally posted by Martin Günther with karma: 11816 on 2018-06-20

This answer was ACCEPTED on the original site

Post score: 6

Original comments

Comment by AdamSorrel on 2018-06-21:
Thanks so much for your help! That's just the kind of pointer I needed.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.