fastsim.unisim
Backend-agnostic scene and entity API. SceneManager provides access to all spawned robots, objects, and sensors regardless of the underlying simulator backend. Abstract base classes define the lifecycle contract for every entity type.
UniSim
抽象类6 个方法Abstract base class for all simulator backends. Subclass to integrate a new physics engine.
UniSim defines the minimal interface that every backend must implement: initialization, scene setup, stepping, and reset. The framework calls these methods; users typically do not interact with UniSim directly.
Spawnable
抽象类6 个方法Abstract base for all scene entities. Defines the spawn/remove/update lifecycle.
Every entity that can be placed in a scene (robots, objects, sensors, lights, bases) extends Spawnable. The framework calls spawn() once at scene setup, update_data() every tick, and remove() on cleanup.
Articulation
抽象类9 个方法Abstract articulated body with joint state read/write and drive targets.
Articulation extends Spawnable with a joint-level API used by both robots and articulated objects. Position, velocity, and effort targets map to the underlying physics drive.
Robot
抽象类6 个方法Abstract robot with end-effector, IK, and motion planning support.
Robot extends Articulation with EE-level operations and planner integration. Concrete robot classes (GeneralRobot, SingleGripperArmRobot, …) inherit from Robot.
get_ee_jacobianmethodCompute the geometric Jacobian at the end-effector for the current configuration.
继承自Articulation9
write_data_to_simmethodFlush buffered drive commands to the physics backend.
get_joint_namesmethodReturn the ordered list of joint names for this articulation.
get_body_namesmethodReturn the ordered list of rigid body (link) names.
is_joint_stoppedmethodReturn True when all joints have come to rest (velocity below threshold).
GeneralRobot
0 个方法General-purpose robot with no gripper or arm specialization. Inherits the full Robot API.
继承自Robot6
get_plannermethodReturn the motion planner instance attached to this robot.
get_ee_posemethodReturn the current world-frame pose of the end-effector.
get_ee_link_namemethodReturn the name of the link designated as the end-effector.
get_ee_jacobianmethodCompute the geometric Jacobian at the end-effector for the current configuration.
SingleGripperArmRobot
6 个方法Arm robot with a single parallel-jaw or suction gripper.
Adds gripper open/close commands and convenience arm-specific helpers on top of the base Robot API.
set_arm_target_positionmethodSet joint position targets for the arm joints only (excludes gripper).
继承自Robot6
get_plannermethodReturn the motion planner instance attached to this robot.
get_ee_posemethodReturn the current world-frame pose of the end-effector.
get_ee_link_namemethodReturn the name of the link designated as the end-effector.
get_ee_jacobianmethodCompute the geometric Jacobian at the end-effector for the current configuration.
Object
抽象类2 个方法Abstract scene object with position and scale. Parent of RigidObject, ArticulatedObject, and SoftObject.
RigidObject
2 个方法Physics-enabled rigid body. Responds to gravity, contacts, and impulses.
ArticulatedObject
0 个方法An articulated scene object (e.g. a drawer, door) that is not a robot.
Inherits joint control from Articulation and object positioning from Object. Useful for interactive props with multiple moving parts.
继承自Articulation9
write_data_to_simmethodFlush buffered drive commands to the physics backend.
get_joint_namesmethodReturn the ordered list of joint names for this articulation.
get_body_namesmethodReturn the ordered list of rigid body (link) names.
is_joint_stoppedmethodReturn True when all joints have come to rest (velocity below threshold).
SoftObject
抽象类10 个方法Abstract deformable / soft-body object with particle-level state access.
Provides APIs for querying and controlling particle positions, velocities, and deformation gradients. Concrete implementations (e.g. IsaacLabSoftObject) map these to the simulator's soft-body solver. Supports cloth, volumetric, and inflatable body types.
get_particle_positionsmethodReturn all particle positions as an (N, 3) array in world space.
get_particle_velocitiesmethodReturn all particle velocities as an (N, 3) array in world space.
set_particle_positionsmethodOverwrite particle positions with an (N, 3) array in world space.
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
positions | np.ndarray | — | New particle positions, shape (N, 3) |
set_particle_velocitiesmethodOverwrite particle velocities with an (N, 3) array in world space.
| 参数名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
velocities | np.ndarray | — | New particle velocities, shape (N, 3) |
get_deformation_gradientmethodReturn per-element deformation gradients as an (M, 3, 3) array.
M is the number of finite-element cells (tetrahedra, hexahedra, or triangles for cloth). Returns an empty array when the simulator does not expose element-level data.
Sensor
抽象类1 个方法Abstract sensor entity. All sensors extend this class.
继承自Spawnable6
Camera
3 个方法RGB/depth camera sensor with configurable intrinsics.
get_rgbmethodReturn the latest RGB image as a uint8 array (H×W×3).
get_depthmethodReturn the latest depth image in metres (H×W).
get_intrinsicsmethodReturn the camera intrinsic matrix K (3×3).
Base
抽象类0 个方法Abstract scene base / environment entity (ground, stage, arena).
继承自Spawnable6
EmptyBase
0 个方法Empty base with no geometry or physics — useful for tabletop scenes where the ground is provided externally.
UsdBase
1 个方法Loads a USD stage file as the scene environment.
GroundPlaneBase
0 个方法Infinite ground plane with collision physics — the default base for most manipulation tasks.
Light
抽象类1 个方法Abstract light entity. All light types extend this class.
继承自Spawnable6
GeneralLight
1 个方法General-purpose light supporting sphere, rectangle, and distant light types.
RobotFactory
静态类1 个方法Static factory for creating Robot instances from name and config.
ObjectFactory
静态类1 个方法Static factory for creating Object instances from name and config.
SensorFactory
静态类1 个方法Static factory for creating Sensor instances from name and config.
BaseFactory
静态类1 个方法Static factory for creating Base instances from name and config.
LightFactory
静态类1 个方法Static factory for creating Light instances from name and config.
SceneManager
静态类8 个方法Static registry and factory for all scene entities (robots, objects, sensors, spawnables).
SceneManager is the single source of truth for every entity active in the simulation. Query entities by name, bulk-retrieve all entities of a kind, or access low-level Spawnable handles for advanced use.