Isaac Sim Version
4.5.0
4.2.0
4.1.0
4.0.0
4.5.0
2023.1.1
2023.1.0-hotfix.1
Other (please specify):
Operating System
Ubuntu 22.04
Ubuntu 20.04
Windows 11
Windows 10
Other (please specify):
GPU Information
- Model: RTX3070Ti
- Driver Version: 560.94
Topic Description
Trained and evaluated a working policy for Unitree G1 in Isaac Lab.
Fails in Isaac Sim
Detailed Description
I created a custom environment by modifying the source code of
Windows > Examples > Robotics Examples > Policy > Humanoid
Instead of a H1, I loaded a G1.
The observations and actions were all modified from the H1FlatTerrainPolicy class to match exactly, the input observations in IsaacLab.
Here is the result
1st play: no commands
2nd play: forward
3rd play: right
4th play: left
Additional Information
What I’ve Tried
Lowered physics_dt, modified the damping of joints in env.yaml exported from IsaacLab
Related Issues
env.yaml:
sim:
physics_prim_path: /physicsScene
device: cuda:0
dt: 0.005
render_interval: 4
gravity: !!python/tuple
- 0.0
- 0.0
- -9.81
enable_scene_query_support: false
use_fabric: true
physx:
solver_type: 1
min_position_iteration_count: 1
max_position_iteration_count: 255
min_velocity_iteration_count: 0
max_velocity_iteration_count: 255
enable_ccd: false
enable_stabilization: true
enable_enhanced_determinism: false
bounce_threshold_velocity: 0.5
friction_offset_threshold: 0.04
friction_correlation_distance: 0.025
gpu_max_rigid_contact_count: 8388608
gpu_max_rigid_patch_count: 327680
gpu_found_lost_pairs_capacity: 2097152
gpu_found_lost_aggregate_pairs_capacity: 33554432
gpu_total_aggregate_pairs_capacity: 2097152
gpu_collision_stack_size: 67108864
gpu_heap_capacity: 67108864
gpu_temp_buffer_capacity: 16777216
gpu_max_num_partitions: 8
gpu_max_soft_body_contacts: 1048576
gpu_max_particle_contacts: 1048576
physics_material:
func: isaaclab.sim.spawners.materials.physics_materials:spawn_rigid_body_material
static_friction: 1.0
dynamic_friction: 1.0
restitution: 0.0
improve_patch_friction: true
friction_combine_mode: multiply
restitution_combine_mode: multiply
compliant_contact_stiffness: 0.0
compliant_contact_damping: 0.0
render:
enable_translucency: null
enable_reflections: null
enable_global_illumination: null
antialiasing_mode: null
enable_dlssg: null
enable_dl_denoiser: null
dlss_mode: null
enable_direct_lighting: null
samples_per_pixel: null
enable_shadows: null
enable_ambient_occlusion: null
carb_settings: null
rendering_mode: null
ui_window_class_type: isaaclab.envs.ui.manager_based_rl_env_window:ManagerBasedRLEnvWindow
seed: 42
decimation: 4
scene:
num_envs: 4096
env_spacing: 2.5
lazy_sensor_update: true
replicate_physics: true
filter_collisions: true
robot:
class_type: isaaclab.assets.articulation.articulation:Articulation
prim_path: /World/envs/env_.*/Robot
spawn:
func: isaaclab.sim.spawners.from_files.from_files:spawn_from_usd
visible: true
semantic_tags: null
copy_from_source: true
mass_props: null
deformable_props: null
rigid_props:
rigid_body_enabled: null
kinematic_enabled: null
disable_gravity: false
linear_damping: 0.0
angular_damping: 0.0
max_linear_velocity: 1000.0
max_angular_velocity: 1000.0
max_depenetration_velocity: 1.0
max_contact_impulse: null
enable_gyroscopic_forces: null
retain_accelerations: false
solver_position_iteration_count: null
solver_velocity_iteration_count: null
sleep_threshold: null
stabilization_threshold: null
collision_props: null
activate_contact_sensors: true
scale: null
articulation_props:
articulation_enabled: null
enabled_self_collisions: false
solver_position_iteration_count: 8
solver_velocity_iteration_count: 4
sleep_threshold: null
stabilization_threshold: null
fix_root_link: null
fixed_tendons_props: null
joint_drive_props: null
visual_material_path: material
visual_material: null
usd_path: http://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5/Isaac/IsaacLab/Robots/Unitree/G1/g1_minimal.usd
variants: null
init_state:
pos: !!python/tuple
- 0.0
- 0.0
- 0.74
rot: !!python/tuple
- 1.0
- 0.0
- 0.0
- 0.0
lin_vel: !!python/tuple
- 0.0
- 0.0
- 0.0
ang_vel: !!python/tuple
- 0.0
- 0.0
- 0.0
joint_pos:
left_hip_yaw_joint: 0.0
left_hip_roll_joint: 0
left_hip_pitch_joint: -0.1
left_knee_joint: 0.3
left_ankle_pitch_joint: -0.2
left_ankle_roll_joint: 0
right_hip_yaw_joint: 0.0
right_hip_roll_joint: 0
right_hip_pitch_joint: -0.1
right_knee_joint: 0.3
right_ankle_pitch_joint: -0.2
right_ankle_roll_joint: 0
torso_joint: 0.0
joint_vel:
.*: 0.0
collision_group: 0
debug_vis: false
soft_joint_pos_limit_factor: 0.9
actuators:
legs:
class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
joint_names_expr:
- .*_hip_yaw_joint
- .*_hip_roll_joint
- .*_hip_pitch_joint
- .*_knee_joint
- torso_joint
effort_limit: 300
velocity_limit: 100.0
effort_limit_sim: null
velocity_limit_sim: null
stiffness:
.*_hip_yaw_joint: 150.0
.*_hip_roll_joint: 150.0
.*_hip_pitch_joint: 200.0
.*_knee_joint: 200.0
torso_joint: 200.0
damping:
.*_hip_yaw_joint: 5.0
.*_hip_roll_joint: 5.0
.*_hip_pitch_joint: 5.0
.*_knee_joint: 5.0
torso_joint: 5.0
armature: null
friction: null
feet:
class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
joint_names_expr:
- .*_ankle_pitch_joint
- .*_ankle_roll_joint
effort_limit: 20
velocity_limit: null
effort_limit_sim: null
velocity_limit_sim: null
stiffness: 20.0
damping: 2.0
armature: null
friction: null
arms:
class_type: isaaclab.actuators.actuator_pd:ImplicitActuator
joint_names_expr:
- .*_shoulder_pitch_joint
- .*_shoulder_roll_joint
- .*_shoulder_yaw_joint
- .*_elbow_pitch_joint
- .*_elbow_roll_joint
- .*_five_joint
- .*_three_joint
- .*_six_joint
- .*_four_joint
- .*_zero_joint
- .*_one_joint
- .*_two_joint
effort_limit: 300
velocity_limit: 100.0
effort_limit_sim: null
velocity_limit_sim: null
stiffness: 40.0
damping: 10.0
armature:
.*_shoulder_.*: 0.01
.*_elbow_.*: 0.01
.*_five_joint: 0.001
.*_three_joint: 0.001
.*_six_joint: 0.001
.*_four_joint: 0.001
.*_zero_joint: 0.001
.*_one_joint: 0.001
.*_two_joint: 0.001
friction: null
observations:
policy:
concatenate_terms: true
enable_corruption: true
history_length: null
flatten_history_dim: true
base_lin_vel:
func: isaaclab.envs.mdp.observations:base_lin_vel
params: {}
modifiers: null
noise:
func: isaaclab.utils.noise.noise_model:uniform_noise
operation: add
n_min: -0.1
n_max: 0.1
clip: null
scale: null
history_length: 0
flatten_history_dim: true
base_ang_vel:
func: isaaclab.envs.mdp.observations:base_ang_vel
params: {}
modifiers: null
noise:
func: isaaclab.utils.noise.noise_model:uniform_noise
operation: add
n_min: -0.2
n_max: 0.2
clip: null
scale: null
history_length: 0
flatten_history_dim: true
projected_gravity:
func: isaaclab.envs.mdp.observations:projected_gravity
params: {}
modifiers: null
noise:
func: isaaclab.utils.noise.noise_model:uniform_noise
operation: add
n_min: -0.05
n_max: 0.05
clip: null
scale: null
history_length: 0
flatten_history_dim: true
velocity_commands:
func: isaaclab.envs.mdp.observations:generated_commands
params:
command_name: base_velocity
modifiers: null
noise: null
clip: null
scale: null
history_length: 0
flatten_history_dim: true
joint_pos:
func: isaaclab.envs.mdp.observations:joint_pos_rel
params: {}
modifiers: null
noise:
func: isaaclab.utils.noise.noise_model:uniform_noise
operation: add
n_min: -0.01
n_max: 0.01
clip: null
scale: null
history_length: 0
flatten_history_dim: true
joint_vel:
func: isaaclab.envs.mdp.observations:joint_vel_rel
params: {}
modifiers: null
noise:
func: isaaclab.utils.noise.noise_model:uniform_noise
operation: add
n_min: -1.5
n_max: 1.5
clip: null
scale: null
history_length: 0
flatten_history_dim: true
actions:
func: isaaclab.envs.mdp.observations:last_action
params: {}
modifiers: null
noise: null
clip: null
scale: null
history_length: 0
flatten_history_dim: true
height_scan: null
actions:
joint_pos:
class_type: isaaclab.envs.mdp.actions.joint_actions:JointPositionAction
asset_name: robot
debug_vis: false
clip: null
joint_names:
- .*_hip_yaw_joint
- .*_hip_roll_joint
- .*_hip_pitch_joint
- .*_knee_joint
- .*_ankle_pitch_joint
- .*_ankle_roll_joint
scale: 0.5
offset: 0.0
preserve_order: true
use_default_offset: true