brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
isaac-gym-simulationOperate the Isaac Gym Preview 4 simulation, vectorized locomotion environments, robot assets, terrain, state tensors, effort control, and interactive MPC launcher for this project.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when the task involves Isaac Gym setup, PhysX simulation,
URDF loading, env/actor creation, terrain, state or force data, vectorized RL
stepping, or the interactive RL_MPC_Locomotion launcher. It is a procedural,
data-oriented guide: handles create the simulation, while NumPy or PyTorch
arrays/tensors carry state and commands.
RL and simulation execution is currently blocked. The closed-source Isaac
Gym Preview 4 package was unavailable in the construction environment. The
partial handoff records PyTorch 1.10/CUDA 11.3, an A100 allocation, repository
imports, rsl_rl, and mpc_osqp as passing checks; those results do not
prove that Isaac Gym is installed or usable. From this sub-skill's directory, run the bundled diagnostic first:
python scripts/check_isaacgym.py
Do not claim that an RL rollout, viewer run, terrain run, or Isaac Gym import passed until this gate is cleared with the vendor package and a compatible GPU/runtime. The diagnostic never creates a viewer or simulation.
Use Python 3.8 with PyTorch 1.10.0 and CUDA 11.3, Isaac Gym Preview 4, NumPy,
Hydra/OmegaConf, and the pinned rsl_rl integration. A compatible NVIDIA
GPU/driver is required for the configured PhysX GPU pipeline; the upgrade notes
call out driver 470 or newer. The project normally uses cuda:0 for both
simulation and RL, physics_engine: physx, Z-up gravity [0, 0, -9.81],
dt: 0.01, and two substeps. Keep the setup sequence and backend verdict
explicit; CUDA-visible PyTorch alone is insufficient.
SimParams, and set the control timestep,
substeps, up-axis, gravity, and PhysX options.AssetOptions, load it, inspect DOF
and rigid-body names/counts, and configure effort properties.trunk, foot, thigh, and hip body handles.try/finally in new integrations.driveMode to
DOF_MODE_EFFORT and stiffness/damping to zero, then apply a complete effort
vector every physics frame. Missing a frame does not preserve a safe command.pos, vel; body pose,
quaternion, linear and angular velocity) and applies per-actor efforts. The
RL tasks use gymtorch wrappers and batched tensors; do not mix the two
contracts without an explicit CPU/GPU conversion.(num_envs, 13) in the order position
3, quaternion 4 (x,y,z,w), linear velocity 3, angular velocity 3. DOF state
is flattened as (num_envs * num_dof, 2) and reshaped to positions and
velocities (num_envs, num_dof). Net contacts are (num_envs, num_bodies, 3).(num_envs, 12) and clipped to [-1, 1]; observations are
(num_envs, 48), commands are (num_envs, 3), rewards/resets are per-env.
The vector task returns (obs, privileged_obs, rewards, resets, extras).The supported robots are Aliengo, A1, and Go1. The launcher accepts
--robot, --mode {Fsm,Min,Policy}, --num-envs, --render-fps,
--disable-gamepad, and --checkpoint. Policy consumes a checkpoint; if it
is omitted, the policy runner resolves the latest project run. Fsm is the
normal hierarchical controller and Min is the minimal MPC runner.
Without --disable-gamepad, an Xbox-like device is required. The left stick
commands forward/lateral velocity, the right stick commands yaw, LB cycles
Trot/Walk/Bound, and RB cycles Locomotion/Recovery Stand. LB+RB requests an
emergency stop; press the left stick to release it. For unattended or
headless automation, disable the gamepad and do not create a viewer. The
interactive launcher still renders and therefore remains backend-blocked here.
A simulation task is complete only when the backend diagnostic passes, asset paths and names resolve, the simulation is stepped in the documented order, state refreshes and tensor shapes are checked, and cleanup is observed. If the backend is absent, provide the exact blocked prerequisite and stop; do not substitute a CPU-only import or a successful MPC build as Isaac Gym evidence.