Homepage Demos Overview Downloads Tutorials Reference
Credits

ROBOOP Namespace Reference


Classes

class  Clik
 Handle Closed Loop Inverse Kinematics scheme. More...
class  Config
 Handle configuration files. More...
class  Control_Select
 Select controller class. More...
class  Dynamics
 Dynamics simulation handling class. More...
class  GNUcurve
 Object for one curve. More...
class  Plot2d
 2d plot object. More...
class  IO_matrix_file
 Read and write data at every iterations in a file. More...
class  Plot_file
 Creates a graphic from a data file. More...
class  Quaternion
 Quaternion class definition. More...
class  Link
 Link definitions. More...
class  Robot_basic
 Virtual base robot class. More...
class  Robot
 DH notation robot class. More...
class  mRobot
 Modified DH notation robot class. More...
class  mRobot_min_para
 Modified DH notation and minimal inertial parameters robot class. More...
class  Spl_cubic
 Natural cubic splines class. More...
class  Spl_path
 Cartesian or joint space trajectory. More...
class  Spl_Quaternion
 Cubic quaternions spline. More...
class  Trajectory_Select
 Trajectory class selection. More...

Typedefs

typedef map< Real, ColumnVector,
less< Real > > 
point_map
 Data at control points.
typedef map< Real, Quaternion,
less< Real > > 
quat_map
 Data at control points.

Functions

short set_plot2d (const char *title_graph, const char *x_axis_title, const char *y_axis_title, const char *label, int type, const Matrix &xdata, const Matrix &ydata, int start_y, int end_y)
short set_plot2d (const char *title_graph, const char *x_axis_title, const char *y_axis_title, const vector< char * > label, int type, const Matrix &xdata, const Matrix &ydata, const vector< int > &data_select)
ReturnMatrix trans (const ColumnVector &a)
 Translation.
ReturnMatrix rotx (const Real alpha)
 Rotation around x axis.
ReturnMatrix roty (const Real beta)
 Rotation around x axis.
ReturnMatrix rotz (const Real gamma)
 Rotation around z axis.
ReturnMatrix rotk (const Real theta, const ColumnVector &k)
 Rotation around arbitrary axis.
ReturnMatrix rpy (const ColumnVector &a)
 Roll Pitch Yaw rotation.
ReturnMatrix eulzxz (const ColumnVector &a)
 Euler ZXZ rotation.
ReturnMatrix rotd (const Real theta, const ColumnVector &k1, const ColumnVector &k2)
 Rotation around an arbitrary line.
ReturnMatrix irotk (const Matrix &R)
 Obtain axis from a rotation matrix.
ReturnMatrix irpy (const Matrix &R)
 Obtain Roll, Pitch and Yaw from a rotation matrix.
ReturnMatrix ieulzxz (const Matrix &R)
 Obtain Roll, Pitch and Yaw from a rotation matrix.
ReturnMatrix Omega (const Quaternion &q, const Quaternion &q_dot)
short Integ_quat (Quaternion &dquat_present, Quaternion &dquat_past, Quaternion &quat, const Real dt)
Real Integ_Trap_quat_s (const Quaternion &present, Quaternion &past, const Real dt)
ReturnMatrix Integ_Trap_quat_v (const Quaternion &present, Quaternion &past, const Real dt)
Quaternion Slerp (const Quaternion &q0, const Quaternion &q1, const Real t)
Quaternion Slerp_prime (const Quaternion &q0, const Quaternion &q1, const Real t)
Quaternion Squad (const Quaternion &p, const Quaternion &a, const Quaternion &b, const Quaternion &q, const Real t)
Quaternion Squad_prime (const Quaternion &p, const Quaternion &a, const Quaternion &b, const Quaternion &q, const Real t)
void perturb_robot (Robot_basic &robot, const double f)
 Modify a robot.
bool Puma_DH (const Robot_basic *robot)
 Return true if the robot is like a Puma on DH notation.
bool Rhino_DH (const Robot_basic *robot)
 Return true if the robot is like a Rhino on DH notation.
bool ERS_Leg_DH (const Robot_basic *robot)
 Return true if the robot is like the leg chain of an AIBO on DH notation.
bool ERS2xx_Head_DH (const Robot_basic *robot)
 Return true if the robot is like the camera chain of a 200 series AIBO on DH notation.
bool ERS7_Head_DH (const Robot_basic *robot)
 Return true if the robot is like the camera or mouth chain of a 7 model AIBO on DH notation.
bool Puma_mDH (const Robot_basic *robot)
 Return true if the robot is like a Puma on modified DH notation.
bool Rhino_mDH (const Robot_basic *robot)
 Return true if the robot is like a Rhino on modified DH notation.
ReturnMatrix x_prod_matrix (const ColumnVector &x)
 Cross product matrix.
ReturnMatrix Integ_Trap (const ColumnVector &present, ColumnVector &past, const Real dt)
 Trapezoidal integration.
void Runge_Kutta4_Real_time (ReturnMatrix(*xdot)(Real time, const Matrix &xin, bool &exit, bool &init), const Matrix &xo, Real to, Real tf, int nsteps)
 Fixed step size fourth-order Runge-Kutta integrator.
void Runge_Kutta4_Real_time (ReturnMatrix(*xdot)(const Real time, const Matrix &xin), const Matrix &xo, const Real to, const Real tf, const int nsteps)
void Runge_Kutta4 (ReturnMatrix(*xdot)(Real time, const Matrix &xin), const Matrix &xo, Real to, Real tf, int nsteps, RowVector &tout, Matrix &xout)
 Fixed step size fourth-order Runge-Kutta integrator.
ReturnMatrix rk4 (const Matrix &x, const Matrix &dxdt, Real t, Real h, ReturnMatrix(*xdot)(Real time, const Matrix &xin))
 Compute one Runge-Kutta fourth order step.
void rkqc (Matrix &x, Matrix &dxdt, Real &t, Real htry, Real eps, Matrix &xscal, Real &hdid, Real &hnext, ReturnMatrix(*xdot)(Real time, const Matrix &xin))
 Compute one adaptive step based on two rk4.
void odeint (ReturnMatrix(*xdot)(Real time, const Matrix &xin), Matrix &xo, Real to, Real tf, Real eps, Real h1, Real hmin, int &nok, int &nbad, RowVector &tout, Matrix &xout, Real dtsav)
 Integrate the ordinary differential equation xdot from time to to time tf using an adaptive step size strategy.
ReturnMatrix sign (const Matrix &x)
 Sign of a matrix.
short sign (const Real x)
 Sign of real.
void Runge_Kutta4_Real_time (ReturnMatrix(*xdot)(Real time, const Matrix &xin), const Matrix &xo, Real to, Real tf, int nsteps)

Variables

static const char rcsid[] __UNUSED__ = "$Id: clik.cpp,v 1.6 2005/07/26 03:22:09 ejt Exp $"
 RCS/CVS version.
char * curvetype []
Real fourbyfourident [] = {1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0}
 Used to initialize a $4\times 4$ matrix.
Real threebythreeident [] = {1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0}
 Used to initialize a $3\times 3$ matrix.


Typedef Documentation

typedef map< Real, ColumnVector, less< Real > > ROBOOP::point_map
 

Data at control points.

Definition at line 114 of file trajectory.h.

typedef map< Real, Quaternion, less< Real > > ROBOOP::quat_map
 

Data at control points.

Definition at line 143 of file trajectory.h.


Function Documentation

bool ROBOOP::ERS2xx_Head_DH const Robot_basic *  robot  ) 
 

Return true if the robot is like the camera chain of a 200 series AIBO on DH notation.

Definition at line 1717 of file robot.cpp.

Referenced by ROBOOP::Robot::robotType_inv_kin().

bool ROBOOP::ERS7_Head_DH const Robot_basic *  robot  ) 
 

Return true if the robot is like the camera or mouth chain of a 7 model AIBO on DH notation.

Definition at line 1736 of file robot.cpp.

Referenced by ROBOOP::Robot::robotType_inv_kin().

bool ROBOOP::ERS_Leg_DH const Robot_basic *  robot  ) 
 

Return true if the robot is like the leg chain of an AIBO on DH notation.

Definition at line 1701 of file robot.cpp.

Referenced by ROBOOP::Robot::robotType_inv_kin().

ReturnMatrix ROBOOP::eulzxz const ColumnVector &  a  ) 
 

Euler ZXZ rotation.

Definition at line 202 of file homogen.cpp.

ReturnMatrix ROBOOP::ieulzxz const Matrix &  R  ) 
 

Obtain Roll, Pitch and Yaw from a rotation matrix.

Definition at line 285 of file homogen.cpp.

short ROBOOP::Integ_quat Quaternion &  dquat_present,
Quaternion &  dquat_past,
Quaternion &  quat,
const Real  dt
 

ReturnMatrix ROBOOP::Integ_Trap const ColumnVector &  present,
ColumnVector &  past,
const Real  dt
 

Trapezoidal integration.

Definition at line 77 of file utils.cpp.

Referenced by ROBOOP::Clik::q_qdot().

Real ROBOOP::Integ_Trap_quat_s const Quaternion &  present,
Quaternion &  past,
const Real  dt
 

ReturnMatrix ROBOOP::Integ_Trap_quat_v const Quaternion &  present,
Quaternion &  past,
const Real  dt
 

ReturnMatrix ROBOOP::irotk const Matrix &  R  ) 
 

Obtain axis from a rotation matrix.

Definition at line 244 of file homogen.cpp.

ReturnMatrix ROBOOP::irpy const Matrix &  R  ) 
 

Obtain Roll, Pitch and Yaw from a rotation matrix.

Definition at line 262 of file homogen.cpp.

void ROBOOP::odeint ReturnMatrix(*)(Real time, const Matrix &xin)  xdot,
Matrix &  xo,
Real  to,
Real  tf,
Real  eps,
Real  h1,
Real  hmin,
int &  nok,
int &  nbad,
RowVector &  tout,
Matrix &  xout,
Real  dtsav
 

Integrate the ordinary differential equation xdot from time to to time tf using an adaptive step size strategy.

adapted from: Numerical Recipes in C, The Art of Scientific Computing, Press, William H. and Flannery, Brian P. and Teukolsky, Saul A. and Vetterling, William T., Cambridge University Press, 1988.

Definition at line 259 of file utils.cpp.

ReturnMatrix ROBOOP::Omega const Quaternion &  q,
const Quaternion &  q_dot
 

Referenced by ROBOOP::Spl_Quaternion::quat_w().

void ROBOOP::perturb_robot Robot_basic &  robot,
const double  f
 

Modify a robot.

Parameters:
robot,: Robot_basic reference.
f,: Percentage of erreur between 0 and 1.
f represents an error to added on the robot inertial parameter. f is between 0 (no error) and 1 (100% error).

Definition at line 1601 of file robot.cpp.

bool ROBOOP::Puma_DH const Robot_basic *  robot  ) 
 

Return true if the robot is like a Puma on DH notation.

Compare the robot DH table with the Puma DH table. The function return true if the tables are similar (same alpha and similar a and d parameters).

Definition at line 1634 of file robot.cpp.

Referenced by ROBOOP::Robot::robotType_inv_kin().

bool ROBOOP::Puma_mDH const Robot_basic *  robot  ) 
 

Return true if the robot is like a Puma on modified DH notation.

Compare the robot DH table with the Puma DH table. The function return true if the tables are similar (same alpha and similar a and d parameters).

Definition at line 1756 of file robot.cpp.

Referenced by ROBOOP::mRobot_min_para::robotType_inv_kin(), and ROBOOP::mRobot::robotType_inv_kin().

bool ROBOOP::Rhino_DH const Robot_basic *  robot  ) 
 

Return true if the robot is like a Rhino on DH notation.

Compare the robot DH table with the Puma DH table. The function return true if the tables are similar (same alpha and similar a and d parameters).

Definition at line 1668 of file robot.cpp.

Referenced by ROBOOP::Robot::robotType_inv_kin().

bool ROBOOP::Rhino_mDH const Robot_basic *  robot  ) 
 

Return true if the robot is like a Rhino on modified DH notation.

Compare the robot DH table with the Puma DH table. The function return true if the tables are similar (same alpha and similar a and d parameters).

Definition at line 1790 of file robot.cpp.

Referenced by ROBOOP::mRobot_min_para::robotType_inv_kin(), and ROBOOP::mRobot::robotType_inv_kin().

ReturnMatrix ROBOOP::rk4 const Matrix &  x,
const Matrix &  dxdt,
Real  t,
Real  h,
ReturnMatrix(*)(Real time, const Matrix &xin)  xdot
 

Compute one Runge-Kutta fourth order step.

adapted from: Numerical Recipes in C, The Art of Scientific Computing, Press, William H. and Flannery, Brian P. and Teukolsky, Saul A. and Vetterling, William T., Cambridge University Press, 1988.

Definition at line 172 of file utils.cpp.

Referenced by rkqc().

void ROBOOP::rkqc Matrix &  x,
Matrix &  dxdt,
Real t,
Real  htry,
Real  eps,
Matrix &  xscal,
Real hdid,
Real hnext,
ReturnMatrix(*)(Real time, const Matrix &xin)  xdot
 

Compute one adaptive step based on two rk4.

adapted from: Numerical Recipes in C, The Art of Scientific Computing, Press, William H. and Flannery, Brian P. and Teukolsky, Saul A. and Vetterling, William T., Cambridge University Press, 1988.

Definition at line 207 of file utils.cpp.

Referenced by odeint().

ReturnMatrix ROBOOP::rotd const Real  theta,
const ColumnVector &  k1,
const ColumnVector &  k2
 

Rotation around an arbitrary line.

Definition at line 231 of file homogen.cpp.

ReturnMatrix ROBOOP::rotk const Real  theta,
const ColumnVector &  k
 

Rotation around arbitrary axis.

Definition at line 140 of file homogen.cpp.

Referenced by rotd().

ReturnMatrix ROBOOP::rotx const Real  alpha  ) 
 

Rotation around x axis.

Definition at line 78 of file homogen.cpp.

ReturnMatrix ROBOOP::roty const Real  beta  ) 
 

Rotation around x axis.

Definition at line 98 of file homogen.cpp.

ReturnMatrix ROBOOP::rotz const Real  gamma  ) 
 

Rotation around z axis.

Definition at line 118 of file homogen.cpp.

ReturnMatrix ROBOOP::rpy const ColumnVector &  a  ) 
 

Roll Pitch Yaw rotation.

Definition at line 173 of file homogen.cpp.

void ROBOOP::Runge_Kutta4 ReturnMatrix(*)(Real time, const Matrix &xin)  xdot,
const Matrix &  xo,
Real  to,
Real  tf,
int  nsteps,
RowVector &  tout,
Matrix &  xout
 

Fixed step size fourth-order Runge-Kutta integrator.

Definition at line 144 of file utils.cpp.

void ROBOOP::Runge_Kutta4_Real_time ReturnMatrix(*)(Real time, const Matrix &xin)  xdot,
const Matrix &  xo,
Real  to,
Real  tf,
int  nsteps
 

void ROBOOP::Runge_Kutta4_Real_time ReturnMatrix(*)(const Real time, const Matrix &xin)  xdot,
const Matrix &  xo,
const Real  to,
const Real  tf,
const int  nsteps
 

Definition at line 119 of file utils.cpp.

void ROBOOP::Runge_Kutta4_Real_time ReturnMatrix(*)(Real time, const Matrix &xin, bool &exit, bool &init)  xdot,
const Matrix &  xo,
Real  to,
Real  tf,
int  nsteps
 

Fixed step size fourth-order Runge-Kutta integrator.

Definition at line 90 of file utils.cpp.

short ROBOOP::set_plot2d const char *  title_graph,
const char *  x_axis_title,
const char *  y_axis_title,
const vector< char * >  label,
int  type,
const Matrix &  xdata,
const Matrix &  ydata,
const vector< int > &  data_select
 

Definition at line 713 of file gnugraph.cpp.

short ROBOOP::set_plot2d const char *  title_graph,
const char *  x_axis_title,
const char *  y_axis_title,
const char *  label,
int  type,
const Matrix &  xdata,
const Matrix &  ydata,
int  start_y,
int  end_y
 

Definition at line 674 of file gnugraph.cpp.

short ROBOOP::sign const Real  x  ) 
 

Sign of real.

Definition at line 337 of file utils.cpp.

ReturnMatrix ROBOOP::sign const Matrix &  x  ) 
 

Sign of a matrix.

Definition at line 318 of file utils.cpp.

Referenced by ROBOOP::Robot::computeSecondERSLink().

Quaternion ROBOOP::Slerp const Quaternion &  q0,
const Quaternion &  q1,
const Real  t
 

Referenced by ROBOOP::Spl_Quaternion::quat(), and ROBOOP::Spl_Quaternion::quat_w().

Quaternion ROBOOP::Slerp_prime const Quaternion &  q0,
const Quaternion &  q1,
const Real  t
 

Referenced by ROBOOP::Spl_Quaternion::quat_w().

Quaternion ROBOOP::Squad const Quaternion &  p,
const Quaternion &  a,
const Quaternion &  b,
const Quaternion &  q,
const Real  t
 

Referenced by ROBOOP::Spl_Quaternion::quat(), and ROBOOP::Spl_Quaternion::quat_w().

Quaternion ROBOOP::Squad_prime const Quaternion &  p,
const Quaternion &  a,
const Quaternion &  b,
const Quaternion &  q,
const Real  t
 

Referenced by ROBOOP::Spl_Quaternion::quat_w().

ReturnMatrix ROBOOP::trans const ColumnVector &  a  ) 
 

Translation.

Definition at line 58 of file homogen.cpp.

Referenced by rotd().

ReturnMatrix ROBOOP::x_prod_matrix const ColumnVector &  x  ) 
 

Cross product matrix.

Definition at line 65 of file utils.cpp.

Referenced by ROBOOP::Clik::endeff_pos_ori_err().


Variable Documentation

const char header_utils_rcsid [] ROBOOP::__UNUSED__ = "$Id: clik.cpp,v 1.6 2005/07/26 03:22:09 ejt Exp $" [static]
 

RCS/CVS version.

Definition at line 45 of file clik.cpp.

char* ROBOOP::curvetype[]
 

Initial value:

   {"lines",
    "points",
    "linespoints",
    "impulses",
    "dots",
    "steps",
    "boxes"}

Definition at line 72 of file gnugraph.cpp.

Referenced by ROBOOP::GNUcurve::dump(), and ROBOOP::Plot2d::gnuplot().

Real ROBOOP::fourbyfourident = {1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0}
 

Used to initialize a $4\times 4$ matrix.

Definition at line 112 of file robot.cpp.

Referenced by eulzxz(), ROBOOP::Robot_basic::kine(), rotk(), rotx(), roty(), rotz(), rpy(), and trans().

Real ROBOOP::threebythreeident = {1.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,1.0}
 

Used to initialize a $3\times 3$ matrix.

Definition at line 115 of file robot.cpp.

Referenced by ROBOOP::Robot_basic::convertFrame(), ROBOOP::Robot_basic::convertFrameToLink(), ROBOOP::Robot_basic::convertLink(), ROBOOP::Robot_basic::convertLinkToFrame(), ROBOOP::Robot::dTdqi(), ROBOOP::Robot_basic::operator=(), and ROBOOP::Robot_basic::Robot_basic().


ROBOOP v1.21a
Generated Tue Aug 16 16:32:19 2005 by Doxygen 1.4.4