21 #ifndef ICUBSIMULATION_ODELOGICALJOINT_INC
22 #define ICUBSIMULATION_ODELOGICALJOINT_INC
66 void init(
const char *unit,
const char *type,
int index,
int sign,
RobotConfig &conf);
101 return speedSetpoint;
130 return (number != -1) || (verge != 0);
139 dJointFeedback *feedback;
143 double speedSetpoint;
Abstract class for mapping from "physical" (simulated) joints in the model to control joints in the I...
Convenience class for mapping from physical ODE joints in the model to control joints in the ICUB spe...
OdeLogicalJoint * at(int index)
Access a nested control unit.
void controlModeChanged(int cm)
double getVelocity()
Get the angular velocity of an associated joint, in ICUB units and sign.
void init(const char *unit, const char *type, int index, int sign, RobotConfig &conf)
Initialize a regular control unit.
virtual ~OdeLogicalJoint()
Destructor.
void setPosition(double target)
Drive towards an angle setpoint (in ICUB units/sign).
OdeLogicalJoint * nest(int len)
Create an array of nested control units.
double getAngleRaw()
Get the angle of an associated joint in unconverted units and sign.
double getVelocityRaw()
Get the velocity of an associated joint in unconverted units and sign.
double getTorque()
this is just a fake torque interface for now
void setVelocityRaw(double target)
Set raw velocity of joint (in ODE units/sign).
OdeLogicalJoint()
Constructor.
void setVelocity(double target)
Set velocity of joint (in ICUB units/sign).
void setControlParameters(double vel, double acc)
Set velocity and acceleration control parameters.
void setTorque(double target)
Set the reference torque.
double getSpeedSetpoint()
Get the current target velocity.
double getAngle()
Get the angle of an associated joint, in ICUB units and sign.
Header to implement the PID filter.