habitat.articulated_agents.robots.FetchRobotNoWheels class

Methods

def _update_motor_settings_cache(self)
Updates the JointMotorSettings cache for cheaper future updates
def _validate_arm_ctrl_input(self, ctrl: typing.List[float])
Raises an exception if the control input is NaN or does not match the joint dimensions.
def _validate_ctrl_input(self, ctrl: typing.List[float], joints: typing.List[int])
Raises an exception if the control input is NaN or does not match the joint dimensions.
def calculate_ee_forward_kinematics(self, joint_state: numpy.ndarray, ee_index: int = 0) -> numpy.ndarray
Gets the end-effector position for the given joint state.
def calculate_ee_inverse_kinematics(self, ee_target_position: numpy.ndarray, ee_index: int = 0) -> numpy.ndarray
Gets the joint states necessary to achieve the desired end-effector configuration.
def clip_ee_to_workspace(self, pos: numpy.ndarray, ee_index: int = 0) -> numpy.ndarray
Clips a 3D end-effector position within region the robot can reach.
def close_gripper(self) -> None
Set gripper to the close state
def ee_link_id(self, ee_index: int = 0) -> int
Gets the Habitat Sim link id of the end-effector.
def ee_local_offset(self, ee_index: int = 0) -> _magnum.Vector3
Gets the relative offset of the end-effector center from the end-effector link.
def ee_transform(self, ee_index: int = 0) -> _magnum.Matrix4
Gets the transformation of the end-effector location. This is offset from the end-effector link location.
Get a string listing all robot link and joint names for debugging purposes.
def get_robot_sim_id(self) -> int
Get the unique id for referencing the robot.
def open_gripper(self) -> None
Set gripper to the open state
def reconfigure(self) -> None
def reset(self) -> None
def set_fixed_arm_joint_pos(self, fix_arm_joint_pos)
Will fix the arm to a desired position at every internal timestep. Can be used for kinematic arm control.
def set_gripper_target_state(self, gripper_state: float) -> None
Set the gripper motors to a desired symmetric state of the gripper [0,1] -> [open, closed]
def update(self)
def update_base(self, rigid_state, target_rigid_state)

Special methods

def __init__(self, urdf_path, sim, limit_robo_joints = True, fixed_base = True)

Properties

arm_joint_limits: typing.Tuple[numpy.ndarray, numpy.ndarray] get
Get the arm joint limits in radians
arm_joint_pos get set
Get the current arm joint positions.
arm_motor_forces: numpy.ndarray get set
Get the current torques on the arm joint motors
arm_motor_pos get set
Get the current target of the arm joints motors.
arm_velocity: numpy.ndarray get
Get the velocity of the arm joints.
base_pos get set
Get the robot base ground position
base_rot: float get set
Returns scalar rotation angle of the agent around the Y axis. Within range (-pi,pi) consistency with setter is tested. Outside that range, an equivalent but distinct rotation angle may be returned (e.g. 2pi == -2pi == 0).
base_transformation get
gripper_joint_pos get set
Get the current gripper joint positions.
is_gripper_closed: bool get
True if all gripper joints are within eps of the closed state.
is_gripper_open: bool get
True if all gripper joints are within eps of the open state.
leg_joint_pos get set
Get the current arm joint positions.
leg_motor_pos get set
Get the current target of the leg joint motors.

Method documentation

def habitat.articulated_agents.robots.FetchRobotNoWheels.ee_local_offset(self, ee_index: int = 0) -> _magnum.Vector3

Gets the relative offset of the end-effector center from the end-effector link.

Parameters
ee_index the end effector index for which we want the link id