• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

TUM-Aries-Lab / hip-controller / 34616677376
86%

Build:
DEFAULT BRANCH: main
Ran 11 Sep 2026 03:34PM UTC
Jobs 1
Files 30
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Sep 2026 03:31PM UTC coverage: 83.469% (-0.3%) from 83.815%
34616677376

push

github

NGierden
Build the preprocessor config per controller frequency

Re-applies the config refactor from the `config` branch onto current main.
That branch still forks from the old main, so merging it conflicts in five
files; this is the same change applied deliberately instead.

What it fixes: NotchConfig.sample_rate_hz defaulted to BasicConfig.frequency
evaluated at class-definition time, so it never tracked the configured rate.
Running at anything other than 100 Hz silently mistuned both notch filters:

    BasicConfig(frequency=200).frequency      -> 200
    notch config sample_rate_hz actually used -> 100

PreprocessorConfig is now built per BasicConfig with an explicit
sample_rate_hz, so the derived filters follow the loop frequency.

Structure:

- BasicConfig gains the strategy selection (drift_removal_method,
  filtering_method, velocity_estimation_method) and builds its own
  PreprocessorConfig in __post_init__. It is an instance field, so reach it
  as BasicConfig().preprocessor_config, not off the class.
- New FilteringMethod enum (SOGI, LOW_PASS) for the angle stage.
- Strategy construction moves off PreprocessorConfig properties into
  SensorPreprocessor._build_* methods.
- WalkOnController(reverse, plot, filtered) becomes
  WalkOnController(left_limb, config). Per-limb plotting and wiring reversal
  are read from the config, so the two limbs can no longer disagree with it.

Deliberately NOT repeating the merge branch's mistake: there is exactly one
angle-stage filter instance, `_filtering`, and set_locomotion_mode /
set_demo_mode / set_walking_mode reconfigure that same object. Holding a
second filter for the mode switches to talk to made per-mode retuning a
silent no-op and zeroed the SOGI velocity path. Selecting the SOGI velocity
path without the SOGI filtering stage now raises at construction rather than
silently returning zero velocity.

Verified behaviour preserving: the same synthetic gait trace through
WalkOnController gives a bit-identical m... (continued)

1126 of 1349 relevant lines covered (83.47%)

0.83 hits per line

Coverage Regressions

Lines Coverage ∆ File
33
72.73
-6.29% hip_controller/control/signal_processing/sensor_preprocessor.py
6
91.3
0.4% hip_controller/control/app.py
Jobs
ID Job ID Ran Files Coverage
1 34616677376.1 11 Sep 2026 03:33PM UTC 30
83.47
GitHub Action Run
Source Files on build 34616677376
  • Tree
  • List 30
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34616677376
  • b6ed64ba on github
  • Prev Build on main (#34614829761)
  • Next Build on main (#34959837982)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc