A motor with speed control It uses a feedback loop from an encoder to regulate the speed The speed is measured in revolutions per second.
Inherits RoboidControl::Motor.
|
|
| ControlledMotor (Motor *motor, RelativeEncoder *encoder, Thing *parent=Thing::LocalRoot()) |
| |
| virtual void | Update (bool recurse=false) override |
| | Updates the state of the thing.
|
| |
| virtual void | SetTargetVelocity (float velocity) override |
| | Set the target verlocity for the motor controller.
|
| |
|
virtual float | GetTargetVelocity () |
| |
|
int | GenerateBinary (char *bytes, unsigned char *ix) override |
| |
|
void | SetName (const char *name) |
| |
|
const char * | GetName () const |
| |
| void | SetModel (const char *url) |
| | Sets the location from where the 3D model of this Thing can be loaded from.
|
| |
| void | SetParent (Thing *parent) |
| | Sets the parent of this Thing.
|
| |
| Thing * | GetParent () |
| | Gets the parent of this Thing.
|
| |
| bool | IsRoot () const |
| | Check if this is a root thing.
|
| |
| Thing * | GetChildByIndex (unsigned char ix) |
| | Get a child by index.
|
| |
| virtual void | AddChild (Thing *child) |
| | Add a child Thing to this Thing.
|
| |
| Thing * | RemoveChild (Thing *child) |
| | Remove the given thing as a child of this thing.
|
| |
| Thing * | GetChild (unsigned char id, bool recurse=false) |
| | Get a child by thing Id.
|
| |
| Thing * | FindChild (const char *name, bool recurse=true) |
| | Find a thing by name.
|
| |
| void | SetPosition (Spherical position) |
| | Set the position of the thing.
|
| |
| Spherical | GetPosition () |
| | Get the position of the thing.
|
| |
| void | SetOrientation (SwingTwist orientation) |
| | Set the orientation of the thing.
|
| |
| SwingTwist | GetOrientation () |
| | Get the orientation of the thing.
|
| |
| void | SetLinearVelocity (Spherical linearVelocity) |
| | Set the linear velocity of the thing.
|
| |
| virtual Spherical | GetLinearVelocity () |
| | Get the linear velocity of the thing.
|
| |
| virtual void | SetAngularVelocity (Spherical angularVelocity) |
| | Set the angular velocity of the thing.
|
| |
| virtual Spherical | GetAngularVelocity () |
| | Get the angular velocity of the thing.
|
| |
|
virtual void | PrepareForUpdate () |
| |
| virtual void | ProcessBinary (char *bytes) |
| | Function used to process binary data received for this thing.
|
| |
|
|
float | pidP = 0.5 |
| |
|
float | pidD = 0 |
| |
|
float | pidI = 0.2 |
| |
|
float | actualVelocity |
| | The actual velocity in revolutions per second.
|
| |
|
Direction | rotationDirection |
| |
|
Motor * | motor |
| |
|
RelativeEncoder * | encoder |
| |
|
Direction | direction |
| | The forward turning direction of the motor.
|
| |
|
bool | terminate = false |
| | Terminated things are no longer updated.
|
| |
|
unsigned char | id = 0 |
| | The ID of the thing.
|
| |
|
unsigned char | type = Type::Undetermined |
| | The type of Thing This can be either a Thing::Type of a byte value for custom types.
|
| |
|
Participant * | owner = nullptr |
| | The participant owning this thing.
|
| |
|
const char * | name = nullptr |
| | The name of the thing.
|
| |
|
bool | nameChanged = false |
| |
|
const char * | modelUrl = nullptr |
| | An URL pointing to the location where a model of the thing can be found.
|
| |
|
unsigned char | childCount = 0 |
| | The number of children.
|
| |
|
bool | hierarchyChanged = true |
| | Indicator that the hierarchy of the thing has changed.
|
| |
|
bool | positionUpdated = false |
| | Boolean indicating that the thing has an updated position.
|
| |
|
bool | orientationUpdated = false |
| | Boolean indicating the thing has an updated orientation.
|
| |
|
bool | linearVelocityUpdated = false |
| | Boolean indicating the thing has an updated linear velocity.
|
| |
|
bool | angularVelocityUpdated = false |
| | Boolean indicating the thing has an updated angular velocity.
|
| |