Skip to content

PCS Warp Integration API

Integration API

SoRoMoX users should call PCS or PlanarPCS system methods. The symbols on this page are intended for packages that reuse PCS kinematics, dynamics, or actuation pipelines with preallocated Warp buffers.

Linear-threadlike actuation

PCSThreadlikeOperands.from_model(robot) is the public, ordered operand bundle for built-in ThreadlikeRouting.linear actuator groups. It retains precomputed physical quadrature coordinates and weights, reference strains, active-strain indices and scales, segment starts and lengths, routing intercepts and slopes, inclusive path spans, and signed/physical coordinate scales. PCSThreadlikeShapes specifies caller-owned matrix output (E, D, A) and fused-force output (E, D).

Use one of the planar or spatial launchers below, matching the model dimension:

  1. launch_*_threadlike_actuation_matrix(...) integrates every segment/path, writes inactive spans as zero, and projects through the active-strain map.
  2. launch_*_threadlike_actuation_force(...) applies coordinate_scale[path] * controls[e, path] inside path reduction and writes every active coordinate without materializing an actuation matrix.

All input and output floating-point arrays must be FP64; routing-span and active-index arrays are INT32. The caller converts and retains the operand arrays as Warp views and allocates the outputs before launch. The launchers perform no allocation, JAX call, synchronization, or host/device transfer. Each operation is a single write-complete CUDA-graph-capturable launch. Segment, environment, path, active-DOF, and quadrature counts are runtime-shaped.

soromox.execution.warp.pcs

Public Warp-native PlanarPCS and PCS kinematics and dynamics building blocks.

The package exposes a shared runtime operand and workspace-shape contract plus dimension-specific raw kernels and direct launch functions. All launch functions accept caller-owned warp.array inputs and outputs; they do not allocate buffers or invoke JAX, which allows an external integrator to compose them into a larger CUDA graph.

Ordinary Soromox users should call the system methods. This lower-level surface is intended for integration packages that need PlanarPCS or PCS kinematics and dynamics inside another Warp-native simulation loop.

__getattr__

__getattr__(name: str) -> Any

Load a public PCS Warp symbol without making Warp a core dependency.

Parameters:

Name Type Description Default
name str

Attribute requested from this package.

required

Returns:

Type Description
Any

The public operand type, kernel, or launch function named by name.

Raises:

Type Description
AttributeError

If name is not part of the public PCS Warp API.

ImportError

If a kernel is requested without warp-lang installed.

__dir__

__dir__() -> list[str]

Include lazily exported Warp symbols in interactive discovery.

Returns:

Type Description
list[str]

Sorted module globals and public lazy exports.