class
ManipulatorGeneric manipulator interface defines standard API functions. Robot with a controllable arm.
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 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.
- def get_link_and_joint_names(self) -> str
- 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
- Instantiates the robot the scene. Loads the URDF, sets initial state of parameters, joints, motors, etc…
- def reset(self) -> None
- Reset the joints on the existing robot. NOTE: only arm and gripper joint motors (not gains) are reset by default, derived class should handle any other changes.
- 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) -> None
- Updates the camera transformations and performs necessary checks on joint limits and sleep states.
Special methods
- def __init__(self, params, urdf_path: str, sim: habitat_sim.simulator.Simulator, limit_robo_joints: bool = True, fixed_based: bool = True, sim_obj = None, maintain_link_order = False, auto_update_sensor_transform = True, **kwargs)
- Constructor
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.
- 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.
Method documentation
def habitat. articulated_agents. Manipulator. ee_link_id(self,
ee_index: int = 0) -> int
Gets the Habitat Sim link id of the end-effector.
Parameters | |
---|---|
ee_index | the end effector index for which we want the link id |
def habitat. articulated_agents. Manipulator. 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 |