BB.Servo.Pigpio.Actuator (bb_servo_pigpio v0.5.1)

Copy Markdown View Source

An actuator that uses Pigpiox to drive a servo.

This actuator derives its configuration from the joint constraints defined in the robot:

  • Position limits from joint.limits.lower and joint.limits.upper
  • Velocity limit from joint.limits.velocity
  • PWM range maps linearly to the joint's position range

When a position command is received, the actuator:

  1. Clamps the position to joint limits
  2. Converts to PWM pulse width
  3. Sends PWM command to pigpiox
  4. Publishes a BB.Message.Actuator.BeginMotion for sensors to consume

Safety

This actuator implements the BB.Safety behaviour. When the robot is disarmed (either by command or due to supervisor crash), the servo PWM output is disabled by setting the pulse width to 0.

Summary

Functions

Disable the servo by setting pulse width to 0.

Functions

disarm(opts)

Disable the servo by setting pulse width to 0.

Called by BB.Safety.Controller when the robot is disarmed or crashes. This function works without GenServer state - it only needs the pin number.