Skip to main content

Sensor Data

Position and Velocity Feedback

# Get current position
position = controller.get_position(actuator_id=1)
print(f"Current position: {position:.2f} degrees")

# Get velocity
velocity = controller.get_velocity(actuator_id=1)
print(f"Current velocity: {velocity:.2f} deg/s")

# Get multiple sensors at once
state = controller.get_state(actuator_id=1)
print(f"Position: {state.position:.2f}°")
print(f"Velocity: {state.velocity:.2f}°/s")
print(f"Torque: {state.torque:.2f} Nm")
print(f"Temperature: {state.temperature:.1f}°C")

Continuous Monitoring

# Stream sensor data
def on_sensor_data(actuator_id, state):
print(f"Actuator {actuator_id}: {state.position:.1f}°")

controller.start_monitoring(callback=on_sensor_data, rate=100) # 100Hz
controller.stop_monitoring()

Available Sensor Data

Each actuator provides real-time feedback on:

  • Position: Angular position in degrees (0.01° resolution)
  • Velocity: Angular velocity in degrees/second
  • Torque: Current torque output in Nm
  • Temperature: Internal motor temperature in °C
  • Current: Motor current draw in Amperes
  • Voltage: Supply voltage in Volts

Sensor Accuracy

SensorResolutionUpdate RateAccuracy
Position0.01°1 kHz±0.05°
Velocity0.1°/s1 kHz±1.0°/s
Torque0.01 Nm1 kHz±2%
Temperature0.1°C10 Hz±1°C