Skip to content

Commit

Permalink
Merge pull request #604 from Abhiram824/docs_update
Browse files Browse the repository at this point in the history
updates to docs for v1.5
  • Loading branch information
kevin-thankyou-lin authored Jan 6, 2025
2 parents f156be2 + d31f1c2 commit 359cfbc
Show file tree
Hide file tree
Showing 34 changed files with 645 additions and 172 deletions.
4 changes: 1 addition & 3 deletions docs/algorithms/sim2real.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 2 additions & 14 deletions docs/demos.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`}
Expand All @@ -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:
Expand All @@ -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:
```
Expand Down
Binary file added docs/images/robots_module_v15.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 0 additions & 70 deletions docs/modules/robots.md

This file was deleted.

8 changes: 4 additions & 4 deletions docs/modules/robots.rst
Original file line number Diff line number Diff line change
@@ -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 <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.

Expand All @@ -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
-------
Expand Down
2 changes: 1 addition & 1 deletion docs/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -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}
}
Expand Down
12 changes: 10 additions & 2 deletions docs/simulation/device.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
2 changes: 1 addition & 1 deletion docs/simulation/robot.rst
Original file line number Diff line number Diff line change
@@ -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
----------
Expand Down
29 changes: 29 additions & 0 deletions docs/source/robosuite.controllers.composite.rst
Original file line number Diff line number Diff line change
@@ -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:
29 changes: 29 additions & 0 deletions docs/source/robosuite.controllers.parts.arm.rst
Original file line number Diff line number Diff line change
@@ -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:
Loading

0 comments on commit 359cfbc

Please sign in to comment.