Constants & Enums#
Genesis defines several enums and constants for physics simulation configuration.
Backend Selection#
import genesis as gs
# Available backends
gs.backend.cpu # CPU backend
gs.backend.gpu # Auto-select GPU (CUDA on Linux, Metal on MacOS)
gs.backend.cuda # NVIDIA CUDA
gs.backend.metal # Apple Metal
gs.backend.amdgpu # AMD ROCm (HIP)
# Usage
gs.init(backend=gs.gpu)
Joint Types#
# Joint types for articulated bodies
gs.JOINT_TYPE.FIXED # Fixed/welded joint (0 DOF)
gs.JOINT_TYPE.REVOLUTE # Revolute/hinge joint (1 DOF)
gs.JOINT_TYPE.PRISMATIC # Prismatic/slider joint (1 DOF)
gs.JOINT_TYPE.SPHERICAL # Ball joint (3 DOF)
gs.JOINT_TYPE.FREE # Free joint (6 DOF)
Geometry Types#
# Geometry types for collision shapes
gs.GEOM_TYPE.PLANE # Infinite plane
gs.GEOM_TYPE.SPHERE # Sphere
gs.GEOM_TYPE.ELLIPSOID # Ellipsoid
gs.GEOM_TYPE.CYLINDER # Cylinder
gs.GEOM_TYPE.CAPSULE # Capsule
gs.GEOM_TYPE.BOX # Box
gs.GEOM_TYPE.MESH # Mesh
gs.GEOM_TYPE.TERRAIN # Heightfield terrain
Control Modes#
# Control modes for joints
gs.CTRL_MODE.FORCE # Force/torque control
gs.CTRL_MODE.VELOCITY # Velocity control
gs.CTRL_MODE.POSITION # Position control
Integrators#
# Rigid body integrators
gs.integrator.Euler # Explicit Euler
gs.integrator.implicitfast # Implicit fast
gs.integrator.approximate_implicitfast # Approximate implicit
# Usage
rigid_options = gs.options.RigidOptions(
integrator=gs.integrator.implicitfast,
)
Constraint Solvers#
# Constraint solving methods
gs.constraint_solver.CG # Conjugate Gradient
gs.constraint_solver.Newton # Newton's method
# Usage
rigid_options = gs.options.RigidOptions(
constraint_solver=gs.constraint_solver.Newton,
)
Broadphase Traversal#
# Broadphase collision detection methods
gs.broadphase_traversal.SAP # Sweep and Prune
gs.broadphase_traversal.ALL_VS_ALL # Brute-force all pairs
Parallelization Level#
# Multi-environment parallelization levels
gs.PARA_LEVEL.NEVER # No parallelization
gs.PARA_LEVEL.PARTIAL # Partial parallelization
gs.PARA_LEVEL.ALL # Full parallelization
Equality Constraints#
# Equality constraint types (for MJCF)
gs.EQUALITY_TYPE.CONNECT # Connect constraint
gs.EQUALITY_TYPE.WELD # Weld constraint
gs.EQUALITY_TYPE.JOINT # Joint equality
Entity State#
gs.ACTIVE # Entity is active (1)
gs.INACTIVE # Entity is inactive (0)
See Also#
Device & Platform Utilities - Device and platform utilities
Options - Configuration options