70#ifndef __IFORCECONTROL_H__
71#define __IFORCECONTROL_H__
73#include <yarp/sig/Vector.h>
74#include <yarp/sig/Matrix.h>
75#include <yarp/math/Math.h>
76#include <yarp/math/SVD.h>
98 class iCubEyeNeckRefDyn;
99 class iCubInertialSensorDyn;
128 yarp::sig::Vector FT;
138 iGenericFrame(
const yarp::sig::Matrix &_R,
double _x,
double _y,
double _z);
153 void setR(
const yarp::sig::Matrix &_R);
160 void setP(
double _x,
double _y,
double _z);
165 void setP(
const yarp::sig::Vector &_p);
173 void setH(
const yarp::sig::Matrix &_R,
double _x,
double _y,
double _z);
178 void setH(
const yarp::sig::Matrix &_R,
const yarp::sig::Vector &_p);
182 void setH(
const yarp::sig::Matrix &_H);
192 void setPRH(
const yarp::sig::Matrix &_R,
const yarp::sig::Vector &_p);
196 void setPRH(
const yarp::sig::Matrix &_H);
202 yarp::sig::Vector
setFT(
const yarp::sig::Vector &_FT);
205 yarp::sig::Vector
getP(){
return p;}
206 yarp::sig::Matrix
getR(){
return R;}
207 yarp::sig::Matrix
getH(){
return H;}
210 yarp::sig::Vector
getFT(){
return FT;}
227 yarp::sig::Vector FT;
245 void setFT(
const yarp::sig::Vector &_FT);
259 void setRs(
const yarp::sig::Matrix &_Rs){ Sensor->setR(_Rs);}
261 void setPs(
const yarp::sig::Vector &_ps){Sensor->setP(_ps);}
264 void setHs(
const yarp::sig::Matrix &_Hs){Sensor->setH(_Hs);}
267 yarp::sig::Matrix
getRs(){
return Sensor->getR();}
268 yarp::sig::Vector
getPs(){
return Sensor->getP();}
269 yarp::sig::Matrix
getHs(){
return Sensor->getH();}
273 yarp::sig::Matrix
getRl(){
return Link->getR();}
275 yarp::sig::Vector
getPl(){
return Link->getP();}
277 yarp::sig::Matrix
getHl(){
return Link->getH();}
280 yarp::sig::Matrix
getH();
282 void setSensor(
int _l,
const yarp::sig::Vector &_FT);
283 void setSensor(
const yarp::sig::Matrix &_H,
const yarp::sig::Vector &_FT);
284 void setSensor(
const yarp::sig::Vector &_FT);
287 yarp::sig::Vector
getFT();
302 yarp::sig::Matrix Hs;
303 yarp::sig::Vector Fs;
304 yarp::sig::Matrix He;
305 yarp::sig::Vector Fe;
306 yarp::sig::Matrix Tse;
307 yarp::sig::Matrix Teb;
320 void initiFTransformation();
335 void setSensor(
const yarp::sig::Matrix &_H,
const yarp::sig::Vector &_FT);
339 void setHe(
const yarp::sig::Matrix &_H);
349 yarp::sig::Matrix
getHs(){
return Hs;}
350 yarp::sig::Matrix
getHe(){
return He;}
A class for setting a virtual base link: this is useful to initialize the forward phase of Newton-Eul...
A class for setting a virtual final link: this is useful to initialize the backward phase of Newton-E...
A class for computing forces and torques in a iDynChain.
A base class for computing forces and torques in a serial link chain.
A class for setting a virtual sensor link.
A class for defining the 7-DOF iCub Arm in the iDyn framework.
A class for defining the 6-DOF iCub Leg.
A Base class for defining a Serial Link Chain, using dynamics and kinematics.
A class for computing force/moment of a sensor placed anywhere in a kinematic chain; its position in ...
A class for defining a generic Limb within the iDyn framework.
A base class for defining a Link with standard Denavit-Hartenberg convention, providing kinematic and...
A class for computing joint force/moment/torque of an iCub arm (left/right) given the FT measurements...
A class for computing joint force/moment/torque of an iCub leg (left/right) given the FT measurements...
A class for computing forces and torques in a iDynChain, when a force/torque sensor is placed in the ...
A Base class for defining the FT sensor over a generic link of a kinematic chain inherited by iKinLim...
yarp::sig::Vector getPl()
yarp::sig::Matrix getHs()
void setPs(const yarp::sig::Vector &_ps)
void setSensorKin(const yarp::sig::Matrix &_H)
yarp::sig::Vector getFT()
yarp::sig::Vector getPs()
void setSensor(int _l, const yarp::sig::Vector &_FT)
yarp::sig::Matrix getRs()
void attach(iKin::iKinChain *_Limb)
yarp::sig::Matrix getRl()
void setRs(const yarp::sig::Matrix &_Rs)
void setHs(const yarp::sig::Matrix &_Hs)
void setFT(const yarp::sig::Vector &_FT)
yarp::sig::Matrix getHl()
A Base class for defining the Transformation of a Wrench from a frame to another.
void setPRH(const yarp::sig::Matrix &_H)
yarp::sig::Vector setFT(const yarp::sig::Vector &_FT)
void setP(const yarp::sig::Vector &_p)
void setH(const yarp::sig::Matrix &_H)
iGenericFrame(const yarp::sig::Matrix &_R, double _x, double _y, double _z)
void setH(const yarp::sig::Matrix &_R, double _x, double _y, double _z)
void setR(const yarp::sig::Matrix &_R)
iGenericFrame(const yarp::sig::Matrix &_R, const yarp::sig::Vector &_p)
void setPRH(const yarp::sig::Matrix &_R, const yarp::sig::Vector &_p)
yarp::sig::Vector getFT()
void setH(const yarp::sig::Matrix &_R, const yarp::sig::Vector &_p)
void setP(double _x, double _y, double _z)
A Base class for defining a Serial Link Chain.
This file contains the definition of unique IDs for the body parts and the skin parts of the robot.