Conversation
Greptile SummaryThe PR adds checkpoint-compatible Newton GPU and CPU PhysX conveyor-manipulation tasks, along with reusable custom-mesh spawning and Newton lifecycle hooks.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
Registry["Gym task registry"] --> Env["ConveyorFrankaEnv"]
Env --> Shared["ConveyorBeltView"]
Shared --> Newton["Newton force driver"]
Shared --> PhysX["PhysX surface-velocity adapter"]
Newton --> Hooks["Newton solver lifecycle hooks"]
PhysX --> CPU["CPU PhysX simulation"]
Env --> MDP["Actions, observations, rewards, resets"]
Reviews (3): Last reviewed commit: "Localize conveyor task interfaces" | Re-trigger Greptile |
There was a problem hiding this comment.
Isaac Lab Review Bot
The public custom-mesh spawner and Newton conveyor task are coherently structured, but three scoped fixes are needed before merge: limit the new displayColor behavior so existing mesh spawners do not change rendering semantics, preserve supported environment constructor keywords such as render_mode, and apply the repository-mandated copyright header to the new task files.
- Design and architecture: The separation between procedural geometry, the Warp force driver, environment configuration, and the reusable
MeshCustomCfgspawner is sound. However, renderer-independent color authoring was added to the shared mesh helper, unintentionally extending the behavior beyond custom meshes and creating inconsistent color/material handling for existing spawners. - API:
MeshCustomCfgandspawn_mesh_customare consistently exported and documented through the public stubs and changelog. The task environment constructor currently discards all Gym-provided keyword arguments, narrowing the baseManagerBasedRLEnvconstructor contract and breaking paths that rely onrender_mode; supported arguments should be forwarded. - Implementation: The custom-mesh validation, collision configuration, racetrack generation, and force-driver organization are internally coherent. Required corrections are to scope
displayColorauthoring appropriately, retain the kitless warning when material properties remain unapplied, and update the new files to the required2022-2026copyright header.
Minor fixes needed. Posted 3 actionable findings inline.
Automated review; human maintainers own approval decisions.
|
@greptileai check again |
Add reset-state curriculum, observations, rewards, and relative joint actions for four-cube cross-conveyor transfer. Calibrate Franka contact dynamics and belt friction for stable moving-belt manipulation.
6efde78 to
66de12d
Compare
…eyor-franka-env # Conflicts: # uv.lock
…eyor-franka-env # Conflicts: # uv.lock
…eyor-franka-env # Conflicts: # uv.lock
# Conflicts: # source/isaaclab_tasks/isaaclab_tasks/utils/parse_cfg.py # source/isaaclab_tasks/test/contrib/test_contrib_environments.py # source/isaaclab_visualizers/isaaclab_visualizers/newton/newton_visualizer.py # uv.lock
Description
Adds two contributed Franka conveyor tasks using the same pretrained policy and shared manipulation code: the original four-cube racetrack transfer task and a 24-parcel warehouse sorter. Both run on Newton GPU; the original task also has a native CPU PhysX reference.
IsaacContrib-Conveyor-Franka-Newton-v0): four numbered 40 mm cubes, counter-rotating belts at 0.35 m/s, phase-balanced resets, and continuous transfer commands. Both backends retain the same ordered 123 observations and eight actions at 120 Hz physics / 60 Hz policy rates.IsaacContrib-Conveyor-Franka-Newton-Play-v0): textured cartons, lighting, racks, compact elevated returns, and gravity infeeds authored in USD. Twenty-four physical parcels reuse four policy slots with stable identity during grasps. Blue/green route to one circulating conveyor; orange/purple to the other. The original manipulation straights and adjoining 90-degree bends stay fixed.Native PhysX is intentionally CPU-only: GPU contact modification can drop belt contacts in the supported runtime, so CUDA configurations fail with an actionable error. Backend-compatible tensor shapes do not imply identical dynamics. The unchanged policy can also miss grasps and reset in the larger warehouse batch; reliable complete-batch sorting is not established.
Conveyor user guide · Task and asset details
Preview
Watch/download the 22-second warehouse preview. Captured from the merged branch on September 24, 2026, using the documented Kit recording configuration. It is not evidence of a completed batch. The video is hosted separately, and the repository contains only a small JPG for documentation.
Pretrained policy
Audited the online conveyor W&B runs. Iteration 7998 remains the latest completed continuation and highest reported final reward among the available trained runs examined. This is a run-summary comparison, not an exhaustive checkpoint evaluation.
The W&B
model_7998.pt, canonical Isaac dev artifact, and public download match byte for byte: 5,505,205 bytes, SHA-256361d1881f9abc2405eeebd7cf23f7967d142187d021b04417c8ab2dc213c1631. The existing publication is current; no replacement upload was needed.The compact Newton task uses
--checkpoint pretrained. The warehouse guide supplies the same public checkpoint URL explicitly; the PhysX task uses an explicit checkpoint path. Assets and checkpoints are downloaded on first use.Validation
Merged current
develop(e3a825f73) and adapted the conveyor lifecycle hooks and configuration imports to the current backend interfaces.These are bounded compatibility checks, not a guarantee of indefinite recovery or complete-batch sorting. The tests emit existing compatibility/deprecation warnings from the current simulation APIs.
Type of change
Checklist
uv run isaaclab -f.CONTRIBUTORS.md.