how-to: calibrate the Prime eRob arms#4
Merged
Conversation
New how-to mirroring the Lite "Calibrate the zero pose" page, for the eRob (ZeroErr) EtherCAT arms. Covers what differs from Lite: CSP has no MIT zero-torque, so limp is done by writing the drive's internal loop gains; the 0x2383 "Bus Regulation of PID" gate must be on first or gain writes are ignored; damped-limp (kp=0, ki=0, keep kd) per joint; and the offset is applied by folding it into the per-joint PDO factor/offset (fold_calibration.py) rather than a software offset, since ethercat_driver is upstream. Includes the confirmed 0-9 bus-split table and the common gotchas. Added to the How-to sidebar after calibrate_zero_pose. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z5ubj27Me94u163g7E3ec
- Cover the 4 Sito wrists: same calibrate_erob tool + prime_calibration.yaml, backends:=can isolated sweep, and the flip-a-direction-without-resweeping formula (offset_new = offset + (lower+upper)). - Correct the Fault 4616 guidance: control_frequency MUST equal the controller_manager update_rate (ethercat_driver syncs DC from the CM loop, no separate thread). Separated from the fixed ~70s staged activation. - Drop the waist note (the 3 waist joints are fixed this version). - Fold the bring-up + tracker into one calibrate.launch.py invocation; /joint_states -> /prime/joint_states. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z5ubj27Me94u163g7E3ec
Member
Author
|
Pushed
|
New concepts/prime_hybrid_actuation.md documenting the BAR Prime bringup: the 14-DoF two-bus topology (10 eRob CiA402 over EtherCAT + 4 Sito MIT over SocketCAN), the one-controller_manager / two-ros2_control-block architecture, the control_frequency==update_rate DC rule and sequenced spawners, both impedance realizations with exact SI->actuator equations (eRob MIT-in-CSP loop gains kp/kd -> 0x2382/0x2381 gated by 0x2383; Sito MIT kp/688.58, kd/1.125), the transmission-efficiency caveat + torque_efficiency knob, the per-mode PD table, the impedance manager and its "no SDO until /prime/joint_states" 0xA000 rule, and both performance fixes (parallel-SDO mode switch 3.6s->0.46s; 1 kHz startup bring-up loop 70s->13.6s). Adds three troubleshooting entries and a Concepts sidebar entry. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z5ubj27Me94u163g7E3ec
Reflect the bar_description_prime -> prime_description migration (external T-K-233/Prime-Description, prime_dummy variant, like lite_description): packages reference + heading anchor, the prime_hybrid_actuation ros2_control path, the launch_args cross-link, the installation package list, and the stale hardware_specs placeholder note (Prime is now external + 14-DoF hardware-validated). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019z5ubj27Me94u163g7E3ec
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.
Adds a how-to for calibrating the Prime eRob (ZeroErr) EtherCAT arms — the analog of the Lite "Calibrate the zero pose" page.
Covers the eRob-specific mechanics:
0x2383"Bus Regulation of PID" must be enabled first, or gain writes are silently ignored.factor/offset(no driver fork, no drive-NVM writes).Pairs with bar_ros2 PR #5 (the calibration toolchain). MDX-checked (no raw tags/braces/bare URLs); no Node locally so the Docusaurus build runs in CI.
🤖 Generated with Claude Code
https://claude.ai/code/session_019z5ubj27Me94u163g7E3ec