API review
Proposer: John Hsu
Present at review:
- List reviewers
Changes
- 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
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].
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.
Major issues that need to be resolved