Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
general servo motor for 2 axis joints with zero position centered More...
#include <twoaxisservo.h>
Public Member Functions | |
TwoAxisServoCentered (TwoAxisJoint *joint, double _min1, double _max1, double power1, double _min2, double _max2, double power2, double damp=0.2, double integration=2, double maxVel=10.0, double jointLimit=1.3) | |
min and max values are understood as travel bounds. More... | |
virtual | ~TwoAxisServoCentered () |
virtual void | set (double pos1, double pos2) override |
sets the set point of the servo. More... | |
virtual double | get1 () const override |
returns the position of the servo (joint) of 1. More... | |
virtual double | get2 () const override |
returns the position of the servo (joint) of 2. More... | |
![]() | |
TwoAxisServo (TwoAxisJoint *joint, double _min1, double _max1, double power1, double _min2, double _max2, double power2, double damp=0.2, double integration=2, double maxVel=10.0, double jointLimit=1.3, bool minmaxCheck=true) | |
min and max values are understood as travel bounds. More... | |
virtual | ~TwoAxisServo () |
void | get (double &p1, double &p2) const |
returns the positions of the joint in ranges [-1, 1] (scaled by min, max) More... | |
virtual void | init (Primitive *own, Joint *joint=0) override |
initialises motor with body of robot More... | |
virtual bool | sense (const GlobalData &globaldata) override |
performs sense action More... | |
virtual int | getSensorNumber () const override |
returns the number of sensors values produced by this sensor More... | |
virtual std::list< sensor > | getList () const |
returns a list of sensor values (usually in the range [-1,1] ) This function should be overloaded. More... | |
virtual int | get (sensor *sensors, int length) const |
writes the sensor values (usually in the range [-1,1] ) into the given sensor array and returns the number of sensors written. More... | |
virtual int | getMotorNumber () const override |
return the dimensionality of this motor More... | |
virtual bool | act (GlobalData &globaldata) override |
performs the actions, This is usually called in doInternalStuff() from the robot More... | |
virtual int | set (const motor *values, int length) override |
sends the action commands to the motor. More... | |
virtual void | setPower (double power1, double power2) |
adjusts the power of the servo More... | |
virtual void | setPower1 (double power1) |
returns the power of the servo More... | |
virtual void | setPower2 (double power2) |
returns the power of the servo More... | |
virtual double | getPower1 () |
returns the power of the servo More... | |
virtual double | getPower2 () |
returns the power of the servo More... | |
virtual double | getDamping1 () |
returns the damping of the servo (axis 1) More... | |
virtual double | getDamping2 () |
returns the damping of the servo (axis 2) More... | |
virtual TwoAxisJoint * | getJoint () |
virtual void | setDamping1 (double damp) |
sets the damping of the servo (axis 1) More... | |
virtual void | setDamping2 (double damp) |
sets the damping of the servo (axis 1) More... | |
virtual void | setDamping (double _damp) |
sets the damping of the servo (both axis) More... | |
virtual double & | offsetCanceling () |
returns the damping of the servo More... | |
virtual void | setMinMax1 (double _min, double _max) |
virtual void | setMinMax2 (double _min, double _max) |
virtual void | setMaxVel (double maxVel) |
adjusts maximal speed of servo More... | |
virtual double | getMaxVel () |
adjusts maximal speed of servo More... | |
![]() | |
Sensor () | |
virtual | ~Sensor () |
virtual std::list < SensorMotorInfo > | getSensorInfos () const |
returns a list of sensor infos ( More... | |
virtual void | update () |
to update any visual appearance More... | |
std::list< sensor > | getListOfArray () const |
helper function for performance implementation of list<> get() based on array-get More... | |
![]() | |
SensorMotorInfoAble () | |
void | setBaseName (const std::string &basename) |
void | setBaseInfo (const SensorMotorInfo &baseinfo) |
SensorMotorInfo | getBaseInfo () |
void | setNamingFunc (const NamingFunction &func) |
NamingFunction | getNamingFunc () const |
void | setNames (const std::vector< std::string > &names) |
set names explicitly (basename is anyway suffixed) More... | |
std::string | getName (int index) const |
returns the name of a single item. Typically called from within Sensor and Motor class. More... | |
std::list< SensorMotorInfo > | getInfos (int number) const |
get all infos. More... | |
![]() | |
Motor () | |
virtual | ~Motor () |
virtual std::list < SensorMotorInfo > | getMotorInfos () const |
returns a list of motor names ( More... | |
Additional Inherited Members | |
![]() | |
enum | Dimensions { X = 1, Y = 2, Z = 4, XY = X | Y, XZ = X | Z, YZ = Y | Z, XYZ = X | Y | Z } |
defines which dimensions should be sensed. The meaning is sensor specific. More... | |
![]() | |
typedef std::function < std::string(int)> | NamingFunction |
function that returns the name given the index More... | |
![]() | |
static std::list< sensor > | selectrows (const matrix::Matrix &m, short dimensions) |
selects the rows specified by dimensions (X->0, Y->1, Z->2) More... | |
static int | selectrows (sensor *sensors, int length, const matrix::Matrix &m, short dimensions) |
selects the rows specified by dimensions (X->0, Y->1, Z->2) More... | |
static Dimensions | parseSensorDimension (char *str) |
static std::string | dimensions2String (short dimensions) |
![]() | |
static std::string | defaultNameing (int index) |
the default implementation is for index==0: basename, otherwise basename + (index+1) More... | |
![]() | |
TwoAxisJoint * | joint |
double | min1 |
double | max1 |
double | min2 |
double | max2 |
PID | pid1 |
PID | pid2 |
double | maxVel |
double | jointLimit |
![]() | |
NamingFunction | func |
SensorMotorInfo | baseinfo |
general servo motor for 2 axis joints with zero position centered
TwoAxisServoCentered | ( | TwoAxisJoint * | joint, |
double | _min1, | ||
double | _max1, | ||
double | power1, | ||
double | _min2, | ||
double | _max2, | ||
double | power2, | ||
double | damp = 0.2 , |
||
double | integration = 2 , |
||
double | maxVel = 10.0 , |
||
double | jointLimit = 1.3 |
||
) |
min and max values are understood as travel bounds.
The zero position is (max-min)/2
|
virtual |
|
inlineoverridevirtual |
returns the position of the servo (joint) of 1.
axis in ranges [-1, 1] (scaled by min1, max1, centered)
Reimplemented from TwoAxisServo.
|
inlineoverridevirtual |
returns the position of the servo (joint) of 2.
axis in ranges [-1, 1] (scaled by min2, max2, centered)
Reimplemented from TwoAxisServo.
|
overridevirtual |
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 TwoAxisServo.
Reimplemented in TwoAxisServoVel.