#include <simulatedMotor.h>
Public Member Functions | |
| virtual double | getAngle () |
| Returns the current Joint Angles. | |
| virtual std::string | getErrorMessage () |
| if error occured during init, get the error message with this | |
| virtual double | getLowerLimit () |
| virtual double | getMaxAcceleration () |
| virtual double | getMaxVelocity () |
| virtual RampCommand | getRampMove (double targetAngle, double v, double a) |
| Get a representation of the rampMove that the motor WOULD execute if told so at the time of function call. | |
| virtual RampCommand | getRampMove (double targetAngle) |
| Same but using the maximum velocity and acceleration of this motor. | |
| virtual double | getTimeConstant () const |
| virtual double | getUpperLimit () |
| virtual double | getVelocity () |
| Returns the current Angular velocities (Rad/s) | |
| virtual bool | init () |
| initializes the module, if an error occurs function returns false | |
| virtual void | movePos (double pos) |
| Moves the motor with the given velocity. | |
| virtual void | moveRamp (double targetAngle, double vmax, double amax) |
| any messages useful for debug are sent to this stream: | |
| virtual void | moveVel (double vel) |
| Moves the motor with the given velocity. | |
| virtual void | setLimits (double lowerLimit, double upperLimit) |
| sets the Joint Limits, the motor has to stay in these limits! | |
| virtual void | setMaxAcceleration (double radPerSecSquared) |
| Sets the maximum angular acceleration (rad/s^2) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than 1.0... | |
| virtual void | setMaxVelocity (double radpersec) |
| Sets the maximum angular velocity (rad/s) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than 1.0... | |
| virtual void | setTimeConstant (double T) |
| sets / gets the time that the motor needs to reach target velocity (moveVel) | |
| simulatedMotor (double lowLimit, double upLimit, double maxAcc, double maxVel) | |
| virtual bool | statusAcc () |
| Returs true if the Joint is in phase one of rampmove. | |
| virtual bool | statusDec () |
| Returns true if the Joint is decelerating at end of movement. | |
| virtual bool | statusMoving () |
| Returns true if the Joint is still moving also returns true if Joints are accelerating or decelerating. | |
| virtual void | stop () |
| Stops the motor immediately. | |
| ~simulatedMotor () | |
Private Attributes | |
| double | m_amax |
| RampCommand | m_lastMove |
| double | m_ll |
| double | m_ul |
| double | m_vmax |
| double | T0 |
Definition at line 66 of file simulatedMotor.h.
| simulatedMotor::simulatedMotor | ( | double | lowLimit, |
| double | upLimit, | ||
| double | maxAcc, | ||
| double | maxVel | ||
| ) |
Definition at line 64 of file simulatedMotor.cpp.
| simulatedMotor::~simulatedMotor | ( | ) | [inline] |
Definition at line 71 of file simulatedMotor.h.
| virtual double simulatedMotor::getAngle | ( | ) | [inline, virtual] |
Returns the current Joint Angles.
Definition at line 133 of file simulatedMotor.h.
| virtual std::string simulatedMotor::getErrorMessage | ( | ) | [inline, virtual] |
if error occured during init, get the error message with this
Definition at line 77 of file simulatedMotor.h.
| virtual double simulatedMotor::getLowerLimit | ( | ) | [inline, virtual] |
Definition at line 116 of file simulatedMotor.h.
| virtual double simulatedMotor::getMaxAcceleration | ( | ) | [inline, virtual] |
Definition at line 110 of file simulatedMotor.h.
| virtual double simulatedMotor::getMaxVelocity | ( | ) | [inline, virtual] |
Definition at line 105 of file simulatedMotor.h.
| RampCommand simulatedMotor::getRampMove | ( | double | targetAngle, |
| double | v, | ||
| double | a | ||
| ) | [virtual] |
Get a representation of the rampMove that the motor WOULD execute if told so at the time of function call.
Calculate time that a rampMove WOULD take (no movement is executed)
Definition at line 162 of file simulatedMotor.cpp.
| virtual RampCommand simulatedMotor::getRampMove | ( | double | targetAngle | ) | [inline, virtual] |
Same but using the maximum velocity and acceleration of this motor.
Definition at line 130 of file simulatedMotor.h.
| virtual double simulatedMotor::getTimeConstant | ( | ) | const [inline, virtual] |
Definition at line 120 of file simulatedMotor.h.
| virtual double simulatedMotor::getUpperLimit | ( | ) | [inline, virtual] |
Definition at line 115 of file simulatedMotor.h.
| virtual double simulatedMotor::getVelocity | ( | ) | [inline, virtual] |
Returns the current Angular velocities (Rad/s)
Definition at line 136 of file simulatedMotor.h.
| virtual bool simulatedMotor::init | ( | ) | [inline, virtual] |
initializes the module, if an error occurs function returns false
Definition at line 74 of file simulatedMotor.h.
| void simulatedMotor::movePos | ( | double | pos | ) | [virtual] |
Moves the motor with the given velocity.
Definition at line 126 of file simulatedMotor.cpp.
| void simulatedMotor::moveRamp | ( | double | targetAngle, |
| double | vmax, | ||
| double | amax | ||
| ) | [virtual] |
any messages useful for debug are sent to this stream:
executes a rampmove
Definition at line 81 of file simulatedMotor.cpp.
| void simulatedMotor::moveVel | ( | double | vel | ) | [virtual] |
Moves the motor with the given velocity.
Definition at line 102 of file simulatedMotor.cpp.
| virtual void simulatedMotor::setLimits | ( | double | lowerLimit, |
| double | upperLimit | ||
| ) | [inline, virtual] |
sets the Joint Limits, the motor has to stay in these limits!
Definition at line 113 of file simulatedMotor.h.
| virtual void simulatedMotor::setMaxAcceleration | ( | double | radPerSecSquared | ) | [inline, virtual] |
Sets the maximum angular acceleration (rad/s^2) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than 1.0...
Definition at line 109 of file simulatedMotor.h.
| virtual void simulatedMotor::setMaxVelocity | ( | double | radpersec | ) | [inline, virtual] |
Sets the maximum angular velocity (rad/s) for the Joints, use with care! A Value of 0.5 is already pretty fast, you probably don't want anything more than 1.0...
Definition at line 104 of file simulatedMotor.h.
| virtual void simulatedMotor::setTimeConstant | ( | double | T | ) | [inline, virtual] |
sets / gets the time that the motor needs to reach target velocity (moveVel)
Definition at line 119 of file simulatedMotor.h.
| virtual bool simulatedMotor::statusAcc | ( | ) | [inline, virtual] |
Returs true if the Joint is in phase one of rampmove.
Definition at line 146 of file simulatedMotor.h.
| virtual bool simulatedMotor::statusDec | ( | ) | [inline, virtual] |
Returns true if the Joint is decelerating at end of movement.
Definition at line 143 of file simulatedMotor.h.
| virtual bool simulatedMotor::statusMoving | ( | ) | [inline, virtual] |
Returns true if the Joint is still moving also returns true if Joints are accelerating or decelerating.
Definition at line 140 of file simulatedMotor.h.
| void simulatedMotor::stop | ( | void | ) | [virtual] |
Stops the motor immediately.
Definition at line 151 of file simulatedMotor.cpp.
double simulatedMotor::m_amax [private] |
Definition at line 153 of file simulatedMotor.h.
RampCommand simulatedMotor::m_lastMove [private] |
Definition at line 150 of file simulatedMotor.h.
double simulatedMotor::m_ll [private] |
Definition at line 152 of file simulatedMotor.h.
double simulatedMotor::m_ul [private] |
Definition at line 152 of file simulatedMotor.h.
double simulatedMotor::m_vmax [private] |
Definition at line 153 of file simulatedMotor.h.
double simulatedMotor::T0 [private] |
Definition at line 155 of file simulatedMotor.h.