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