Controller
The Actuator part of Controller Hardware
Topics
- communications
- hardware
- controller
- actuators
- architecture
Actuator control
There are a plethora of actuators and ways to conrtrol them. The OctoMY™ controller interface is quite ambitious in it's attempt at supporting them.
Actuator classification
From a usability perspective, actuators are classified in the following ways:
Motion Type
Description | Example | |
---|---|---|
Rotary | Actuators that produce rotational motion. | DC motors, servo motors, stepper motors |
Linear | Actuators that produce linear motion (straight line). | Linear actuators, solenoids, lead screw actuators |
Movement Range
Description | Example | |
---|---|---|
Continuous | Capable of continuous 360-degree or infinite motion. | DC motors, stepper motors |
Ranged | Limited to a specific range of motion (e.g., 0 to 180 degrees). | Servo motors, piezoelectric actuators |
Feedback Type
Description | Example | |
---|---|---|
Position Feedback | Provides feedback on the position of the actuator. | Servo motors with potentiometers |
Speed Feedback | Provides feedback on the speed of movement. | Rotary encoders, tachometers |
Force Feedback | Provides feedback on the force or load applied. | Actuators with built-in load cells |
Control Method
Description | Example | |
---|---|---|
Open-loop | Operates without feedback; performs predefined actions. | Basic DC motors, solenoids |
Closed-loop | Uses feedback mechanisms to adjust and control the movement accurately. | Servo motors, stepper motors with feedback |
Power Source
Description | Example | |
---|---|---|
Electric | Actuators powered by electrical energy. | DC motors, AC motors, stepper motors |
Pneumatic | Actuators that use compressed air to generate motion. | Pneumatic cylinders, pneumatic valves |
Hydraulic | Actuators that use fluid pressure for movement. | Hydraulic rams, hydraulic motors |
Actuation Mechanism
Description | Example | |
---|---|---|
Electromagnetic | Uses magnetic fields for motion generation. | DC motors, stepper motors |
Piezoelectric | Uses electrical charge in piezoelectric materials to create precise movement. | Piezoelectric actuators used in precise positioning devices |
Electrostatic | Uses electrostatic force for actuation, typically in micro-scale devices. | MEMS actuators, electrostatic relays |
Actuator control interface
Actuator definitions management
quint8 maxActuatorsSupported()
quint8 actuatorCount()
QString actuatorName(quint8)
qreal actuatorTargetValue(quint8)
qreal actuatorDefaultValue(quint8)
ActuatorMotion actuatorMotion(quint8);
Actuator state management
void setLimp(quint8 index, bool limp)
void setTargetValue(quint8 index, qreal value)
Optional specialization/convenience actuator state management
void setLimp(const QBitArray &flags);
void setTargetPose(const Pose &pose);
void center(quint8 index);
void limpAll();
void centerAll();
QString debugString();
Actuator control example
Servotor32 implements IController
.
Servotor32 supports up to 32 RC servos controlled using the standar RC protocol of PWM from 500 to 2000 microseconds of pulse width to signal servo position.
The Servotor32 implementation will implement Icontroller
in the following way:
usesSerial()
reportstrue
, and uses OctoMY™ provided serial portmaxActuatorsSupported()
reports32
to support max 32 actuatorsmaxSensorsSupported()
reports0
and does not support any sensorsmaxLobesSupported()
reports0
and does not support any lobes or processinghasConfigurationWidget()
reportstrue
to say that this controller has a custom user interface.configurationWidget()
returns an UI which allows you to set up serial comms to the controller over USB/Bluetooth serial, and where microsecond high and low trim can be adjusted per actuator.- All actuators are hardcoded to have ranged motion