API review

Proposer: John Hsu

Present at review:

  • List reviewers

Changes

robot_model/parser_changes2.jpg

  • update parsers
    • kdl_parser
    • rviz - parse directly from RobotModel

    • mechanism_model
  • deprecating wg_robot_description_parser
  • URDF format change - see overview of proposed URDF.

    • removing <map>, replacing with extensions <gazebo> and <ogre>

Question / concerns / comments

Meeting agenda

  • {X} ability to define joints independent of links. Example use case: gripper_joint is not attached to any specific link

    <joint name="a_joint" type="revolute">
      <limit lower="0" upper="1" />
    </joint>
    <link name="a_link">
      <connect parent_joint="a_joint" type="revolute">
        <origin xyz="0 0 0" > <!-- transform from child link to joint -->
        <axis xyz="0 0 1" >
        <parent link="parent_link_name">
          <origin xyz="0 0 0" rpy="0 0 0" /> <!-- transform from joint to parent link -->
        </parent>
      </connect>
    </link>

    Need better structure and name then origin tag. [:robot_model/Reviews/2009-08-13_API_Review: TBD at next API Review].

    {X} gripper_joint need either mimic or additional constraints for proper forward kinematics.

    /!\ inertial, visual, collision should be optional (john -- pkg )

    /!\ removing names for invertial, visual, collsion (anything you can call get_() are required to have names). (john pkg )

    /!\ specify inertia/visual/collision origin is optional, default to identity (john pkg )

    /!\ make quaternion an option for origin: <origin xyz="..." quaternion="...." /> (John)

    /!\ make sure rpy application is in the right direction (wim)

    /!\ <frames> not needed (john remove from wiki)

API

  • /!\ remove underscore from public members (wim -- done)

    /!\ initXml should be able to take TiXmlDocument* and TiXmlElement* (wim -- done)

    /!\ change cerr and cout to ROS_INFO/ROS_ERROR for now, think about wrapping in custom macros. (wim -- done)

    /!\ getLinks() returns vector of links (josh has to check in)

    /!\ wrong const location, should be (john -- done)

    boost::shared_ptr< const Link >         getLink (const std::string &name) const

    /!\ Need getJoints() (john)

    /!\ move RobotModel::link_parent_ into local scope (john pkg)

    /!\ rename Pose::pos_ and Pose::rot_ to Pose::position and Pose::rotation (wim -- done)

    /!\ anything that should exist and have right default values should not be a pointer, example: Pose::pos_ and Pose::rot_ (wim -- done)

    /!\ Rotation: move w behind x,y,z (wim -- done)

    /!\ remove joint_ prefix from class memebers (john -- done)

    /!\ remove extensions from diagram (split?) (john -- done)

Conclusion

Package status change mark change manifest)

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

  • {X} Major issues that need to be resolved


Wiki: urdf/Reviews/2009-08-10_API_Review (last edited 2009-09-22 22:30:35 by hsu)