ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A answers.ros.org

# Can moveite cope with mimic joint (parallel kinematic) and/or liniear constraints for planning and trajectory in IK

We have a parallel robot which we want to model and control using ROS. For this we need a Forward Kinematic (FK) model as well as calculating the Inverse Kinematics (IK) on velocity level. The kinematic structure of the robot partly behaves serial and partly parallel (2 DOF’s parallel, 3 DOF’s serial). For more info I can refer for the short movie, which can be send on request, which shows the behavior of each DOF.

Implementing the FK was quit straight forward by introducing mimic joints in the URDF-file. These mimic joints are simply a linear function of other joints. This approach works as expected for the FK, however not for the IK. For the IK problem we tried MoveIt, however the standard algorithm used in MoveIt, does not cope with these mimic joints. Maybe we could calculate the manipulator Jacobian by hand and implement our own IK algorithm, however we prefer to use a package like MoveIt, as this package comes with a lot of other possibilities like collision detection, joint limits etcetera.

So our question is, how should we implement a parallel kinematic structure in ROS?

This question can be divided by the following sub questions: • Is the use of mimic joints the correct choice? • Can MoveIt cope with mimic joints? • Can MoveIt cope with linear constraints (e.g. q3=q2-q1), which is basically coping with the mimic joint? • Is there an alternative for MoveIt which can do the above? (IKFast?, OpenRave) • Is there a package which uses the Jacobian matrix directly? • Can we fool MoveIT to solve this

edit retag close merge delete

Hi, were you able to set it up? I am trying to do something similar. I have a robot with a similar Kinematic, but i only need one mimic joint. I am getting the "has a mimic joint" warning and that the dynamics solver is not initialized. Would be nice to share your experience.

( 2016-04-18 04:00:18 -0500 )edit

Sort by » oldest newest most voted

I'm not sure if support for mimic joints has been fully integrated into MoveIt yet (maybe it has been in the Jade devel), but there is an IK class specifically designed for kinematic chains with mimic joints in the moveit_ros_planning package: http://docs.ros.org/jade/api/moveit_r...

It's basically inherited from the general class for numerical (Jacobian pseudo-inverse) IK solvers in the KDL library. To use it, you'll have to construct the KDL::Chain corresponding to your robot and give it to an instance of the IK solver. Here's an example where this is done (not for mimic joints, but the overall procedure is more or less the same): https://github.com/burgetf/nao_wholeb...

more