general servo motor to achieve position control. More...
#include <oneaxisservo.h>
Inherits lpzrobots::OneAxisServo.
Public Member Functions | |
OneAxisServoVel (const OdeHandle &odeHandle, OneAxisJoint *joint, double _min, double _max, double power, double damp=0.05, double maxVel=20, double jointLimit=1.3) | |
min and max values are understood as travel bounds. | |
virtual | ~OneAxisServoVel () |
virtual void | setPower (double _power) |
adjusts the power of the servo | |
virtual double | getPower () |
returns the power of the servo | |
virtual double | getDamping () |
returns the damping of the servo | |
virtual void | setDamping (double _damp) |
sets the damping of the servo | |
virtual double & | offsetCanceling () |
offetCanceling does not exist for this type of servo | |
virtual void | setMaxVel (double maxVel) |
adjusts maximal speed of servo | |
virtual double | getMaxVel () |
adjusts maximal speed of servo | |
virtual void | set (double pos) |
sets the set point of the servo. | |
virtual double | get () |
returns the position of the servo in ranges [-1, 1] (scaled by min, max, centered) | |
Protected Attributes | |
AngularMotor1Axis | motor |
double | dummy |
double | power |
double | damp |
general servo motor to achieve position control.
It internally controls the velocity of the motor (much more stable) with centered zero position. The amount of body feeling can be adjusted by the damping parameter which is understood as a stiffness parameter
OneAxisServoVel | ( | const OdeHandle & | odeHandle, | |
OneAxisJoint * | joint, | |||
double | _min, | |||
double | _max, | |||
double | power, | |||
double | damp = 0.05 , |
|||
double | maxVel = 20 , |
|||
double | jointLimit = 1.3 | |||
) | [inline] |
min and max values are understood as travel bounds.
The zero position is (max-min)/2
power | is the maximal torque the servo can generate | |
maxVel | is understood as a speed parameter of the servo. | |
damp | adjusts the power of the servo in dependence of the distance to the set point. This regulates the stiffness and the body feeling 0: the servo has no power at the set point (maximal body feeling); 1: is servo has full power at the set point: perfectly damped. |
virtual ~OneAxisServoVel | ( | ) | [inline, virtual] |
virtual double get | ( | ) | [inline, virtual] |
returns the position of the servo in ranges [-1, 1] (scaled by min, max, centered)
Reimplemented from OneAxisServo.
virtual double getDamping | ( | ) | [inline, virtual] |
returns the damping of the servo
Reimplemented from OneAxisServo.
virtual double getMaxVel | ( | ) | [inline, virtual] |
adjusts maximal speed of servo
Reimplemented from OneAxisServo.
virtual double getPower | ( | ) | [inline, virtual] |
returns the power of the servo
Reimplemented from OneAxisServo.
virtual double& offsetCanceling | ( | ) | [inline, virtual] |
offetCanceling does not exist for this type of servo
Reimplemented from OneAxisServo.
virtual void set | ( | double | pos | ) | [inline, virtual] |
sets the set point of the servo.
Position must be between -1 and 1. It is scaled to fit into min, max, however 0 is just in the center of min and max
Reimplemented from OneAxisServo.
virtual void setDamping | ( | double | damp | ) | [inline, virtual] |
sets the damping of the servo
Reimplemented from OneAxisServo.
virtual void setMaxVel | ( | double | maxVel | ) | [inline, virtual] |
adjusts maximal speed of servo
Reimplemented from OneAxisServo.
virtual void setPower | ( | double | _power | ) | [inline, virtual] |
adjusts the power of the servo
Reimplemented from OneAxisServo.
double damp [protected] |
double dummy [protected] |
AngularMotor1Axis motor [protected] |
double power [protected] |