Skip to content

Add selective motor control API#625

Open
mvrius wants to merge 1 commit into
pollen-robotics:mainfrom
mvrius:feature/selective-motor-control
Open

Add selective motor control API#625
mvrius wants to merge 1 commit into
pollen-robotics:mainfrom
mvrius:feature/selective-motor-control

Conversation

@mvrius
Copy link
Copy Markdown

@mvrius mvrius commented Dec 25, 2025

Add selective motor control API

Motivation

When running Reachy Mini in "always-on" mode (e.g., as an ambient assistant), I want to keep all motors disabled to save power and reduce wear. However, when detecting certain keyword sounds (like a wake word), I want to activate only the antennas to provide visual feedback without moving the head or body.

Changes

  • Added optional motors parameter to POST /api/motors/set_mode/{mode} endpoint
  • When motors list is provided, only those specific motors are affected
  • When motors is omitted or empty, all motors are affected (existing behavior preserved)

Usage

# Disable all motors
curl -X POST http://reachy-mini:8000/api/motors/set_mode/disabled

# Enable only antennas
curl -X POST http://reachy-mini:8000/api/motors/set_mode/enabled \
  -H "Content-Type: application/json" \
  -d '{"motors": ["left_antenna", "right_antenna"]}'

Testing

Tested on Reachy Mini Wireless running version 1.2.4 patched with this PR. Verified that:

  • Antennas can be selectively enabled while head/body motors remain disabled
  • Position commands work correctly for enabled motors only
  • Body stays compliant (no torque) when only antennas are enabled
  • Full sequence tested: sleep → disable all → enable antennas only → move antennas (head/body stayed limp) → enable all → wake up

Allow enabling/disabling specific motors by name via REST API.
Adds optional 'motors' parameter to /api/motors/set_mode/{mode} endpoint.
@FabienDanieau FabienDanieau changed the base branch from develop to main March 3, 2026 14:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant