On 2012-01-11 12:06, Thomas Moulard wrote: > Hi all, > Attached is a draft defining naming conventions and semantic meaning > for coordinate frames of legged robots used within ROS. +1 for the REP in general, it's a good idea to standardize as early as possible! I have a few questions / comments below: - It might be good to standardize wrt. wheeled manipulation robots such as the PR2 or TUM's Rosie as well concerning arms and head frames, so that manipulation algorithms can be shared. For this the upper body is largely independent of the locomotion (legs or wheels). - right/left is differentiated by l/r prefixes on the PR2 this would make sense here as well (more in line with existing conventions, short to type, easier to swap out just one letter with xacro). - base_footprint: We've had some good experience using this one for navigation instead of the "floating" base_link on humanoids. The REP should specify where the "floor" is however (lowest or supporting foot sole, not necessarily z=0 in multilevel / 3D environments). To use regular 2D navigation it's good to have the same yaw angle as base_link but with pitch and roll enforced to 0 in the projection. In the optimal case, I think this shouldn't oscillate from the swaying torso motion when walking so instead of only projecting down from base_link we chose the average between the two foot frames (see http://ros.org/doc/api/nao_remote/html/remap__odometry_8cpp_source.html#l00316). This is fairly stable when walking so it can be used with a local velocity controller. - *_hand: I couldn't immediately understand the frame orientation from the description ;) - gaze: does the description mean this should always switch to the currently active sensor (e.g. a camera pointing down), or where the humanoid's head appears to be looking e.g. for interaction? - I'm not sure why both ankle and sole (end of the leg chain) need to be standardized. Say there are 2 DOF in the ankle, where would the right_ankle frame be? If it's *after* the joints, isn't it just a constant offset from *_sole then? (I guess the same applies for wrist and hand). Best, -- Armin Hornung Humanoid Robots Lab, Albert-Ludwigs-Universität Freiburg Contact: http://www.informatik.uni-freiburg.de/~hornunga