robosuite.models.robots.manipulators package

Contents

robosuite.models.robots.manipulators package#

Submodules#

robosuite.models.robots.manipulators.baxter_robot module#

class robosuite.models.robots.manipulators.baxter_robot.Baxter(idn=0)#

Bases: ManipulatorModel

Baxter is a hunky bimanual robot designed by Rethink Robotics.

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right', 'left']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Since this is bimanual robot, returns dict with ‘right’, ‘left’ keywords corresponding to their respective values

Returns:

Dictionary containing arm-specific default controller config names

Return type:

dict

property default_gripper#

Since this is bimanual robot, returns dict with ‘right’, ‘left’ keywords corresponding to their respective values

Returns:

Dictionary containing arm-specific gripper names

Return type:

dict

property init_qpos#

Since this is bimanual robot, returns [right, left] array corresponding to respective values

Note that this is a pose such that the arms are half extended

Returns:

default initial qpos for the right, left arms

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

robosuite.models.robots.manipulators.iiwa_robot module#

class robosuite.models.robots.manipulators.iiwa_robot.IIWA(idn=0)#

Bases: ManipulatorModel

IIWA is a bright and spunky robot created by KUKA

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

robosuite.models.robots.manipulators.jaco_robot module#

class robosuite.models.robots.manipulators.jaco_robot.Jaco(idn=0)#

Bases: ManipulatorModel

Jaco is a kind and assistive robot created by Kinova

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

robosuite.models.robots.manipulators.kinova3_robot module#

class robosuite.models.robots.manipulators.kinova3_robot.Kinova3(idn=0)#

Bases: ManipulatorModel

The Gen3 robot is the sparkly newest addition to the Kinova line

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

robosuite.models.robots.manipulators.manipulator_model module#

class robosuite.models.robots.manipulators.manipulator_model.ManipulatorModel(fname: str, idn=0)#

Bases: RobotModel

Base class for all manipulator models (robot arm(s) with gripper(s)).

Parameters:
  • fname (str) – Path to relevant xml file from which to create this robot instance

  • idn (int or str) – Number or some other unique identification string for this robot instance

add_gripper(gripper: GripperModel, arm_name: str | None = None)#

Mounts @gripper to arm.

Throws error if robot already has a gripper or gripper type is incorrect.

Parameters:
  • gripper (GripperModel) – gripper MJCF model

  • arm_name (str) – name of arm mount – defaults add to all self.eef_name if not specified

Raises:

ValueError – [Multiple grippers]

property arm_actuators#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no actuators; i.e.: empty dict)

Return type:

list

property arm_joints#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no joints; i.e.: empty dict)

Return type:

list

property arm_type: str#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

property base_actuators#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no actuators; i.e.: empty dict)

Return type:

list

property base_joints#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no joints; i.e.: empty dict)

Return type:

list

property base_xpos_offset: Dict[str, tuple | dict]#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper: Dict[str, str]#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property eef_name: Dict[str, str]#

Returns: dict of str: Prefix-adjusted eef name for this robot. If bimanual robot, returns {“left”, “right”}

keyword-mapped eef names

property gripper_mount_pos_offset#

Define the custom offset of the gripper that is different from the one defined in xml. The offset will applied to the first body in the gripper definition file.

Returns:

Empty dictionary unless specified.

property gripper_mount_quat_offset#

Define the custom orientation offset of the gripper with respect to the arm. The offset will applied to the first body in the gripper definition file. Return empty dict by default unless specified. The quaternion is in the (w, x, y, z) format to match the mjcf format.

property head_actuators#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no actuators; i.e.: empty dict)

Return type:

list

property head_joints#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no joints; i.e.: empty dict)

Return type:

list

property init_base_qpos#
property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property init_torso_qpos#
property legs_actuators#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no actuators; i.e.: empty dict)

Return type:

list

property legs_joints#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no joints; i.e.: empty dict)

Return type:

list

property models: List[GripperModel | RobotModel]#

Returns a list of all m(sub-)models owned by this robot model. By default, this includes the gripper model, if specified

Returns:

models owned by this object

Return type:

list

property top_offset: array#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

property torso_actuators#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no actuators; i.e.: empty dict)

Return type:

list

property torso_joints#

No need for name correcting because the prefix has been added during creation.

Returns:

(Default is no joints; i.e.: empty dict)

Return type:

list

update_actuators()#

internal function to update actuator lists

update_joints()#

internal function to update joint lists

robosuite.models.robots.manipulators.panda_robot module#

class robosuite.models.robots.manipulators.panda_robot.Panda(idn=0)#

Bases: ManipulatorModel

Panda is a sensitive single-arm robot designed by Franka.

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

robosuite.models.robots.manipulators.sawyer_robot module#

class robosuite.models.robots.manipulators.sawyer_robot.Sawyer(idn=0)#

Bases: ManipulatorModel

Sawyer is a witty single-arm robot designed by Rethink Robotics.

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

robosuite.models.robots.manipulators.ur5e_robot module#

class robosuite.models.robots.manipulators.ur5e_robot.UR5e(idn=0)#

Bases: ManipulatorModel

UR5e is a sleek and elegant new robot created by Universal Robots

Parameters:

idn (int or str) – Number or some other unique identification string for this robot instance

property arm_type#

Type of robot arm. Should be either “bimanual” or “single” (or something else if it gets added in the future)

Returns:

Type of robot

Return type:

str

arms = ['right']#
property base_xpos_offset#

Defines the dict of various (x,y,z) tuple offsets relative to specific arenas placed at (0,0,0) Assumes robot is facing forwards (in the +x direction) when determining offset. Should have entries for each manipulator arena case; i.e.: “bins”, “empty”, and “table”)

Returns:

‘bins’:

(x,y,z) robot offset if placed in bins arena

’empty’:

(x,y,z) robot offset if placed in the empty arena

’table’:

lambda function that takes in table_length and returns corresponding (x,y,z) offset if placed in the table arena

Return type:

dict

property default_base#

Defines the default mount type for this robot that gets added to root body (base)

Returns:

Default base name to add to this robot

Return type:

str

property default_controller_config#

Defines the name of default controller config file in the controllers/config directory for this robot.

Returns:

Dictionary containing arm-specific default controller config names

e.g.: {“right”: “default_panda”, “left”: “default_panda”}

Return type:

dict

property default_gripper#

Defines the default gripper type for this robot that gets added to end effector

Returns:

(Default is no gripper; i.e.: empty dict)

Return type:

dict

property init_qpos#

Defines the default rest qpos of this robot

Returns:

Default init qpos of this robot

Return type:

np.array

property top_offset#

Returns vector from model root body to model top. Useful for, e.g. placing models on a surface. Must be defined by subclass.

Returns:

(dx, dy, dz) offset vector

Return type:

np.array

Module contents#