Skip to content

feat: top-handle collision model + recovery joint limits + publish_current - #11

Open
DanielyanNora wants to merge 2 commits into
mainfrom
feat/top-handle-collision
Open

DanielyanNora wants to merge 2 commits into
mainfrom
feat/top-handle-collision

Conversation

@DanielyanNora

Copy link
Copy Markdown
Collaborator

What

For fall-recovery deployment on the real robot (which has the top-mounted carry handles):

  • Top-handle collisionhandle_F/handle_R collision-only exact-CAD meshes on the Base
    link (no visual/inertial; mass already in Base), so the model matches the handle-trained recovery
    policy. The robot physically has these handles and they change belly-up recovery contact.
  • Recovery joint limitsvelocity_lim 10 → 18.849 rad/s, effort_lim 50 → 30 N·m,
    matching the trained model (AYG_CFG). velocity_lim=10 is a placeholder the Gazebo/ros2_control
    stack obeys, clamping below the ~15 rad/s recovery needs.
  • publish_current xacro argrobstride_ros2_control macro (default false), for per-joint
    q-axis current logging on /motor_states.

Cross-repo dependency

The publish_current pass-through requires the robstride_hardware macro to accept a
publish_current param — that lives in Ayg branch hardware-deployment and should land before
this is relied on at integration.

Validation

Sim-validated in the new ros/ layout: model builds, xacro expands with the handle collisions,
Gazebo Gate-3 recovery pipeline recovers belly-up→upright. Not yet hardware-validated (gate ladder
4→8 pending).

Test plan

  • xacro urdf/ayg.xacro sim:=false use_csp:=false expands (handle_F/R collisions present)
  • Recovery Gate-3 (Gazebo) still recovers
  • Land the Ayg-side publish_current macro param before integration

DanielyanNora and others added 2 commits July 14, 2026 16:19
…rrent

For recovery deployment on the real robot (which has the top-mounted carry handles):

- Top-handle collision (handle_F/handle_R, collision-only exact-CAD meshes on the
  Base link) so the model matches the handle-trained recovery policy.
- Recovery joint limits: velocity_lim 10 -> 18.849 rad/s, effort_lim 50 -> 30 N*m.
  velocity_lim=10 is a placeholder the Gazebo/ros2_control stack OBEYS, clamping
  joints below the ~15.25 rad/s recovery needs. 18.849/30 match the trained model.
- publish_current xacro arg -> robstride_ros2_control macro (default false).

Cross-repo: publish_current pass-through needs the robstride_hardware macro param
(Ayg branch hardware-deployment).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…or-curve params

- mujoco/ayg.xml: joint armature 0.02 (the certified mujoco_val value; 0 was the
  documented snap/fail sim2sim gap) + handle_F/handle_R collision meshes, matching
  the cf_lab validation model (full-diff verified physically identical).
- ayg.xacro + ayg_sim_ros2_control.xacro: motor_curve / motor_curve_tau /
  motor_curve_tau_knee args -> MujocoSystem hardware params (RS-03 four-quadrant
  torque-speed curve; tau follows the controller clamp: 20/16 cert, 30/30 HW plan).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant