Homepage Demos Overview Downloads Tutorials Reference
Credits
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members | Related Pages | Search

Kinematics.cc File Reference


Detailed Description

Functions to provide kinematics calculations.

Author:
CMU RoboSoccer 2001-2002 (Creator)
  =========================================================================
    CMPack'02 Source Code Release for OPEN-R SDK v1.0
    Copyright (C) 2002 Multirobot Lab [Project Head: Manuela Veloso]
    School of Computer Science, Carnegie Mellon University
  -------------------------------------------------------------------------
    This software is distributed under the GNU General Public License,
    version 2.  If you do not have a copy of this licence, visit
    www.gnu.org, or write: Free Software Foundation, 59 Temple Place,
    Suite 330 Boston, MA 02111-1307 USA.  This program is distributed
    in the hope that it will be useful, but WITHOUT ANY WARRANTY,
    including MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  -------------------------------------------------------------------------
    Additionally licensed to Sony Corporation under the following terms:

    This software is provided by the copyright holders AS IS and any
    express or implied warranties, including, but not limited to, the
    implied warranties of merchantability and fitness for a particular
    purpose are disclaimed.  In no event shall authors be liable for
    any direct, indirect, incidental, special, exemplary, or consequential
    damages (including, but not limited to, procurement of substitute
    goods or services; loss of use, data, or profits; or business
    interruption) however caused and on any theory of liability, whether
    in contract, strict liability, or tort (including negligence or
    otherwise) arising in any way out of the use of this software, even if
    advised of the possibility of such damage.
  =========================================================================

Author
ejt
Name
tekkotsu-1_4_1
Revision
1.3
State
Exp
Date
2003/01/17 23:15:51

Definition in file Kinematics.cc.

#include <math.h>
#include "Kinematics.h"

Include dependency graph for Kinematics.cc:

Include dependency graph

Go to the source code of this file.

Functions

const vector3d f_body_to_shoulder (59.50, 59.20, 0.00)
const vector3d f_leg_shoulder_to_knee (12.80, 0.50,-64.00)
const vector3d f_leg_knee_to_ball (-18.00, 0.00,-67.23)
const vector3d h_body_to_shoulder (-59.50, 59.20, 0.00)
const vector3d h_leg_shoulder_to_knee (-12.80, 0.50,-64.00)
const vector3d h_leg_knee_to_ball (18.00, 0.00,-74.87)
void KinClearErrors ()
int KinGetErrors ()
double GetTrigAngle (double a, double b, double d, double mn, double mx, bool add)
void GetLegAngles (double *angles, vector3d target, int leg)
void GetLegAngles (double *angles, vector3d target[4], double body_angle, double body_height)
void GetLegAngles (double *angles, vector3d target[4], BodyPosition &bp)
void GetLegAngles (double *angles, vector3d target, BodyPosition &bp, int leg)
void GetLegPosition (vector3d &p, const double *ang, int leg)
void GetBodyLocation (vector3d &ball, vector3d &toe, const double *ang, int leg)
void GetHeadAngles (double *angles, vector3d target, double body_angle, double body_height)
vector3d RunForwardModel (double *angles, double body_angle, double body_height, vector3d point)
void GetHeadPosition (vector3d &location, vector3d &direction, vector3d &up, vector3d &right, double *angles, double body_angle, double body_height)

Variables

const vector3d f_upper = f_leg_shoulder_to_knee
const vector3d f_lower = f_leg_knee_to_ball
const vector3d h_upper = h_leg_shoulder_to_knee
const vector3d h_lower = h_leg_knee_to_ball
int errors
const double rotator_min = RAD(-117.0)
const double rotator_max = RAD( 117.0)
const double shoulder_min = RAD( -11.0)
const double shoulder_max = RAD( 97.0)
const double knee_max = RAD( 147.0)
const double knee_min = RAD( -27.0)
const double rotator_kmin = RAD(-90.0)
const double rotator_kmax = RAD( 90.0)
const double shoulder_kmin = shoulder_min
const double shoulder_kmax = RAD( 90.0)
const double knee_kmax = knee_max
const double f_knee_kmin = 0.2616
const double h_knee_kmin = 0.2316
const double tail_min = RAD(-22)
const double tail_max = RAD( 22)
const double head_tilt_min = RAD(-88.5)
const double head_tilt_max = RAD( 43.0)
const double head_pan_min = RAD(-89.6)
const double head_pan_max = RAD( 89.6)
const double head_roll_min = RAD(-29.0)
const double head_roll_max = RAD( 29.0)


Function Documentation

const vector3d f_body_to_shoulder 59.  50,
59.  20,
0.  00
 

const vector3d f_leg_knee_to_ball -18.  00,
0.  00,
-67.  23
 

const vector3d f_leg_shoulder_to_knee 12.  80,
0.  50,
-64.  00
 

void GetBodyLocation vector3d ball,
vector3d toe,
const double *  ang,
int  leg
 

Definition at line 315 of file Kinematics.cc.

References f_body_to_shoulder(), f_leg_knee_to_ball(), f_leg_shoulder_to_knee(), h_body_to_shoulder(), h_leg_knee_to_ball(), h_leg_shoulder_to_knee(), GVector::vector3d< double >::rotate_x(), GVector::vector3d< double >::rotate_y(), and GVector::vector3d< double >::y.

void GetHeadAngles double *  angles,
vector3d  target,
double  body_angle,
double  body_height
 

Definition at line 337 of file Kinematics.cc.

References body_to_neck(), bound(), head_pan_max, head_pan_min, head_tilt_max, head_tilt_min, GVector::vector3d< double >::length(), neck_to_camera(), GVector::vector3d< double >::rotate_y(), GVector::vector3d< double >::x, GVector::vector3d< double >::y, and GVector::vector3d< double >::z.

void GetHeadPosition vector3d location,
vector3d direction,
vector3d up,
vector3d right,
double *  angles,
double  body_angle,
double  body_height
 

Definition at line 423 of file Kinematics.cc.

References GVector::vector3d< double >::norm(), RunForwardModel(), and vector3d.

void GetLegAngles double *  angles,
vector3d  target,
BodyPosition bp,
int  leg
 

Definition at line 289 of file Kinematics.cc.

References BodyPosition::angle, BodyPosition::loc, GVector::vector3d< double >::rotate_z(), GVector::vector3d< double >::y, and GVector::vector3d< double >::z.

void GetLegAngles double *  angles,
vector3d  target[4],
BodyPosition bp
 

Definition at line 278 of file Kinematics.cc.

void GetLegAngles double *  angles,
vector3d  target[4],
double  body_angle,
double  body_height
 

Definition at line 264 of file Kinematics.cc.

void GetLegAngles double *  angles,
vector3d  target,
int  leg
 

Definition at line 185 of file Kinematics.cc.

void GetLegPosition vector3d p,
const double *  ang,
int  leg
 

Definition at line 298 of file Kinematics.cc.

References f_body_to_shoulder(), f_leg_knee_to_ball(), f_leg_shoulder_to_knee(), h_body_to_shoulder(), h_leg_knee_to_ball(), h_leg_shoulder_to_knee(), GVector::vector3d< double >::rotate_x(), GVector::vector3d< double >::rotate_y(), and GVector::vector3d< double >::y.

double GetTrigAngle double  a,
double  b,
double  d,
double  mn,
double  mx,
bool  add
 

Definition at line 101 of file Kinematics.cc.

References errors.

const vector3d h_body_to_shoulder -59.  50,
59.  20,
0.  00
 

const vector3d h_leg_knee_to_ball 18.  00,
0.  00,
-74.  87
 

const vector3d h_leg_shoulder_to_knee -12.  80,
0.  50,
-64.  00
 

void KinClearErrors  ) 
 

Definition at line 91 of file Kinematics.cc.

References errors.

int KinGetErrors  ) 
 

Definition at line 96 of file Kinematics.cc.

References errors.

vector3d RunForwardModel double *  angles,
double  body_angle,
double  body_height,
vector3d  point
 

Definition at line 395 of file Kinematics.cc.

References body_to_neck(), neck_to_camera(), GVector::vector3d< double >::rotate_x(), GVector::vector3d< double >::rotate_y(), GVector::vector3d< double >::rotate_z(), and GVector::vector3d< double >::z.


Variable Documentation

int errors [static]
 

Definition at line 89 of file Kinematics.cc.

const double f_knee_kmin = 0.2616
 

Definition at line 171 of file Kinematics.cc.

const vector3d f_lower = f_leg_knee_to_ball
 

Definition at line 79 of file Kinematics.cc.

const vector3d f_upper = f_leg_shoulder_to_knee
 

Definition at line 78 of file Kinematics.cc.

const double h_knee_kmin = 0.2316
 

Definition at line 172 of file Kinematics.cc.

const vector3d h_lower = h_leg_knee_to_ball
 

Definition at line 81 of file Kinematics.cc.

const vector3d h_upper = h_leg_shoulder_to_knee
 

Definition at line 80 of file Kinematics.cc.

const double head_pan_max = RAD( 89.6)
 

Definition at line 180 of file Kinematics.cc.

const double head_pan_min = RAD(-89.6)
 

Definition at line 179 of file Kinematics.cc.

const double head_roll_max = RAD( 29.0)
 

Definition at line 182 of file Kinematics.cc.

const double head_roll_min = RAD(-29.0)
 

Definition at line 181 of file Kinematics.cc.

const double head_tilt_max = RAD( 43.0)
 

Definition at line 178 of file Kinematics.cc.

const double head_tilt_min = RAD(-88.5)
 

Definition at line 177 of file Kinematics.cc.

const double knee_kmax = knee_max
 

Definition at line 170 of file Kinematics.cc.

const double knee_max = RAD( 147.0)
 

Definition at line 163 of file Kinematics.cc.

const double knee_min = RAD( -27.0)
 

Definition at line 164 of file Kinematics.cc.

const double rotator_kmax = RAD( 90.0)
 

Definition at line 167 of file Kinematics.cc.

const double rotator_kmin = RAD(-90.0)
 

Definition at line 166 of file Kinematics.cc.

const double rotator_max = RAD( 117.0)
 

Definition at line 160 of file Kinematics.cc.

const double rotator_min = RAD(-117.0)
 

Definition at line 159 of file Kinematics.cc.

const double shoulder_kmax = RAD( 90.0)
 

Definition at line 169 of file Kinematics.cc.

const double shoulder_kmin = shoulder_min
 

Definition at line 168 of file Kinematics.cc.

const double shoulder_max = RAD( 97.0)
 

Definition at line 162 of file Kinematics.cc.

const double shoulder_min = RAD( -11.0)
 

Definition at line 161 of file Kinematics.cc.

const double tail_max = RAD( 22)
 

Definition at line 175 of file Kinematics.cc.

const double tail_min = RAD(-22)
 

Definition at line 174 of file Kinematics.cc.


Tekkotsu v1.4
Generated Sat Jul 19 00:07:27 2003 by Doxygen 1.3.2