Repository navigation
Conversation
|
Preview: https://stevenaya.github.io/openarm_mujoco See https://github.com/enactic/openarm_mujoco/blob/-/README.md#pull-request-and-preview how to configure preview on fork. |
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.
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.
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.
072b88b to
5e281a0
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.
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.
ae651d2 to
44effab
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.
747ba04 to
accfd38
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.
accfd38 to
e36c7b8
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.
e36c7b8 to
93b9b48
Compare
V1 assigns 0.35 kg to each hand and uses legacy mass properties for link7 and the fingers. Recalculate their masses, COMs and full inertia tensors from measured assemblies and the public V1 CAD, retaining
link7 → hand → fingers / TCP. Synchronize the single-arm and both bimanual end effectors. Move TCP to 190.1 mm relative to link7 (90 mm from hand), align finger body axes with hand, set per-finger armature to 0.566 kg, and set the gripper actuator force range to ±150.75 N.Measured end-effector allocation
Source: openarm_hardware 1.0.1,
STEP/OpenArm01_follower.step, calibrated with the measured assemblies below.The motor uses its 300 g nominal mass. CAD fasteners add 20.708274 g outside the 94 g and 312 g weighed assemblies. The complete end assembly is therefore 726.708274 g. The four support-to-rail screws contribute a CAD estimate of 3.031322 g inside the 312 g measurement, leaving 63.968678 g for the plastic jaws and their mounting screws.
link7handCAD geometry supplies each part's COM and central inertia. Measured masses calibrate the part groups; the slider mass is fitted to the remaining measured mass. Transform each tensor into its receiving link frame, then combine it with the parallel-axis theorem. At 22 mm travel per finger, split each rod's mass and central inertia equally between hand and its finger, retaining the rod's CAD COM for both contributions. This preserves the assembly's spatial inertia at the reference opening while approximating the rod motion over the stroke.
Inertia entries below are about each body's COM, expressed in its link axes. The order is
(Ixx, Iyy, Izz, Ixy, Ixz, Iyz), in kg·m².link7(-0.000098974547, 0.003372444724, 0.061389197292)(3.63783092067e-4, 3.35119095023e-4, 1.86511272319e-4, 0, 0, 7.09488421932e-5)hand(0, 0, 0.005122940872)(2.50930641371e-4, 5.56062761675e-5, 2.90609333842e-4, 1.18380219510e-5, 0, 0)left_finger(-0.004646697332, 0.012178906515, 0.013352894473)(3.28426861725e-5, 4.17523619255e-5, 1.88211631821e-5, -4.81353477950e-7, -4.11024098296e-6, 3.50430778680e-6)right_finger(0.004646697332, -0.012178906515, 0.013352894473)(3.28426861725e-5, 4.17523619255e-5, 1.88211631821e-5, -4.81353477950e-7, 4.11024098296e-6, -3.50430778680e-6)Apply COM-centered X-symmetry to
link7:I_sym = (I + Sx I Sx)/2,Sx = diag(-1, 1, 1). This sets Ixy = Ixz = 0, retaining its mass, COM, diagonal terms and Iyz. The tensor changes by 0.0893% in Frobenius norm and removes the small CAD asymmetry that tilted the displayed inertia box horizontally. Mirror the leftlink7withSy = diag(1, -1, 1); the hand and finger assembly uses the same orientation on both arms.The authored arm-body masses sum to 6.088692878 kg for the single arm and 12.177385756 kg for the bimanual model. The retained fixed pedestal adds 3.74 kg, giving 15.917385756 kg for the complete bimanual model.
Fixed pedestal
Use the corrected description pedestal parameters for
openarm_body_link0: 3.74 kg, COM(-0.016206894902, 0, 0.244091987626)m, and diagonal inertia(0.248946829107, 0.253033907704, 0.0140271775534)kg·m². The mass combines the weighed 3.55 kg support assembly and approximately 190 g chest cover. The body remains the fixed parent of the pedestal geometry,arm_originand both arm bases.TCP and finger frames
The hand frame is 100.1 mm along link7 Z. Finger origins are
(0, ±0.005, 0.015)m in hand; the TCP uses(0, 0, 0.09)m, giving 190.1 mm relative to link7. This matches the Isaac Lab cabinet task reference, including its −3 mm offset from the USD TCP.Both finger body frames align with hand. The opposing finger's visual and collision geoms carry the 180° Z rotation (
quat="0 0 0 1") and offset(0, 0.05, -0.673001)m. Its COM and full inertia use the same unrotated body frame. The slide axes are0 -1 0and0 1 0, with positive coordinates opening the gripper and the existing equality coupling retained.Gripper parameter calculation
Let
qbe each finger's displacement; total jaw opening is2q. One actuator drives the two fingers coupled by a joint equality.Linear model for gains and armature. The nominal 60° motor travel and 88 mm jaw opening give
g = dθ/dq = (π/3) / 0.044 = 23.799944 rad/m. Using output-shaft gainsKp = 10 N·m/rad,Kd = 0.2 N·m·s/radand the existing motor-inertia estimateI = 0.002 kg·m²:kp10 × g² = 5664.373508 N/m5664 N/mkv0.2 × g² = 113.287470 N·s/m113.3 N·s/marmatureI × g² / 2 = 0.566437351 kg0.566 kg, previously0.55 kgThe factor of two distributes the reflected motor inertia between the two synchronized finger joints.
Force limit from the CAD linkage. The V1 CAD gives crank radius
r = 0.040 m, connecting-rod hole spacingL = 0.035 mand slider-axis offsete = 0.0186 m. For crank angleφmeasured from the slider direction:The CAD open slider-pivot coordinate is
y = 0.0625 m; subtracting the 44 mm finger stroke sets the closed reference to0.0185 m. Evaluating the analytical Jacobian at the endpoints and its interior extremum givesJmin = 0.031565962684 m/radat closure andJmax = 0.0464337254 m/radatq = 25.2285 mm(total opening 50.4571 mm).With the DM4310's 7 N·m peak output torque, virtual work gives
Q = τ/J. The largest constant bound valid throughout the modeled stroke isQ_limit = min_q (7 / J(q)) = 7 / Jmax = 150.752496 N, set toforcerange="-150.75 150.75". This is the force on the single active opening coordinate; symmetric static jaw loads are 75.375 N each. Using the rated 3 N·m gives a constant bound of 64.61 N. The opening-dependent peak reaches 221.758 N at closure; that is retained as a performance reference.Validation
The earlier inertial checks below were run on
072b88b6, with coordinated inertial branch88c2f0a9. The uniform-force update additionally passes ±150.75 N saturation checks and 1000-step runs of the single-arm, bimanual and V1 scene models.git diff --checkpass.The 90 mm TCP update matches description at 103 poses per arm configuration and preserves geometry, mass matrices and gravity/Coriolis terms.