Skip to content

hal: convert animation recordings to recalibrated hal_follower ranges - #244

Merged
leo-super-dev merged 1 commit into
mainfrom
recalib-animation-recordings
Aug 21, 2026
Merged

hal: convert animation recordings to recalibrated hal_follower ranges#244
leo-super-dev merged 1 commit into
mainfrom
recalib-animation-recordings

Conversation

@kyle-aus

Copy link
Copy Markdown
Collaborator

What

Remaps all 32 animation recording CSVs in hal/recordings/ from the pre-recalibration hal.json ranges to the current hal_follower ranges.

Why

The recordings store normalized (-100..100) joint values that the runtime un-normalizes against the loaded hal.json ranges to get servo ticks. After the range recalibration, the same normalized value maps to a different physical tick, so the recordings need remapping to keep the intended motion.

How

Per joint, per value: n_new = normalize(unnormalize(n_old, old_ranges), new_ranges) — using the exact lerobot RANGE_M100_100 math, so each frame resolves to the same physical servo tick under the new ranges.

Verification

  • 32 files, 6967 rows converted.
  • Round-trip check across every file/row: worst-case 1 encoder tick (~0.09°) difference between the converted frame under the new ranges and the original frame under the old ranges.

Note for reviewers

This replaces the current recordings on main. It is a mechanical remap that preserves the pre-recalibration motion; please compare against the existing set to confirm which is intended before merging.

Remap all 32 recording CSVs from the pre-recalibration hal.json ranges to the
current hal_follower ranges, preserving the original physical motion. Each
normalized value is rescaled so it resolves to the same servo tick under the
new ranges (verified within 1 encoder tick per joint).
@leo-super-dev
leo-super-dev merged commit e0d58b0 into main Aug 21, 2026
6 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.

2 participants