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 Icontrollerin the following way:


Debug enabled