Skip to content

feature: emit transmission blocks in the install template#4

Merged
jimsynz merged 2 commits into
mainfrom
feature/transmission-dsl
May 21, 2026
Merged

feature: emit transmission blocks in the install template#4
jimsynz merged 2 commits into
mainfrom
feature/transmission-dsl

Conversation

@jimsynz
Copy link
Copy Markdown
Contributor

@jimsynz jimsynz commented May 20, 2026

Companion PR to beam-bots/bb#110 and beam-bots/bb_servo_feetech#28.

Summary

The SO-101 install template no longer emits `reverse?: true` on
actuators (the option has been removed from `BB.Servo.Feetech.Actuator`).
Each joint that previously had `reverse?: true` now gets a
`transmission` block with `reversed?(true)`. Joints with asymmetric
limits get an explicit `offset` value preserving the auto-centering
the actuator used to derive internally:

  • shoulder_pan: `reversed?(true)` (symmetric ±110°)
  • shoulder_lift: `offset ~u(90.0 degree)`, `reversed?(true)` (-10°/190°)
  • elbow_flex: `offset ~u(-90.0 degree)`, `reversed?(true)` (-187°/7°)
  • wrist_flex: `reversed?(true)` (symmetric ±95°)
  • wrist_roll: `reversed?(true)` (symmetric ±160°)
  • gripper: `offset ~u(45.0 degree)`, no reversal (-10°/100°)

The calibrate-servos how-to is updated to show the new shape for the
"gripper feels backwards" remedy.

Depends on

Test plan

  • 16 tests pass
  • `mix check --no-retry` clean
  • `mix bb_so101.install` against a fresh project produces a robot
    module that compiles

The SO-101 install template no longer emits `reverse?: true` on
actuators (the option has been removed from `BB.Servo.Feetech.Actuator`).
Each joint that previously had `reverse?: true` now gets a
`transmission` block with `reversed?(true)`. Joints with asymmetric
limits get an explicit `offset` value preserving the auto-centering
the actuator used to derive internally:

- shoulder_pan: `reversed?(true)`
- shoulder_lift: `offset ~u(90.0 degree)`, `reversed?(true)`
- elbow_flex:    `offset ~u(-90.0 degree)`, `reversed?(true)`
- wrist_flex:    `reversed?(true)`
- wrist_roll:    `reversed?(true)`
- gripper:       `offset ~u(45.0 degree)` (no reversal)

The calibrate-servos how-to is updated to show the new shape.

Refs: beam-bots/bb#108
BB's transmission DSL block moved from the joint to the attachment.
Update the SO-101 install template's six transmission blocks to live
inside their corresponding actuator's do/end.
@jimsynz jimsynz merged commit 65feeba into main May 21, 2026
15 checks passed
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