[ros-users] Draft REP: Coordinate Frames for Humanoids Robots
Armin Hornung
HornungA at informatik.uni-freiburg.de
Wed Jan 11 16:17:32 UTC 2012
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
More information about the ros-users
mailing list