Skip to content

feature: emit transmission blocks in the install template#4

Open
jimsynz wants to merge 1 commit into
mainfrom
feature/transmission-dsl
Open

feature: emit transmission blocks in the install template#4
jimsynz wants to merge 1 commit 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
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