API review

Proposer: Wim Meeussen

Present at review:

  • Eitan
  • Stu
  • Vijay
  • Melonee
  • Wim
  • Tully

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 namespaces chosen for the topics tightly couple this action to our specific layout of controllers. To add flexibility the joint_trajectory_action parameter should point to the full path of the output action. Currently the "actions called" section assumes that the output action is under <~arm>_arm_controller. Instead, joint_trajectory_action must be specified by the user as r_arm_controller/joint_trajectory_action. If we then move the controller to a different namespace, the arm ik action will be able to send goals to the new namespace.

  • I'd like the ability to specify a tool pose in each goal. The tool pose is given as a PoseStamped, and is transformed into the *_wrist_roll_link on receipt of the goal. The action lines up the tool pose with the goal pose (probably by transforming the goal pose into a desired pose for the *_wrist_roll_link). With this behavior the action assumes that the frame_id given with the tool is rigidly attached to the wrist roll link (It's up to the user to ensure this).

  • I don't really like how the namespaces it uses change based on the ~arm parameter. I'd much prefer we follow the design of other nodes, always setup the action in arm_ik in the node, and remap it in the launch file.


  • Can the name of this package be changed to reflect what it does. Something like pr2_ik_based_arm_control? Also, can you also change the name of the .cpp file in this package from arm_ik.cpp - all the tickets from this package tend to be assigned to the pr2_arm_kinematics stack since people assume this package is actually doing ik (but its just a wrapper on the ik and trajectory controller).
  • typo on the documentation page - this should not be here.
    • This returns the location where the plug was found in the gripper.

  • Can you change the names in the message to reflect the names used in the motion planning stacks - e.g. GetPositionIK uses ik_seed_state.
  • Specify the tool frame as a pose, not a pose stamped and call it something like tool_offset - the offset from the end-effector frame to the tool frame.

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

  • /!\ change ~arm param to just state the side

  • /!\ change param ~/joint_trajector_action to be full action path

  • /!\ Add a PoseStamped with implicit fixed_frame of wrist roll link

  • /!\ rename to pr2_arm_move_ik

  • /!\ try to standardize calls with move arm interface


  • Changed meaning of joint_trajectory_action and arm parameters
  • Added a posestamp to the goal. This still needs to get implemented in the action
  • renamed package and action description

Wiki: pr2_arm_move_ik/Reviews/2010-06-21_API_Review (last edited 2010-07-12 23:09:39 by wim)