gitextract_ag6vedhl/ ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── 1-bug-report.yml │ │ ├── 2-feature-request.yml │ │ └── config.yml │ ├── contributing/ │ │ ├── ARCHITECTURE.md │ │ ├── CODING_CONVENTIONS.md │ │ ├── EXAMPLES.md │ │ ├── PULL_REQUESTS.md │ │ ├── TESTING.md │ │ └── USD_PARSER.md │ ├── pull_request_template.md │ └── workflows/ │ ├── alarm.yml │ ├── examples.yml │ ├── format.yml │ ├── generic.yml │ ├── production.yml │ └── scripts/ │ ├── alarm.py │ └── production_build.sh ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── AGENTS.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── README_CN.md ├── README_FR.md ├── README_JA.md ├── README_KR.md ├── RELEASE.md ├── docker/ │ ├── 10_nvidia.json │ ├── Dockerfile │ ├── Dockerfile.amdgpu │ ├── build_luisa.sh │ ├── nvidia_icd.json │ └── nvidia_layers.json ├── examples/ │ ├── IPC_Solver/ │ │ ├── README.md │ │ ├── ipc_momentum.py │ │ ├── ipc_objects_falling.py │ │ ├── ipc_robot_cloth_teleop.py │ │ └── ipc_robot_grasp_cube.py │ ├── collision/ │ │ ├── contype.py │ │ ├── pyramid.py │ │ └── tower.py │ ├── coupling/ │ │ ├── cloth_attached_to_rigid.py │ │ ├── cloth_on_rigid.py │ │ ├── cut_dragon.py │ │ ├── fem_cube_linked_with_arm.py │ │ ├── flush_cubes.py │ │ ├── grasp_soft_cube.py │ │ ├── rigid_mpm_attachment.py │ │ ├── sand_wheel.py │ │ ├── sph_mpm.py │ │ ├── sph_rigid.py │ │ └── water_wheel.py │ ├── ddp_multi_gpu.py │ ├── differentiable_push.py │ ├── drone/ │ │ ├── README.md │ │ ├── fly.py │ │ ├── fly_route.py │ │ ├── hover_env.py │ │ ├── hover_eval.py │ │ ├── hover_train.py │ │ ├── interactive_drone.py │ │ └── quadcopter_controller.py │ ├── elastic_dragon.py │ ├── fem_hard_and_soft_constraint.py │ ├── hibernation.py │ ├── keyboard_teleop.py │ ├── kinematic/ │ │ └── go2_kinematic.py │ ├── locomotion/ │ │ ├── backflip/ │ │ │ └── readme.md │ │ ├── go2_backflip.py │ │ ├── go2_env.py │ │ ├── go2_eval.py │ │ └── go2_train.py │ ├── manipulation/ │ │ ├── behavior_cloning.py │ │ ├── grasp_env.py │ │ ├── grasp_eval.py │ │ └── grasp_train.py │ ├── pbd_liquid.py │ ├── render_async.py │ ├── rendering/ │ │ ├── demo.py │ │ ├── follow_entity.py │ │ ├── moving_camera.py │ │ └── speed_test.py │ ├── rigid/ │ │ ├── accelerometer_duck.py │ │ ├── accelerometer_franka.py │ │ ├── apply_external_force_torque.py │ │ ├── closed_loop.py │ │ ├── control_franka.py │ │ ├── control_mesh.py │ │ ├── convex_decomposition.py │ │ ├── diffik_controller.py │ │ ├── domain_randomization.py │ │ ├── franka_cube.py │ │ ├── grasp_bottle.py │ │ ├── gravity_compensation.py │ │ ├── heterogeneous_simulation.py │ │ ├── ik_custom_chain.py │ │ ├── ik_duck.py │ │ ├── ik_franka.py │ │ ├── ik_franka_batched.py │ │ ├── ik_shadow_hand.py │ │ ├── merge_entities.py │ │ ├── multi_gpu.py │ │ ├── nonconvex_mesh.py │ │ ├── set_phys_attr.py │ │ ├── single_franka.py │ │ ├── single_franka_batch_render.py │ │ ├── single_franka_envs.py │ │ ├── suction_cup.py │ │ ├── terrain_from_mesh.py │ │ ├── terrain_height_field.py │ │ └── terrain_subterrain.py │ ├── sap_coupling/ │ │ ├── fem_fixed_constraint.py │ │ ├── fem_sphere_and_cube.py │ │ ├── franka_grasp_fem_sphere.py │ │ └── franka_grasp_rigid_cube.py │ ├── sensors/ │ │ ├── camera_as_sensor.py │ │ ├── contact_force_go2.py │ │ ├── imu_franka.py │ │ ├── kinematic_contact_sandbox.py │ │ ├── lidar_teleop.py │ │ ├── proximity_shadowhand.py │ │ ├── tactile_elastomer_franka.py │ │ ├── tactile_elastomer_sandbox.py │ │ └── temperature_grid.py │ ├── smoke.py │ ├── speed_benchmark/ │ │ ├── anymal_c.py │ │ ├── franka.py │ │ └── timers.py │ ├── tutorials/ │ │ ├── IK_motion_planning_grasp.py │ │ ├── advanced_IK_multilink.py │ │ ├── advanced_hybrid_robot.py │ │ ├── advanced_muscle.py │ │ ├── advanced_worm.py │ │ ├── batched_IK.py │ │ ├── control_your_robot.py │ │ ├── draw_debug.py │ │ ├── entity_name.py │ │ ├── hello_genesis.py │ │ ├── interactive_debugging.py │ │ ├── mpm.py │ │ ├── parallel_simulation.py │ │ ├── pbd_cloth.py │ │ ├── position_control_comparison.py │ │ ├── selecting_rendered_envs.py │ │ ├── sph_liquid.py │ │ └── visualization.py │ ├── usd/ │ │ └── import_stage.py │ └── viewer_plugin/ │ ├── mesh_point_selector.py │ └── mouse_interaction.py ├── genesis/ │ ├── __init__.py │ ├── _main.py │ ├── assets/ │ │ ├── meshes/ │ │ │ ├── Airplane/ │ │ │ │ ├── airplane.mtl │ │ │ │ ├── airplane.obj │ │ │ │ └── textures/ │ │ │ │ └── diffuse.dds │ │ │ ├── axis.obj │ │ │ ├── bathtub/ │ │ │ │ ├── bathtub.obj │ │ │ │ └── material.mtl │ │ │ ├── boat/ │ │ │ │ ├── boat.obj │ │ │ │ └── material.mtl │ │ │ ├── bunny.obj │ │ │ ├── camera/ │ │ │ │ └── camera.glb │ │ │ ├── chopping-board/ │ │ │ │ └── source/ │ │ │ │ └── chopping_board.glb │ │ │ ├── cloth.obj │ │ │ ├── cross_cutter.obj │ │ │ ├── dragon/ │ │ │ │ ├── dragon.obj │ │ │ │ └── material.mtl │ │ │ ├── dragon.obj │ │ │ ├── duck/ │ │ │ │ ├── duck.obj │ │ │ │ └── material.mtl │ │ │ ├── duck.obj │ │ │ ├── env_sphere/ │ │ │ │ ├── env_sphere.obj │ │ │ │ └── material.mtl │ │ │ ├── icecream_dispenser.obj │ │ │ ├── sphere.obj │ │ │ ├── stirrer.obj │ │ │ ├── tank.obj │ │ │ ├── terrain_45.obj │ │ │ ├── wooden_sphere_OBJ/ │ │ │ │ ├── wooden_sphere.mtl │ │ │ │ └── wooden_sphere.obj │ │ │ └── worm/ │ │ │ ├── worm.mtl │ │ │ └── worm.obj │ │ ├── urdf/ │ │ │ ├── 3763/ │ │ │ │ ├── bounding_box.json │ │ │ │ ├── link_and_joint.txt │ │ │ │ ├── meta.json │ │ │ │ ├── mobility.urdf │ │ │ │ ├── mobility_v2.json │ │ │ │ ├── mobility_vhacd.urdf │ │ │ │ ├── parts_render/ │ │ │ │ │ ├── 0.txt │ │ │ │ │ ├── 1.txt │ │ │ │ │ ├── 5.txt │ │ │ │ │ ├── 6.txt │ │ │ │ │ └── 7.txt │ │ │ │ ├── parts_render_after_merging/ │ │ │ │ │ ├── 0.txt │ │ │ │ │ ├── 1.txt │ │ │ │ │ ├── 2.txt │ │ │ │ │ ├── 3.txt │ │ │ │ │ └── 4.txt │ │ │ │ ├── point_sample/ │ │ │ │ │ ├── label-10000.txt │ │ │ │ │ ├── ply-10000.ply │ │ │ │ │ ├── pts-10000.pts │ │ │ │ │ ├── pts-10000.txt │ │ │ │ │ ├── sample-points-all-label-10000.txt │ │ │ │ │ ├── sample-points-all-pts-label-10000.ply │ │ │ │ │ ├── sample-points-all-pts-nor-rgba-10000.ply │ │ │ │ │ └── sample-points-all-pts-nor-rgba-10000.txt │ │ │ │ ├── result.json │ │ │ │ ├── result_after_merging.json │ │ │ │ ├── semantics.txt │ │ │ │ ├── textured_objs/ │ │ │ │ │ ├── original-1.mtl │ │ │ │ │ ├── original-1.obj │ │ │ │ │ ├── original-1_log.txt │ │ │ │ │ ├── original-1_vhacd.obj │ │ │ │ │ ├── original-2.mtl │ │ │ │ │ ├── original-2.obj │ │ │ │ │ ├── original-2_log.txt │ │ │ │ │ ├── original-2_vhacd.obj │ │ │ │ │ ├── original-3.mtl │ │ │ │ │ ├── original-3.obj │ │ │ │ │ ├── original-3_log.txt │ │ │ │ │ └── original-3_vhacd.obj │ │ │ │ ├── tree_hier.html │ │ │ │ └── tree_hier_after_merging.html │ │ │ ├── anymal_c/ │ │ │ │ ├── ANYmal_c_license.txt │ │ │ │ ├── meshes/ │ │ │ │ │ ├── base.dae │ │ │ │ │ ├── battery.dae │ │ │ │ │ ├── bottom_shell.dae │ │ │ │ │ ├── depth_camera.dae │ │ │ │ │ ├── drive.dae │ │ │ │ │ ├── face.dae │ │ │ │ │ ├── foot.dae │ │ │ │ │ ├── handle.dae │ │ │ │ │ ├── hatch.dae │ │ │ │ │ ├── hip_l.dae │ │ │ │ │ ├── hip_r.dae │ │ │ │ │ ├── lidar.dae │ │ │ │ │ ├── lidar_cage.dae │ │ │ │ │ ├── remote.dae │ │ │ │ │ ├── shank_l.dae │ │ │ │ │ ├── shank_r.dae │ │ │ │ │ ├── thigh.dae │ │ │ │ │ ├── top_shell.dae │ │ │ │ │ └── wide_angle_camera.dae │ │ │ │ └── urdf/ │ │ │ │ └── anymal_c.urdf │ │ │ ├── blue_box/ │ │ │ │ ├── assets/ │ │ │ │ │ ├── part_1.part │ │ │ │ │ └── part_1.stl │ │ │ │ └── model.urdf │ │ │ ├── drones/ │ │ │ │ ├── body.mtl │ │ │ │ ├── body.obj │ │ │ │ ├── cf2.dae │ │ │ │ ├── cf2p.urdf │ │ │ │ ├── cf2x.urdf │ │ │ │ ├── propeller0.mtl │ │ │ │ ├── propeller0.obj │ │ │ │ ├── propeller1.mtl │ │ │ │ ├── propeller1.obj │ │ │ │ ├── propeller2.mtl │ │ │ │ ├── propeller2.obj │ │ │ │ ├── propeller3.mtl │ │ │ │ ├── propeller3.obj │ │ │ │ └── racer.urdf │ │ │ ├── go2/ │ │ │ │ ├── dae/ │ │ │ │ │ ├── base.dae │ │ │ │ │ ├── calf.dae │ │ │ │ │ ├── calf_mirror.dae │ │ │ │ │ ├── foot.dae │ │ │ │ │ ├── hip.dae │ │ │ │ │ ├── thigh.dae │ │ │ │ │ └── thigh_mirror.dae │ │ │ │ └── urdf/ │ │ │ │ └── go2.urdf │ │ │ ├── kuka_iiwa/ │ │ │ │ ├── kuka_with_gripper.sdf │ │ │ │ ├── kuka_with_gripper2.sdf │ │ │ │ ├── kuka_world.sdf │ │ │ │ ├── meshes/ │ │ │ │ │ ├── base_link.dae │ │ │ │ │ ├── finger_base_left.stl │ │ │ │ │ ├── finger_base_right.stl │ │ │ │ │ ├── finger_tip_left.stl │ │ │ │ │ ├── finger_tip_right.stl │ │ │ │ │ ├── link_0.mtl │ │ │ │ │ ├── link_0.obj │ │ │ │ │ ├── link_0.stl │ │ │ │ │ ├── link_1.mtl │ │ │ │ │ ├── link_1.obj │ │ │ │ │ ├── link_1.stl │ │ │ │ │ ├── link_2.mtl │ │ │ │ │ ├── link_2.obj │ │ │ │ │ ├── link_2.stl │ │ │ │ │ ├── link_3.mtl │ │ │ │ │ ├── link_3.obj │ │ │ │ │ ├── link_3.stl │ │ │ │ │ ├── link_4.mtl │ │ │ │ │ ├── link_4.obj │ │ │ │ │ ├── link_4.stl │ │ │ │ │ ├── link_5.mtl │ │ │ │ │ ├── link_5.obj │ │ │ │ │ ├── link_5.stl │ │ │ │ │ ├── link_6.mtl │ │ │ │ │ ├── link_6.obj │ │ │ │ │ ├── link_6.stl │ │ │ │ │ ├── link_7.mtl │ │ │ │ │ ├── link_7.obj │ │ │ │ │ └── link_7.stl │ │ │ │ ├── model.sdf │ │ │ │ ├── model.urdf │ │ │ │ ├── model2.sdf │ │ │ │ ├── model_for_sdf.urdf │ │ │ │ ├── model_free_base.urdf │ │ │ │ ├── model_mobile.urdf │ │ │ │ └── model_vr_limits.urdf │ │ │ ├── panda_bullet/ │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── hand.urdf │ │ │ │ ├── meshes/ │ │ │ │ │ ├── collision/ │ │ │ │ │ │ ├── finger.obj │ │ │ │ │ │ ├── hand.obj │ │ │ │ │ │ ├── link0.obj │ │ │ │ │ │ ├── link1.obj │ │ │ │ │ │ ├── link2.obj │ │ │ │ │ │ ├── link3.obj │ │ │ │ │ │ ├── link4.obj │ │ │ │ │ │ ├── link5.obj │ │ │ │ │ │ ├── link6.mtl │ │ │ │ │ │ ├── link6.obj │ │ │ │ │ │ └── link7.obj │ │ │ │ │ └── visual/ │ │ │ │ │ ├── base_link.dae │ │ │ │ │ ├── finger.mtl │ │ │ │ │ ├── finger.obj │ │ │ │ │ ├── hand.mtl │ │ │ │ │ ├── hand.obj │ │ │ │ │ ├── link1.mtl │ │ │ │ │ ├── link1.obj │ │ │ │ │ ├── link2.mtl │ │ │ │ │ ├── link2.obj │ │ │ │ │ ├── link3.mtl │ │ │ │ │ ├── link3.obj │ │ │ │ │ ├── link4.mtl │ │ │ │ │ ├── link4.obj │ │ │ │ │ ├── link5.mtl │ │ │ │ │ ├── link5.obj │ │ │ │ │ ├── link6.mtl │ │ │ │ │ ├── link6.obj │ │ │ │ │ └── visualShapeBench.json_0.json │ │ │ │ ├── panda.urdf │ │ │ │ ├── panda_nohand.urdf │ │ │ │ ├── panda_slider_mobile.urdf │ │ │ │ └── panda_suction.urdf │ │ │ ├── plane/ │ │ │ │ ├── generate_checker.py │ │ │ │ ├── plane.mtl │ │ │ │ ├── plane.urdf │ │ │ │ ├── plane100.obj │ │ │ │ ├── plane100_light.obj │ │ │ │ ├── plane_light.mtl │ │ │ │ └── plane_light.urdf │ │ │ ├── shadow_hand/ │ │ │ │ ├── meshes/ │ │ │ │ │ ├── collision/ │ │ │ │ │ │ ├── finger_distal.stl │ │ │ │ │ │ ├── finger_middle.stl │ │ │ │ │ │ ├── finger_proximal.stl │ │ │ │ │ │ ├── forearm.stl │ │ │ │ │ │ ├── knuckle.stl │ │ │ │ │ │ ├── metacarpal.stl │ │ │ │ │ │ ├── palm.stl │ │ │ │ │ │ ├── thumb_distal.stl │ │ │ │ │ │ ├── thumb_middle.stl │ │ │ │ │ │ ├── thumb_proximal.stl │ │ │ │ │ │ └── wrist.stl │ │ │ │ │ └── visual/ │ │ │ │ │ ├── finger_distal.dae │ │ │ │ │ ├── finger_middle.dae │ │ │ │ │ ├── finger_proximal.dae │ │ │ │ │ ├── forearm.dae │ │ │ │ │ ├── knuckle.dae │ │ │ │ │ ├── metacarpal.dae │ │ │ │ │ ├── palm.dae │ │ │ │ │ ├── thumb_distal.dae │ │ │ │ │ ├── thumb_middle.dae │ │ │ │ │ ├── thumb_proximal.dae │ │ │ │ │ └── wrist.dae │ │ │ │ └── shadow_hand.urdf │ │ │ ├── simple/ │ │ │ │ ├── two_cube_prismatic.urdf │ │ │ │ ├── two_cube_revolute.urdf │ │ │ │ └── two_link_arm.urdf │ │ │ └── wheel/ │ │ │ ├── fancy_wheel.obj │ │ │ ├── fancy_wheel.urdf │ │ │ ├── material.mtl │ │ │ ├── wheel.obj │ │ │ └── wheel.urdf │ │ └── xml/ │ │ ├── ant.xml │ │ ├── ant_grasp_ball.xml │ │ ├── ant_grasp_body.xml │ │ ├── ant_grasp_ground.xml │ │ ├── cable.xml │ │ ├── four_bar_linkage.xml │ │ ├── four_bar_linkage_weld.xml │ │ ├── franka_emika_panda/ │ │ │ ├── README.md │ │ │ ├── assets/ │ │ │ │ ├── finger_0.obj │ │ │ │ ├── finger_1.obj │ │ │ │ ├── hand.stl │ │ │ │ ├── hand_0.obj │ │ │ │ ├── hand_1.obj │ │ │ │ ├── hand_2.obj │ │ │ │ ├── hand_3.obj │ │ │ │ ├── hand_4.obj │ │ │ │ ├── link0.stl │ │ │ │ ├── link0_0.obj │ │ │ │ ├── link0_1.obj │ │ │ │ ├── link0_10.obj │ │ │ │ ├── link0_11.obj │ │ │ │ ├── link0_2.obj │ │ │ │ ├── link0_3.obj │ │ │ │ ├── link0_4.obj │ │ │ │ ├── link0_5.obj │ │ │ │ ├── link0_7.obj │ │ │ │ ├── link0_8.obj │ │ │ │ ├── link0_9.obj │ │ │ │ ├── link1.obj │ │ │ │ ├── link1.stl │ │ │ │ ├── link2.obj │ │ │ │ ├── link2.stl │ │ │ │ ├── link3.stl │ │ │ │ ├── link3_0.obj │ │ │ │ ├── link3_1.obj │ │ │ │ ├── link3_2.obj │ │ │ │ ├── link3_3.obj │ │ │ │ ├── link4.stl │ │ │ │ ├── link4_0.obj │ │ │ │ ├── link4_1.obj │ │ │ │ ├── link4_2.obj │ │ │ │ ├── link4_3.obj │ │ │ │ ├── link5_0.obj │ │ │ │ ├── link5_1.obj │ │ │ │ ├── link5_2.obj │ │ │ │ ├── link5_collision_0.obj │ │ │ │ ├── link5_collision_1.obj │ │ │ │ ├── link5_collision_2.obj │ │ │ │ ├── link6.stl │ │ │ │ ├── link6_0.obj │ │ │ │ ├── link6_1.obj │ │ │ │ ├── link6_10.obj │ │ │ │ ├── link6_11.obj │ │ │ │ ├── link6_12.obj │ │ │ │ ├── link6_13.obj │ │ │ │ ├── link6_14.obj │ │ │ │ ├── link6_15.obj │ │ │ │ ├── link6_16.obj │ │ │ │ ├── link6_2.obj │ │ │ │ ├── link6_3.obj │ │ │ │ ├── link6_4.obj │ │ │ │ ├── link6_5.obj │ │ │ │ ├── link6_6.obj │ │ │ │ ├── link6_7.obj │ │ │ │ ├── link6_8.obj │ │ │ │ ├── link6_9.obj │ │ │ │ ├── link7.stl │ │ │ │ ├── link7_0.obj │ │ │ │ ├── link7_1.obj │ │ │ │ ├── link7_2.obj │ │ │ │ ├── link7_3.obj │ │ │ │ ├── link7_4.obj │ │ │ │ ├── link7_5.obj │ │ │ │ ├── link7_6.obj │ │ │ │ └── link7_7.obj │ │ │ ├── hand.xml │ │ │ ├── panda.xml │ │ │ ├── panda_free_base.xml │ │ │ ├── panda_no_tendon.xml │ │ │ ├── panda_nohand.xml │ │ │ ├── panda_non_overlap.xml │ │ │ ├── scene.xml │ │ │ └── scene_no_tendon.xml │ │ ├── franka_sim/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── assets/ │ │ │ │ ├── actuator0.xml │ │ │ │ ├── actuator0_0.xml │ │ │ │ ├── actuator0_2.xml │ │ │ │ ├── actuator1.xml │ │ │ │ ├── assets.xml │ │ │ │ ├── assets_0.xml │ │ │ │ ├── assets_2.xml │ │ │ │ ├── basic_scene.xml │ │ │ │ ├── chain0.xml │ │ │ │ ├── chain0_nogripper.xml │ │ │ │ ├── chain0_overlay.xml │ │ │ │ ├── chain1.xml │ │ │ │ ├── gripper_actuator0.xml │ │ │ │ ├── gripper_assets.xml │ │ │ │ └── teleop_actuator.xml │ │ │ ├── ball.xml │ │ │ ├── bi-franka_panda.xml │ │ │ ├── franka_panda.xml │ │ │ ├── franka_panda_0.xml │ │ │ ├── franka_panda_1.xml │ │ │ ├── franka_panda_2.xml │ │ │ ├── franka_panda_3.xml │ │ │ ├── franka_panda_ball.xml │ │ │ ├── franka_panda_ball_.xml │ │ │ ├── franka_panda_no_finger.xml │ │ │ ├── franka_panda_teleop.xml │ │ │ ├── franka_panda_test_convex.xml │ │ │ └── meshes/ │ │ │ ├── collision/ │ │ │ │ ├── finger.stl │ │ │ │ ├── hand.stl │ │ │ │ ├── link0.stl │ │ │ │ ├── link1.stl │ │ │ │ ├── link2.stl │ │ │ │ ├── link3.stl │ │ │ │ ├── link4.stl │ │ │ │ ├── link5.stl │ │ │ │ ├── link6.stl │ │ │ │ └── link7.stl │ │ │ └── visual/ │ │ │ ├── finger.stl │ │ │ ├── hand.stl │ │ │ ├── link0.stl │ │ │ ├── link1.stl │ │ │ ├── link2.stl │ │ │ ├── link3.stl │ │ │ ├── link3_dark.stl │ │ │ ├── link4.stl │ │ │ ├── link4_dark.stl │ │ │ ├── link5.stl │ │ │ ├── link5_dark.stl │ │ │ ├── link6.stl │ │ │ ├── link6_dark.stl │ │ │ ├── link7.stl │ │ │ └── link7_dark.stl │ │ ├── humanoid.xml │ │ ├── one_ball_joint.xml │ │ ├── one_tet.xml │ │ ├── rope_ball.xml │ │ ├── rope_hinge.xml │ │ ├── tet.obj │ │ ├── tet_ball.xml │ │ ├── tet_capsule.xml │ │ ├── tet_tet.xml │ │ ├── thin_box.xml │ │ ├── thin_box_mesh.xml │ │ ├── thin_cube.obj │ │ ├── three_joint_link.xml │ │ ├── two_box.xml │ │ ├── two_skeleton.xml │ │ ├── universal_robots_ur5e/ │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── assets/ │ │ │ │ ├── base_0.obj │ │ │ │ ├── base_1.obj │ │ │ │ ├── forearm_0.obj │ │ │ │ ├── forearm_1.obj │ │ │ │ ├── forearm_2.obj │ │ │ │ ├── forearm_3.obj │ │ │ │ ├── shoulder_0.obj │ │ │ │ ├── shoulder_1.obj │ │ │ │ ├── shoulder_2.obj │ │ │ │ ├── upperarm_0.obj │ │ │ │ ├── upperarm_1.obj │ │ │ │ ├── upperarm_2.obj │ │ │ │ ├── upperarm_3.obj │ │ │ │ ├── wrist1_0.obj │ │ │ │ ├── wrist1_1.obj │ │ │ │ ├── wrist1_2.obj │ │ │ │ ├── wrist2_0.obj │ │ │ │ ├── wrist2_1.obj │ │ │ │ ├── wrist2_2.obj │ │ │ │ └── wrist3.obj │ │ │ ├── scene.xml │ │ │ └── ur5e.xml │ │ └── walker.xml │ ├── constants.py │ ├── datatypes.py │ ├── engine/ │ │ ├── __init__.py │ │ ├── boundaries/ │ │ │ ├── __init__.py │ │ │ └── boundaries.py │ │ ├── bvh.py │ │ ├── couplers/ │ │ │ ├── __init__.py │ │ │ ├── ipc_coupler/ │ │ │ │ ├── __init__.py │ │ │ │ ├── coupler.py │ │ │ │ ├── data.py │ │ │ │ └── utils.py │ │ │ ├── legacy_coupler.py │ │ │ └── sap_coupler.py │ │ ├── entities/ │ │ │ ├── __init__.py │ │ │ ├── base_entity.py │ │ │ ├── drone_entity.py │ │ │ ├── emitter.py │ │ │ ├── fem_entity.py │ │ │ ├── hybrid_entity.py │ │ │ ├── mpm_entity.py │ │ │ ├── particle_entity.py │ │ │ ├── pbd_entity.py │ │ │ ├── rigid_entity/ │ │ │ │ ├── __init__.py │ │ │ │ ├── rigid_entity.py │ │ │ │ ├── rigid_equality.py │ │ │ │ ├── rigid_geom.py │ │ │ │ ├── rigid_joint.py │ │ │ │ └── rigid_link.py │ │ │ ├── sf_entity.py │ │ │ ├── sph_entity.py │ │ │ └── tool_entity/ │ │ │ ├── __init__.py │ │ │ ├── mesh.py │ │ │ └── tool_entity.py │ │ ├── force_fields.py │ │ ├── materials/ │ │ │ ├── FEM/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── cloth.py │ │ │ │ ├── elastic.py │ │ │ │ └── muscle.py │ │ │ ├── MPM/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── elastic.py │ │ │ │ ├── elasto_plastic.py │ │ │ │ ├── liquid.py │ │ │ │ ├── muscle.py │ │ │ │ ├── sand.py │ │ │ │ └── snow.py │ │ │ ├── PBD/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── cloth.py │ │ │ │ ├── elastic.py │ │ │ │ ├── liquid.py │ │ │ │ └── particle.py │ │ │ ├── SF/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ └── smoke.py │ │ │ ├── SPH/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ └── liquid.py │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── hybrid.py │ │ │ ├── kinematic.py │ │ │ ├── rigid.py │ │ │ └── tool.py │ │ ├── mesh.py │ │ ├── scene.py │ │ ├── sensors/ │ │ │ ├── __init__.py │ │ │ ├── base_sensor.py │ │ │ ├── camera.py │ │ │ ├── contact_force.py │ │ │ ├── depth_camera.py │ │ │ ├── imu.py │ │ │ ├── kinematic_tactile.py │ │ │ ├── proximity.py │ │ │ ├── raycaster.py │ │ │ ├── sensor_manager.py │ │ │ └── temperature.py │ │ ├── simulator.py │ │ ├── solvers/ │ │ │ ├── __init__.py │ │ │ ├── base_solver.py │ │ │ ├── fem_solver.py │ │ │ ├── kinematic_solver.py │ │ │ ├── mpm_solver.py │ │ │ ├── pbd_solver.py │ │ │ ├── rigid/ │ │ │ │ ├── __init__.py │ │ │ │ ├── abd/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── accessor.py │ │ │ │ │ ├── diff.py │ │ │ │ │ ├── forward_dynamics.py │ │ │ │ │ ├── forward_kinematics.py │ │ │ │ │ ├── inverse_kinematics.py │ │ │ │ │ └── misc.py │ │ │ │ ├── collider/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── box_contact.py │ │ │ │ │ ├── broadphase.py │ │ │ │ │ ├── capsule_contact.py │ │ │ │ │ ├── collider.py │ │ │ │ │ ├── constants.py │ │ │ │ │ ├── contact.py │ │ │ │ │ ├── contact_island.py │ │ │ │ │ ├── diff_gjk.py │ │ │ │ │ ├── epa.py │ │ │ │ │ ├── gjk.py │ │ │ │ │ ├── gjk_support.py │ │ │ │ │ ├── gjk_utils.py │ │ │ │ │ ├── mpr.py │ │ │ │ │ ├── multi_contact.py │ │ │ │ │ ├── narrowphase.py │ │ │ │ │ ├── support_field.py │ │ │ │ │ └── utils.py │ │ │ │ ├── constraint/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── backward.py │ │ │ │ │ ├── noslip.py │ │ │ │ │ ├── solver.py │ │ │ │ │ ├── solver_breakdown.py │ │ │ │ │ └── solver_island.py │ │ │ │ └── rigid_solver.py │ │ │ ├── sf_solver.py │ │ │ ├── sph_solver.py │ │ │ └── tool_solver.py │ │ └── states/ │ │ ├── __init__.py │ │ ├── cache.py │ │ ├── entities.py │ │ └── solvers.py │ ├── ext/ │ │ ├── VolumeSampling │ │ ├── _trimesh_patch.py │ │ ├── isaacgym/ │ │ │ └── terrain_utils.py │ │ ├── pyrender/ │ │ │ ├── __init__.py │ │ │ ├── camera.py │ │ │ ├── constants.py │ │ │ ├── font.py │ │ │ ├── jit_render.py │ │ │ ├── light.py │ │ │ ├── material.py │ │ │ ├── mesh.py │ │ │ ├── node.py │ │ │ ├── numba_gl_wrapper.py │ │ │ ├── offscreen.py │ │ │ ├── platforms/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── egl.py │ │ │ │ ├── osmesa.py │ │ │ │ └── pyglet_platform.py │ │ │ ├── primitive.py │ │ │ ├── renderer.py │ │ │ ├── sampler.py │ │ │ ├── scene.py │ │ │ ├── shader_program.py │ │ │ ├── shaders/ │ │ │ │ ├── debug_quad.frag │ │ │ │ ├── debug_quad.vert │ │ │ │ ├── flat.frag │ │ │ │ ├── flat.vert │ │ │ │ ├── mesh.frag │ │ │ │ ├── mesh.vert │ │ │ │ ├── mesh_depth.frag │ │ │ │ ├── mesh_depth.vert │ │ │ │ ├── mesh_double_sided.geom │ │ │ │ ├── mesh_normal.frag │ │ │ │ ├── mesh_normal.vert │ │ │ │ ├── point_shadow.frag │ │ │ │ ├── point_shadow.geom │ │ │ │ ├── point_shadow.vert │ │ │ │ ├── segmentation.frag │ │ │ │ ├── segmentation.vert │ │ │ │ ├── segmentation_double_sided.geom │ │ │ │ ├── text.frag │ │ │ │ ├── text.vert │ │ │ │ ├── vertex_normals.frag │ │ │ │ ├── vertex_normals.geom │ │ │ │ ├── vertex_normals.vert │ │ │ │ └── vertex_normals_pc.geom │ │ │ ├── texture.py │ │ │ ├── trackball.py │ │ │ ├── utils.py │ │ │ ├── version.py │ │ │ └── viewer.py │ │ └── urdfpy/ │ │ ├── __init__.py │ │ ├── urdf.py │ │ ├── utils.py │ │ └── version.py │ ├── grad/ │ │ ├── __init__.py │ │ ├── creation_ops.py │ │ └── tensor.py │ ├── logging/ │ │ ├── __init__.py │ │ ├── logger.py │ │ └── time_elapser.py │ ├── options/ │ │ ├── __init__.py │ │ ├── misc.py │ │ ├── morphs.py │ │ ├── options.py │ │ ├── profiling.py │ │ ├── recorders.py │ │ ├── renderers.py │ │ ├── sensors/ │ │ │ ├── __init__.py │ │ │ ├── camera.py │ │ │ ├── options.py │ │ │ ├── raycaster.py │ │ │ └── tactile.py │ │ ├── solvers.py │ │ ├── surfaces.py │ │ ├── textures.py │ │ └── vis.py │ ├── recorders/ │ │ ├── __init__.py │ │ ├── base_recorder.py │ │ ├── file_writers.py │ │ ├── plotters.py │ │ └── recorder_manager.py │ ├── repr_base.py │ ├── styles.py │ ├── typing.py │ ├── utils/ │ │ ├── __init__.py │ │ ├── array_class.py │ │ ├── deprecated_module_wrapper.py │ │ ├── element.py │ │ ├── emoji.py │ │ ├── generate_env_sphere.py │ │ ├── geom.py │ │ ├── gltf.py │ │ ├── hybrid.py │ │ ├── image_exporter.py │ │ ├── linalg.py │ │ ├── mesh.py │ │ ├── misc.py │ │ ├── mjcf.py │ │ ├── particle.py │ │ ├── path_planning.py │ │ ├── raycast.py │ │ ├── raycast_qd.py │ │ ├── repr.py │ │ ├── ring_buffer.py │ │ ├── sdf.py │ │ ├── terrain.py │ │ ├── tools.py │ │ ├── uid.py │ │ ├── urdf.py │ │ ├── usd/ │ │ │ ├── UsdParserSpec.md │ │ │ ├── __init__.py │ │ │ ├── usd_bake.py │ │ │ ├── usd_context.py │ │ │ ├── usd_geometry.py │ │ │ ├── usd_material.py │ │ │ ├── usd_rigid_entity.py │ │ │ ├── usd_stage.py │ │ │ └── usd_utils.py │ │ └── warnings.py │ ├── version.py │ └── vis/ │ ├── __init__.py │ ├── batch_renderer.py │ ├── camera.py │ ├── keybindings.py │ ├── rasterizer.py │ ├── rasterizer_context.py │ ├── raytracer.py │ ├── viewer.py │ ├── viewer_plugins/ │ │ ├── __init__.py │ │ ├── plugins/ │ │ │ ├── __init__.py │ │ │ ├── default_controls.py │ │ │ └── mouse_interaction.py │ │ └── viewer_plugin.py │ └── visualizer.py ├── pyproject.toml └── tests/ ├── __init__.py ├── conftest.py ├── monitor_test_mem.py ├── run_benchmarks.py ├── test_bvh.py ├── test_deformable_physics.py ├── test_examples.py ├── test_fem.py ├── test_grad.py ├── test_hybrid.py ├── test_integration.py ├── test_ipc.py ├── test_kinematic.py ├── test_mesh.py ├── test_misc.py ├── test_pbd.py ├── test_quadrants.py ├── test_recorders.py ├── test_render.py ├── test_rigid_benchmarks.py ├── test_rigid_physics.py ├── test_rigid_physics_analytical_vs_gjk.py ├── test_sensor_camera.py ├── test_sensors.py ├── test_sph.py ├── test_usd.py ├── test_utils.py ├── test_viewer.py ├── upload_benchmarks_table_to_wandb.py └── utils.py