diff --git a/docs/algorithms/sim2real.md b/docs/algorithms/sim2real.md index d98f3388d1..e619a5932a 100644 --- a/docs/algorithms/sim2real.md +++ b/docs/algorithms/sim2real.md @@ -143,9 +143,7 @@ env.modify_observable( ) # Take a single environment step with positive joint velocity actions -arm_action = np.ones(env.robots[0].robot_model.dof) * 1.0 -gripper_action = [1] -action = np.concatenate([arm_action, gripper_action]) +action = np.ones(env.robots[0].robot_model.dof) * 1.0 env.step(action) # Now we can analyze what values were recorded diff --git a/docs/demos.md b/docs/demos.md index 636cefe938..bfd4953f4d 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -135,11 +135,7 @@ Furthermore, please choose environment specifics with the following arguments: * `--environment`: Task to perform, e.g., `Lift`, `TwoArmPegInHole`, `NutAssembly`, etc. -* `--robots`: Robot(s) with which to perform the task. Can be any in - {`Panda`, `Sawyer`, `IIWA`, `Jaco`, `Kinova3`, `UR5e`, `Baxter`}. Note that the environments include sanity - checks, such that a `TwoArm...` environment will only accept either a 2-tuple of robot names or a single - bimanual robot name, according to the specified configuration (see below), and all other environments will - only accept a single single-armed robot name +* `--robots`: Robot(s) with which to perform the task, e.g., `Tiago`, `Panda`, `GR1`, `Sawyer`, etc. Note that the environments include sanity checks, such that a `TwoArm...` environment will not accept configurations with a single, one-armed robot. * `--config`: Exclusively applicable and only should be specified for `TwoArm...` environments. Specifies the robot configuration desired for the task when two robots are inputted. Options are {`parallel` and `opposed`} @@ -152,14 +148,6 @@ Furthermore, please choose environment specifics with the following arguments: each other, facing each other from opposite directions. Expects a 2-tuple of robot names to be specified in the `--robots` argument. -* `--arm`: Exclusively applicable and only should be specified for `TwoArm...` environments. Specifies which of the - multiple arm eef's to control. The other (passive) arm will remain stationary. Options are {`right`, `left`} - (from the point of view of the robot(s) facing against the viewer direction) - -* `--switch-on-click`: Exclusively applicable and only should be specified for `TwoArm...` environments. If enabled, - will switch the current arm being controlled every time the gripper input is pressed - -* `--toggle-camera-on-click`: If enabled, gripper input presses will cycle through the available camera angles Examples: * For normal single-arm environment: @@ -168,7 +156,7 @@ $ python demo_device_control.py --environment PickPlaceCan --robots Sawyer ``` * For two-arm bimanual environment: ``` -$ python demo_device_control.py --environment TwoArmLift --robots Baxter --config bimanual --arm left +$ python demo_device_control.py --environment TwoArmLift --robots Tiago ``` * For two-arm multi single-arm robot environment: ``` diff --git a/docs/images/robots_module_v15.png b/docs/images/robots_module_v15.png new file mode 100644 index 0000000000..b6644fd9e3 Binary files /dev/null and b/docs/images/robots_module_v15.png differ diff --git a/docs/modules/robots.md b/docs/modules/robots.md deleted file mode 100644 index 5cbd2af499..0000000000 --- a/docs/modules/robots.md +++ /dev/null @@ -1,70 +0,0 @@ -# Robots - -![robot_overview_diagram](../images/robot_module.png) - -**Robots** are a key component in **robosuite**, and serve as the embodiment of a given agent as well as the central interaction point within an environment and key interface to MuJoCo for the robot-related state and control. **robosuite** captures this level of abstraction with the [Robot](../simulation/robot)-based classes, with support for both single-armed and bimanual variations, as well as robots with mobile manipulation capabilities, including both legged and wheeled variants. In turn, the Robot class is centrally defined by a [RobotModel](../modeling/robot_model), [RobotBaseModel](../modeling/robot_model.html#base-model), [GripperModel](../modeling/robot_model.html#gripper-model), and [Controller(s)](../simulation/controller). Subclasses of the `RobotModel` class may also include additional models as well; for example, the [ManipulatorModel](../modeling/robot_model.html#manipulator-model) class also includes [GripperModel(s)](../modeling/robot_model.html#gripper-model) (with no gripper being represented by a dummy class). - -The high-level features of **robosuite**'s robots are described as follows: - -* **Diverse and Realistic Models**: **robosuite** provides models for 10 commercially-available robots (including the humanoid GR1 Robot), 10 grippers (including the inspire dexterous hand model), 5 bases (including the Omron wheeled mobile base), and 6 body-part controllers, with model properties either taken directly from official product documentation or raw spec sheets. An additional 8 robots, 9 grippers, and 3 bases can be installed separately from the [robosuite-models](https://github.com/ARISE-Initiative/robosuite_models) repository. - -* **Modularized Support**: Robots are designed to be plug-n-play -- any combinations of robots, models, and controllers can be used, assuming the given environment is intended for the desired robot configuration. Because each robot is assigned a unique ID number, multiple instances of identical robots can be instantiated within the simulation without error. - -* **Self-Enclosed Abstraction**: For a given task and environment, any information relevant to the specific robot instance can be found within the properties and methods within that instance. This means that each robot is responsible for directly setting its initial state within the simulation at the start of each episode, and also directly controls the robot in simulation via torques outputted by its controller's transformed actions. - - -## Usage -Below, we discuss the usage and functionality of the robots over the course of its program lifetime. - -#### Initialization -During environment creation (`suite.make(...)`), individual robots are both instantiated and initialized. The desired RobotModel, MountModel, and Controller(s) (where multiple and / or additional models may be specified, e.g. for manipulator bimanual robots) are loaded into each robot, with the models being passed into the environment to compose the final MuJoCo simulation object. Each robot is then set to its initial state. - -#### Runtime -During a given simulation episode (each `env.step(...)` call), the environment will receive a set of actions and distribute them accordingly to each robot, according to their respective action spaces. Each robot then converts these actions into low-level torques via their respective controllers, and directly execute these torques in the simulation. At the conclusion of the environment step, each robot will pass its set of robot-specific observations to the environment, which will then concatenate and append additional task-level observations before passing them as output from the `env.step(...)` call. - -#### Callables -At any given time, each robot has a set of `properties` whose real-time values can be accessed at any time. These include specifications for a given robot, such as its DoF, action dimension, and torque limits, as well as proprioceptive values, such as its joint positions and velocities. Additionally, if the robot is enabled with any sensors, those readings can also be polled as well. A full list of robot properties can be found in the [Robots API](../simulation/robot) section. - - -## Models -**robosuite** is designed to be generalizable to multiple robotic domains. The current release focuses on manipulator robots. For adding new robots, we provide a [rudimentary guide](https://docs.google.com/document/d/1bSUKkpjmbKqWyV5Oc7_4VL4FGKAQZx8aWm_nvlmTVmE/edit?usp=sharing) on how to import raw Robot and Gripper models (based on a URDF source file) into robosuite. - -### Manipulators -**robosuite** currently supports seven commercially-available manipulator robot models. We briefly describe each individual model along with its features below: - -#### Panda -![panda_robot](../images/models/robot_model_Panda.png) -[Panda](https://www.franka.de/technology) is a 7-DoF and relatively new robot model produced by Franka Emika, and boasts high positional accuracy and repeatability. A common choice for both simulated and real-robot research, we provide a substantial set of [benchmarking](../algorithms/benchmarking) experiments using this robot. The default gripper for this robot is the `PandaGripper`, a parallel-jaw gripper equipped with two small finger pads, that comes shipped with the robot arm. - -#### Sawyer -![sawyer_robot](../images/models/robot_model_Sawyer.png) -[Sawyer](https://www.rethinkrobotics.com/sawyer) is Rethink Robotic's 7-DoF single-arm robot, which also features an additional 8th joint (inactive and disabled by default in **robosuite**) for swiveling its display monitor. Along with Panda, Sawyer serves as the second testing robot for our set of benchmarking experiments. Sawyer's default `RethinkGripper` model is a parallel-jaw gripper with long fingers and useful for grasping a variety of objects. - -#### LBR IIWA 7 -![iiwa_robot](../images/models/robot_model_IIWA.png) -[IIWA](https://www.kuka.com/en-us/products/robotics-systems/industrial-robots/lbr-iiwa) is one of KUKA's industrial-grade 7-DoF robots, and is equipped with the strongest actuators of the group, with its per-joint torque limits exceeding nearly all the other models in **robosuite** by over twofold! By default, IIWA is equipped with the `Robotiq140Gripper`, [Robotiq's 140mm variation](https://robotiq.com/products/2f85-140-adaptive-robot-gripper) of their multi-purpose two finger gripper models. - -#### Jaco -![jaco_robot](../images/models/robot_model_Jaco.png) -[Jaco](https://www.kinovarobotics.com/en/products/assistive-technologies/kinova-jaco-assistive-robotic-arm) is a popular sleek 7-DoF robot produced by Kinova Robotics and intended for human assistive applications. As such, it is relatively weak in terms of max torque capabilities. Jaco comes equipped with the `JacoThreeFingerGripper` by default, a three-pronged gripper with multi-jointed fingers. - -#### Kinova Gen3 -![kinova3_robot](../images/models/robot_model_Kinova3.png) -[Kinova3](https://www.kinovarobotics.com/en/products/gen3-robot) is Kinova's newest 7-DoF robot, with integrated sensor modules and interfaces designed for research-oriented applications. It is marginally stronger than its Jaco counterpart, and is equipped with the `Robotiq85Gripper`, [Robotiq's 85mm variation](https://robotiq.com/products/2f85-140-adaptive-robot-gripper) of their multi-purpose two finger gripper models. - -#### UR5e -![ur5e_robot](../images/models/robot_model_UR5e.png) -[UR5e](https://www.universal-robots.com/products/ur5-robot/) is Universal Robot's newest update to the UR5 line, and is a 6-DoF robot intended for collaborative applications. This newest model boasts an improved footprint and embedded force-torque sensor in its end effector. This arm also uses the `Robotiq85Gripper` by default in **robosuite**. - -#### Baxter -![baxter_robot](../images/models/robot_model_Baxter.png) -[Baxter](http://collabrobots.com/about-baxter-robot/) is an older but classic bimanual robot originally produced by Rethink Robotics but now owned by CoThink Robotics, and is equipped with two 7-DoF arms as well as an addition joint for controlling its swiveling display screen (inactive and disabled by default in **robosuite**). Each arm can be controlled independently in, and is the single multi-armed model currently supported in **robosuite**. Each arm is equipped with a `RethinkGripper` by default. - -## Robot Bases - -We provide a set of robot bases that can be added to the `RobotModel` via the `add_base(base: RobotBaseModel)` method. These bases can be static (e.g. `MountModel`) or movable (e.g. `MobileBaseModel` or `LegBaseModel`). This enables composability of robots with different bases, such as a mobile manipulator robot or a quadruped robot. Examples are shown in the [compositional.py](robosuite/models/robots/compositional.py). - - -## Robosuite Models - -Other than the core robot models, we also provide more models for the `robosuite` ecosystem. Checkout this [robosuite_models](https://github.com/ARISE-Initiative/robosuite_models) repository for more details. This can also be installed via `pip install robosuite-models`. diff --git a/docs/modules/robots.rst b/docs/modules/robots.rst index ec35eb070b..70a20f5c66 100644 --- a/docs/modules/robots.rst +++ b/docs/modules/robots.rst @@ -1,13 +1,13 @@ Robots ======= -.. figure:: ../images/robot_module.png +.. figure:: ../images/robots_module_v15.png -**Robots** are a key component in **robosuite**, and serve as the embodiment of a given agent as well as the central interaction point within an environment and key interface to MuJoCo for the robot-related state and control. **robosuite** captures this level of abstraction with the `Robot <../simulation/robot.html>`_-based classes, with support for both single-armed and bimanual variations. In turn, the Robot class is centrally defined by a `RobotModel <../modeling/robot_model.html>`_, `MountModel <../modeling/robot_model.html#mount-model>`_, and `Controller(s) <../simulation/controller.html>`_. Subclasses of the :class:`RobotModel` class may also include additional models as well; for example, the `ManipulatorModel <../modeling/robot_model.html#manipulator-model>`_ class also includes `GripperModel(s) <../modeling/robot_model.html#gripper-model>`_ (with no gripper being represented by a dummy class). +**Robots** are a key component in **robosuite**, and serve as the embodiment of a given agent as well as the central interaction point within an environment and key interface to MuJoCo for the robot-related state and control. **robosuite** captures this level of abstraction with the `Robot <../simulation/robot>`_-based classes, with support for both single-armed and bimanual variations, as well as robots with mobile manipulation capabilities, including both legged and wheeled variants. In turn, the Robot class is centrally defined by a `RobotModel <../modeling/robot_model>`_, `RobotBaseModel <../modeling/robot_model.html#robot-base-model>`_, `GripperModel <../modeling/robot_model.html#gripper-model>`_, and `Controller(s) <../simulation/controller>`_. Subclasses of the ``RobotModel`` class may also include additional models as well; for example, the `ManipulatorModel <../modeling/robot_model.html#manipulator-model>`_ class also includes `GripperModel(s) <../modeling/robot_model.html#gripper-model>`_ (with no gripper being represented by a dummy class). The high-level features of **robosuite**'s robots are described as follows: -* **Diverse and Realistic Models**: **robosuite** provides models for 8 commercially-available manipulator robots (including the bimanual Baxter robot), 7 grippers (including the popular Robotiq 140 / 85 models), and 6 controllers, with model properties either taken directly from the company website or raw spec sheets. +* **Diverse and Realistic Models**: **robosuite** provides models for 10 commercially-available robots (including the humanoid GR1 Robot), 9 grippers (including the inspire dexterous hand model), 4 bases (including the Omron wheeled mobile base), and 6 body-part controllers, with model properties either taken directly from official product documentation or raw spec sheets. An additional 8 robots, 8 grippers, and 3 bases can be installed separately from the `robosuite-models `_ repository. * **Modularized Support**: Robots are designed to be plug-n-play -- any combinations of robots, models, and controllers can be used, assuming the given environment is intended for the desired robot configuration. Because each robot is assigned a unique ID number, multiple instances of identical robots can be instantiated within the simulation without error. @@ -19,7 +19,7 @@ Below, we discuss the usage and functionality of the robots over the course of i Initialization -------------- -During environment creation (``suite.make(...)``), individual robots are both instantiated and initialized. The desired RobotModel, MountModel, and Controller(s) (where multiple and/or additional models may be specified, e.g. for manipulator bimanual robots) are loaded into each robot, with the models being passed into the environment to compose the final MuJoCo simulation object. Each robot is then set to its initial state. +During environment creation (``suite.make(...)``), individual robots are both instantiated and initialized. The desired RobotModel, RobotBaseModel, and Controller(s) (where multiple and/or additional models may be specified, e.g. for manipulator bimanual robots) are loaded into each robot, with the models being passed into the environment to compose the final MuJoCo simulation object. Each robot is then set to its initial state. Runtime ------- diff --git a/docs/overview.md b/docs/overview.md index cb88ec7b16..8fdf7606f7 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -28,7 +28,7 @@ Please cite [**robosuite**](https://robosuite.ai) if you use this framework in y ```bibtex @inproceedings{robosuite2020, title={robosuite: A Modular Simulation Framework and Benchmark for Robot Learning}, - author={Yuke Zhu and Josiah Wong and Ajay Mandlekar and Roberto Mart\'{i}n-Mart\'{i}n and Abhishek Joshi and Kevin Lin and Soroush Nasiriany and Yifeng Zhu}, + author={Yuke Zhu and Josiah Wong and Ajay Mandlekar and Roberto Mart\'{i}n-Mart\'{i}n and Abhishek Joshi and Kevin Lin and Abhiram Maddukuri and Soroush Nasiriany and Yifeng Zhu}, booktitle={arXiv preprint arXiv:2009.12293}, year={2020} } diff --git a/docs/simulation/device.rst b/docs/simulation/device.rst index c8fde7ab1a..c7c1ead6dc 100644 --- a/docs/simulation/device.rst +++ b/docs/simulation/device.rst @@ -30,6 +30,14 @@ SpaceMouse Device .. automethod:: get_controller_state .. automethod:: run - .. autoproperty:: control - .. autoproperty:: control_gripper + .. automethod:: control + .. automethod:: control_gripper + .. automethod:: _display_controls + +MjGUI Device +------------ +.. autoclass:: robosuite.devices.mjgui.MJGUI + + .. automethod:: get_controller_state + .. automethod:: input2action .. automethod:: _display_controls diff --git a/docs/simulation/robot.rst b/docs/simulation/robot.rst index 2d7227f7d8..fbe2cb813e 100644 --- a/docs/simulation/robot.rst +++ b/docs/simulation/robot.rst @@ -1,7 +1,7 @@ Robot ===== -The ``Robot`` class defines a simulation object encapsulating a robot model, gripper model, and controller. Robosuite uses class extensions of this base class to model different robotic domains. The current release focuses on manipulation, and includes a ``Manipulator`` class, which itself is extended by ``SingleArm`` and ``Bimanual`` classes representing the two different types of supported robots. +The ``Robot`` class defines a simulation object encapsulating a robot model, gripper model, base model, and controller. Robosuite uses class extensions of this base class to model different robotic domains. The current release focuses on manipulation and mobility, and includes a ``MobileRobot`` class, which itself is extended by ``WheeledRobot`` and ``LeggedRobot`` classes representing different types of mobile robots. Base Robot ---------- diff --git a/docs/source/robosuite.controllers.composite.rst b/docs/source/robosuite.controllers.composite.rst new file mode 100644 index 0000000000..2af588cbc6 --- /dev/null +++ b/docs/source/robosuite.controllers.composite.rst @@ -0,0 +1,29 @@ +robosuite.controllers.composite package +======================================= + +Submodules +---------- + +robosuite.controllers.composite.composite\_controller module +------------------------------------------------------------ + +.. automodule:: robosuite.controllers.composite.composite_controller + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.composite.composite\_controller\_factory module +--------------------------------------------------------------------- + +.. automodule:: robosuite.controllers.composite.composite_controller_factory + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.controllers.composite + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.controllers.parts.arm.rst b/docs/source/robosuite.controllers.parts.arm.rst new file mode 100644 index 0000000000..605af3e163 --- /dev/null +++ b/docs/source/robosuite.controllers.parts.arm.rst @@ -0,0 +1,29 @@ +robosuite.controllers.parts.arm package +======================================= + +Submodules +---------- + +robosuite.controllers.parts.arm.ik module +----------------------------------------- + +.. automodule:: robosuite.controllers.parts.arm.ik + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.parts.arm.osc module +------------------------------------------ + +.. automodule:: robosuite.controllers.parts.arm.osc + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.controllers.parts.arm + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.controllers.parts.generic.rst b/docs/source/robosuite.controllers.parts.generic.rst new file mode 100644 index 0000000000..acfe59215f --- /dev/null +++ b/docs/source/robosuite.controllers.parts.generic.rst @@ -0,0 +1,37 @@ +robosuite.controllers.parts.generic package +=========================================== + +Submodules +---------- + +robosuite.controllers.parts.generic.joint\_pos module +----------------------------------------------------- + +.. automodule:: robosuite.controllers.parts.generic.joint_pos + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.parts.generic.joint\_tor module +----------------------------------------------------- + +.. automodule:: robosuite.controllers.parts.generic.joint_tor + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.parts.generic.joint\_vel module +----------------------------------------------------- + +.. automodule:: robosuite.controllers.parts.generic.joint_vel + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.controllers.parts.generic + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.controllers.parts.gripper.rst b/docs/source/robosuite.controllers.parts.gripper.rst new file mode 100644 index 0000000000..8652c23a0c --- /dev/null +++ b/docs/source/robosuite.controllers.parts.gripper.rst @@ -0,0 +1,29 @@ +robosuite.controllers.parts.gripper package +=========================================== + +Submodules +---------- + +robosuite.controllers.parts.gripper.gripper\_controller module +-------------------------------------------------------------- + +.. automodule:: robosuite.controllers.parts.gripper.gripper_controller + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.parts.gripper.simple\_grip module +------------------------------------------------------- + +.. automodule:: robosuite.controllers.parts.gripper.simple_grip + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.controllers.parts.gripper + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.controllers.parts.mobile_base.rst b/docs/source/robosuite.controllers.parts.mobile_base.rst new file mode 100644 index 0000000000..cb897b199a --- /dev/null +++ b/docs/source/robosuite.controllers.parts.mobile_base.rst @@ -0,0 +1,29 @@ +robosuite.controllers.parts.mobile\_base package +================================================ + +Submodules +---------- + +robosuite.controllers.parts.mobile\_base.joint\_vel module +---------------------------------------------------------- + +.. automodule:: robosuite.controllers.parts.mobile_base.joint_vel + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.parts.mobile\_base.mobile\_base\_controller module +------------------------------------------------------------------------ + +.. automodule:: robosuite.controllers.parts.mobile_base.mobile_base_controller + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.controllers.parts.mobile_base + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.controllers.parts.rst b/docs/source/robosuite.controllers.parts.rst new file mode 100644 index 0000000000..333df06bba --- /dev/null +++ b/docs/source/robosuite.controllers.parts.rst @@ -0,0 +1,40 @@ +robosuite.controllers.parts package +=================================== + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + robosuite.controllers.parts.arm + robosuite.controllers.parts.generic + robosuite.controllers.parts.gripper + robosuite.controllers.parts.mobile_base + +Submodules +---------- + +robosuite.controllers.parts.controller module +--------------------------------------------- + +.. automodule:: robosuite.controllers.parts.controller + :members: + :undoc-members: + :show-inheritance: + +robosuite.controllers.parts.controller\_factory module +------------------------------------------------------ + +.. automodule:: robosuite.controllers.parts.controller_factory + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.controllers.parts + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.controllers.rst b/docs/source/robosuite.controllers.rst index 8ef16210c0..8eb30b4c4a 100644 --- a/docs/source/robosuite.controllers.rst +++ b/docs/source/robosuite.controllers.rst @@ -7,66 +7,8 @@ Subpackages .. toctree:: :maxdepth: 4 - robosuite.controllers.interpolators - -Submodules ----------- - -robosuite.controllers.base\_controller module ---------------------------------------------- - -.. automodule:: robosuite.controllers.base_controller - :members: - :undoc-members: - :show-inheritance: - -robosuite.controllers.controller\_factory module ------------------------------------------------- - -.. automodule:: robosuite.controllers.controller_factory - :members: - :undoc-members: - :show-inheritance: - -robosuite.controllers.ik module -------------------------------- - -.. automodule:: robosuite.controllers.ik - :members: - :undoc-members: - :show-inheritance: - -robosuite.controllers.joint\_pos module ---------------------------------------- - -.. automodule:: robosuite.controllers.joint_pos - :members: - :undoc-members: - :show-inheritance: - -robosuite.controllers.joint\_tor module ---------------------------------------- - -.. automodule:: robosuite.controllers.joint_tor - :members: - :undoc-members: - :show-inheritance: - -robosuite.controllers.joint\_vel module ---------------------------------------- - -.. automodule:: robosuite.controllers.joint_vel - :members: - :undoc-members: - :show-inheritance: - -robosuite.controllers.osc module --------------------------------- - -.. automodule:: robosuite.controllers.osc - :members: - :undoc-members: - :show-inheritance: + robosuite.controllers.composite + robosuite.controllers.parts Module contents --------------- diff --git a/docs/source/robosuite.devices.rst b/docs/source/robosuite.devices.rst index 14633059db..9a9605c42a 100644 --- a/docs/source/robosuite.devices.rst +++ b/docs/source/robosuite.devices.rst @@ -20,6 +20,14 @@ robosuite.devices.keyboard module :undoc-members: :show-inheritance: +robosuite.devices.mjgui module +------------------------------ + +.. automodule:: robosuite.devices.mjgui + :members: + :undoc-members: + :show-inheritance: + robosuite.devices.spacemouse module ----------------------------------- diff --git a/docs/source/robosuite.environments.manipulation.rst b/docs/source/robosuite.environments.manipulation.rst index 74f8b90fa6..728e45aae9 100644 --- a/docs/source/robosuite.environments.manipulation.rst +++ b/docs/source/robosuite.environments.manipulation.rst @@ -44,18 +44,18 @@ robosuite.environments.manipulation.pick\_place module :undoc-members: :show-inheritance: -robosuite.environments.manipulation.single\_arm\_env module ------------------------------------------------------------ +robosuite.environments.manipulation.stack module +------------------------------------------------ -.. automodule:: robosuite.environments.manipulation.single_arm_env +.. automodule:: robosuite.environments.manipulation.stack :members: :undoc-members: :show-inheritance: -robosuite.environments.manipulation.stack module ------------------------------------------------- +robosuite.environments.manipulation.tool\_hang module +----------------------------------------------------- -.. automodule:: robosuite.environments.manipulation.stack +.. automodule:: robosuite.environments.manipulation.tool_hang :members: :undoc-members: :show-inheritance: @@ -92,6 +92,14 @@ robosuite.environments.manipulation.two\_arm\_peg\_in\_hole module :undoc-members: :show-inheritance: +robosuite.environments.manipulation.two\_arm\_transport module +-------------------------------------------------------------- + +.. automodule:: robosuite.environments.manipulation.two_arm_transport + :members: + :undoc-members: + :show-inheritance: + robosuite.environments.manipulation.wipe module ----------------------------------------------- diff --git a/docs/source/robosuite.models.arenas.rst b/docs/source/robosuite.models.arenas.rst index ff42472ecf..54b12506d5 100644 --- a/docs/source/robosuite.models.arenas.rst +++ b/docs/source/robosuite.models.arenas.rst @@ -28,6 +28,14 @@ robosuite.models.arenas.empty\_arena module :undoc-members: :show-inheritance: +robosuite.models.arenas.multi\_table\_arena module +-------------------------------------------------- + +.. automodule:: robosuite.models.arenas.multi_table_arena + :members: + :undoc-members: + :show-inheritance: + robosuite.models.arenas.pegs\_arena module ------------------------------------------ diff --git a/docs/source/robosuite.models.bases.rst b/docs/source/robosuite.models.bases.rst new file mode 100644 index 0000000000..aca6fd371f --- /dev/null +++ b/docs/source/robosuite.models.bases.rst @@ -0,0 +1,117 @@ +robosuite.models.bases package +============================== + +Submodules +---------- + +robosuite.models.bases.floating\_legged\_base module +---------------------------------------------------- + +.. automodule:: robosuite.models.bases.floating_legged_base + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.leg\_base\_model module +---------------------------------------------- + +.. automodule:: robosuite.models.bases.leg_base_model + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.mobile\_base\_model module +------------------------------------------------- + +.. automodule:: robosuite.models.bases.mobile_base_model + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.mount\_model module +------------------------------------------ + +.. automodule:: robosuite.models.bases.mount_model + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.no\_actuation\_base module +------------------------------------------------- + +.. automodule:: robosuite.models.bases.no_actuation_base + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.null\_mobile\_base module +------------------------------------------------ + +.. automodule:: robosuite.models.bases.null_mobile_base + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.null\_mount module +----------------------------------------- + +.. automodule:: robosuite.models.bases.null_mount + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.omron\_mobile\_base module +------------------------------------------------- + +.. automodule:: robosuite.models.bases.omron_mobile_base + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.rethink\_minimal\_mount module +----------------------------------------------------- + +.. automodule:: robosuite.models.bases.rethink_minimal_mount + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.rethink\_mount module +-------------------------------------------- + +.. automodule:: robosuite.models.bases.rethink_mount + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.robot\_base\_factory module +-------------------------------------------------- + +.. automodule:: robosuite.models.bases.robot_base_factory + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.robot\_base\_model module +------------------------------------------------ + +.. automodule:: robosuite.models.bases.robot_base_model + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.bases.spot\_base module +---------------------------------------- + +.. automodule:: robosuite.models.bases.spot_base + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.models.bases + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.models.grippers.rst b/docs/source/robosuite.models.grippers.rst index b65eac0b17..e0edddcb53 100644 --- a/docs/source/robosuite.models.grippers.rst +++ b/docs/source/robosuite.models.grippers.rst @@ -4,6 +4,22 @@ robosuite.models.grippers package Submodules ---------- +robosuite.models.grippers.bd\_gripper module +-------------------------------------------- + +.. automodule:: robosuite.models.grippers.bd_gripper + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.grippers.fourier\_hands module +----------------------------------------------- + +.. automodule:: robosuite.models.grippers.fourier_hands + :members: + :undoc-members: + :show-inheritance: + robosuite.models.grippers.gripper\_factory module ------------------------------------------------- @@ -28,6 +44,14 @@ robosuite.models.grippers.gripper\_tester module :undoc-members: :show-inheritance: +robosuite.models.grippers.inspire\_hands module +----------------------------------------------- + +.. automodule:: robosuite.models.grippers.inspire_hands + :members: + :undoc-members: + :show-inheritance: + robosuite.models.grippers.jaco\_three\_finger\_gripper module ------------------------------------------------------------- diff --git a/docs/source/robosuite.models.objects.composite.rst b/docs/source/robosuite.models.objects.composite.rst index 3bfa093d68..d182bd0909 100644 --- a/docs/source/robosuite.models.objects.composite.rst +++ b/docs/source/robosuite.models.objects.composite.rst @@ -4,6 +4,22 @@ robosuite.models.objects.composite package Submodules ---------- +robosuite.models.objects.composite.bin module +--------------------------------------------- + +.. automodule:: robosuite.models.objects.composite.bin + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.objects.composite.cone module +---------------------------------------------- + +.. automodule:: robosuite.models.objects.composite.cone + :members: + :undoc-members: + :show-inheritance: + robosuite.models.objects.composite.hammer module ------------------------------------------------ @@ -12,6 +28,30 @@ robosuite.models.objects.composite.hammer module :undoc-members: :show-inheritance: +robosuite.models.objects.composite.hollow\_cylinder module +---------------------------------------------------------- + +.. automodule:: robosuite.models.objects.composite.hollow_cylinder + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.objects.composite.hook\_frame module +----------------------------------------------------- + +.. automodule:: robosuite.models.objects.composite.hook_frame + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.objects.composite.lid module +--------------------------------------------- + +.. automodule:: robosuite.models.objects.composite.lid + :members: + :undoc-members: + :show-inheritance: + robosuite.models.objects.composite.pot\_with\_handles module ------------------------------------------------------------ @@ -20,6 +60,14 @@ robosuite.models.objects.composite.pot\_with\_handles module :undoc-members: :show-inheritance: +robosuite.models.objects.composite.stand\_with\_mount module +------------------------------------------------------------ + +.. automodule:: robosuite.models.objects.composite.stand_with_mount + :members: + :undoc-members: + :show-inheritance: + Module contents --------------- diff --git a/docs/source/robosuite.models.objects.composite_body.rst b/docs/source/robosuite.models.objects.composite_body.rst index 701da2b47a..1bf48f8a77 100644 --- a/docs/source/robosuite.models.objects.composite_body.rst +++ b/docs/source/robosuite.models.objects.composite_body.rst @@ -12,6 +12,14 @@ robosuite.models.objects.composite\_body.hinged\_box module :undoc-members: :show-inheritance: +robosuite.models.objects.composite\_body.ratcheting\_wrench module +------------------------------------------------------------------ + +.. automodule:: robosuite.models.objects.composite_body.ratcheting_wrench + :members: + :undoc-members: + :show-inheritance: + Module contents --------------- diff --git a/docs/source/robosuite.models.objects.group.rst b/docs/source/robosuite.models.objects.group.rst new file mode 100644 index 0000000000..a1caaedbee --- /dev/null +++ b/docs/source/robosuite.models.objects.group.rst @@ -0,0 +1,21 @@ +robosuite.models.objects.group package +====================================== + +Submodules +---------- + +robosuite.models.objects.group.transport module +----------------------------------------------- + +.. automodule:: robosuite.models.objects.group.transport + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.models.objects.group + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.models.objects.rst b/docs/source/robosuite.models.objects.rst index ade511ce5a..c820d2fcd4 100644 --- a/docs/source/robosuite.models.objects.rst +++ b/docs/source/robosuite.models.objects.rst @@ -9,6 +9,7 @@ Subpackages robosuite.models.objects.composite robosuite.models.objects.composite_body + robosuite.models.objects.group robosuite.models.objects.primitive Submodules @@ -22,6 +23,14 @@ robosuite.models.objects.generated\_objects module :undoc-members: :show-inheritance: +robosuite.models.objects.object\_groups module +---------------------------------------------- + +.. automodule:: robosuite.models.objects.object_groups + :members: + :undoc-members: + :show-inheritance: + robosuite.models.objects.objects module --------------------------------------- diff --git a/docs/source/robosuite.models.robots.manipulators.rst b/docs/source/robosuite.models.robots.manipulators.rst index 9f35a578f2..1286fcb8e5 100644 --- a/docs/source/robosuite.models.robots.manipulators.rst +++ b/docs/source/robosuite.models.robots.manipulators.rst @@ -12,6 +12,30 @@ robosuite.models.robots.manipulators.baxter\_robot module :undoc-members: :show-inheritance: +robosuite.models.robots.manipulators.gr1\_robot module +------------------------------------------------------ + +.. automodule:: robosuite.models.robots.manipulators.gr1_robot + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.robots.manipulators.humanoid\_model module +----------------------------------------------------------- + +.. automodule:: robosuite.models.robots.manipulators.humanoid_model + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.robots.manipulators.humanoid\_upperbody\_model module +---------------------------------------------------------------------- + +.. automodule:: robosuite.models.robots.manipulators.humanoid_upperbody_model + :members: + :undoc-members: + :show-inheritance: + robosuite.models.robots.manipulators.iiwa\_robot module ------------------------------------------------------- @@ -36,6 +60,14 @@ robosuite.models.robots.manipulators.kinova3\_robot module :undoc-members: :show-inheritance: +robosuite.models.robots.manipulators.legged\_manipulator\_model module +---------------------------------------------------------------------- + +.. automodule:: robosuite.models.robots.manipulators.legged_manipulator_model + :members: + :undoc-members: + :show-inheritance: + robosuite.models.robots.manipulators.manipulator\_model module -------------------------------------------------------------- @@ -60,6 +92,22 @@ robosuite.models.robots.manipulators.sawyer\_robot module :undoc-members: :show-inheritance: +robosuite.models.robots.manipulators.spot\_arm module +----------------------------------------------------- + +.. automodule:: robosuite.models.robots.manipulators.spot_arm + :members: + :undoc-members: + :show-inheritance: + +robosuite.models.robots.manipulators.tiago\_robot module +-------------------------------------------------------- + +.. automodule:: robosuite.models.robots.manipulators.tiago_robot + :members: + :undoc-members: + :show-inheritance: + robosuite.models.robots.manipulators.ur5e\_robot module ------------------------------------------------------- diff --git a/docs/source/robosuite.models.robots.rst b/docs/source/robosuite.models.robots.rst index 36cba107be..186ec1f201 100644 --- a/docs/source/robosuite.models.robots.rst +++ b/docs/source/robosuite.models.robots.rst @@ -12,6 +12,14 @@ Subpackages Submodules ---------- +robosuite.models.robots.compositional module +-------------------------------------------- + +.. automodule:: robosuite.models.robots.compositional + :members: + :undoc-members: + :show-inheritance: + robosuite.models.robots.robot\_model module ------------------------------------------- diff --git a/docs/source/robosuite.models.rst b/docs/source/robosuite.models.rst index d322daa5f1..be78f5ccb4 100644 --- a/docs/source/robosuite.models.rst +++ b/docs/source/robosuite.models.rst @@ -8,8 +8,8 @@ Subpackages :maxdepth: 4 robosuite.models.arenas + robosuite.models.bases robosuite.models.grippers - robosuite.models.mounts robosuite.models.objects robosuite.models.robots robosuite.models.tasks diff --git a/docs/source/robosuite.renderers.context.rst b/docs/source/robosuite.renderers.context.rst new file mode 100644 index 0000000000..81b92a814a --- /dev/null +++ b/docs/source/robosuite.renderers.context.rst @@ -0,0 +1,37 @@ +robosuite.renderers.context package +=================================== + +Submodules +---------- + +robosuite.renderers.context.egl\_context module +----------------------------------------------- + +.. automodule:: robosuite.renderers.context.egl_context + :members: + :undoc-members: + :show-inheritance: + +robosuite.renderers.context.glfw\_context module +------------------------------------------------ + +.. automodule:: robosuite.renderers.context.glfw_context + :members: + :undoc-members: + :show-inheritance: + +robosuite.renderers.context.osmesa\_context module +-------------------------------------------------- + +.. automodule:: robosuite.renderers.context.osmesa_context + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.renderers.context + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.renderers.mjviewer.rst b/docs/source/robosuite.renderers.mjviewer.rst new file mode 100644 index 0000000000..d4abf681c9 --- /dev/null +++ b/docs/source/robosuite.renderers.mjviewer.rst @@ -0,0 +1,21 @@ +robosuite.renderers.mjviewer package +==================================== + +Submodules +---------- + +robosuite.renderers.mjviewer.mjviewer\_renderer module +------------------------------------------------------ + +.. automodule:: robosuite.renderers.mjviewer.mjviewer_renderer + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: robosuite.renderers.mjviewer + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/robosuite.renderers.rst b/docs/source/robosuite.renderers.rst index 99f8aec74c..3e4514e899 100644 --- a/docs/source/robosuite.renderers.rst +++ b/docs/source/robosuite.renderers.rst @@ -8,6 +8,7 @@ Subpackages :maxdepth: 4 robosuite.renderers.context + robosuite.renderers.mjviewer Submodules ---------- diff --git a/docs/source/robosuite.robots.rst b/docs/source/robosuite.robots.rst index 87fb90b4b0..52c8e34a78 100644 --- a/docs/source/robosuite.robots.rst +++ b/docs/source/robosuite.robots.rst @@ -4,18 +4,26 @@ robosuite.robots package Submodules ---------- -robosuite.robots.bimanual module --------------------------------- +robosuite.robots.fixed\_base\_robot module +------------------------------------------ -.. automodule:: robosuite.robots.bimanual +.. automodule:: robosuite.robots.fixed_base_robot :members: :undoc-members: :show-inheritance: -robosuite.robots.manipulator module ------------------------------------ +robosuite.robots.legged\_robot module +------------------------------------- -.. automodule:: robosuite.robots.manipulator +.. automodule:: robosuite.robots.legged_robot + :members: + :undoc-members: + :show-inheritance: + +robosuite.robots.mobile\_robot module +------------------------------------- + +.. automodule:: robosuite.robots.mobile_robot :members: :undoc-members: :show-inheritance: @@ -28,10 +36,10 @@ robosuite.robots.robot module :undoc-members: :show-inheritance: -robosuite.robots.single\_arm module ------------------------------------ +robosuite.robots.wheeled\_robot module +-------------------------------------- -.. automodule:: robosuite.robots.single_arm +.. automodule:: robosuite.robots.wheeled_robot :members: :undoc-members: :show-inheritance: diff --git a/docs/source/robosuite.rst b/docs/source/robosuite.rst index 444d18344c..daa6bdf84a 100644 --- a/docs/source/robosuite.rst +++ b/docs/source/robosuite.rst @@ -27,6 +27,14 @@ robosuite.macros module :undoc-members: :show-inheritance: +robosuite.macros\_private module +-------------------------------- + +.. automodule:: robosuite.macros_private + :members: + :undoc-members: + :show-inheritance: + Module contents --------------- diff --git a/docs/source/robosuite.utils.rst b/docs/source/robosuite.utils.rst index be45a0de2e..b1295abc7d 100644 --- a/docs/source/robosuite.utils.rst +++ b/docs/source/robosuite.utils.rst @@ -44,6 +44,14 @@ robosuite.utils.errors module :undoc-members: :show-inheritance: +robosuite.utils.ik\_utils module +-------------------------------- + +.. automodule:: robosuite.utils.ik_utils + :members: + :undoc-members: + :show-inheritance: + robosuite.utils.input\_utils module ----------------------------------- @@ -108,6 +116,14 @@ robosuite.utils.placement\_samplers module :undoc-members: :show-inheritance: +robosuite.utils.robot\_composition\_utils module +------------------------------------------------ + +.. automodule:: robosuite.utils.robot_composition_utils + :members: + :undoc-members: + :show-inheritance: + robosuite.utils.robot\_utils module ----------------------------------- @@ -116,6 +132,22 @@ robosuite.utils.robot\_utils module :undoc-members: :show-inheritance: +robosuite.utils.sim\_utils module +--------------------------------- + +.. automodule:: robosuite.utils.sim_utils + :members: + :undoc-members: + :show-inheritance: + +robosuite.utils.traj\_utils module +---------------------------------- + +.. automodule:: robosuite.utils.traj_utils + :members: + :undoc-members: + :show-inheritance: + robosuite.utils.transform\_utils module --------------------------------------- diff --git a/robosuite/devices/mjgui.py b/robosuite/devices/mjgui.py index 61876d0f22..4c5d5f4916 100644 --- a/robosuite/devices/mjgui.py +++ b/robosuite/devices/mjgui.py @@ -122,8 +122,8 @@ def input2action(self) -> Dict[str, np.ndarray]: (i.e. absolute actions or delta actions) and input_ref_frame (i.e. world frame, base frame or eef frame) from the controller itself. - TODO: unify this logic to be independent from controller type. """ + # TODO: unify this logic to be independent from controller type. action: Dict[str, np.ndarray] = {} gripper_dof = self.env.robots[0].gripper[self.active_end_effector].dof site_names = self._get_site_names()