Repository navigation
docs: note the empty-grasp runaway trip and how to get out of it - #62
Merged
Merged
Conversation
The runaway watch's trigger and the `travel_guard` flag were both documented, but not the case that actually reaches them: an unloaded grasp() presses onto the closed-side stop and the hold keeps pushing there, so a stop that is not where the calibration says walks the jaws past it. The recovery was missing too, and it is not readable off the flag. The trip leaves the jaws outside the calibrated travel, and _release streams kp=kd=tau=0 frames, so the drive ends up enabled but carrying no torque - it holds nothing, but it is not off either, and that is what makes the jaws movable by hand. Say that, and say that calling grasp() again from outside only re-approaches and presses the same stop. Written into both README.md and readme_zn.md, which are maintained in parallel.
|
🎉 This PR is included in version 1.0.2 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The runaway watch's trigger and the
travel_guardflag were both documented, but not the case that actually reaches them: an unloadedgrasp()presses onto the closed-side stop and the hold keeps pushing there, so a stop that is not where the calibration says walks the jaws past it. That is the 2026-10-10 failure mode, and the README said nothing about what to do once the flag is set.The recovery was missing too, and it is not readable off the flag. The trip leaves the jaws outside the calibrated travel, and
_releasestreamskp=kd=tau=0frames (actions.py:961), so the drive ends up enabled but carrying no torque — it holds nothing, but it is not off either. That is what makes the jaws movable by hand, and it is the reason the procedure below is safe to prescribe.Documentation only. No behaviour change.
Changes
README.md— a new paragraph under The runaway watch in "Gripping and force" covering the empty-grasp case, the state the trip leaves the mechanism in, and the way out (disable(), move the jaws clear by hand,enable()).README.md— thetravel_guardrow of the Troubleshooting table gains the same recovery, since that table is where someone looks while standing at the machine.readme_zn.md— both of the above, mirrored. The two READMEs are updated in the same commit throughout this repository's history, so changing one alone would desynchronise them.Two facts the wording rests on, both read off the code rather than assumed:
_releasesendskp=kd=tau=0forstop_release_s, so the motor is left enabled and torque-free.disable(). Disabling is the operator's step, not the SDK's.Testing
A docs-only change cannot be exercised by the suite; the run is here to show the tree is green rather than to cover the edit.
Issues
No issue.
gh issue list --state allshows no open issues and none about the runaway watch or thetravel_guardrecovery; the closest historical one is #40 (guarding the force hold), which is closed.