Skip to content

feat(robots): consolidate SO arms implementation#2763

Merged
imstevenpmwork merged 2 commits intomainfrom
feat/consolidate_so_arms_implementation
Jan 8, 2026
Merged

feat(robots): consolidate SO arms implementation#2763
imstevenpmwork merged 2 commits intomainfrom
feat/consolidate_so_arms_implementation

Conversation

@imstevenpmwork
Copy link
Collaborator

@imstevenpmwork imstevenpmwork commented Jan 7, 2026

Type / Scope

  • Type: Feature | Chore
  • Scope: Robots

Summary / Motivation

Currently SO100 and SO101 implementations (leader and follower) are practically the same code-wise. This consolidates their implementation into one to reduce duplicated code & ease maintenance. The differences between SO100 & SO101 are mostly HW-wise, and in case we do some modifications to the SW it would be either a new type of robot or SO20X.

Related issues

What changed

  • Headers, Documentation & SO robot code to have a base class. However, the implementation itself of the robot hasn't changed, it's only now shared.

How was this tested

  • pytest -vv tests/
  • Ran lerobot-teleoperate alternating between so100 and so101 tags to check if the CLI parser continues to work and if the robots actually move.

Checklist (required before merge)

  • Linting/formatting run (pre-commit run -a)
  • All tests pass locally (pytest)
  • Documentation updated
  • CI is green

Reviewer notes

  • Although I tried my best to catch all instances where this change could impact functioning, I might have missed some. However, given the broad adoption & use of these arms, I expect any issues to arise (and be solved) quickly.
  • A follow-up PR will be created to do something similar with the bi-manual SO setup.

@github-actions github-actions bot added documentation Improvements or fixes to the project’s docs tests Problems with test coverage, failures, or improvements to testing robots Issues concerning robots HW interfaces examples Issues related to the examples labels Jan 7, 2026
@HuggingFaceDocBuilderDev

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@imstevenpmwork imstevenpmwork self-assigned this Jan 7, 2026
Copy link
Collaborator

@CarolinePascal CarolinePascal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM !

@imstevenpmwork imstevenpmwork merged commit ccfd609 into main Jan 8, 2026
13 checks passed
@imstevenpmwork imstevenpmwork deleted the feat/consolidate_so_arms_implementation branch January 8, 2026 12:04
TheWisp added a commit to TheWisp/lerobot that referenced this pull request Jan 9, 2026
Move SO107 follower and leader into the consolidated so_follower/so_leader
modules to align with upstream architecture pattern established in huggingface#2763.

Changes:
- Move so107_follower/ into so_follower/so107_follower/
- Move so107_leader/ into so_leader/so107_leader/
- Inherit from SOFollowerBase and SOLeaderBase
- Update configs to inherit from base config classes
- Update all imports across scripts, RL modules, and utils
- Remove standalone so107 module imports

Benefits:
- Follows upstream's consolidated architecture pattern
- Reduces code duplication (429 lines → 128 lines)
- Cleaner import structure with centralized exports
- Fewer conflicts in future rebases
- Easier to contribute upstream

SO107 implements a 7-axis arm with forearm_roll joint, requiring custom
motor configuration that overrides the 6-motor base class setup.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@zifeiyu-tan
Copy link

Hello, thank you for your outstanding work. Could you please take a look at this issue? #2774

sandhya-cb pushed a commit to sandhya-cb/lerobot-clutterbot that referenced this pull request Jan 28, 2026
* feat(robots): consolidate SO arms implementation

* chore(robots): delete unnecessary init modules
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or fixes to the project’s docs examples Issues related to the examples robots Issues concerning robots HW interfaces tests Problems with test coverage, failures, or improvements to testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments