docs(device): document the RobStride backend of the reBot DevArm leader#783
docs(device): document the RobStride backend of the reBot DevArm leader#783johnnynunez wants to merge 1 commit into
Conversation
Extend the reBot DevArm leader section of the joint-space device docs: note that the arm ships in two motor builds selected by the shape of the device argument (serial path -> Damiao, SocketCAN interface name -> RobStride), and add a RobStride build subsection covering RobStrideBus (stop frame + alternating mechPos/mechVel single-parameter reads over the private 29-bit extended-id CAN protocol), SocketCAN bring-up, run and probe commands, and the shared calibration file semantics. Signed-off-by: Johnny <johnnync13@gmail.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
📝 Docs preview is not auto-deployed for fork PRs. A maintainer with write access to |
📝 WalkthroughWalkthroughThe reBot DevArm leader documentation now identifies Damiao and RobStride motor builds, explains backend selection from the device argument, and documents the synthetic trajectory fallback when no device is specified. A new RobStride subsection covers SocketCAN setup, plugin invocation, probing, CAN behavior, decoded units, probe exit codes, and calibration-file column expectations. Estimated code review effort: 1 (Trivial) | ~3 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
viz @jiwenc-nv |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/source/device/joint_space.rst`:
- Line 156: Update the register reference for mechVel in the documented
per-motor cycle reply description to 0x701B, leaving the existing 0x7019
reference unchanged.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 302330b0-20ac-48df-a5e4-25136bda7990
📒 Files selected for processing (1)
docs/source/device/joint_space.rst
| implements the leader subset of the RobStride private 29-bit extended-id CAN protocol directly -- | ||
| again no SDK dependency: it sends the **stop** frame (comm type ``0x04``) so the arm can be | ||
| back-driven by hand, then alternates single-parameter reads (comm type ``0x11``) of ``mechPos`` | ||
| (``0x7019``) and ``mechVel`` (``0x701A``) per motor per cycle. Replies carry exact little-endian |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Inspect the doc section and look for register references in the repo.
git ls-files docs/source/device/joint_space.rst
echo '---'
nl -ba docs/source/device/joint_space.rst | sed -n '145,170p'
echo '--- rg 0x701A/0x701B ---'
rg -n '0x701A|0x701B|mechVel|iqf' docs . -g '!**/.git/**' || trueRepository: NVIDIA/IsaacTeleop
Length of output: 235
🌐 Web query:
RobStride manual mechVel 0x701B 0x701A iqf
💡 Result:
In the technical documentation for RobStride actuators and compatible controllers (such as the CyberGear series), the hex addresses 0x701A and 0x701B correspond to read-only parameters used for monitoring motor state [1][2]. 0x701A (iqf): Represents the filtered q-axis current (Iq) value [1][3][4]. It is typically a 4-byte floating-point (f32) value indicating the filtered current feedback in Amperes (A) [1][5]. 0x701B (mechVel): Represents the load-side velocity (mechanical velocity) [1][3][5]. It is also a 4-byte floating-point (f32) value, with the unit typically being radians per second (rad/s) [1][5]. Because these specific parameter ranges (e.g., the valid current or speed limits) vary significantly depending on the specific model of the RobStride motor (e.g., RS00, RS02, RS03) [3][6][7], you should consult the instruction manual specific to your hardware model for the exact operating ranges [3][6][7]. These parameters are frequently accessed in motion control applications, such as via the MotorBridge SDK, to obtain real-time feedback [1][8].
Citations:
- 1: https://motorbridge.seeedstudio.com/reference/robstride-parameter-tables
- 2: https://github.com/belovictor/cybergear-docs/blob/main/instructionmanual/instructionmanual.md
- 3: https://robstride.com/assets/product_manual_robStride00-05044b8c.pdf
- 4: https://www.fullingmotorna.com/Uploads/file/20240604/1717493347294005.pdf
- 5: https://wiki.aifitlab.com/robstride-docs/robstride-00-instruction-manual
- 6: https://robstride.com/assets/product_manual_robStride03-9c54db7a.pdf
- 7: https://robstride.com/assets/product_manual_robStride02-e7f9f7c4.pdf
- 8: https://github.com/tianrking/MotorBridge
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Show the relevant lines with a portable line-numbering method.
sed -n '150,162p' docs/source/device/joint_space.rst | cat -nRepository: NVIDIA/IsaacTeleop
Length of output: 1043
Use 0x701B for mechVel. 0x701A is iqf, so this line points readers to the wrong register and should be updated to the velocity address.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/source/device/joint_space.rst` at line 156, Update the register
reference for mechVel in the documented per-motor cycle reply description to
0x701B, leaving the existing 0x7019 reference unchanged.
Source: MCP tools
|
/preview-docs |
|
❌ No successful |
|
/preview-docs |
|
✅ Preview deployed: https://NVIDIA.github.io/IsaacTeleop/preview/pr-783/ |
Description
Follow-up to #761: documents the RobStride build of the reBot DevArm leader plugin on the Generic Joint-Space Device page (
docs/source/device/joint_space.rst), matching the backend added to #729.Changes
rebot-devarm-robstride-build):RobStrideBusand the leader subset of the RobStride private 29-bit extended-id CAN protocol (stop frame0x04for back-drive, alternating0x11parameter reads ofmechPos/mechVel, exact-f32 model-independent decode, 45 Hz per channel at the 90 Hz loop), SocketCAN bring-up, run/probe commands, shared probe exit codes, and calibration-file semantics on this backend.Notes
can0(probe exit 0, decode cross-checked against exactmechPosf32 reads; see the Add reBot DevArm leader arm plugin (Damiao dm-serial backend) #729 verification section).Checklist
sphinx-build -b html -W --keep-going-> build succeeded, 0 warningsSKIP=check-copyright-year pre-commit runclean on the touched file🤖 Generated with Claude Code
Summary by CodeRabbit