smarts.core.utils.bullet module

class smarts.core.utils.bullet.BulletBoxShape(bbox, bullet_client)[source]

A bullet box.

reset_pose(pose: Pose)[source]

Resets the box to the given pose. Only call this before it needs to do anything physics-wise

teardown()[source]

Cleans up bullet resource handles.

class smarts.core.utils.bullet.BulletPositionConstraint(bullet_shape, bullet_client)[source]

A “half”-spring constraint that pulls the attached shape to a pose. This allows motion through forces rather than disrupting the simulation by moving the shape without forces.

move_to(pose: Pose)[source]

Moves the constraint to the given pose. The attached shape will attempt to follow.

teardown()[source]

Clean up unmanaged resources.

class smarts.core.utils.bullet.ContactPoint(bullet_id: str, contact_point: Tuple[float, float, float], contact_point_other: Tuple[float, float, float])[source]

Contact result between a shape and another shape.

bullet_id: str

The id of the other shape.

contact_point: Tuple[float, float, float]

The contact point of the query shape.

contact_point_other: Tuple[float, float, float]

The contact point of the collided shape.

class smarts.core.utils.bullet.JointInfo(index: int, type_: int, lower_limit: float, upper_limit: float, max_force: float, max_velocity: float)[source]

Details about a bullet joint.

index: int

Alias for field number 0

lower_limit: float

Alias for field number 2

max_force: float

Alias for field number 4

max_velocity: float

Alias for field number 5

type_: int

Alias for field number 1

upper_limit: float

Alias for field number 3

class smarts.core.utils.bullet.JointState(position: Tuple[float, ...], velocity: Tuple[float, ...])[source]

Physics state information about a joint.

position: Tuple[float, ...]

Alias for field number 0

velocity: Tuple[float, ...]

Alias for field number 1