SurfaceGripperInterface#

Fully qualified name: isaacsim::robot::surface_gripper::SurfaceGripperInterface

struct SurfaceGripperInterface#

Interface for controlling surface gripper functionality.

Provides function pointers for controlling surface grippers in the simulation. Surface grippers can attach to and manipulate objects through surface contact rather than traditional mechanical gripping.

All functions operate on grippers identified by their USD prim path.

Public Members

int (*getGripperStatus)(const char *primPath)#

Gets the current status of a surface gripper.

Returns the status code indicating whether the gripper is open, closed, or closing.

Param primPath:

[in] USD path of the gripper to query

Return:

Status code: 0 for Open, 1 for Closed, 2 for Closing, -1 if not found

bool (*openGripper)(const char *primPath)#

Opens/releases a surface gripper.

Commands the specified gripper to release any held objects and return to the open state.

Param primPath:

[in] USD path of the gripper to open

Return:

True if the command was successful, false otherwise

bool (*closeGripper)(const char *primPath)#

Closes/activates a surface gripper.

Commands the specified gripper to attempt to grip objects in contact with its surface.

Param primPath:

[in] USD path of the gripper to close

Return:

True if the command was successful, false otherwise

bool (*setGripperAction)(const char *primPath, const float action)#

Sets a specific gripper action value.

Sets the gripper action based on a continuous value. Values less than -0.3 will open the gripper, values greater than 0.3 will close the gripper, and values in between have no effect.

Param primPath:

[in] USD path of the gripper to control

Param action:

[in] Action value, typically in range [-1.0, 1.0]

Return:

True if the command was successful, false otherwise

std::vector<std::string> (*getGrippedObjects)(const char *primPath)#

Gets the list of objects currently gripped.

Returns the USD paths of all objects that are currently held by the specified gripper.

Param primPath:

[in] USD path of the gripper to query

Return:

Vector of USD paths for all gripped objects, empty vector if none or gripper not found

bool (*setWriteToUsd)(const bool writeToUsd)#

Sets whether to write gripper state to USD.

Controls whether gripper state changes are persisted to the USD stage or maintained only in memory for improved performance.

Param writeToUsd:

[in] True to write state to USD, false to keep in memory only

Return:

True if the setting was applied successfully, false otherwise

std::vector<int> (*getGripperStatusBatch)(const char *const *primPaths, size_t count)#

Gets statuses for multiple surface grippers in parallel.

Batch operation that queries the status of multiple grippers efficiently by processing them in parallel.

Param primPaths:

[in] Array of USD paths for grippers to query

Param count:

[in] Number of grippers in the array

Return:

Vector of status codes corresponding to each gripper path

std::vector<bool> (*openGripperBatch)(const char *const *primPaths, size_t count)#

Opens multiple surface grippers in parallel.

Batch operation that opens multiple grippers efficiently by processing them in parallel.

Param primPaths:

[in] Array of USD paths for grippers to open

Param count:

[in] Number of grippers in the array

Return:

Vector of success flags corresponding to each gripper path

std::vector<bool> (*closeGripperBatch)(const char *const *primPaths, size_t count)#

Closes multiple surface grippers in parallel.

Batch operation that closes multiple grippers efficiently by processing them in parallel.

Param primPaths:

[in] Array of USD paths for grippers to close

Param count:

[in] Number of grippers in the array

Return:

Vector of success flags corresponding to each gripper path

std::vector<bool> (*setGripperActionBatch)(const char *const *primPaths, const float *actions, size_t count)#

Sets actions for multiple surface grippers in parallel.

Batch operation that sets gripper actions for multiple grippers efficiently by processing them in parallel.

Param primPaths:

[in] Array of USD paths for grippers to control

Param actions:

[in] Array of action values corresponding to each gripper

Param count:

[in] Number of grippers in the arrays

Return:

Vector of success flags corresponding to each gripper path

std::vector<std::vector<std::string>> (*getGrippedObjectsBatch)(const char *const *primPaths, size_t count)#

Gets gripped objects for multiple surface grippers in parallel.

Batch operation that retrieves the list of gripped objects for multiple grippers efficiently by processing them in parallel.

Param primPaths:

[in] Array of USD paths for grippers to query

Param count:

[in] Number of grippers in the array

Return:

Vector of vectors containing USD paths of gripped objects for each gripper