API review

Proposer: Sachin Chitta

Present at review:

  • List reviewers

What to review

This is a review of the pr2_arm_ik package that provides inverse kinematics solvers for the PR2 arms. This is only a review of the ROS API which is documented on the pr2_arm_ik wiki page. The service API is through the services defined in the kinematics_msgs package.

Question / concerns / comments

Enter your thoughts on the API and any questions / concerns you have here. Please sign your name. Anything you want to address in the API review should be marked down here before the start of the meeting.


  • the package might be more correctly named pr2_arm_kinematics or something the like since it does more than IK.
  • give a reference materials for the code in the solvers, the mathematical derivation would be nice. Also state whether you are using kdl or a custom solver.
  • the free_angle (int, default: 2) should be a string value for the name of the joint, 0 and 2 is ambiguous if you don't know the order of the kinematic chain.
  • why bother having a root_link parameter when this IK is specific to the PR2 and the root_link will always be the torso?
  • the get_ik and get_fk service message is very cumbersome for many users and most of the fields are not used in the solver, why have an API that is only there to confuse. Also since this node is specific to the PR2 why use a generic message that never be fully utilized in the case of this node. The solver for the IK only takes ik_seed, the desired pose, and a timeout.
  • get_kinematic_tree_info is not a good service to provide. You should be using the URDF directly instead of populating a duplicate message (i.e. you know the root and tip of the chain and therefore can get all of this information without a service call)
  • there are dead links to the PR2/Tutorials and the Tutorials link should link through to the correct tutorials.
  • there is no clear statement of stability

Meeting agenda

To be filled out by proposer based on comments gathered during API review period


Package status change mark change manifest)

  • /!\ Action items that need to be taken.

  • {X} Major issues that need to be resolved

  • /!\ Add statement of stability

  • /!\ Rename to pr2_arm_kinematics - DONE

  • Add technical report on IK, documentation on FK
  • string value for name free parameter joint
  • /!\ Have two different services for ik and fk since the link names can be different - DONE

Wiki: pr2_arm_kinematics/Reviews/2010-02-25_API_Review (last edited 2010-03-12 12:22:35 by SachinChitta)