rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger#
1. Module Contents#
1.1. Classes#
Dimensions of the tri-finger robot. |
|
Fields for a cuboidal object. |
|
1.2. Functions#
Defines logistic kernel function to bound input to [-0.25, 0) |
|
Returns sampled uniform positions in circle (https://stackoverflow.com/a/50746409) |
|
Returns sampled height of the goal object. |
|
Returns identity rotation transform. |
|
Returns sampled rotation in 3D as quaternion. Ref: https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.random.html |
|
Generates random quaternions within max_angle of base Ref: https://math.stackexchange.com/a/3448434 |
|
Samples a random angular velocity with standard deviation magnitude_stdev |
|
Returns sampled rotation around z-axis. |
1.3. Data#
1.4. API#
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.project_dir = None#
- class rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.TrifingerDimensions[source]#
Bases:
enum.EnumDimensions of the tri-finger robot.
Note: While it may not seem necessary for tri-finger robot since it is fixed base, for floating base systems having this dimensions class is useful.
- PoseDim = (7,)#
- VelocityDim = 6#
- StateDim = 13#
- WrenchDim = 6#
- NumFingers = 3#
- JointPositionDim = 9#
- JointVelocityDim = 9#
- JointTorqueDim = 9#
- GeneralizedCoordinatesDim = None#
- GeneralizedVelocityDim = None#
- ObjectPoseDim = 7#
- ObjectVelocityDim = 6#
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.ARENA_RADIUS = 0.195#
- class rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.CuboidalObject(size: Union[float, Tuple[float, float, float]])[source]#
Fields for a cuboidal object.
- @note Motivation for this class is that if domain randomization is performed over the
size of the cuboid, then its attributes are automatically updated as well.
Initialization
Initialize the cuboidal object.
- Args:
- size: The size of the object along x, y, z in meters. If a single float is provided, then it is assumed that
object is a cube.
- radius_3d: float = None#
- max_com_distance_to_center: float = None#
- min_height: float = None#
- max_height = 0.1#
- NumKeypoints = 8#
- ObjectPositionDim = 3#
- KeypointsCoordsDim = None#
- property size: Tuple[float, float, float]#
Returns the dimensions of the cuboid object (x, y, z) in meters.
- class rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.Trifinger(cfg, rl_device, sim_device, graphics_device_id, headless, virtual_screen_capture, force_render)[source]#
Bases:
rofunc.learning.RofuncRL.tasks.isaacgymenv.base.vec_task.VecTask- action_dim = None#
- property env_steps_count: int#
Returns the total number of environment steps aggregated across parallel environments.
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.lgsk_kernel(x: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, scale: float = 50.0, eps: float = 2) rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor#
Defines logistic kernel function to bound input to [-0.25, 0)
Ref: https://arxiv.org/abs/1901.08652 (page 15)
- Args:
x: Input tensor. scale: Scaling of the kernel function (controls how wide the ‘bell’ shape is’) eps: Controls how ‘tall’ the ‘bell’ shape is.
- Returns:
Output tensor computed using kernel.
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.gen_keypoints(pose: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, num_keypoints: int = 8, size: Tuple[float, float, float] = (0.065, 0.065, 0.065))#
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.compute_trifinger_reward(obs_buf: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, reset_buf: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, progress_buf: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, episode_length: int, dt: float, finger_move_penalty_weight: float, finger_reach_object_weight: float, object_dist_weight: float, object_rot_weight: float, env_steps_count: int, object_goal_poses_buf: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, object_state: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, last_object_state: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, fingertip_state: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, last_fingertip_state: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, use_keypoints: bool) Tuple[rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, Dict[str, rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor]]#
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.compute_trifinger_observations_states(asymmetric_obs: bool, dof_position: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, dof_velocity: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, object_state: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, object_goal_poses: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, actions: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, fingertip_state: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, joint_torques: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, tip_wrenches: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor)#
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.random_xy(num: int, max_com_distance_to_center: float, device: str) Tuple[rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor]#
Returns sampled uniform positions in circle (https://stackoverflow.com/a/50746409)
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.random_z(num: int, min_height: float, max_height: float, device: str) rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor#
Returns sampled height of the goal object.
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.default_orientation(num: int, device: str) rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor#
Returns identity rotation transform.
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.random_orientation(num: int, device: str) rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor#
Returns sampled rotation in 3D as quaternion. Ref: https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.transform.Rotation.random.html
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.random_orientation_within_angle(num: int, device: str, base: rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor, max_angle: float)#
Generates random quaternions within max_angle of base Ref: https://math.stackexchange.com/a/3448434
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.random_angular_vel(num: int, device: str, magnitude_stdev: float) rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor#
Samples a random angular velocity with standard deviation magnitude_stdev
- rofunc.learning.RofuncRL.tasks.isaacgymenv.trifinger.random_yaw_orientation(num: int, device: str) rofunc.learning.RofuncRL.tasks.utils.torch_jit_utils.torch.Tensor#
Returns sampled rotation around z-axis.