head_transfo
[Body Schema Modules]

Converts position from eyes-centered to body-centered frames of reference. More...

Converts position from eyes-centered to body-centered frames of reference.

Description

This module converts positions from a frame of reference centered on one joint to a frame of reference centered on another joint. It has been used mainly for converting from eyes-centered to body-centered frames of reference. It can receive updated version of the body schema from the network.

Libraries

yarp_os

Parameters

Ports Accessed

none directly in the code

Ports Created

Input ports: -- <basename>/proprio_head:i this ports receives the joint angle values for the head in degrees. It a list of doubles specifiy the angles, from the proximal to the distal joints. Typically it gets its input from /icub/head/state:o

Output ports:

Input Data Files

The file <struct_file> specifes the kinematic structure of the manipulator. Typically, this file describes the kinematic structure of the entire robot The robot can be described by an ArticulatedTree , having (for example) the torso as root where edges represent rigid connections (translation) and nodes represent joints (rotations). (see my IJHR paper for more details) The file is an xml file with the following structure (see conf/icub_head_right_arm_tree.xml for the file describing the kinematics of the icub right arm and head.)

 <Segment> r_sfe
  <Axis> 1 0 0  </Axis>
   <Range> -90 90 </Range>
   <Position> -100 0 0 </Position>      
   <Children>
     <Segment> r_saa
     ...
   </Children>
  </Segment>

In the example above r_sfe is the name of the proximal joint. The <Position> tag refers to the position of the joint with resect to the previous joint, when in the zero joint position. Similarly the <Axis> tag refers the the rotation axis, when all previous joints are in the zero position. <Range> provides the joint angle boundaries in degrees, and <Children> announce the next link. The tip of the manipulator is specified as an additional joint, but it has no <Axis> tag, only a <Position> tag

Output Data Files

None

Configuration Files

All the parameters can be written in a file given by the --file option on the command line. Here is an example for reaching with the right arm

 structure ./conf/icub_head_right_arm_tree_safe.xml 
 from neck_tilt
 to eyes 

Tested OS

Linux

Example Instantiation of the Module

 ./head_transfo --file conf/config_head2body.ini --name /micha/transfo

where conf/config_head2body.ini is the file given in example in section Configuration Files

Author:
Micha Hersch

CopyPolicy: Released under the terms of the GNU GPL v2.0.

This file can be edited at src/lasaBodySchema/include/HeadToBodyCenteredRef.h

 All Data Structures Functions Variables

Generated on Wed Sep 22 16:51:26 2010 for Body_Schema_Learning by  doxygen 1.6.1