mani_skill.utils.structs.Articulation#

class mani_skill.utils.structs.Articulation(_objs: List[T], _scene_idxs: torch.Tensor, scene: ManiSkillScene, links: List[Link], links_map: Dict[str, Link], root: Link, joints: List[ArticulationJoint], joints_map: Dict[str, ArticulationJoint], active_joints: List[ArticulationJoint], active_joints_map: Dict[str, ArticulationJoint], name: str = None, initial_pose: Pose = None, merged: bool = False, _cached_joint_target_indices: Dict[int, torch.Tensor] = <factory>, _net_contact_force_queries: Dict[Tuple, physx.PhysxGpuContactBodyImpulseQuery] = <factory>)[source]#

Wrapper around physx.PhysxArticulation objects

Methods

__init__(_objs, _scene_idxs, scene, links, ...)

compute_passive_force(*args, **kwargs)

create_from_physx_articulations(...[, ...])

Create a managed articulation object given a list of physx articulations.

create_pinocchio_model()

find_joint_by_name(arg0)

find_link_by_name(arg0)

get_active_joints()

get_collision_meshes([to_world_frame, ...])

Returns the collision mesh of each managed articulation object.

get_dof()

get_drive_targets()

get_drive_velocities()

get_first_collision_mesh([to_world_frame])

Returns the collision mesh of the first managed articulation object.

get_first_visual_mesh([to_world_frame])

Returns the visual mesh of the first managed articulation object.

get_joint_target_indices(joint_indices)

get_joints()

get_link_incoming_joint_forces()

Returns the incoming joint forces, referred to as spatial forces, for each link, with shape (N, M, 6), where N is the number of environments and M is the number of links.

get_links()

get_name()

get_net_contact_forces(link_names)

Get net contact forces for several links together.

get_net_contact_impulses(link_names)

Get net contact impulses for several links together.

get_pose()

get_qf()

get_qlimits()

get_qpos()

get_qvel()

get_root()

get_root_angular_velocity()

get_root_linear_velocity()

get_root_pose()

get_state()

get_visual_meshes([to_world_frame, first_only])

Returns the visual mesh of each managed articulation object.

merge(articulations[, name, merge_links])

Merge a list of articulations into a single articulation for easy access of data across multiple possibly different articulations.

set_joint_drive_targets(targets[, joints, ...])

Set drive targets on active joints.

set_joint_drive_velocity_targets(targets[, ...])

Set drive velocity targets on active joints.

set_pose(arg0)

set_qf(qf)

set_qpos(arg1)

set_qvel(qvel)

set_root_angular_velocity(velocity)

set_root_linear_velocity(velocity)

set_root_pose(pose)

set_state(state[, env_idx])

Attributes

device

dof

drive_targets

The current drive targets of the active joints.

drive_velocities

The current drive velocity targets of the active joints.

fixed_root_link

Returns a boolean tensor of whether the root link is fixed for each parallel articulation

initial_pose

The initial pose of this articulation

max_dof

the max DOF out of all managed objects.

merged

whether or not this articulation object is a merged articulation where it is managing many articulations with different dofs.

name

Name of this articulation

pose

px

The physx system objects managed by this dataclass are working on

qacc

qf

qlimits

qpos

qvel

root_angular_velocity

root_linear_velocity

root_pose

links

List of Link objects

links_map

Maps link name to the Link object

root

The root Link object

joints

List of Joint objects

joints_map

Maps joint name to the Joint object

active_joints

List of active Joint objects, referencing elements in self.joints

active_joints_map

Maps active joint name to the Joint object, referencing elements in self.joints

scene

The ManiSkillScene object that manages the sub-scenes this dataclasses's objects are in