|
Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
Abstract angular motor class. More...
#include <angularmotor.h>


Public Member Functions | |
| AngularMotor (const OdeHandle &odeHandle, Joint *joint) | |
| creates a AMotor attached to the same bodies as the given joint. More... | |
| virtual | ~AngularMotor () |
| virtual int | getNumberOfAxes () const =0 |
| returns the number of Axis of this Motor 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 override |
| 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 override |
| returns the speed (PositionRate) of all axis 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 | set (int axisNumber, double velocity)=0 |
| sets the desired speed of the motor at the given axis. More... | |
| virtual double | get (int axisNumber) const =0 |
| returns the speed (PositionRate) at the given axis, or zero if the axis is out of range More... | |
| virtual void | setPower (double power)=0 |
| sets the maximal force the motor has More... | |
| virtual double | getPower () |
| return the maximal force More... | |
| virtual Joint * | getJoint () |
| returns the joint to which this motor is attached More... | |
| virtual void | setParam (int parameter, double value) |
| sets the parameters of the motor More... | |
| virtual double | getParam (int parameter) |
| return the ODE joint parameter (see ODE manual) More... | |
| virtual void | setVelovityFactor (double factor) |
| sets factor for velocity More... | |
| virtual double | getVelovityFactor (double factor) |
| retuns factor for velocity More... | |
Public Member Functions inherited from Sensor | |
| 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... | |
Public Member Functions inherited from SensorMotorInfoAble | |
| 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... | |
Public Member Functions inherited from Motor | |
| Motor () | |
| virtual | ~Motor () |
| virtual std::list < SensorMotorInfo > | getMotorInfos () const |
| returns a list of motor names ( More... | |
Protected Attributes | |
| dJointID | motor |
| OdeHandle | odeHandle |
| double | velocityFactor |
| Joint * | joint |
| bool | initialized |
Protected Attributes inherited from SensorMotorInfoAble | |
| NamingFunction | func |
| SensorMotorInfo | baseinfo |
Additional Inherited Members | |
Public Types inherited from Sensor | |
| 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... | |
Public Types inherited from SensorMotorInfoAble | |
| typedef std::function < std::string(int)> | NamingFunction |
| function that returns the name given the index More... | |
Static Public Member Functions inherited from Sensor | |
| 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 Public Member Functions inherited from SensorMotorInfoAble | |
| static std::string | defaultNameing (int index) |
| the default implementation is for index==0: basename, otherwise basename + (index+1) More... | |
Abstract angular motor class.
This is a wrapper for ODE's AMotor.
| AngularMotor | ( | const OdeHandle & | odeHandle, |
| Joint * | joint | ||
| ) |
creates a AMotor attached to the same bodies as the given joint.
|
virtual |
|
inlineoverridevirtual |
performs the actions, This is usually called in doInternalStuff() from the robot
Implements Motor.
|
overridevirtual |
returns the speed (PositionRate) of all axis
| velocities | double array to fill in the velocities |
| len | length of the given array |
Reimplemented from Sensor.
|
pure virtual |
returns the speed (PositionRate) at the given axis, or zero if the axis is out of range
Implemented in AngularMotorNAxis, AngularMotor3AxisEuler, AngularMotor2Axis, and AngularMotor1Axis.
|
inlinevirtual |
returns the joint to which this motor is attached
|
inlineoverridevirtual |
returns a list of sensor values (usually in the range [-1,1] ) This function should be overloaded.
If performance matters, implement get(double*, int) and use getListOfArray to implement this.
Implements Sensor.
|
inlineoverridevirtual |
return the dimensionality of this motor
Implements Motor.
|
pure virtual |
returns the number of Axis of this Motor
Implemented in AngularMotorNAxis, AngularMotor3AxisEuler, AngularMotor2Axis, and AngularMotor1Axis.
|
virtual |
return the ODE joint parameter (see ODE manual)
gets the parameters of the motor
|
virtual |
return the maximal force
|
inlineoverridevirtual |
returns the number of sensors values produced by this sensor
Implements Sensor.
|
virtual |
retuns factor for velocity
initialises motor with body of robot
Implements Motor.
Reimplemented in AngularMotorNAxis, AngularMotor3AxisEuler, AngularMotor2Axis, and AngularMotor1Axis.
|
inlineoverridevirtual |
performs sense action
Implements Sensor.
|
overridevirtual |
sends the action commands to the motor.
sets the desired speed of all motor.
It returns the number of used values. (should be equal to getMotorNumber)
| velocities | double array with desired velocities |
| len | length of the given array |
Implements Motor.
|
pure virtual |
sets the desired speed of the motor at the given axis.
| velocity | Desired motor velocity (this will be an angular or linear velocity). |
Implemented in AngularMotorNAxis, AngularMotor3AxisEuler, AngularMotor2Axis, and AngularMotor1Axis.
|
virtual |
sets the parameters of the motor
|
pure virtual |
sets the maximal force the motor has
Implemented in AngularMotorNAxis, AngularMotor3AxisEuler, AngularMotor2Axis, and AngularMotor1Axis.
|
virtual |
sets factor for velocity
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |