Skip to content

Weirder wave preset: more waypoints, bigger/faster, less pause, live default#4

Merged
jacklange22 merged 1 commit into
mainfrom
feat/relay-weird-wave-tuning
May 29, 2026
Merged

Weirder wave preset: more waypoints, bigger/faster, less pause, live default#4
jacklange22 merged 1 commit into
mainfrom
feat/relay-weird-wave-tuning

Conversation

@jacklange22
Copy link
Copy Markdown
Owner

Summary

Tuning the sci-fi relay for a better "weird" thesis video, per operator feedback ("add weirder points… make the 2 x axes alternate to make a wave… add a bunch more… increase amplitude… 1000 tick limit… turn dry run off default… still has a bit of lag, make it faster/smoother").

  • Wave + a bunch more waypoints. New 18-waypoint curated preset (was 9). The two X axes are near anti-phase (bottom_x ≈ -top_x, correlation ≈ −0.84) so the bottom and top segments counter-bend and the spine undulates like a wave/slither; the Y axes wander on incommensurate frequencies for an organic, never-quite-repeating feel. Consecutive separation stays ≥ 0.7 norm and both segments are non-trivial at every step.
  • Less pause. early_switch_fraction 0.72 → 0.5: more transition overlap, so the spine rounds the corners and barely settles — removes the remaining little pause at each pose.
  • Bigger + 1000-tick ceiling. amplitude 0.35 → 0.5 cm; hard tick ceiling 600 → 1000 so the bigger weird motions are never blocked. Soft/step caps are still auto-sized to the amplitude at setup() (0.5 cm → 783; verified max actual delta 454 < 783 < 1000, so a live run clears precheck).
  • Faster. video_duration_s 20 → 14 s default; the Speed slider is re-ranged to 11–40 s (fast floor keeps ~0.6 s/waypoint at 18 waypoints).
  • Smoother. Telemetry decimation 0.2 → 0.3 s so the periodic 8-servo read hitches the motion less often. command_rate_hz stays at the 50 Hz bus ceiling.
  • Live by default. dry_run default OFF — the demo moves on run; the Run button shows "RUN LIVE", and dry-run can be re-checked to preview.

Test plan

  • tests/test_sci_fi_waypoint_relay.py, tests/test_two_segment_slow_motion_demo.py, tests/test_two_segment_motion_patterns.py149 passed
  • Preset quality verified: count 9 → min-sep 1.63, count 18 → 0.886 (≥0.7), nontrivial, in-bounds
  • Live tick budget verified at 0.5 cm: max delta 454 ≤ auto soft-cap 783 ≤ hard 1000
  • X anti-phase correlation −0.84 (counter-bend wave); preview shows "18 weird waypoints • 14 s • early-switch 0.50 • ~700 bus writes @ 50 Hz"
  • Hardware: confirm it reads as a smooth weird wave with no pause; if 50 Hz can't be sustained the motion runs slow → lower command_rate_hz

Reviewer notes

  • dry_run now defaults OFF by request — the demo is live on first run (preflight still gates on dual_segment + accepted startup + connected servos).
  • Built in an isolated worktree off main; scoped to the demo, no concurrent WIP swept in.

🤖 Generated with Claude Code

…e, live default

Tuning the sci-fi relay for a better "weird" thesis video, per operator:

- New 18-waypoint curated preset (was 9). The two X axes are near anti-phase
  (bottom_x approx -top_x, correlation ~-0.84) so the bottom and top segments
  counter-bend and the spine undulates like a wave/slither; the Y axes wander
  on incommensurate frequencies for an organic feel. Consecutive separation
  stays >= 0.7 norm and both segments are non-trivial at every step.
- early_switch_fraction 0.72 -> 0.5: more transition overlap, so the spine
  rounds the corners and barely settles -> removes the remaining little pause
  at each pose, continuous flow.
- amplitude 0.35 -> 0.5 cm (bigger), hard tick ceiling 600 -> 1000 (operator
  requested) so the bigger weird motions are never blocked. Soft/step caps
  are still auto-sized to the amplitude at setup() (0.5 cm -> 783; verified
  max actual delta 454 < 783 < 1000, so a live run clears precheck).
- Faster default: video_duration_s 20 -> 14 s; speed slider re-ranged to
  11-40 s (fast floor keeps ~0.6 s/waypoint at 18 waypoints).
- Telemetry decimation 0.2 -> 0.3 s so the periodic 8-servo read hitches the
  motion less often.
- dry_run default OFF (operator asked): the demo is live on run; the Run
  button shows "RUN LIVE", and dry-run can be re-checked to preview.

Keeps command_rate_hz at the 50 Hz bus ceiling. 149 demo/relay/pattern tests
pass; preset quality + live tick budget verified.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@jacklange22 jacklange22 merged commit 2cb957b into main May 29, 2026
1 check failed
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