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

TUM-Aries-Lab / exosuit-python / 35622833916
88%

Build:
DEFAULT BRANCH: main
Ran 21 Sep 2026 04:02PM UTC
Jobs 1
Files 11
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

21 Sep 2026 04:00PM UTC coverage: 88.186% (-0.4%) from 88.621%
35622833916

push

github

NGierden
Notice when a motor stops answering, instead of commanding a dead shaft

On 2026-09-21 the right motor stopped at t=8.84 s and the control loop went on
commanding it up to 44 rad/s for the next 16 seconds. Nothing detected it: the
fault code stayed zero, and telemetry kept arriving at the usual rate with 115
distinct torque values, so the motor was plainly alive on CAN. It simply was
not acting on anything it was sent.

What gives it away is the torque. A motor held by a load reports high torque;
this one averaged 0.186 N*m while being asked for 15 rad/s, which no loaded
motor does. That is a motor powered, listening, and out of MIT mode. The rig's
equivalent recovery re-sends ENTER_MOTOR_MODE when feedback goes stale, and
would not have caught this, because feedback never stopped.

The watchdog tests three things together, each ruling out a different innocent
explanation: a command large enough that the motor should visibly answer, a
speed near zero, and a mean torque near zero across the whole stretch. The last
is what separates a dropout from a stall against a jammed tendon -- a
mechanical fault that wants a human, and one that a re-enable would answer by
driving at full command into the jam.

Every threshold comes from that recording, where the two states are far apart:
driving healthily the motor averaged 13.8 rad/s and 1.97 N*m, and the longest
run of "commanded above 5 rad/s while moving under 1" was 6 ticks. Dead, it
held that condition for 16 seconds. Acting after 40 ticks leaves a nearly
sevenfold margin.

On detection the leg is commanded zero and MIT mode re-enabled, up to three
times; after that the leg is written off for the session and the other one
carries on. Commanding a dead shaft is useless while it stays dead and
dangerous the moment it wakes, because the standing command is whatever the
error had grown to -- here, the full 44 rad/s.

Replayed against the recording: the left leg never trips, and the right is
caught 0.6 s after it ... (continued)

836 of 948 relevant lines covered (88.19%)

0.88 hits per line

Coverage Regressions

Lines Coverage ∆ File
72
83.15
-2.02% exosuit_python/exosuit.py
Jobs
ID Job ID Ran Files Coverage
1 35622833916.1 21 Sep 2026 04:02PM UTC 11
88.19
GitHub Action Run
Source Files on build 35622833916
  • Tree
  • List 11
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35622833916
  • 057fa000 on github
  • Prev Build on main (#35618121623)
  • Next Build on main (#35754477538)
  • 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