Skip to content

Proposal 0007: Motion Filters#12

Closed
jimsynz wants to merge 1 commit into
beam-bots:mainfrom
jimsynz:proposal/0007-motion-filters
Closed

Proposal 0007: Motion Filters#12
jimsynz wants to merge 1 commit into
beam-bots:mainfrom
jimsynz:proposal/0007-motion-filters

Conversation

@jimsynz
Copy link
Copy Markdown
Contributor

@jimsynz jimsynz commented Feb 2, 2026

This proposal introduces declarative motion filter pipelines for actuator commands.

Summary

Motion filters provide composable transformations (smoothing, velocity limiting, deadband, etc.) that apply to actuator commands before they reach hardware. They're configured in the robot DSL either as inline filters or reusable named pipelines.

Key Features

  • Filter behaviour for stateful command transformations
  • Two DSL patterns: inline filters and reusable pipelines
  • Common implementations: exponential smoothing, velocity/acceleration limits, deadband, rate limiting
  • Pipeline execution: filters run in order, can skip commands
  • Telemetry: observability for filter application
  • Core integration: part of bb, not a separate package

Impact

This significantly simplifies teleop (and other command sources) by moving motion smoothing and safety limiting to the actuator layer where it applies uniformly regardless of command source.

Open Questions

Several design questions listed in the proposal around parameter support, runtime switching, and multi-dimensional smoothing.

Ready for discussion and feedback!

Add declarative filter pipelines for actuator commands:
- Filter behaviour for composable transformations
- Inline filters and reusable pipelines via DSL
- Common implementations: smoothing, velocity/accel limits, deadband
- Simplifies teleop by moving smoothing to actuator layer
- Applies uniformly to all command sources (teleop, autonomous, etc.)

Addresses cross-cutting concern of motion characteristics that was
previously handled inconsistently across the codebase.
@jimsynz jimsynz closed this by deleting the head repository Feb 8, 2026
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