Repository navigation
Use shared V1 gripper limits across the full stroke - #86
Conversation
|
Can we make this PR ready for review? BTW, here are comments from Claude Code: Could you add how these two values were derived to the PR description (or as a comment next to the values in
|
0ce45a0 to
b51425f
Compare
|
I provided enactic/openarm_mujoco#91 to Claude Code and here is a new comment from Claude Code: I found the derivation of the effort value in enactic/openarm_mujoco#91, and I could reproduce both values from that linkage model ( One question: openarm_mujoco#91 says the 150.75 N limit acts on the shared opening coordinate and each jaw sees F/2. Here, both |
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
This PR is now ready for review. Rechecking the derivation exposed a distinction in the intended limit convention: the current values use the lowest points of the force and speed capability envelopes over the stroke. For global maximum capabilities, both extrema need to change. Source: openarm_hardware 1.0.1, STEP/OpenArm01_follower.step. The The analytical derivative was checked at the endpoints and its interior extremum, and cross-checked with finite differences. The motor specifications provide 7 N·m peak torque and 200 rpm no-load speed. These maxima occur at different openings and operating points; fixed global bounds do not capture the opening-dependent torque/speed envelope. The current ROS2 control configuration commands joint1 only, with joint2 following through mimic. Effort is intended for this one active coordinate; velocity is single-finger travel speed. A 221.76 N generalized-force bound corresponds to 110.88 N per jaw under symmetric static loading. A simulator with two independently driven fingers should split that force budget between its actuators. The mimic joint's URDF effort field alone does not create another actuator. The current code still uses 150.75 N / 0.661 m/s; the values above correct the proposed maxima and make the actuator convention explicit. |
b51425f to
41374ed
Compare
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
41374ed to
72600a8
Compare
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
|
Updated the code and PR description to use fixed limits of 150.75 N / 0.661 m/s across the full stroke: |
The V1 gripper macro hardcodes 333 N and 10 m/s, ignoring the shared limits YAML. Read that configuration for both finger joints and set fixed limits of 150.75 N and 0.661 m/s, chosen to stay within the respective motor bounds at every opening. Update the example URDF.
Source: openarm_hardware 1.0.1,
STEP/OpenArm01_follower.step. Theswivel_rotorpin radius isr = 0.040 m, theswivel_linkhole spacing isL = 0.035 m, and the slider-bearing axis offset ise = 0.0186 m.These calculations separately use the DM4310's 7 N·m peak torque and 200 rpm no-load speed. The analytical Jacobian was checked at the endpoints and its interior extremum, with a finite-difference cross-check. The force and speed capability peaks over the stroke are 221.758 N and 0.972506 m/s respectively; those occur at different openings and are retained as performance references.
ROS2 control commands
finger_joint1only; joint2 follows through mimic. Effort is the budget for that one active coordinate, corresponding to 75.375 N per jaw under symmetric static loading. Velocity is per finger. A simulator with two independently driven fingers should split the force budget between its actuators.Validation: 8 single/bimanual Xacro/URDF configurations covering prefixes and ROS2 control, plus the standalone gripper; generated limits and example URDF checked.