Commit 232caebb authored by Mayank Mittal's avatar Mayank Mittal

adds info on how to build docs locally

parent 1909aa1a
...@@ -8,7 +8,7 @@ class. This is done using the function :meth:`load_default_env_cfg` in the sub-m ...@@ -8,7 +8,7 @@ class. This is done using the function :meth:`load_default_env_cfg` in the sub-m
:mod:`omni.isaac.orbit.utils.parse_cfg`. :mod:`omni.isaac.orbit.utils.parse_cfg`.
.. note:: .. attention::
There is a slight abuse of kwargs since they are meant to be directly passed into the environment class. There is a slight abuse of kwargs since they are meant to be directly passed into the environment class.
Instead, we remove the key :obj:`cfg_file` from the "kwargs" dictionary and the user needs to provide Instead, we remove the key :obj:`cfg_file` from the "kwargs" dictionary and the user needs to provide
......
...@@ -39,7 +39,7 @@ are the current joint positions and velocities, :math:`q_{des}`, :math:`\dot{q}_ ...@@ -39,7 +39,7 @@ are the current joint positions and velocities, :math:`q_{des}`, :math:`\dot{q}_
are the desired joint positions, velocities and torques commands. The parameters :math:`\gamma` and are the desired joint positions, velocities and torques commands. The parameters :math:`\gamma` and
:math:`\tau_{motor, max}` are the gear box ratio and the maximum motor effort possible. :math:`\tau_{motor, max}` are the gear box ratio and the maximum motor effort possible.
.. note:: .. seealso::
We provide implementations for various explicit actuator models. These are detailed in We provide implementations for various explicit actuator models. These are detailed in
`omni.isaac.orbit.actuators.model <../api/orbit.actuators.model.html>`_ sub-package. `omni.isaac.orbit.actuators.model <../api/orbit.actuators.model.html>`_ sub-package.
...@@ -70,7 +70,7 @@ can employ the gripper mimic group which processes binary open/close command int ...@@ -70,7 +70,7 @@ can employ the gripper mimic group which processes binary open/close command int
:alt: Actuator groups for a legged mobile manipulator :alt: Actuator groups for a legged mobile manipulator
.. note:: .. seealso::
For more information on the actuator groups, please refer to the documentation of the For more information on the actuator groups, please refer to the documentation of the
`omni.isaac.orbit.actuators.group <../api/orbit.actuators.group.html>`_ subpackage. `omni.isaac.orbit.actuators.group <../api/orbit.actuators.group.html>`_ subpackage.
...@@ -70,7 +70,7 @@ where :math:`k_d` are the gains parsed from configuration. ...@@ -70,7 +70,7 @@ where :math:`k_d` are the gains parsed from configuration.
This control mode is achievable by setting the command type for the actuator group, via This control mode is achievable by setting the command type for the actuator group, via
the :class:`ActuatorControlCfg` class, to `"v_abs"` or `"v_rel"`. the :class:`ActuatorControlCfg` class, to `"v_abs"` or `"v_rel"`.
.. note:: .. attention::
While performing velocity control, in many cases, gravity compensation is required to ensure better While performing velocity control, in many cases, gravity compensation is required to ensure better
tracking of the command. In this case, we suggest disabling gravity for the links in the articulation tracking of the command. In this case, we suggest disabling gravity for the links in the articulation
......
...@@ -14,7 +14,7 @@ and useful for everyone. These may happen in forms of: ...@@ -14,7 +14,7 @@ and useful for everyone. These may happen in forms of:
* Tutorials and tutorial improvements * Tutorials and tutorial improvements
.. note:: .. attention::
We prefer GitHub `discussions <https://github.com/NVIDIA-Omniverse/Orbit/discussions>`_ for discussing ideas, We prefer GitHub `discussions <https://github.com/NVIDIA-Omniverse/Orbit/discussions>`_ for discussing ideas,
asking questions, conversations and requests for new features. asking questions, conversations and requests for new features.
...@@ -213,7 +213,8 @@ a Nucleus server. ...@@ -213,7 +213,8 @@ a Nucleus server.
Please check the `Isaac Sim documentation <https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_faq.html#assets-and-nucleus>`__ Please check the `Isaac Sim documentation <https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_faq.html#assets-and-nucleus>`__
for more information on how to download the assets. for more information on how to download the assets.
.. note:: .. attention::
We are currently working on a better way to contribute assets. We will update this section once we We are currently working on a better way to contribute assets. We will update this section once we
have a solution. In the meantime, please follow the steps mentioned below. have a solution. In the meantime, please follow the steps mentioned below.
......
...@@ -81,16 +81,17 @@ The ``orbit`` repository is structured as follows: ...@@ -81,16 +81,17 @@ The ``orbit`` repository is structured as follows:
orbit orbit
├── .vscode ├── .vscode
├── .flake8
├── LICENSE ├── LICENSE
├── orbit.sh ├── orbit.sh
├── pyproject.toml ├── pyproject.toml
├── CHANGELOG.md
├── README.md ├── README.md
├── docs ├── docs
├── source ├── source
│   ├── extensions │   ├── extensions
│   │   ├── omni.isaac.orbit │   │   ├── omni.isaac.orbit
│   │   └── omni.isaac.orbit_envs │   │   └── omni.isaac.orbit_envs
│   │   └── omni.isaac.contrib_envs
│   ├── standalone │   ├── standalone
│   │   ├── demo │   │   ├── demo
│   │   ├── environments │   │   ├── environments
...@@ -101,13 +102,7 @@ The ``orbit`` repository is structured as follows: ...@@ -101,13 +102,7 @@ The ``orbit`` repository is structured as follows:
The ``source`` directory contains the source code for ``orbit`` *extensions* The ``source`` directory contains the source code for ``orbit`` *extensions*
and *standalone applications*. The two are the different development workflows and *standalone applications*. The two are the different development workflows
supported in `NVIDIA Isaac Sim <https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_required_workflows.html>`__. supported in `NVIDIA Isaac Sim <https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_required_workflows.html>`__.
These are described in the following sections.
.. note::
Instead of maintaining a `changelog <https://keepachangelog.com/en/1.0.0/>`__ for each
extension, we maintain a common changelog file for the whole repository. This is
located in the root directory of the repository and is named ``CHANGELOG.md``.
Extensions Extensions
~~~~~~~~~~ ~~~~~~~~~~
...@@ -238,6 +233,48 @@ provided by ``orbit``. These applications are written in python and are structur ...@@ -238,6 +233,48 @@ provided by ``orbit``. These applications are written in python and are structur
reinforcement learning or imitation learning libraries. reinforcement learning or imitation learning libraries.
Building the documentation locally
----------------------------------
The documentation for ``orbit`` is generated using `Sphinx <https://www.sphinx-doc.org/en/master/>`__.
It is written in `reStructuredText <https://docutils.sourceforge.io/rst.html>`__ format and
is located in the ``docs`` directory. We use the `sphinx-book-theme <https://sphinx-book-theme.readthedocs.io/en/stable/>`__
for the documentation theme.
.. caution::
To build the documentation, we recommend creating a virtual environment to avoid any conflicts
with the python packages installed in the system.
To build the documentation, run the following command in the terminal which installs the required python packages and
builds the documentation using the ``docs/Makefile``:
.. code:: bash
./orbit.sh --docs # or `./orbit.sh -d`
The documentation is generated in the ``docs/_build`` directory. To view the documentation, open
the ``index.html`` file in the ``html`` directory. This can be done by running the following command
in the terminal:
.. code:: bash
xdg-open docs/_build/html/index.html
.. hint::
The ``xdg-open`` command is used to open the ``index.html`` file in the default browser. If you are
using a different operating system, you can use the appropriate command to open the file in the browser.
To do a clean build, run the following command in the terminal:
.. code:: bash
rm -rf docs/_build && ./orbit.sh --docs
Code style Code style
---------- ----------
......
...@@ -86,7 +86,7 @@ On a new terminal (**``Ctrl+Alt+T``**), run the following: ...@@ -86,7 +86,7 @@ On a new terminal (**``Ctrl+Alt+T``**), run the following:
# checks that Isaac Sim can be launched from python # checks that Isaac Sim can be launched from python
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py ${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py
.. note:: .. attention::
If you have been using a previous version of Isaac Sim, you If you have been using a previous version of Isaac Sim, you
need to run the following command for the *first* time after need to run the following command for the *first* time after
......
...@@ -71,7 +71,7 @@ stepping, or stopping the simulator), configures the stage (such as stage units ...@@ -71,7 +71,7 @@ stepping, or stopping the simulator), configures the stage (such as stage units
prim (which provides physics simulation parameters such as gravity direction and magnitude, the simulation prim (which provides physics simulation parameters such as gravity direction and magnitude, the simulation
time-step size, and advanced solver algorithm settings). time-step size, and advanced solver algorithm settings).
.. note:: .. attention::
The :class:`SimulationContext` class also takes in the ``backend`` parameter which specifies the tensor library The :class:`SimulationContext` class also takes in the ``backend`` parameter which specifies the tensor library
(such as ``"numpy"`` and ``"torch"``) in which the returned physics tensors are casted in. Currently, ``orbit`` (such as ``"numpy"`` and ``"torch"``) in which the returned physics tensors are casted in. Currently, ``orbit``
......
...@@ -86,7 +86,7 @@ robot when it is spawned in the scene. The default state is a tuple of two tenso ...@@ -86,7 +86,7 @@ robot when it is spawned in the scene. The default state is a tuple of two tenso
the other for the joint velocities. It is used to reset the robot to its initial state at a pre-defined interval of the other for the joint velocities. It is used to reset the robot to its initial state at a pre-defined interval of
steps. steps.
.. note:: .. danger::
Since the underlying physics engine in Isaac Sim does not separate the kinematics forwarding and dynamics stepping, Since the underlying physics engine in Isaac Sim does not separate the kinematics forwarding and dynamics stepping,
the robot's state does not take into affect until after stepping the simulation. the robot's state does not take into affect until after stepping the simulation.
......
...@@ -33,6 +33,7 @@ class RewardManager: ...@@ -33,6 +33,7 @@ class RewardManager:
as kernel parameters. as kernel parameters.
.. note:: .. note::
The reward manager multiplies the reward terms by the ``weight`` key in the configuration The reward manager multiplies the reward terms by the ``weight`` key in the configuration
dictionary with the time-step interval ``dt`` of the environment. This is done to ensure dictionary with the time-step interval ``dt`` of the environment. This is done to ensure
that the computed reward terms are balanced with respect to the chosen time-step interval. that the computed reward terms are balanced with respect to the chosen time-step interval.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment