ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

ROS is a great way for you to test/demonstrate your inverse kinematics algorithms!

The arm_kinematics_constraint_aware package provides a plugin interface for integrating different kinematics algorithms into the standard ROS ecosystem. See the tutorials for an introduction on how to set up your own kinematics plugin.

Once you have implemented the standard kinematics-plugin interface for your algorithms, then you can easily swap between the default ROS kinematics methods and your own algorithms, for comparison and benchmarking.

You can test your kinematics in a few different ways:

1) Qualitatively - create a arm navigation package for your robot arm, then use the planning components visualizer to interactively drag the end-effector and observe the joint solutions computed by your IK algorithms.

2) Quantitatively - write a program to call the kinematics service for a set of random, critical, or evenly-spaced poses to evaluate the performance (timing, accuracy, etc.) of your kinematics algorithms. One easy method is to iterate through all valid joint-angle combinations, and calculate a round-trip kinematic solution (forward-kinematics followed by inverse-kinematics). Comparing the IK results against the original joint-angles can help evaluate your IK algorithms.

Good luck! Hope these pointers are helpful.