From cea55bbd03e909e97d50a6e023c571c3ed12d576 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:37:16 +0300 Subject: [PATCH 001/139] Added /docs and readthedocs.yaml --- .readthedocs.yaml | 31 +++++++++++++++++++++ docs/Makefile | 20 ++++++++++++++ docs/api.rst | 7 +++++ docs/conf.py | 63 +++++++++++++++++++++++++++++++++++++++++++ docs/index.rst | 25 +++++++++++++++++ docs/make.bat | 35 ++++++++++++++++++++++++ docs/requirements.in | 2 ++ docs/requirements.txt | 58 +++++++++++++++++++++++++++++++++++++++ docs/usage.rst | 34 +++++++++++++++++++++++ 9 files changed, 275 insertions(+) create mode 100644 .readthedocs.yaml create mode 100644 docs/Makefile create mode 100644 docs/api.rst create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 docs/make.bat create mode 100644 docs/requirements.in create mode 100644 docs/requirements.txt create mode 100644 docs/usage.rst diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..44ee2f7 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,31 @@ +# .readthedocs.yaml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.10" + # You can also specify other tool versions: + # nodejs: "16" + # rust: "1.55" + # golang: "1.17" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/conf.py + +# If using Sphinx, optionally build your docs in additional formats such as PDF +# formats: +# - pdf + +# Optionally declare the Python requirements required to build your docs +python: + install: + - requirements: docs/requirements.txt + - method: pip + path: . diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 0000000..d4bb2cb --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/api.rst b/docs/api.rst new file mode 100644 index 0000000..ec94338 --- /dev/null +++ b/docs/api.rst @@ -0,0 +1,7 @@ +API +=== + +.. autosummary:: + :toctree: generated + + lumache diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..750bff1 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,63 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +# import os +# import sys +# sys.path.insert(0, os.path.abspath('.')) + + +# -- Project information ----------------------------------------------------- + +project = "Basic Sphinx Example Project" +copyright = "2022, Read the Docs core team" +author = "Read the Docs core team" + + +# -- General configuration --------------------------------------------------- +# -- General configuration + +extensions = [ + "sphinx.ext.duration", + "sphinx.ext.doctest", + "sphinx.ext.autodoc", + "sphinx.ext.autosummary", + "sphinx.ext.intersphinx", +] + +intersphinx_mapping = { + "rtd": ("https://docs.readthedocs.io/en/stable/", None), + "python": ("https://docs.python.org/3/", None), + "sphinx": ("https://www.sphinx-doc.org/en/master/", None), +} +intersphinx_disabled_domains = ["std"] + +templates_path = ["_templates"] + +# -- Options for EPUB output +epub_show_urls = "footnote" + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = "sphinx_rtd_theme" + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ["_static"] diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..0d9ef1d --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,25 @@ +.. include:: ../README.rst + +Welcome to Lumache's documentation! +=================================== + +**Lumache** (/lu'make/) is a Python library for cooks and food lovers +that creates recipes mixing random ingredients. +It pulls data from the `Open Food Facts database `_ +and offers a *simple* and *intuitive* API. + +Check out the :doc:`usage` section for further information, including +how to :ref:`installation` the project. + +.. note:: + + This project is under active development. + +Contents +-------- + +.. toctree:: + + Home + usage + api diff --git a/docs/make.bat b/docs/make.bat new file mode 100644 index 0000000..954237b --- /dev/null +++ b/docs/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.https://www.sphinx-doc.org/ + exit /b 1 +) + +if "%1" == "" goto help + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/docs/requirements.in b/docs/requirements.in new file mode 100644 index 0000000..acbc25d --- /dev/null +++ b/docs/requirements.in @@ -0,0 +1,2 @@ +Sphinx>=5,<6 +sphinx_rtd_theme diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..c95df4d --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,58 @@ +# +# This file is autogenerated by pip-compile with python 3.10 +# To update, run: +# +# pip-compile docs/requirements.in +# +alabaster==0.7.12 + # via sphinx +babel==2.10.3 + # via sphinx +certifi==2022.6.15 + # via requests +charset-normalizer==2.1.0 + # via requests +docutils==0.17.1 + # via + # sphinx + # sphinx-rtd-theme +idna==3.3 + # via requests +imagesize==1.4.1 + # via sphinx +jinja2==3.1.2 + # via sphinx +markupsafe==2.1.1 + # via jinja2 +packaging==21.3 + # via sphinx +pygments==2.12.0 + # via sphinx +pyparsing==3.0.9 + # via packaging +pytz==2022.1 + # via babel +requests==2.28.1 + # via sphinx +snowballstemmer==2.2.0 + # via sphinx +sphinx==5.0.2 + # via + # -r docs/requirements.in + # sphinx-rtd-theme +sphinx-rtd-theme==1.0.0 + # via -r docs/requirements.in +sphinxcontrib-applehelp==1.0.2 + # via sphinx +sphinxcontrib-devhelp==1.0.2 + # via sphinx +sphinxcontrib-htmlhelp==2.0.0 + # via sphinx +sphinxcontrib-jsmath==1.0.1 + # via sphinx +sphinxcontrib-qthelp==1.0.3 + # via sphinx +sphinxcontrib-serializinghtml==1.1.5 + # via sphinx +urllib3==1.26.9 + # via requests diff --git a/docs/usage.rst b/docs/usage.rst new file mode 100644 index 0000000..924afcf --- /dev/null +++ b/docs/usage.rst @@ -0,0 +1,34 @@ +Usage +===== + +.. _installation: + +Installation +------------ + +To use Lumache, first install it using pip: + +.. code-block:: console + + (.venv) $ pip install lumache + +Creating recipes +---------------- + +To retrieve a list of random ingredients, +you can use the ``lumache.get_random_ingredients()`` function: + +.. autofunction:: lumache.get_random_ingredients + +The ``kind`` parameter should be either ``"meat"``, ``"fish"``, +or ``"veggies"``. Otherwise, :py:func:`lumache.get_random_ingredients` +will raise an exception. + +.. autoexception:: lumache.InvalidKindError + +For example: + +>>> import lumache +>>> lumache.get_random_ingredients() +['shells', 'gorgonzola', 'parsley'] + From 0051e12c24c71bac2de5de6a3eb450b62d8eb6e6 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:40:59 +0300 Subject: [PATCH 002/139] Added setuptools strict version --- docs/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index c95df4d..ce6869f 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -56,3 +56,4 @@ sphinxcontrib-serializinghtml==1.1.5 # via sphinx urllib3==1.26.9 # via requests +setuptools==65.5.0 From 0a82f13e05652bd7f4f002e079d4502742e8bc24 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 13:44:26 +0300 Subject: [PATCH 003/139] Added documentation build status badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cf16e9..c66bc31 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![Version](https://img.shields.io/pypi/v/deepbots?color=green)](https://pypi.org/project/deepbots/) [![Dev Version](https://img.shields.io/github/v/tag/aidudezzz/deepbots?include_prereleases&label=test-pypi&color=green)](https://test.pypi.org/project/deepbots/) +[![Documentation Status](https://readthedocs.org/projects/deepbots/badge/?version=latest)](https://deepbots.readthedocs.io/en/latest/?badge=latest) [![Downloads](https://static.pepy.tech/personalized-badge/deepbots?period=total&units=international_system&left_color=grey&right_color=green&left_text=Downloads)](https://pepy.tech/project/deepbots) [![License](https://img.shields.io/github/license/aidudezzz/deepbots?color=green)](https://github.com/aidudezzz/deepbots/blob/dev/LICENSE) [![All Contributors](https://img.shields.io/badge/all_contributors-6-orange.svg?style=flat-square)](#contributors-) From d199b61223652192867bdf1f49869a69f5c1f67a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:00:38 +0300 Subject: [PATCH 004/139] Various updates --- docs/api.rst | 6 +++--- docs/conf.py | 6 +++--- docs/index.rst | 9 +++------ docs/usage.rst | 4 ++-- pyproject.toml | 4 ++++ 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/docs/api.rst b/docs/api.rst index ec94338..8828078 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -1,7 +1,7 @@ -API -=== +TODO +==== .. autosummary:: :toctree: generated - lumache + deepbots diff --git a/docs/conf.py b/docs/conf.py index 750bff1..6e27274 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,9 +17,9 @@ # -- Project information ----------------------------------------------------- -project = "Basic Sphinx Example Project" -copyright = "2022, Read the Docs core team" -author = "Read the Docs core team" +project = "deepbots" +copyright = "GNU General Public License v3.0" +author = "aidudezzz" # -- General configuration --------------------------------------------------- diff --git a/docs/index.rst b/docs/index.rst index 0d9ef1d..8d35eca 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,19 +1,16 @@ .. include:: ../README.rst -Welcome to Lumache's documentation! +Welcome to *deepbots*' documentation! =================================== -**Lumache** (/lu'make/) is a Python library for cooks and food lovers -that creates recipes mixing random ingredients. -It pulls data from the `Open Food Facts database `_ -and offers a *simple* and *intuitive* API. +**Deepbots** TODO description Check out the :doc:`usage` section for further information, including how to :ref:`installation` the project. .. note:: - This project is under active development. +.. This project is under active development. Contents -------- diff --git a/docs/usage.rst b/docs/usage.rst index 924afcf..ae66f97 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -1,5 +1,5 @@ -Usage -===== +TODO +==== .. _installation: diff --git a/pyproject.toml b/pyproject.toml index 2beee6a..fd0bfad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,6 +2,10 @@ requires = ["setuptools==65.5.0", "wheel"] build-backend = "setuptools.build_meta" +[project] +name = "deepbots" +authors = [{name = "aidudezzz", email = "deepbots@protonmail.com"}] +dynamic = ["version", "description"] [tool.black] line-length = 79 From 5242b55b9b3ac5d73ed24e34bc5cf7d2a87b6c8b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:18:01 +0300 Subject: [PATCH 005/139] Updated main readme and moved how-it-works temporarily to how-it-works.rst --- README.md | 170 ++++-------------------------------------- docs/how-it-works.rst | 147 ++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 156 deletions(-) create mode 100644 docs/how-it-works.rst diff --git a/README.md b/README.md index c66bc31..2add33f 100644 --- a/README.md +++ b/README.md @@ -11,11 +11,12 @@ Deepbots is a simple framework which is used as "middleware" between the free and open-source [Cyberbotics' Webots](https://cyberbotics.com/) robot simulator -and Reinforcement Learning algorithms. When it comes to Reinforcement Learning -the [OpenAI gym](https://gym.openai.com/) environment has been established as -the most used interface between the actual application and the RL algorithm. -Deepbots is a framework which follows the OpenAI gym environment interface -logic in order to be used by Webots applications. +and Reinforcement Learning (RL) algorithms. When it comes to RL, +[gym](https://www.gymlibrary.dev/) environments have been established +as the most used interface between the actual application and the RL algorithm. +Deepbots is a framework which follows the gym interface logic and bridges the +gap between the gym environment and the simulator to enable you to easily +create custom RL environments in Webots. ## Installation @@ -29,7 +30,7 @@ logic in order to be used by Webots applications. refer to [Using Python](https://cyberbotics.com/doc/guide/using-python#introduction) to select the proper Python version for your system) -3. Follow the [Using Python](https://cyberbotics.com/doc/guide/using-python) +3. Refer to the [Using Python](https://cyberbotics.com/doc/guide/using-python) guide provided by Webots 4. Webots provides a basic code editor, but if you want to use [PyCharm](https://www.jetbrains.com/pycharm/) as your IDE refer to @@ -39,8 +40,10 @@ logic in order to be used by Webots applications. You will probably also need a backend library to implement the neural networks, such as [PyTorch](https://pytorch.org/) or [TensorFlow](https://www.tensorflow.org/). Deepbots interfaces with RL agents -using the OpenAI gym logic, so it can work with any backend library you choose -to implement the agent with and any agent that already works with gym. +using the gym logic, so it can work with any backend library you choose +to implement the agent with and any agent that already works with gym, such +as [stable-baselines3](https://github.com/DLR-RM/stable-baselines3) +implementations. ### Install deepbots @@ -49,6 +52,9 @@ Deepbots can be installed through the package installer `pip install deepbots` +If you encounter [this](https://github.com/aidudezzz/deepbots/issues/143) +issue please use `pip install setuptools==65.5.0` before installing deepbots. + ## Official resources - On @@ -80,154 +86,6 @@ https://link.springer.com/chapter/10.1007/978-3-030-49186-4_6 ``` -## How it works - -First of all let's set up a simple glossary: - -- `World`: Webots uses a tree structure to represent the different entities in - the scene. The World is the root entity which contains all the - entities/nodes. For example, the world contains the Supervisor and Robot - entities as well as other objects which might be included in the scene. - -- `Supervisor`: The Supervisor is an entity which has access to all other - entities of the world, while having no physical presence in it. For example, - the Supervisor knows the exact position of all the entities of the world and - can manipulate them. Additionally, the Supervisor has the Supervisor - Controller as one of its child nodes. - -- `Supervisor Controller`: The Supervisor Controller is a python script which - is responsible for the Supervisor. For example, in the Supervisor Controller - script the distance between two entities in the world can be calculated. - -- `Robot`: The Robot is an entity that represents a robot in the world. It - might have sensors and other active components, like motors, etc. as child - entities. Also, one of its children is the Robot Controller. For example, - [epuck](https://cyberbotics.com/doc/guide/epuck) and - [TIAGo](https://cyberbotics.com/doc/guide/tiago-iron) are robots. - -- `Robot Controller`: The Robot Controller is a python script which is - responsible for the Robot's movement and sensors. With the Robot Controller - it is possible to observe the world and act accordingly. -- `Environment`: The Environment is the interface as described by the OpenAI - gym. The Environment interface has the following methods: - - - `get_observations()`: Return the observations of the robot. For example, - metrics from sensors, a camera image etc. - - - step(action): Each timestep, the agent chooses an action, and the - environment returns the observation, the reward and the state of the - problem (done or not). - - - `get_reward(action)`: The reward the agent receives as a result of their - action. - - `is_done()`: Whether it’s time to reset the environment. Most (but not all) - tasks are divided up into well-defined episodes, and done being True - indicates the episode has terminated. For example, if a robot has the task - to reach a goal, then the done condition might happen when the robot - "touches" the goal. - - `reset()`: Used to reset the world to the initial state. - -In order to set up a task in Deepbots it is necessary to understand the -intention of the OpenAI gym environment. According to the OpenAI gym -documentation, the framework follows the classic “agent-environment loop”. -"Each timestep, the agent chooses an `action`, and the environment returns an -`observation` and a `reward`. The process gets started by calling `reset()`, -which returns an initial `observation`." - -

- -

- -Deepbots follows this exact agent-environment loop with the only difference -being that the agent, which is responsible to choose an action, runs on the -Supervisor and the observations are acquired by the robot. The goal of the -deepbots framework is to hide this communication from the user, especially from -those who are familiar with the OpenAI gym environment. More specifically, -`SupervisorEnv` is the interface which is used by the Reinforcement Learning -algorithms and follows the OpenAI Gym environment logic. The Deepbots framework -provides different levels of abstraction according to the user's needs. -Moreover, a goal of the framework is to provide different wrappers for a wide -range of robots. - -Deepbots also provides a default implementation of the `reset()` method, -leveraging Webots' built-in simulation reset functions, removing the need for -the user to implement reset procedures for simpler use-cases. It is always -possible to override this method and implement any custom reset procedure, as -needed. - -#### Emitter - receiver scheme - -Currently, the communication between the `Supervisor` and the `Robot` is -achieved via an `emitter` and a `receiver`. Separating the `Supervisor` from -the `Robot`, deepbots can fit a variety of use-cases, e.g. multiple `Robots` -collecting experience and a `Supervisor` controlling them with a single agent. -The way Webots implements `emitter`/`receiver` communication requires messages -to be packed and unpacked, which introduces an overhead that becomes -prohibiting in use-cases where the observations are high-dimensional or long, -such as camera images. Deepbots provides another partially abstract class that -combines the `Supervisor` and the `Robot` into one controller and circumvents -that issue, while being less flexible, which is discussed -[later](#combined-robot-supervisor-scheme). - -

- -

- -On one hand, the `emitter` is an entity which is provided by Webots, that -broadcasts messages to the world. On the other hand, the `receiver` is an -entity that is used to receive messages from the `World`. Consequently, the -agent-environment loop is transformed accordingly. Firstly, the `Robot` uses -its sensors to retrieve the observation from the `World` and in turn uses the -`emitter` component to broadcast this observation. Secondly, the `Supervisor` -receives the observation via the `receiver` component and in turn, the agent -uses it to choose an action. It should be noted that the observation the agent -uses might be extended from the `Supervisor`. For example, a model might use -LiDAR sensors installed on the `Robot`, but also the Euclidean distance between -the `Robot` and an object. As it is expected, the `Robot` does not know the -Euclidean distance, only the `Supervisor` can calculate it, because it has -access to all entities in the `World`. - -You can follow the -[emitter-receiver scheme tutorial](https://github.com/aidudezzz/deepbots-tutorials/blob/master/emitterReceiverSchemeTutorial/README.md) -to get started and work your way up from there. - -

- -

- -#### Combined Robot-Supervisor scheme - -As mentioned earlier, in use-cases where the observation transmitted between -the `Robot` and the `Supervisor` is high-dimensional or long, e.g. high -resolution images taken from a camera, a significant overhead is introduced. -This is circumvented by inheriting and implementing the partially abstract -`RobotSupervisor` that combines the `Robot controller` and the -`Supervisor Controller` into one, forgoing all `emitter`/`receiver` -communication. This new controller runs on the `Robot`, but requires -`Supervisor` privileges and is limited to one `Robot`, one `Supervisor`. - -You can follow the -[robot-supervisor scheme tutorial](https://github.com/aidudezzz/deepbots-tutorials/tree/master/robotSupervisorSchemeTutorial) -to get started and work your way up from there. We recommended this -tutorial to get started with deepbots. - -### Abstraction Levels - -The deepbots framework has been created mostly for educational purposes. The -aim of the framework is to enable people to use Reinforcement Learning in -Webots. More specifically, we can consider deepbots as a wrapper of Webots -exposing an OpenAI gym style interface. For this reason there are multiple -levels of abstraction. For example, a user can choose if they want to use CSV -`emitter`/`receiver` or if they want to make an implementation from scratch. In -the top level of the abstraction hierarchy is the `SupervisorEnv` which is the -OpenAI gym interface. Below that level there are partially implemented classes -with common functionality. These implementations aim to hide the communication -between the `Supervisor` and the `Robot`, as described in the two different -schemes ealier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also -has different abstraction levels. According to their needs, users can choose -either to process the messages received from the `Supervisor` themselves or use -the existing implementations. - ### Acknowledgments This project has received funding from the European Union's Horizon 2020 diff --git a/docs/how-it-works.rst b/docs/how-it-works.rst new file mode 100644 index 0000000..5685093 --- /dev/null +++ b/docs/how-it-works.rst @@ -0,0 +1,147 @@ +## How it works + +First of all let's set up a simple glossary: + +- `World`: Webots uses a tree structure to represent the different entities in + the scene. The World is the root entity which contains all the + entities/nodes. For example, the world contains the Supervisor and Robot + entities as well as other objects which might be included in the scene. + +- `Supervisor`: The Supervisor is an entity which has access to all other + entities of the world, while having no physical presence in it. For example, + the Supervisor knows the exact position of all the entities of the world and + can manipulate them. Additionally, the Supervisor has the Supervisor + Controller as one of its child nodes. + +- `Supervisor Controller`: The Supervisor Controller is a python script which + is responsible for the Supervisor. For example, in the Supervisor Controller + script the distance between two entities in the world can be calculated. + +- `Robot`: The Robot is an entity that represents a robot in the world. It + might have sensors and other active components, like motors, etc. as child + entities. Also, one of its children is the Robot Controller. For example, + [epuck](https://cyberbotics.com/doc/guide/epuck) and + [TIAGo](https://cyberbotics.com/doc/guide/tiago-iron) are robots. + +- `Robot Controller`: The Robot Controller is a python script which is + responsible for the Robot's movement and sensors. With the Robot Controller + it is possible to observe the world and act accordingly. +- `Environment`: The Environment is the interface as described by the OpenAI + gym. The Environment interface has the following methods: + + - `get_observations()`: Return the observations of the robot. For example, + metrics from sensors, a camera image etc. + + - step(action): Each timestep, the agent chooses an action, and the + environment returns the observation, the reward and the state of the + problem (done or not). + + - `get_reward(action)`: The reward the agent receives as a result of their + action. + - `is_done()`: Whether it’s time to reset the environment. Most (but not all) + tasks are divided up into well-defined episodes, and done being True + indicates the episode has terminated. For example, if a robot has the task + to reach a goal, then the done condition might happen when the robot + "touches" the goal. + - `reset()`: Used to reset the world to the initial state. + +In order to set up a task in Deepbots it is necessary to understand the +intention of the OpenAI gym environment. According to the OpenAI gym +documentation, the framework follows the classic “agent-environment loop”. +"Each timestep, the agent chooses an `action`, and the environment returns an +`observation` and a `reward`. The process gets started by calling `reset()`, +which returns an initial `observation`." + +

+ +

+ +Deepbots follows this exact agent-environment loop with the only difference +being that the agent, which is responsible to choose an action, runs on the +Supervisor and the observations are acquired by the robot. The goal of the +deepbots framework is to hide this communication from the user, especially from +those who are familiar with the OpenAI gym environment. More specifically, +`SupervisorEnv` is the interface which is used by the Reinforcement Learning +algorithms and follows the OpenAI Gym environment logic. The Deepbots framework +provides different levels of abstraction according to the user's needs. +Moreover, a goal of the framework is to provide different wrappers for a wide +range of robots. + +Deepbots also provides a default implementation of the `reset()` method, +leveraging Webots' built-in simulation reset functions, removing the need for +the user to implement reset procedures for simpler use-cases. It is always +possible to override this method and implement any custom reset procedure, as +needed. + +#### Emitter - receiver scheme + +Currently, the communication between the `Supervisor` and the `Robot` is +achieved via an `emitter` and a `receiver`. Separating the `Supervisor` from +the `Robot`, deepbots can fit a variety of use-cases, e.g. multiple `Robots` +collecting experience and a `Supervisor` controlling them with a single agent. +The way Webots implements `emitter`/`receiver` communication requires messages +to be packed and unpacked, which introduces an overhead that becomes +prohibiting in use-cases where the observations are high-dimensional or long, +such as camera images. Deepbots provides another partially abstract class that +combines the `Supervisor` and the `Robot` into one controller and circumvents +that issue, while being less flexible, which is discussed +[later](#combined-robot-supervisor-scheme). + +

+ +

+ +On one hand, the `emitter` is an entity which is provided by Webots, that +broadcasts messages to the world. On the other hand, the `receiver` is an +entity that is used to receive messages from the `World`. Consequently, the +agent-environment loop is transformed accordingly. Firstly, the `Robot` uses +its sensors to retrieve the observation from the `World` and in turn uses the +`emitter` component to broadcast this observation. Secondly, the `Supervisor` +receives the observation via the `receiver` component and in turn, the agent +uses it to choose an action. It should be noted that the observation the agent +uses might be extended from the `Supervisor`. For example, a model might use +LiDAR sensors installed on the `Robot`, but also the Euclidean distance between +the `Robot` and an object. As it is expected, the `Robot` does not know the +Euclidean distance, only the `Supervisor` can calculate it, because it has +access to all entities in the `World`. + +You can follow the +[emitter-receiver scheme tutorial](https://github.com/aidudezzz/deepbots-tutorials/blob/master/emitterReceiverSchemeTutorial/README.md) +to get started and work your way up from there. + +

+ +

+ +#### Combined Robot-Supervisor scheme + +As mentioned earlier, in use-cases where the observation transmitted between +the `Robot` and the `Supervisor` is high-dimensional or long, e.g. high +resolution images taken from a camera, a significant overhead is introduced. +This is circumvented by inheriting and implementing the partially abstract +`RobotSupervisor` that combines the `Robot controller` and the +`Supervisor Controller` into one, forgoing all `emitter`/`receiver` +communication. This new controller runs on the `Robot`, but requires +`Supervisor` privileges and is limited to one `Robot`, one `Supervisor`. + +You can follow the +[robot-supervisor scheme tutorial](https://github.com/aidudezzz/deepbots-tutorials/tree/master/robotSupervisorSchemeTutorial) +to get started and work your way up from there. We recommended this +tutorial to get started with deepbots. + +### Abstraction Levels + +The deepbots framework has been created mostly for educational purposes. The +aim of the framework is to enable people to use Reinforcement Learning in +Webots. More specifically, we can consider deepbots as a wrapper of Webots +exposing an OpenAI gym style interface. For this reason there are multiple +levels of abstraction. For example, a user can choose if they want to use CSV +`emitter`/`receiver` or if they want to make an implementation from scratch. In +the top level of the abstraction hierarchy is the `SupervisorEnv` which is the +OpenAI gym interface. Below that level there are partially implemented classes +with common functionality. These implementations aim to hide the communication +between the `Supervisor` and the `Robot`, as described in the two different +schemes ealier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also +has different abstraction levels. According to their needs, users can choose +either to process the messages received from the `Supervisor` themselves or use +the existing implementations. \ No newline at end of file From 04378ce301984324e688f441f3575e80d6f40124 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 14:34:27 +0300 Subject: [PATCH 006/139] Uncommented autodoc stuff to test --- docs/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 6e27274..c983231 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,9 +10,9 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -# import os -# import sys -# sys.path.insert(0, os.path.abspath('.')) +import os +import sys +sys.path.insert(0, os.path.abspath('../deepbots/')) # -- Project information ----------------------------------------------------- From c08d7415e1d3ca1f16f0d56735b38f82772e3004 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:34:49 +0300 Subject: [PATCH 007/139] Added fail on warning --- .readthedocs.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 44ee2f7..e6e5bf1 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -18,6 +18,7 @@ build: # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py + fail_on_warning: true # If using Sphinx, optionally build your docs in additional formats such as PDF # formats: From 2f97ac155afebfe35fa4982693e4c9dd32dee46e Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:41:17 +0300 Subject: [PATCH 008/139] Removed include readme rst --- docs/index.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 8d35eca..b283f3e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,3 @@ -.. include:: ../README.rst - Welcome to *deepbots*' documentation! =================================== From 2c176b85a6d86a3dad6ae67d5931c5dc23fdd85f Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:42:40 +0300 Subject: [PATCH 009/139] Removed references to lumache code --- docs/usage.rst | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/docs/usage.rst b/docs/usage.rst index ae66f97..df5ccdd 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -11,24 +11,3 @@ To use Lumache, first install it using pip: .. code-block:: console (.venv) $ pip install lumache - -Creating recipes ----------------- - -To retrieve a list of random ingredients, -you can use the ``lumache.get_random_ingredients()`` function: - -.. autofunction:: lumache.get_random_ingredients - -The ``kind`` parameter should be either ``"meat"``, ``"fish"``, -or ``"veggies"``. Otherwise, :py:func:`lumache.get_random_ingredients` -will raise an exception. - -.. autoexception:: lumache.InvalidKindError - -For example: - ->>> import lumache ->>> lumache.get_random_ingredients() -['shells', 'gorgonzola', 'parsley'] - From b3cd57f5cac17ce6a9c77e5d2b0f9c748d6ef614 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:45:22 +0300 Subject: [PATCH 010/139] Renamed how-it-works to md --- docs/{how-it-works.rst => how-it-works.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{how-it-works.rst => how-it-works.md} (100%) diff --git a/docs/how-it-works.rst b/docs/how-it-works.md similarity index 100% rename from docs/how-it-works.rst rename to docs/how-it-works.md From 7247dbd39c6946659d817f3d314b3daf65d02728 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:45:29 +0300 Subject: [PATCH 011/139] Fixed index header --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index b283f3e..53e6e6b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ Welcome to *deepbots*' documentation! -=================================== +===================================== **Deepbots** TODO description From 30fb89075c09c71773b690a862c273137f1b6d8e Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:47:43 +0300 Subject: [PATCH 012/139] Removed _static path --- docs/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index c983231..6759cda 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -60,4 +60,5 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] +#html_static_path = ["_static"] +html_static_path = [] From 3c501a4d16b7bfbef1748a5b88e4ff293f52447d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:51:29 +0300 Subject: [PATCH 013/139] Emphasis on what deepbots is --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2add33f..2f3a55f 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,10 @@ and open-source [Cyberbotics' Webots](https://cyberbotics.com/) robot simulator and Reinforcement Learning (RL) algorithms. When it comes to RL, [gym](https://www.gymlibrary.dev/) environments have been established as the most used interface between the actual application and the RL algorithm. -Deepbots is a framework which follows the gym interface logic and bridges the + +**Deepbots is a framework which follows the gym interface logic and bridges the gap between the gym environment and the simulator to enable you to easily -create custom RL environments in Webots. +create custom RL environments in Webots.** ## Installation From 412aef587409599cc89ce97c093463582ab86508 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 15:51:35 +0300 Subject: [PATCH 014/139] Fixed note --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 53e6e6b..edc5c5b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -8,7 +8,7 @@ how to :ref:`installation` the project. .. note:: -.. This project is under active development. + The documentation site is under active development. Contents -------- From f9166d7b080e58f58a9b1d79afa6416227c9b8ca Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:04:55 +0300 Subject: [PATCH 015/139] Added project requirements --- docs/requirements.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/requirements.txt b/docs/requirements.txt index ce6869f..8d3e5a0 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -57,3 +57,6 @@ sphinxcontrib-serializinghtml==1.1.5 urllib3==1.26.9 # via requests setuptools==65.5.0 +gym==0.21 +tensorboardX + From 6c6fde73b106521edb7a161a31cd19c511f947c6 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:37:54 +0300 Subject: [PATCH 016/139] Testing requirements --- .readthedocs.yaml | 2 +- docs/requirements.txt | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e6e5bf1..d52b073 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -27,6 +27,6 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: docs/requirements.txt + - requirements: docs/requirements.txt, requirements.txt - method: pip path: . diff --git a/docs/requirements.txt b/docs/requirements.txt index 8d3e5a0..f047121 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -57,6 +57,4 @@ sphinxcontrib-serializinghtml==1.1.5 urllib3==1.26.9 # via requests setuptools==65.5.0 -gym==0.21 -tensorboardX From 4757a4b4cb001aba7af0d8bf69e448590c3f3455 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:41:41 +0300 Subject: [PATCH 017/139] Possible fix test requirements --- .readthedocs.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index d52b073..ca009ee 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -27,6 +27,7 @@ sphinx: # Optionally declare the Python requirements required to build your docs python: install: - - requirements: docs/requirements.txt, requirements.txt + - requirements: docs/requirements.txt + - requirements: requirements.txt - method: pip path: . From 909928b593b023b11b797a7e2b92d0ab11de7b3f Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:46:16 +0300 Subject: [PATCH 018/139] testing path for autodoc --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 6759cda..cae03d9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,7 +12,7 @@ # import os import sys -sys.path.insert(0, os.path.abspath('../deepbots/')) +sys.path.insert(0, os.path.abspath('..')) # -- Project information ----------------------------------------------------- From e2ec5fe24531258d1568205485ff630ec3ff2d05 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:50:32 +0300 Subject: [PATCH 019/139] added extensions --- docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index cae03d9..52215cc 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -31,6 +31,8 @@ "sphinx.ext.autodoc", "sphinx.ext.autosummary", "sphinx.ext.intersphinx", + "sphinx.ext.coverage", + "sphinx.ext.napoleon", ] intersphinx_mapping = { From c524f3ae75a06dbff0ea29abe63c141a3f40954a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:53:37 +0300 Subject: [PATCH 020/139] Trying new index --- docs/index.rst | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index edc5c5b..e8382b1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,8 +13,16 @@ how to :ref:`installation` the project. Contents -------- +.. automodule:: my_project.main + :members: + .. toctree:: + :maxdepth: 2 + :caption: Contents: + +Indices and tables +================== - Home - usage - api +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` From 32dc031a430833ac8577508ccb307898768f1c3c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 16:56:23 +0300 Subject: [PATCH 021/139] fixed automodule --- docs/conf.py | 2 -- docs/index.rst | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 52215cc..cae03d9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -31,8 +31,6 @@ "sphinx.ext.autodoc", "sphinx.ext.autosummary", "sphinx.ext.intersphinx", - "sphinx.ext.coverage", - "sphinx.ext.napoleon", ] intersphinx_mapping = { diff --git a/docs/index.rst b/docs/index.rst index e8382b1..0eef5ef 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,7 +13,7 @@ how to :ref:`installation` the project. Contents -------- -.. automodule:: my_project.main +.. automodule:: deepbots :members: .. toctree:: From f5ce1039dc11a0eeb1d66cb2ff640a12fdae9e4f Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:01:30 +0300 Subject: [PATCH 022/139] renamed api and usage to not use --- docs/{api.rst => api.md} | 0 docs/{usage.rst => usage.md} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename docs/{api.rst => api.md} (100%) rename docs/{usage.rst => usage.md} (100%) diff --git a/docs/api.rst b/docs/api.md similarity index 100% rename from docs/api.rst rename to docs/api.md diff --git a/docs/usage.rst b/docs/usage.md similarity index 100% rename from docs/usage.rst rename to docs/usage.md From 980704f79f00c14cbc5c82ce703ade32af6c2fb0 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:03:05 +0300 Subject: [PATCH 023/139] Removed references to usage and installation --- docs/index.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 0eef5ef..c5fc17f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,9 +3,6 @@ Welcome to *deepbots*' documentation! **Deepbots** TODO description -Check out the :doc:`usage` section for further information, including -how to :ref:`installation` the project. - .. note:: The documentation site is under active development. From 19c3bfd547145979a16f7863cd167177b4ea3d75 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:09:37 +0300 Subject: [PATCH 024/139] Testing accurate paths for automodule --- docs/index.rst | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index c5fc17f..17a0d4f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,16 +10,12 @@ Welcome to *deepbots*' documentation! Contents -------- -.. automodule:: deepbots +.. automodule:: deepbots.robots.__init__.py + :members: + +.. automodule:: deepbots.supervisor.__init__.py :members: .. toctree:: :maxdepth: 2 :caption: Contents: - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` From 12be41448a88d416e46387e5a47c912f4e1a6e1d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:16:43 +0300 Subject: [PATCH 025/139] added autodock mock import controller --- docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index cae03d9..58e393a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -50,6 +50,8 @@ # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] +autodoc_mock_imports = ["controller"] + # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for From 421fdd691cf67e57bc8e970e7e747e1f0129c48c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:18:58 +0300 Subject: [PATCH 026/139] fixed automodule path --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 17a0d4f..475f13e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,10 +10,10 @@ Welcome to *deepbots*' documentation! Contents -------- -.. automodule:: deepbots.robots.__init__.py +.. automodule:: deepbots.robots :members: -.. automodule:: deepbots.supervisor.__init__.py +.. automodule:: deepbots.supervisor :members: .. toctree:: From e4250b4d6381bec997b6ca3da5c4a1ddaf76bac3 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:21:32 +0300 Subject: [PATCH 027/139] More fixes --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 475f13e..e57328c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,10 +10,10 @@ Welcome to *deepbots*' documentation! Contents -------- -.. automodule:: deepbots.robots +.. automodule:: deepbots.robots.__init__ :members: -.. automodule:: deepbots.supervisor +.. automodule:: deepbots.supervisor.__init__ :members: .. toctree:: From 935852f847b8858195e8147f143d7765a26835f9 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:29:08 +0300 Subject: [PATCH 028/139] Trying something --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index e57328c..a2ed325 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,10 +10,10 @@ Welcome to *deepbots*' documentation! Contents -------- -.. automodule:: deepbots.robots.__init__ +.. automodule:: deepbots.robots.controllers.csv_robot :members: -.. automodule:: deepbots.supervisor.__init__ +.. automodule:: deepbots.robots.controllers.emitter_receiver_robot :members: .. toctree:: From 3f8996f29fb209661d2c32b8b55762a8e0ad4ff7 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:31:17 +0300 Subject: [PATCH 029/139] Previous direct import of .py files worked, trying imported-members --- docs/index.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index a2ed325..567f719 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,11 +10,13 @@ Welcome to *deepbots*' documentation! Contents -------- -.. automodule:: deepbots.robots.controllers.csv_robot +.. automodule:: deepbots.robots.__init__ :members: + :imported-members: -.. automodule:: deepbots.robots.controllers.emitter_receiver_robot +.. automodule:: deepbots.supervisor.__init__ :members: + :imported-members: .. toctree:: :maxdepth: 2 From ce76db84b4961d92c332b390a07bd25f8ffa09e7 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:35:21 +0300 Subject: [PATCH 030/139] Added escape char to asterisk --- deepbots/supervisor/controllers/deepbots_supervisor_env.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deepbots/supervisor/controllers/deepbots_supervisor_env.py b/deepbots/supervisor/controllers/deepbots_supervisor_env.py index d2da665..e012816 100644 --- a/deepbots/supervisor/controllers/deepbots_supervisor_env.py +++ b/deepbots/supervisor/controllers/deepbots_supervisor_env.py @@ -50,7 +50,7 @@ def reset(self): Default, problem-agnostic, implementation of reset method, using Webots-provided methods. - *Note that this works properly only with Webots versions >R2020b + \*Note that this works properly only with Webots versions >R2020b and must be overridden with a custom reset method when using earlier versions. It is backwards compatible due to the fact that the new reset method gets overridden by whatever the user From 2a3523a4b1c69909f4d37abe8ebaa0de26e4b308 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Thu, 1 Jun 2023 17:37:46 +0300 Subject: [PATCH 031/139] Trying without init --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 567f719..107a530 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,11 +10,11 @@ Welcome to *deepbots*' documentation! Contents -------- -.. automodule:: deepbots.robots.__init__ +.. automodule:: deepbots.robots :members: :imported-members: -.. automodule:: deepbots.supervisor.__init__ +.. automodule:: deepbots.supervisor :members: :imported-members: From e20bea5ba09cbb06a97eb3dd00463d331f6eb643 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:35:28 +0300 Subject: [PATCH 032/139] Added documentation link to resources list --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2f3a55f..f62fdc1 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,8 @@ issue please use `pip install setuptools==65.5.0` before installing deepbots. - On [the deepworlds repository](https://github.com/aidudezzz/deepworlds) you can find examples of deepbots being used.
Feel free to contribute your own! +- On [the deepbots documentation site](https://deepbots.readthedocs.io/) + you can find the framework's documentation ## Citation From b80fd407dc9606bd4f25fed42849aa5843ef4074 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:45:07 +0300 Subject: [PATCH 033/139] Added proper contents index and a dummy installation.rst --- docs/index.rst | 5 +++++ docs/installation.rst | 0 2 files changed, 5 insertions(+) create mode 100644 docs/installation.rst diff --git a/docs/index.rst b/docs/index.rst index 107a530..f17979a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -10,6 +10,11 @@ Welcome to *deepbots*' documentation! Contents -------- +.. toctree:: + + Home + installation + .. automodule:: deepbots.robots :members: :imported-members: diff --git a/docs/installation.rst b/docs/installation.rst new file mode 100644 index 0000000..e69de29 From b3e6120a81c02300a20afc28a23bb2ca67537ce4 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:46:57 +0300 Subject: [PATCH 034/139] Added title to installation.rst --- docs/installation.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/installation.rst b/docs/installation.rst index e69de29..e50cd8d 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -0,0 +1,2 @@ +Installation +============ \ No newline at end of file From f71788cf5c1fa9d065ca6f7797130bfe6701dad6 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:48:45 +0300 Subject: [PATCH 035/139] Re-added usage to investigate --- docs/usage.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/usage.md b/docs/usage.md index df5ccdd..2c34e5b 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -1,5 +1,5 @@ -TODO -==== +Usage +===== .. _installation: From e2e1b434178c27c1f03de26d8023b938b61f1d3a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:49:09 +0300 Subject: [PATCH 036/139] Added usage to index --- docs/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.rst b/docs/index.rst index f17979a..df1a236 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -14,6 +14,7 @@ Contents Home installation + usage .. automodule:: deepbots.robots :members: From a8680cf672f0583045438f77d0818766cf296d15 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 11:50:44 +0300 Subject: [PATCH 037/139] Fixed usage file type --- docs/{usage.md => usage.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/{usage.md => usage.rst} (100%) diff --git a/docs/usage.md b/docs/usage.rst similarity index 100% rename from docs/usage.md rename to docs/usage.rst From 44890b6af36ffc5b5ed3ab439cad47d68530d0ee Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 12:50:24 +0300 Subject: [PATCH 038/139] Complete index, trying out bibtex --- docs/index.rst | 53 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index df1a236..7b48a47 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,7 +1,17 @@ Welcome to *deepbots*' documentation! ===================================== -**Deepbots** TODO description + +`Deepbots `_ is a simple framework +which is used as "middleware" between the free and open-source +`Cyberbotics' Webots `_ robot simulator +and Reinforcement Learning (RL) algorithms. When it comes to RL, +`gym `_ environments have been established +as the most used interface between the actual application and the RL algorithm. + +**Deepbots is a framework which follows the gym interface logic and bridges the +gap between the gym environment and the simulator to enable you to easily +create custom RL environments in Webots.** .. note:: @@ -16,6 +26,47 @@ Contents installation usage + +Official resources +------------------ + +- On + `the deepbots-tutorials repository `_ + you can find the official tutorials for deepbots +- On `the deepworlds repository `_ you + can find examples of deepbots being used.
Feel free to contribute your + own! + +Citation +________ + +Conference paper (AIAI2020): +https://link.springer.com/chapter/10.1007/978-3-030-49186-4_6 + +.. code-block:: bibtex + + @InProceedings{10.1007/978-3-030-49186-4_6, + author="Kirtas, M. + and Tsampazis, K. + and Passalis, N. + and Tefas, A.", + title="Deepbots: A Webots-Based Deep Reinforcement Learning Framework for Robotics", + booktitle="Artificial Intelligence Applications and Innovations", + year="2020", + publisher="Springer International Publishing", + address="Cham", + pages="64--75", + isbn="978-3-030-49186-4" + } + +Acknowledgments +--------------- + +This project has received funding from the European Union's Horizon 2020 +research and innovation programme under grant agreement No 871449 (OpenDR). +This publication reflects the authors’ views only. The European Commission is +not responsible for any use that may be made of the information it contains. + .. automodule:: deepbots.robots :members: :imported-members: From d4c7de56372729fe42226c3b7220e2d6a14887ed Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 12:50:36 +0300 Subject: [PATCH 039/139] Complete installation page --- docs/installation.rst | 47 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/docs/installation.rst b/docs/installation.rst index e50cd8d..6bab2b0 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,2 +1,47 @@ Installation -============ \ No newline at end of file +============ + +.. _Prerequisites: + +Prerequisites +------------- + +#. `Install Webots `_ + + * `Windows `_ + * `Linux `_ + * `macOS `_ + +#. `Install Python version 3.X `_ (please refer to + `Using Python `_ + to select the proper Python version for your system) +#. Refer to the `Using Python `_ + guide provided by Webots +#. Webots provides a basic code editor, but if you want to use + `PyCharm `_ as your IDE refer to + `using PyCharm IDE `_ + provided by Webots + +You will probably also need a backend library to implement the neural networks, +such as `PyTorch `_ or +`TensorFlow `_. Deepbots interfaces with RL agents +using the gym logic, so it can work with any backend library you choose +to implement the agent with and any agent that already works with gym, such +as `stable-baselines3 `_ +implementations. + +Install deepbots +---------------- + +Deepbots can be installed through the package installer +`pip `_ running the following command: + +.. code-block:: bash + + pip install deepbots + +If you encounter `this `_ +issue please use :code:`pip install setuptools==65.5.0` before installing deepbots. + +.. role:: bash(code) + :language: bash \ No newline at end of file From a51bfccad7d5677a18f607890cfee6373a31cb94 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:12:15 +0300 Subject: [PATCH 040/139] Added links to sections --- docs/index.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 7b48a47..c24cc34 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,4 +1,4 @@ -Welcome to *deepbots*' documentation! +Welcome to **deepbots**' documentation! ===================================== @@ -27,6 +27,8 @@ Contents usage +.. _Official resources: + Official resources ------------------ @@ -37,6 +39,8 @@ Official resources can find examples of deepbots being used.
Feel free to contribute your own! +.. _Citation: + Citation ________ From f7b2917e22bfef561843064769943f5322cc72aa Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:12:25 +0300 Subject: [PATCH 041/139] Possible fix for duplicate names in links --- docs/installation.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 6bab2b0..00d0dc1 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -13,9 +13,9 @@ Prerequisites * `macOS `_ #. `Install Python version 3.X `_ (please refer to - `Using Python `_ + `Using Python `__ to select the proper Python version for your system) -#. Refer to the `Using Python `_ +#. Refer to the `Using Python `__ guide provided by Webots #. Webots provides a basic code editor, but if you want to use `PyCharm `_ as your IDE refer to @@ -30,6 +30,9 @@ to implement the agent with and any agent that already works with gym, such as `stable-baselines3 `_ implementations. + +.. _Install deepbots: + Install deepbots ---------------- From 3cfe562c6ea276b68d902be9c6a69dbfe58fce6b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:20:44 +0300 Subject: [PATCH 042/139] Fixed title length, damn you rst! --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index c24cc34..6268143 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ Welcome to **deepbots**' documentation! -===================================== +======================================= `Deepbots `_ is a simple framework From ba622f01b4e885d8071079f9498684c5554c08e9 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:48:42 +0300 Subject: [PATCH 043/139] Trying out console after code-block, made installation issue thing a note --- docs/installation.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 00d0dc1..ab89da8 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -39,12 +39,14 @@ Install deepbots Deepbots can be installed through the package installer `pip `_ running the following command: -.. code-block:: bash +.. code-block:: console pip install deepbots -If you encounter `this `_ -issue please use :code:`pip install setuptools==65.5.0` before installing deepbots. +.. note:: + + If you encounter `this `_ + issue please use :code:`pip install setuptools==65.5.0` before installing deepbots. .. role:: bash(code) :language: bash \ No newline at end of file From 77626bf7d98c44b0cfdfba37fcf828c41c0631a9 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:48:55 +0300 Subject: [PATCH 044/139] Trying out some autosummary and automodule stuff --- docs/index.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index 6268143..867ade0 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -71,6 +71,15 @@ research and innovation programme under grant agreement No 871449 (OpenDR). This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. +.. autosummary:: + :toctree: generated + + deepbots.robots + +.. automodule:: deepbots + :members: + :imported-members: + .. automodule:: deepbots.robots :members: :imported-members: From ec88183cdae7933dae30dd2e62814c8102911fc5 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:49:10 +0300 Subject: [PATCH 045/139] Removed pages from tutorial --- docs/api.md | 7 ------- docs/usage.rst | 13 ------------- 2 files changed, 20 deletions(-) delete mode 100644 docs/api.md delete mode 100644 docs/usage.rst diff --git a/docs/api.md b/docs/api.md deleted file mode 100644 index 8828078..0000000 --- a/docs/api.md +++ /dev/null @@ -1,7 +0,0 @@ -TODO -==== - -.. autosummary:: - :toctree: generated - - deepbots diff --git a/docs/usage.rst b/docs/usage.rst deleted file mode 100644 index 2c34e5b..0000000 --- a/docs/usage.rst +++ /dev/null @@ -1,13 +0,0 @@ -Usage -===== - -.. _installation: - -Installation ------------- - -To use Lumache, first install it using pip: - -.. code-block:: console - - (.venv) $ pip install lumache From 2c4fac2fc8b85053d0d4afa3f39c9911eb81c775 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 13:53:03 +0300 Subject: [PATCH 046/139] Removed some automodule stuff for testing, and fixed usage in index --- docs/how-it-works.md | 15 ++++++++++++++- docs/index.rst | 13 ------------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/how-it-works.md b/docs/how-it-works.md index 5685093..6af2856 100644 --- a/docs/how-it-works.md +++ b/docs/how-it-works.md @@ -144,4 +144,17 @@ between the `Supervisor` and the `Robot`, as described in the two different schemes ealier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also has different abstraction levels. According to their needs, users can choose either to process the messages received from the `Supervisor` themselves or use -the existing implementations. \ No newline at end of file +the existing implementations. + + +.. automodule:: deepbots.robots + :members: + :imported-members: + +.. automodule:: deepbots.supervisor + :members: + :imported-members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 867ade0..4fd559f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -24,7 +24,6 @@ Contents Home installation - usage .. _Official resources: @@ -79,15 +78,3 @@ not responsible for any use that may be made of the information it contains. .. automodule:: deepbots :members: :imported-members: - -.. automodule:: deepbots.robots - :members: - :imported-members: - -.. automodule:: deepbots.supervisor - :members: - :imported-members: - -.. toctree:: - :maxdepth: 2 - :caption: Contents: From d6ee4f2d7f796bd3e0c3f7974badd538696ea19b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:03:03 +0300 Subject: [PATCH 047/139] Modified note for installation issue --- docs/installation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index ab89da8..4bb54b6 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -45,8 +45,8 @@ Deepbots can be installed through the package installer .. note:: - If you encounter `this `_ - issue please use :code:`pip install setuptools==65.5.0` before installing deepbots. + If you encounter `the extras_require issue `_ + please try :code:`pip install setuptools==65.5.0` before installing deepbots. .. role:: bash(code) :language: bash \ No newline at end of file From c8ed27ba626c8e657e27c66036e4bb39a35b8a7b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:05:41 +0300 Subject: [PATCH 048/139] Trying some stuff for autogeneration --- docs/how-it-works.md | 4 ++++ docs/index.rst | 5 +---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/how-it-works.md b/docs/how-it-works.md index 6af2856..abc0e61 100644 --- a/docs/how-it-works.md +++ b/docs/how-it-works.md @@ -147,6 +147,10 @@ either to process the messages received from the `Supervisor` themselves or use the existing implementations. +.. automodule:: deepbots + :members: + :imported-members: + .. automodule:: deepbots.robots :members: :imported-members: diff --git a/docs/index.rst b/docs/index.rst index 4fd559f..85f72fc 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -71,10 +71,7 @@ This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. .. autosummary:: + :recursive: :toctree: generated deepbots.robots - -.. automodule:: deepbots - :members: - :imported-members: From 24144e1b05d3f2867cea0896bb075909446c330c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:11:35 +0300 Subject: [PATCH 049/139] Added comment for mock import --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index 58e393a..935d091 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -50,6 +50,7 @@ # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] +# This is needed to ignore the webots imports "from controller..." autodoc_mock_imports = ["controller"] # -- Options for HTML output ------------------------------------------------- From e2b39f36e58b8b2c70bc8820bd1d3231624a45b7 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:11:47 +0300 Subject: [PATCH 050/139] Trying out different order in autosummary --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 85f72fc..b644f9a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -71,7 +71,7 @@ This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. .. autosummary:: - :recursive: :toctree: generated + :recursive: deepbots.robots From ffbe559bf1821d0fdb66be003de8182980b300dd Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:14:49 +0300 Subject: [PATCH 051/139] Trying with .controllers --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index b644f9a..f538bc3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -71,7 +71,7 @@ This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. .. autosummary:: - :toctree: generated :recursive: + :toctree: generated - deepbots.robots + deepbots.robots.controllers From bbaed477dde4bbb759b96fe18d99ff2d813c5a7a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:19:27 +0300 Subject: [PATCH 052/139] Trying deepbots only --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index f538bc3..b37a68b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -74,4 +74,4 @@ not responsible for any use that may be made of the information it contains. :recursive: :toctree: generated - deepbots.robots.controllers + deepbots From 799268678443677a4fafa54b48ab685471896113 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:21:28 +0300 Subject: [PATCH 053/139] Trying maxdepth and caption for toctree --- docs/index.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index b37a68b..b41952c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -73,5 +73,7 @@ not responsible for any use that may be made of the information it contains. .. autosummary:: :recursive: :toctree: generated + :maxdepth: 8 + :caption: Classes index: deepbots From 82e0eadfe9e407a410bee23061ab4b15a371137f Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:27:08 +0300 Subject: [PATCH 054/139] Removed maxdepth --- docs/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index b41952c..14dd749 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -73,7 +73,6 @@ not responsible for any use that may be made of the information it contains. .. autosummary:: :recursive: :toctree: generated - :maxdepth: 8 :caption: Classes index: deepbots From 5403a310d375c66c60ed8579389824970874bdbe Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:42:51 +0300 Subject: [PATCH 055/139] Try without toctree --- docs/index.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 14dd749..ce0dad3 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -72,7 +72,5 @@ not responsible for any use that may be made of the information it contains. .. autosummary:: :recursive: - :toctree: generated - :caption: Classes index: deepbots From 28723c27bfa23ec8ac7b2e126f75926ccf58d9ff Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:44:53 +0300 Subject: [PATCH 056/139] Try with titlesonly --- docs/index.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index ce0dad3..952043b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -72,5 +72,8 @@ not responsible for any use that may be made of the information it contains. .. autosummary:: :recursive: + :toctree: generated + :titlesonly: + :caption: Classes index: - deepbots + deepbots.robots From 76077445395ee3a6cc445ddc1b5d729a75a8f274 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:47:12 +0300 Subject: [PATCH 057/139] Trying with deepbots only --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 952043b..27d241b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -76,4 +76,4 @@ not responsible for any use that may be made of the information it contains. :titlesonly: :caption: Classes index: - deepbots.robots + deepbots From e238b60103795ebd557216b626d5bfffc39e0aad Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:48:46 +0300 Subject: [PATCH 058/139] Trying generated classes index --- docs/index.rst | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 27d241b..e2a73ce 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -70,10 +70,7 @@ research and innovation programme under grant agreement No 871449 (OpenDR). This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. -.. autosummary:: - :recursive: - :toctree: generated - :titlesonly: - :caption: Classes index: +.. toctree:: + :maxdepth: 2 - deepbots + generated_classes_index From 8043cc83d04aa6983ac9ed714d629dec8ff696fb Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 14:50:55 +0300 Subject: [PATCH 059/139] Trying simple --- docs/index.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index e2a73ce..7dad72a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -70,7 +70,8 @@ research and innovation programme under grant agreement No 871449 (OpenDR). This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. -.. toctree:: - :maxdepth: 2 +.. autosummary:: + :recursive: + :toctree: - generated_classes_index + deepbots From 172666bc9552c5954d69b3ed868c4970a693a471 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:03:00 +0300 Subject: [PATCH 060/139] Removed weird link stuff for sections and removed autosummary --- docs/index.rst | 11 ----------- docs/installation.rst | 5 ----- 2 files changed, 16 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 7dad72a..0bc1270 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,9 +25,6 @@ Contents Home installation - -.. _Official resources: - Official resources ------------------ @@ -38,8 +35,6 @@ Official resources can find examples of deepbots being used.
Feel free to contribute your own! -.. _Citation: - Citation ________ @@ -69,9 +64,3 @@ This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 871449 (OpenDR). This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. - -.. autosummary:: - :recursive: - :toctree: - - deepbots diff --git a/docs/installation.rst b/docs/installation.rst index 4bb54b6..6055734 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,8 +1,6 @@ Installation ============ -.. _Prerequisites: - Prerequisites ------------- @@ -30,9 +28,6 @@ to implement the agent with and any agent that already works with gym, such as `stable-baselines3 `_ implementations. - -.. _Install deepbots: - Install deepbots ---------------- From 03a0a77cc1ac7eb21ed489888d4993326610e7a7 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:16:40 +0300 Subject: [PATCH 061/139] Moved images to static --- {doc => docs/_static}/img/agent_env_loop.svg | 0 {doc => docs/_static}/img/deepbots_overview.png | Bin {doc => docs/_static}/img/workflow_diagram.png | Bin 3 files changed, 0 insertions(+), 0 deletions(-) rename {doc => docs/_static}/img/agent_env_loop.svg (100%) rename {doc => docs/_static}/img/deepbots_overview.png (100%) rename {doc => docs/_static}/img/workflow_diagram.png (100%) diff --git a/doc/img/agent_env_loop.svg b/docs/_static/img/agent_env_loop.svg similarity index 100% rename from doc/img/agent_env_loop.svg rename to docs/_static/img/agent_env_loop.svg diff --git a/doc/img/deepbots_overview.png b/docs/_static/img/deepbots_overview.png similarity index 100% rename from doc/img/deepbots_overview.png rename to docs/_static/img/deepbots_overview.png diff --git a/doc/img/workflow_diagram.png b/docs/_static/img/workflow_diagram.png similarity index 100% rename from doc/img/workflow_diagram.png rename to docs/_static/img/workflow_diagram.png From 4564fd049898c150430df1caf566bbc2e51f5eb8 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:21:50 +0300 Subject: [PATCH 062/139] Enabled static path --- docs/conf.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 935d091..ca3c4e4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -63,5 +63,4 @@ # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ["_static"] -html_static_path = [] +html_static_path = ["_static"] From 6d60a163e00bddacd6aa1fa2ce326e5199a1460c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:22:00 +0300 Subject: [PATCH 063/139] Testing url image --- docs/index.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index 0bc1270..3de28fa 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,6 +1,10 @@ Welcome to **deepbots**' documentation! ======================================= +.. image:: https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_full.png + :alt: Alternate text for the image + :width: 300 + :height: 200 `Deepbots `_ is a simple framework which is used as "middleware" between the free and open-source From cad799f6a143756040f9f1c6072d034462136340 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:23:52 +0300 Subject: [PATCH 064/139] Removed width height to test --- docs/index.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 3de28fa..aa6a41a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,9 +2,7 @@ Welcome to **deepbots**' documentation! ======================================= .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_full.png - :alt: Alternate text for the image - :width: 300 - :height: 200 + :alt: Deepbots logo `Deepbots `_ is a simple framework which is used as "middleware" between the free and open-source From 0eea79b848b8005a2cc017122910ecb17a106a22 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 15:26:56 +0300 Subject: [PATCH 065/139] Trying out logo --- docs/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index ca3c4e4..1c53d3f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -64,3 +64,6 @@ # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] + +html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots.png' +# html_favicon = 'favicon.ico' \ No newline at end of file From 7c0b0b19538bc290dbd97e247e027d60b9d6ddd1 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 16:17:35 +0300 Subject: [PATCH 066/139] Added favicon and smaller logo --- docs/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 1c53d3f..47cb569 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -65,5 +65,5 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] -html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots.png' -# html_favicon = 'favicon.ico' \ No newline at end of file +html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_smaller.png' +html_favicon = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/favicon.ico' \ No newline at end of file From 4fd24534ca2ce3dadc06bbfdec00967ca7e8ec6d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 16:21:35 +0300 Subject: [PATCH 067/139] Renamed logo --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 47cb569..1f3c358 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -65,5 +65,5 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] -html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_smaller.png' +html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_square_small.png' html_favicon = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/favicon.ico' \ No newline at end of file From 5cc7647baf34fdd991967ebc3e3d88a192808e78 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:02:40 +0300 Subject: [PATCH 068/139] Renamed logo --- docs/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 1f3c358..17ac241 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -65,5 +65,5 @@ # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] -html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_square_small.png' -html_favicon = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/favicon.ico' \ No newline at end of file +html_logo = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_square_smaller.png' +html_favicon = 'https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/favicon.ico' From 7315eafac2a92b9add29882fa8d3f6b41766eabc Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:11:26 +0300 Subject: [PATCH 069/139] Added autogenerated sphinx-apidoc .rst files --- docs/deepbots/deepbots.robots.controllers.rst | 29 ++++++++++++ docs/deepbots/deepbots.robots.rst | 18 ++++++++ docs/deepbots/deepbots.rst | 19 ++++++++ .../deepbots.supervisor.controllers.rst | 45 +++++++++++++++++++ docs/deepbots/deepbots.supervisor.rst | 19 ++++++++ .../deepbots/deepbots.supervisor.wrappers.rst | 29 ++++++++++++ docs/deepbots/modules.rst | 7 +++ 7 files changed, 166 insertions(+) create mode 100644 docs/deepbots/deepbots.robots.controllers.rst create mode 100644 docs/deepbots/deepbots.robots.rst create mode 100644 docs/deepbots/deepbots.rst create mode 100644 docs/deepbots/deepbots.supervisor.controllers.rst create mode 100644 docs/deepbots/deepbots.supervisor.rst create mode 100644 docs/deepbots/deepbots.supervisor.wrappers.rst create mode 100644 docs/deepbots/modules.rst diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst new file mode 100644 index 0000000..94ae06a --- /dev/null +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -0,0 +1,29 @@ +deepbots.robots.controllers package +=================================== + +Submodules +---------- + +deepbots.robots.controllers.csv\_robot module +--------------------------------------------- + +.. automodule:: deepbots.robots.controllers.csv_robot + :members: + :undoc-members: + :show-inheritance: + +deepbots.robots.controllers.emitter\_receiver\_robot module +----------------------------------------------------------- + +.. automodule:: deepbots.robots.controllers.emitter_receiver_robot + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.robots.controllers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/deepbots/deepbots.robots.rst b/docs/deepbots/deepbots.robots.rst new file mode 100644 index 0000000..491c017 --- /dev/null +++ b/docs/deepbots/deepbots.robots.rst @@ -0,0 +1,18 @@ +deepbots.robots package +======================= + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.robots.controllers + +Module contents +--------------- + +.. automodule:: deepbots.robots + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst new file mode 100644 index 0000000..b1aa46d --- /dev/null +++ b/docs/deepbots/deepbots.rst @@ -0,0 +1,19 @@ +deepbots package +================ + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.robots + deepbots.supervisor + +Module contents +--------------- + +.. automodule:: deepbots + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst new file mode 100644 index 0000000..ff5ff46ab --- /dev/null +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -0,0 +1,45 @@ +deepbots.supervisor.controllers package +======================================= + +Submodules +---------- + +deepbots.supervisor.controllers.csv\_supervisor\_env module +----------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.deepbots\_supervisor\_env module +---------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.emitter\_receiver\_supervisor\_env module +------------------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.robot\_supervisor\_env module +------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.supervisor.controllers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst new file mode 100644 index 0000000..43253a5 --- /dev/null +++ b/docs/deepbots/deepbots.supervisor.rst @@ -0,0 +1,19 @@ +deepbots.supervisor package +=========================== + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.supervisor.controllers + deepbots.supervisor.wrappers + +Module contents +--------------- + +.. automodule:: deepbots.supervisor + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst new file mode 100644 index 0000000..2e48902 --- /dev/null +++ b/docs/deepbots/deepbots.supervisor.wrappers.rst @@ -0,0 +1,29 @@ +deepbots.supervisor.wrappers package +==================================== + +Submodules +---------- + +deepbots.supervisor.wrappers.keyboard\_printer module +----------------------------------------------------- + +.. automodule:: deepbots.supervisor.wrappers.keyboard_printer + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.wrappers.tensorboard\_wrapper module +-------------------------------------------------------- + +.. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.supervisor.wrappers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/deepbots/modules.rst b/docs/deepbots/modules.rst new file mode 100644 index 0000000..846aa79 --- /dev/null +++ b/docs/deepbots/modules.rst @@ -0,0 +1,7 @@ +deepbots +======== + +.. toctree:: + :maxdepth: 4 + + deepbots From fb2fc06385536ab217f1adf0f877108f6e6eb044 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:13:22 +0300 Subject: [PATCH 070/139] Added toctree index entry for deepbots subdir --- docs/index.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index aa6a41a..e37251f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -23,9 +23,11 @@ Contents -------- .. toctree:: + :maxdepth: 3 Home installation + deepbots Official resources ------------------ From 7163c3dc182d3f64ab03afe1be540dc5cd1f3360 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:16:38 +0300 Subject: [PATCH 071/139] Trying to fix toctree and added indices and tables good luck --- docs/index.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index e37251f..3ae4317 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -27,7 +27,7 @@ Contents Home installation - deepbots + deepbots/ Official resources ------------------ @@ -68,3 +68,10 @@ This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 871449 (OpenDR). This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. + +Indices and tables +------------------- + +* :ref:`genindex` +* :ref:`search` +* :ref:`modindex` \ No newline at end of file From da1d55d30079edd28b6b0c8d3c6b09b5a5afd151 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:19:00 +0300 Subject: [PATCH 072/139] More struggling --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 3ae4317..ec7c807 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -27,7 +27,7 @@ Contents Home installation - deepbots/ + deepbots/deepbots Official resources ------------------ From 6d1cda647639f5221b9da39c99c9f731e0d3557b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:26:03 +0300 Subject: [PATCH 073/139] Added all items to toctree and added some indentation etc. love or hate rst? --- docs/index.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/index.rst b/docs/index.rst index ec7c807..6758ab7 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -27,8 +27,16 @@ Contents Home installation + + deepbots/modules deepbots/deepbots + deepbots/supervisor + deepbots/supervisor.controllers + deepbots/supervisor.wrappers + deepbots/robots + deepbots/robots.controllers + Official resources ------------------ From c146695f153166e256fa31725d5ff05c74c5d26c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:28:31 +0300 Subject: [PATCH 074/139] Removed path injection to test the nonexisting document errors HATE --- docs/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 17ac241..9828b2f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,9 +10,9 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -import os -import sys -sys.path.insert(0, os.path.abspath('..')) +# import os +# import sys +# sys.path.insert(0, os.path.abspath('..')) # -- Project information ----------------------------------------------------- From a161d599a8c8313d3d8838eba5ea0b0c4763b20b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:35:31 +0300 Subject: [PATCH 075/139] Maybe maxdepth is the issue --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 6758ab7..aabe377 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -23,7 +23,7 @@ Contents -------- .. toctree:: - :maxdepth: 3 + :maxdepth: 2 Home installation From 38a3b50dfc75a2fb6d9c8685f610d364eddf7864 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:37:22 +0300 Subject: [PATCH 076/139] Removed additional stuff, probably going to get not included in any toctree --- docs/index.rst | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index aabe377..92d726a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -31,12 +31,6 @@ Contents deepbots/modules deepbots/deepbots - deepbots/supervisor - deepbots/supervisor.controllers - deepbots/supervisor.wrappers - deepbots/robots - deepbots/robots.controllers - Official resources ------------------ From 02510bc0dda891473d9d6b0f243a6c33b6bacbd0 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 17:48:12 +0300 Subject: [PATCH 077/139] Some modifications now that it's working --- docs/deepbots/deepbots.rst | 10 +--------- docs/deepbots/modules.rst | 7 ------- docs/index.rst | 7 ++----- 3 files changed, 3 insertions(+), 21 deletions(-) delete mode 100644 docs/deepbots/modules.rst diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index b1aa46d..6ad1216 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -8,12 +8,4 @@ Subpackages :maxdepth: 4 deepbots.robots - deepbots.supervisor - -Module contents ---------------- - -.. automodule:: deepbots - :members: - :undoc-members: - :show-inheritance: + deepbots.supervisor \ No newline at end of file diff --git a/docs/deepbots/modules.rst b/docs/deepbots/modules.rst deleted file mode 100644 index 846aa79..0000000 --- a/docs/deepbots/modules.rst +++ /dev/null @@ -1,7 +0,0 @@ -deepbots -======== - -.. toctree:: - :maxdepth: 4 - - deepbots diff --git a/docs/index.rst b/docs/index.rst index 92d726a..ed9be47 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -19,16 +19,13 @@ create custom RL environments in Webots.** The documentation site is under active development. -Contents --------- - .. toctree:: - :maxdepth: 2 + :maxdepth: 8 + :caption: Contents Home installation - deepbots/modules deepbots/deepbots Official resources From 21fa0fb9cd17a7e57ad01f4e327ef483af0e92c9 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:04:39 +0300 Subject: [PATCH 078/139] Some modifications to groupd stuff --- docs/deepbots/deepbots.rst | 7 ++----- docs/index.rst | 10 ++++++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index 6ad1216..b63e232 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -1,8 +1,5 @@ -deepbots package -================ - -Subpackages ------------ +Reference +========= .. toctree:: :maxdepth: 4 diff --git a/docs/index.rst b/docs/index.rst index ed9be47..352e893 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -19,13 +19,19 @@ create custom RL environments in Webots.** The documentation site is under active development. +Contents +-------- + .. toctree:: - :maxdepth: 8 - :caption: Contents + :maxdepth: 2 + :caption: General Home installation +.. toctree:: + :maxdepth: 2 + :caption: Reference deepbots/deepbots Official resources From cc45e117cc9a6c51f593bc9bf65398243d070b94 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:06:40 +0300 Subject: [PATCH 079/139] I hated it but i know it's me that's the problem --- docs/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/index.rst b/docs/index.rst index 352e893..63ddc75 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -32,6 +32,7 @@ Contents .. toctree:: :maxdepth: 2 :caption: Reference + deepbots/deepbots Official resources From 4d5f7d1749df930e0db5c2b8cb4ec453bd0c4d53 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:15:53 +0300 Subject: [PATCH 080/139] Changed title to see what it does --- docs/deepbots/deepbots.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index b63e232..4240922 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -1,4 +1,4 @@ -Reference +deepbots ========= .. toctree:: From e24f91db643704000c778125665c89c3a6878fa9 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:22:43 +0300 Subject: [PATCH 081/139] Some beauty in robots --- docs/deepbots/deepbots.robots.controllers.rst | 17 ----------------- docs/deepbots/deepbots.robots.rst | 13 +------------ 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst index 94ae06a..b6a3124 100644 --- a/docs/deepbots/deepbots.robots.controllers.rst +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -1,29 +1,12 @@ deepbots.robots.controllers package =================================== -Submodules ----------- - -deepbots.robots.controllers.csv\_robot module ---------------------------------------------- - .. automodule:: deepbots.robots.controllers.csv_robot :members: :undoc-members: :show-inheritance: -deepbots.robots.controllers.emitter\_receiver\_robot module ------------------------------------------------------------ - .. automodule:: deepbots.robots.controllers.emitter_receiver_robot :members: :undoc-members: :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.robots.controllers - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/deepbots/deepbots.robots.rst b/docs/deepbots/deepbots.robots.rst index 491c017..9daa1d0 100644 --- a/docs/deepbots/deepbots.robots.rst +++ b/docs/deepbots/deepbots.robots.rst @@ -1,18 +1,7 @@ deepbots.robots package ======================= -Subpackages ------------ - .. toctree:: - :maxdepth: 4 + :maxdepth: 2 deepbots.robots.controllers - -Module contents ---------------- - -.. automodule:: deepbots.robots - :members: - :undoc-members: - :show-inheritance: From ed6538fe625077edc586f5ae89967fb7f79e0bf3 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:25:48 +0300 Subject: [PATCH 082/139] Removed intermediate package rst for deepbots.robots --- docs/deepbots/deepbots.robots.rst | 7 ------- docs/deepbots/deepbots.rst | 4 ++-- 2 files changed, 2 insertions(+), 9 deletions(-) delete mode 100644 docs/deepbots/deepbots.robots.rst diff --git a/docs/deepbots/deepbots.robots.rst b/docs/deepbots/deepbots.robots.rst deleted file mode 100644 index 9daa1d0..0000000 --- a/docs/deepbots/deepbots.robots.rst +++ /dev/null @@ -1,7 +0,0 @@ -deepbots.robots package -======================= - -.. toctree:: - :maxdepth: 2 - - deepbots.robots.controllers diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index 4240922..f8c399f 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -2,7 +2,7 @@ deepbots ========= .. toctree:: - :maxdepth: 4 + :maxdepth: 2 - deepbots.robots + deepbots.robots.controllers deepbots.supervisor \ No newline at end of file From a3d071407974f144d4485ad882b590211bdc692a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:30:50 +0300 Subject: [PATCH 083/139] Mooore beauty less bloat --- docs/deepbots/deepbots.robots.controllers.rst | 4 +-- .../deepbots.supervisor.controllers.rst | 27 ++----------------- docs/deepbots/deepbots.supervisor.rst | 16 +++-------- .../deepbots/deepbots.supervisor.wrappers.rst | 21 ++------------- 4 files changed, 9 insertions(+), 59 deletions(-) diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst index b6a3124..133e204 100644 --- a/docs/deepbots/deepbots.robots.controllers.rst +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -1,5 +1,5 @@ -deepbots.robots.controllers package -=================================== +deepbots.robots.controllers +=========================== .. automodule:: deepbots.robots.controllers.csv_robot :members: diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index ff5ff46ab..73c83a2 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -1,45 +1,22 @@ -deepbots.supervisor.controllers package -======================================= - -Submodules ----------- - -deepbots.supervisor.controllers.csv\_supervisor\_env module ------------------------------------------------------------ +deepbots.supervisor.controllers +=============================== .. automodule:: deepbots.supervisor.controllers.csv_supervisor_env :members: :undoc-members: :show-inheritance: -deepbots.supervisor.controllers.deepbots\_supervisor\_env module ----------------------------------------------------------------- - .. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env :members: :undoc-members: :show-inheritance: -deepbots.supervisor.controllers.emitter\_receiver\_supervisor\_env module -------------------------------------------------------------------------- - .. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env :members: :undoc-members: :show-inheritance: -deepbots.supervisor.controllers.robot\_supervisor\_env module -------------------------------------------------------------- - .. automodule:: deepbots.supervisor.controllers.robot_supervisor_env :members: :undoc-members: :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.supervisor.controllers - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst index 43253a5..a6180b1 100644 --- a/docs/deepbots/deepbots.supervisor.rst +++ b/docs/deepbots/deepbots.supervisor.rst @@ -1,19 +1,9 @@ -deepbots.supervisor package -=========================== - -Subpackages +deepbots.supervisor +=================== ----------- .. toctree:: - :maxdepth: 4 + :maxdepth: 2 deepbots.supervisor.controllers deepbots.supervisor.wrappers - -Module contents ---------------- - -.. automodule:: deepbots.supervisor - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst index 2e48902..e29dae1 100644 --- a/docs/deepbots/deepbots.supervisor.wrappers.rst +++ b/docs/deepbots/deepbots.supervisor.wrappers.rst @@ -1,29 +1,12 @@ -deepbots.supervisor.wrappers package -==================================== - -Submodules ----------- - -deepbots.supervisor.wrappers.keyboard\_printer module ------------------------------------------------------ +deepbots.supervisor.wrappers +============================ .. automodule:: deepbots.supervisor.wrappers.keyboard_printer :members: :undoc-members: :show-inheritance: -deepbots.supervisor.wrappers.tensorboard\_wrapper module --------------------------------------------------------- - .. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper :members: :undoc-members: :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.supervisor.wrappers - :members: - :undoc-members: - :show-inheritance: From 3e0df6aa38133a35e02c82f6da23b47ba641af5a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:32:41 +0300 Subject: [PATCH 084/139] Removed leftover line that produced error --- docs/deepbots/deepbots.supervisor.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst index a6180b1..6e82224 100644 --- a/docs/deepbots/deepbots.supervisor.rst +++ b/docs/deepbots/deepbots.supervisor.rst @@ -1,6 +1,5 @@ deepbots.supervisor =================== ------------ .. toctree:: :maxdepth: 2 From d010077a5190ec110b68475f21084a7893bf59ab Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:40:18 +0300 Subject: [PATCH 085/139] Trying imported-members in intermediate lists --- docs/deepbots/deepbots.rst | 1 + docs/deepbots/deepbots.supervisor.rst | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index f8c399f..a6cd495 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -2,6 +2,7 @@ deepbots ========= .. toctree:: + :imported-members: :maxdepth: 2 deepbots.robots.controllers diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst index 6e82224..4dd4e60 100644 --- a/docs/deepbots/deepbots.supervisor.rst +++ b/docs/deepbots/deepbots.supervisor.rst @@ -2,7 +2,9 @@ deepbots.supervisor =================== .. toctree:: + :imported-members: :maxdepth: 2 + deepbots.supervisor.controllers deepbots.supervisor.wrappers From 8a2071c39a7b7d66c0fc183da67e110261d7548b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:42:39 +0300 Subject: [PATCH 086/139] imported-members works for automodule silly --- docs/deepbots/deepbots.rst | 1 - docs/deepbots/deepbots.supervisor.rst | 1 - 2 files changed, 2 deletions(-) diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index a6cd495..f8c399f 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -2,7 +2,6 @@ deepbots ========= .. toctree:: - :imported-members: :maxdepth: 2 deepbots.robots.controllers diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst index 4dd4e60..6d1d0a4 100644 --- a/docs/deepbots/deepbots.supervisor.rst +++ b/docs/deepbots/deepbots.supervisor.rst @@ -2,7 +2,6 @@ deepbots.supervisor =================== .. toctree:: - :imported-members: :maxdepth: 2 From 9da155e140120820dc7d4265747c8ce7dab48deb Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:48:40 +0300 Subject: [PATCH 087/139] Trying out path insertion again --- docs/conf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 9828b2f..17ac241 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -10,9 +10,9 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # -# import os -# import sys -# sys.path.insert(0, os.path.abspath('..')) +import os +import sys +sys.path.insert(0, os.path.abspath('..')) # -- Project information ----------------------------------------------------- From a1f8f904bf7872546e57cc84a6e925bba717b2f6 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:50:24 +0300 Subject: [PATCH 088/139] Added viewcode --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index 17ac241..fa75bc3 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -30,6 +30,7 @@ "sphinx.ext.doctest", "sphinx.ext.autodoc", "sphinx.ext.autosummary", + 'sphinx.ext.viewcode', "sphinx.ext.intersphinx", ] From c3f4e7825b8b7d89681e0902b87b03986c4b5aac Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:56:28 +0300 Subject: [PATCH 089/139] Trying out inherited-members --- docs/deepbots/deepbots.supervisor.controllers.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 73c83a2..2e2bff8 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -5,18 +5,22 @@ deepbots.supervisor.controllers :members: :undoc-members: :show-inheritance: + :inherited-members: .. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env :members: :undoc-members: :show-inheritance: + :inherited-members: .. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env :members: :undoc-members: :show-inheritance: + :inherited-members: .. automodule:: deepbots.supervisor.controllers.robot_supervisor_env :members: :undoc-members: :show-inheritance: + :inherited-members: From 5b150a8a2ee8457a6bd56a7f3251a7f72aec611d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 18:58:47 +0300 Subject: [PATCH 090/139] Obviously that was silly. Trying without undoc-members --- docs/deepbots/deepbots.supervisor.controllers.rst | 8 -------- 1 file changed, 8 deletions(-) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 2e2bff8..9ffde99 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -3,24 +3,16 @@ deepbots.supervisor.controllers .. automodule:: deepbots.supervisor.controllers.csv_supervisor_env :members: - :undoc-members: :show-inheritance: - :inherited-members: .. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env :members: - :undoc-members: :show-inheritance: - :inherited-members: .. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env :members: - :undoc-members: :show-inheritance: - :inherited-members: .. automodule:: deepbots.supervisor.controllers.robot_supervisor_env :members: - :undoc-members: :show-inheritance: - :inherited-members: From 7db7259bd45365753a79d30331d71df16073c818 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:01:55 +0300 Subject: [PATCH 091/139] undoc members is useful, trying without show-inheritance --- docs/deepbots/deepbots.supervisor.controllers.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 9ffde99..5a78f73 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -3,16 +3,16 @@ deepbots.supervisor.controllers .. automodule:: deepbots.supervisor.controllers.csv_supervisor_env :members: - :show-inheritance: + :undoc-members: .. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env :members: - :show-inheritance: + :undoc-members: .. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env :members: - :show-inheritance: + :undoc-members: .. automodule:: deepbots.supervisor.controllers.robot_supervisor_env :members: - :show-inheritance: + :undoc-members: From 65567a4bce55bd1930e6a6ae4082fe856930ec31 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:05:48 +0300 Subject: [PATCH 092/139] show-inheritance is nice, trying autoclass --- docs/deepbots/deepbots.supervisor.controllers.rst | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 5a78f73..864564c 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -1,18 +1,23 @@ deepbots.supervisor.controllers =============================== -.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env +.. autoclass:: deepbots.supervisor.controllers.deepbots_supervisor_env :members: :undoc-members: + :show-inheritance: -.. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env +.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env :members: :undoc-members: + :show-inheritance: -.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env +.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env :members: :undoc-members: + :show-inheritance: -.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env + +.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env :members: :undoc-members: + :show-inheritance: From 9dae21a1ad67c5e050e23eb7cd6e55d1ad336583 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:14:49 +0300 Subject: [PATCH 093/139] Trying shortcut --- docs/deepbots/deepbots.supervisor.controllers.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 864564c..2ff03b0 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -1,7 +1,7 @@ deepbots.supervisor.controllers =============================== -.. autoclass:: deepbots.supervisor.controllers.deepbots_supervisor_env +.. autoclass:: deepbots.supervisor.deepbots_supervisor_env :members: :undoc-members: :show-inheritance: From 212fa755061eb871738f17db4b22080cf38903c0 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:16:31 +0300 Subject: [PATCH 094/139] Trying better shortcut --- docs/deepbots/deepbots.supervisor.controllers.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 2ff03b0..a27b5f9 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -1,7 +1,7 @@ deepbots.supervisor.controllers =============================== -.. autoclass:: deepbots.supervisor.deepbots_supervisor_env +.. autoclass:: deepbots.supervisor.DeepbotsSupervisorEnv :members: :undoc-members: :show-inheritance: From 6f29cefd632ece0eea66871c52ef4eeaa521933a Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:21:11 +0300 Subject: [PATCH 095/139] Converted all to autoclass --- docs/deepbots/deepbots.robots.controllers.rst | 4 ++-- .../deepbots.supervisor.controllers.rst | 6 +++--- docs/deepbots/deepbots.supervisor.rst | 1 - .../deepbots/deepbots.supervisor.wrappers.rst | 4 ++-- docs/how-it-works.md | 19 +------------------ 5 files changed, 8 insertions(+), 26 deletions(-) diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst index 133e204..004d973 100644 --- a/docs/deepbots/deepbots.robots.controllers.rst +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -1,12 +1,12 @@ deepbots.robots.controllers =========================== -.. automodule:: deepbots.robots.controllers.csv_robot +.. autoclass:: deepbots.robots.EmitterReceiverRobot :members: :undoc-members: :show-inheritance: -.. automodule:: deepbots.robots.controllers.emitter_receiver_robot +.. autoclass:: deepbots.robots.CSVRobot :members: :undoc-members: :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index a27b5f9..38f7205 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -6,18 +6,18 @@ deepbots.supervisor.controllers :undoc-members: :show-inheritance: -.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env +.. autoclass:: deepbots.supervisor.RobotSupervisorEnv :members: :undoc-members: :show-inheritance: -.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env +.. autoclass:: deepbots.supervisor.CSVSupervisorEnv :members: :undoc-members: :show-inheritance: -.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env +.. autoclass:: deepbots.supervisor.EmitterReceiverSupervisorEnv :members: :undoc-members: :show-inheritance: diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst index 6d1d0a4..6e82224 100644 --- a/docs/deepbots/deepbots.supervisor.rst +++ b/docs/deepbots/deepbots.supervisor.rst @@ -4,6 +4,5 @@ deepbots.supervisor .. toctree:: :maxdepth: 2 - deepbots.supervisor.controllers deepbots.supervisor.wrappers diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst index e29dae1..aa990c6 100644 --- a/docs/deepbots/deepbots.supervisor.wrappers.rst +++ b/docs/deepbots/deepbots.supervisor.wrappers.rst @@ -1,12 +1,12 @@ deepbots.supervisor.wrappers ============================ -.. automodule:: deepbots.supervisor.wrappers.keyboard_printer +.. autoclass:: deepbots.supervisor.wrappers.keyboard_printer.KeyboardPrinter :members: :undoc-members: :show-inheritance: -.. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper +.. autoclass:: deepbots.supervisor.wrappers.tensorboard_wrapper.TensorboardLogger :members: :undoc-members: :show-inheritance: diff --git a/docs/how-it-works.md b/docs/how-it-works.md index abc0e61..5685093 100644 --- a/docs/how-it-works.md +++ b/docs/how-it-works.md @@ -144,21 +144,4 @@ between the `Supervisor` and the `Robot`, as described in the two different schemes ealier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also has different abstraction levels. According to their needs, users can choose either to process the messages received from the `Supervisor` themselves or use -the existing implementations. - - -.. automodule:: deepbots - :members: - :imported-members: - -.. automodule:: deepbots.robots - :members: - :imported-members: - -.. automodule:: deepbots.supervisor - :members: - :imported-members: - -.. toctree:: - :maxdepth: 2 - :caption: Contents: \ No newline at end of file +the existing implementations. \ No newline at end of file From 0a5da352128c7ff87c3dc9d18237269aff641e6e Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:24:46 +0300 Subject: [PATCH 096/139] Proper order for supervisor classes --- docs/deepbots/deepbots.supervisor.controllers.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 38f7205..4020b1e 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -11,13 +11,12 @@ deepbots.supervisor.controllers :undoc-members: :show-inheritance: -.. autoclass:: deepbots.supervisor.CSVSupervisorEnv +.. autoclass:: deepbots.supervisor.EmitterReceiverSupervisorEnv :members: :undoc-members: :show-inheritance: - -.. autoclass:: deepbots.supervisor.EmitterReceiverSupervisorEnv +.. autoclass:: deepbots.supervisor.CSVSupervisorEnv :members: :undoc-members: :show-inheritance: From 446e53fca8123c16ad073a2be07d983ddeb21d56 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:28:37 +0300 Subject: [PATCH 097/139] Trying out order members by source --- docs/conf.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index fa75bc3..eaed071 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -12,8 +12,8 @@ # import os import sys -sys.path.insert(0, os.path.abspath('..')) +sys.path.insert(0, os.path.abspath('..')) # -- Project information ----------------------------------------------------- @@ -21,7 +21,6 @@ copyright = "GNU General Public License v3.0" author = "aidudezzz" - # -- General configuration --------------------------------------------------- # -- General configuration @@ -54,6 +53,9 @@ # This is needed to ignore the webots imports "from controller..." autodoc_mock_imports = ["controller"] +# Order class methods on how they appear in the source code +autodoc_member_order = "bysource" + # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for From 65d3cf7c4de342b9d3f68a5214f1872c9b20d2a4 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 19:44:10 +0300 Subject: [PATCH 098/139] Added venv note --- docs/installation.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/installation.rst b/docs/installation.rst index 6055734..199360f 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -1,6 +1,20 @@ Installation ============ +.. note:: + + It's probably a safer choice to install deepbots in a virtual environment. + You can do that using running `venv `_: + + ``python3 -m venv deepbots-env`` + + and then activate it: + + ``source deepbots-env/bin/activate`` + + before installing `deepbots` and other prerequisites such as the + backend neural network framework. + Prerequisites ------------- From 406c557717102ca468cba4e10c4ea0e755266e3c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 20:07:02 +0300 Subject: [PATCH 099/139] Minor fix in venv note and changed code block to console --- docs/installation.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/installation.rst b/docs/installation.rst index 199360f..7cfc42c 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -4,7 +4,7 @@ Installation .. note:: It's probably a safer choice to install deepbots in a virtual environment. - You can do that using running `venv `_: + You can do that using `venv `_: ``python3 -m venv deepbots-env`` @@ -12,7 +12,7 @@ Installation ``source deepbots-env/bin/activate`` - before installing `deepbots` and other prerequisites such as the + before installing `deepbots` and other python prerequisites such as the backend neural network framework. Prerequisites @@ -48,7 +48,7 @@ Install deepbots Deepbots can be installed through the package installer `pip `_ running the following command: -.. code-block:: console +.. code-block:: bash pip install deepbots From 8c429db55d0033a35e8e4afb5ce765e92e4e71c2 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 20:17:39 +0300 Subject: [PATCH 100/139] Added initial rst version of how deepbots works --- ...how-it-works.md => how_deepbots_works.rst} | 51 +++++++++++-------- docs/index.rst | 1 + 2 files changed, 31 insertions(+), 21 deletions(-) rename docs/{how-it-works.md => how_deepbots_works.rst} (82%) diff --git a/docs/how-it-works.md b/docs/how_deepbots_works.rst similarity index 82% rename from docs/how-it-works.md rename to docs/how_deepbots_works.rst index 5685093..742f239 100644 --- a/docs/how-it-works.md +++ b/docs/how_deepbots_works.rst @@ -1,49 +1,53 @@ -## How it works +How deepbots works +================== + +Here you can find a high-level explanation on how the framework is structured +and how it actually works. First of all let's set up a simple glossary: -- `World`: Webots uses a tree structure to represent the different entities in +* `World`: Webots uses a tree structure to represent the different entities in the scene. The World is the root entity which contains all the entities/nodes. For example, the world contains the Supervisor and Robot entities as well as other objects which might be included in the scene. -- `Supervisor`: The Supervisor is an entity which has access to all other +* `Supervisor`: The Supervisor is an entity which has access to all other entities of the world, while having no physical presence in it. For example, the Supervisor knows the exact position of all the entities of the world and can manipulate them. Additionally, the Supervisor has the Supervisor Controller as one of its child nodes. -- `Supervisor Controller`: The Supervisor Controller is a python script which +* `Supervisor Controller`: The Supervisor Controller is a python script which is responsible for the Supervisor. For example, in the Supervisor Controller script the distance between two entities in the world can be calculated. -- `Robot`: The Robot is an entity that represents a robot in the world. It +* `Robot`: The Robot is an entity that represents a robot in the world. It might have sensors and other active components, like motors, etc. as child entities. Also, one of its children is the Robot Controller. For example, - [epuck](https://cyberbotics.com/doc/guide/epuck) and - [TIAGo](https://cyberbotics.com/doc/guide/tiago-iron) are robots. + `epuck `_ and + `TIAGo `_ are robots. -- `Robot Controller`: The Robot Controller is a python script which is +* `Robot Controller`: The Robot Controller is a python script which is responsible for the Robot's movement and sensors. With the Robot Controller it is possible to observe the world and act accordingly. -- `Environment`: The Environment is the interface as described by the OpenAI +* `Environment`: The Environment is the interface as described by the OpenAI gym. The Environment interface has the following methods: - - `get_observations()`: Return the observations of the robot. For example, + * `get_observations()`: Return the observations of the robot. For example, metrics from sensors, a camera image etc. - - step(action): Each timestep, the agent chooses an action, and the + * step(action): Each timestep, the agent chooses an action, and the environment returns the observation, the reward and the state of the problem (done or not). - - `get_reward(action)`: The reward the agent receives as a result of their + * `get_reward(action)`: The reward the agent receives as a result of their action. - - `is_done()`: Whether it’s time to reset the environment. Most (but not all) + * `is_done()`: Whether it’s time to reset the environment. Most (but not all) tasks are divided up into well-defined episodes, and done being True indicates the episode has terminated. For example, if a robot has the task to reach a goal, then the done condition might happen when the robot "touches" the goal. - - `reset()`: Used to reset the world to the initial state. + * `reset()`: Used to reset the world to the initial state. In order to set up a task in Deepbots it is necessary to understand the intention of the OpenAI gym environment. According to the OpenAI gym @@ -73,7 +77,8 @@ the user to implement reset procedures for simpler use-cases. It is always possible to override this method and implement any custom reset procedure, as needed. -#### Emitter - receiver scheme +Emitter - receiver scheme +------------------------- Currently, the communication between the `Supervisor` and the `Robot` is achieved via an `emitter` and a `receiver`. Separating the `Supervisor` from @@ -85,7 +90,7 @@ prohibiting in use-cases where the observations are high-dimensional or long, such as camera images. Deepbots provides another partially abstract class that combines the `Supervisor` and the `Robot` into one controller and circumvents that issue, while being less flexible, which is discussed -[later](#combined-robot-supervisor-scheme). +:ref:`later `.

@@ -106,14 +111,17 @@ Euclidean distance, only the `Supervisor` can calculate it, because it has access to all entities in the `World`. You can follow the -[emitter-receiver scheme tutorial](https://github.com/aidudezzz/deepbots-tutorials/blob/master/emitterReceiverSchemeTutorial/README.md) +`emitter-receiver scheme tutorial `_ to get started and work your way up from there.

-#### Combined Robot-Supervisor scheme +.. _combined: + +Combined Robot-Supervisor scheme +-------------------------------- As mentioned earlier, in use-cases where the observation transmitted between the `Robot` and the `Supervisor` is high-dimensional or long, e.g. high @@ -125,11 +133,12 @@ communication. This new controller runs on the `Robot`, but requires `Supervisor` privileges and is limited to one `Robot`, one `Supervisor`. You can follow the -[robot-supervisor scheme tutorial](https://github.com/aidudezzz/deepbots-tutorials/tree/master/robotSupervisorSchemeTutorial) +`robot-supervisor scheme tutorial `_ to get started and work your way up from there. We recommended this tutorial to get started with deepbots. -### Abstraction Levels +Abstraction Levels +------------------ The deepbots framework has been created mostly for educational purposes. The aim of the framework is to enable people to use Reinforcement Learning in @@ -141,7 +150,7 @@ the top level of the abstraction hierarchy is the `SupervisorEnv` which is the OpenAI gym interface. Below that level there are partially implemented classes with common functionality. These implementations aim to hide the communication between the `Supervisor` and the `Robot`, as described in the two different -schemes ealier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also +schemes earlier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also has different abstraction levels. According to their needs, users can choose either to process the messages received from the `Supervisor` themselves or use the existing implementations. \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 63ddc75..7680196 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -28,6 +28,7 @@ Contents Home installation + how_deepbots_works .. toctree:: :maxdepth: 2 From 55360cf2de06d820c76458636becb8d6ce96d40d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 20:22:03 +0300 Subject: [PATCH 101/139] Fixed image entries --- docs/how_deepbots_works.rst | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index 742f239..9654c4b 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -49,6 +49,7 @@ First of all let's set up a simple glossary: "touches" the goal. * `reset()`: Used to reset the world to the initial state. + In order to set up a task in Deepbots it is necessary to understand the intention of the OpenAI gym environment. According to the OpenAI gym documentation, the framework follows the classic “agent-environment loop”. @@ -56,9 +57,8 @@ documentation, the framework follows the classic “agent-environment loop”. `observation` and a `reward`. The process gets started by calling `reset()`, which returns an initial `observation`." -

- -

+.. image:: https://raw.githubusercontent.com/aidudezzz/deepbots/dev/doc/img/agent_env_loop.svg + :alt: Agent-environment loop Deepbots follows this exact agent-environment loop with the only difference being that the agent, which is responsible to choose an action, runs on the @@ -92,9 +92,8 @@ combines the `Supervisor` and the `Robot` into one controller and circumvents that issue, while being less flexible, which is discussed :ref:`later `. -

- -

+.. image:: https://raw.githubusercontent.com/aidudezzz/deepbots/dev/doc/img/deepbots_overview.png + :alt: Deepbots overview On one hand, the `emitter` is an entity which is provided by Webots, that broadcasts messages to the world. On the other hand, the `receiver` is an @@ -114,9 +113,8 @@ You can follow the `emitter-receiver scheme tutorial `_ to get started and work your way up from there. -

- -

+.. image:: https://raw.githubusercontent.com/aidudezzz/deepbots/dev/doc/img/workflow_diagram.png + :alt: Workflow diagram .. _combined: From 2d104c259057e8cf2e2fe1908185ed5a89bc8dd3 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 20:28:47 +0300 Subject: [PATCH 102/139] Added center align test --- docs/how_deepbots_works.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index 9654c4b..00bbeb0 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -59,6 +59,7 @@ which returns an initial `observation`." .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots/dev/doc/img/agent_env_loop.svg :alt: Agent-environment loop + :align: center Deepbots follows this exact agent-environment loop with the only difference being that the agent, which is responsible to choose an action, runs on the @@ -94,6 +95,7 @@ that issue, while being less flexible, which is discussed .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots/dev/doc/img/deepbots_overview.png :alt: Deepbots overview + :align: center On one hand, the `emitter` is an entity which is provided by Webots, that broadcasts messages to the world. On the other hand, the `receiver` is an @@ -115,6 +117,7 @@ to get started and work your way up from there. .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots/dev/doc/img/workflow_diagram.png :alt: Workflow diagram + :align: center .. _combined: From 8361676541e3531c4ec3446dfdd996f43fe3e6d0 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:25:06 +0300 Subject: [PATCH 103/139] Added copybutton and css --- docs/_static/css/baselines_theme.css | 63 ++++++++++++++++++++++++++++ docs/conf.py | 6 +++ 2 files changed, 69 insertions(+) create mode 100644 docs/_static/css/baselines_theme.css diff --git a/docs/_static/css/baselines_theme.css b/docs/_static/css/baselines_theme.css new file mode 100644 index 0000000..1ce4997 --- /dev/null +++ b/docs/_static/css/baselines_theme.css @@ -0,0 +1,63 @@ +/* Taken from https://github.com/DLR-RM/stable-baselines3/blob/master/docs/_static/css/baselines_theme.css */ + +/* Main colors adapted from pytorch doc */ +:root{ + --main-bg-color: #343A40; + --link-color: #FD7E14; +} + +/* Header fonts y */ +h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend, p.caption { + font-family: "Lato","proxima-nova","Helvetica Neue",Arial,sans-serif; +} + + +/* Docs background */ +.wy-side-nav-search{ + background-color: var(--main-bg-color); +} + +/* Mobile version */ +.wy-nav-top{ + background-color: var(--main-bg-color); +} + +/* Change link colors (except for the menu) */ +a { + color: var(--link-color); +} + +a:hover { + color: #4F778F; +} + +.wy-menu a { + color: #b3b3b3; +} + +.wy-menu a:hover { + color: #b3b3b3; +} + +a.icon.icon-home { + color: #b3b3b3; +} + +.version{ + color: var(--link-color) !important; +} + + +/* Make code blocks have a background */ +.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'] { + background: #f8f8f8;; +} + +/* Change style of types in the docstrings .rst-content .field-list */ +.field-list .xref.py.docutils, .field-list code.docutils, .field-list .docutils.literal.notranslate +{ + border: None; + padding-left: 0; + padding-right: 0; + color: #404040; +} diff --git a/docs/conf.py b/docs/conf.py index eaed071..b2199f9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -31,6 +31,7 @@ "sphinx.ext.autosummary", 'sphinx.ext.viewcode', "sphinx.ext.intersphinx", + "sphinx_copybutton" ] intersphinx_mapping = { @@ -56,8 +57,13 @@ # Order class methods on how they appear in the source code autodoc_member_order = "bysource" + # -- Options for HTML output ------------------------------------------------- +def setup(app): + app.add_css_file("css/baselines_theme.css") + + # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # From 0dfe946544f944c884a55dee0a5acba02aac30c3 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:25:21 +0300 Subject: [PATCH 104/139] Changed index title --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 7680196..d29cbe9 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,4 +1,4 @@ -Welcome to **deepbots**' documentation! +**deepbots** framework docs - Reinforcement Learning in Webots ======================================= .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_full.png From 9d53eedff8d4396f5ffa2d19389b7e0abb4706c0 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:27:41 +0300 Subject: [PATCH 105/139] Added copybutton requirement --- docs/requirements.in | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/requirements.in b/docs/requirements.in index acbc25d..ba516da 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,2 +1,3 @@ Sphinx>=5,<6 sphinx_rtd_theme +sphinx_copybutton From 3124d3f62c90b468c746bdb132f63d32980b4e2d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:29:07 +0300 Subject: [PATCH 106/139] Moved copybutton requirement --- docs/requirements.in | 1 - docs/requirements.txt | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/requirements.in b/docs/requirements.in index ba516da..acbc25d 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,3 +1,2 @@ Sphinx>=5,<6 sphinx_rtd_theme -sphinx_copybutton diff --git a/docs/requirements.txt b/docs/requirements.txt index f047121..293b012 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -57,4 +57,5 @@ sphinxcontrib-serializinghtml==1.1.5 urllib3==1.26.9 # via requests setuptools==65.5.0 +sphinx_copybutton From b1c5eccbe374b8da58da1079870e4b1ff833afa4 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:31:00 +0300 Subject: [PATCH 107/139] Frickin underlines --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index d29cbe9..d233396 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,5 +1,5 @@ **deepbots** framework docs - Reinforcement Learning in Webots -======================================= +============================================================== .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_full.png :alt: Deepbots logo From 35f6ab109e287bda23eec297ffb6e48d8bc4f231 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:31:11 +0300 Subject: [PATCH 108/139] Overhauled how it works --- docs/how_deepbots_works.rst | 154 ++++++++++++++++++++---------------- 1 file changed, 85 insertions(+), 69 deletions(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index 00bbeb0..da3c92d 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -1,5 +1,5 @@ -How deepbots works -================== +How *deepbots* works +==================== Here you can find a high-level explanation on how the framework is structured and how it actually works. @@ -8,50 +8,54 @@ First of all let's set up a simple glossary: * `World`: Webots uses a tree structure to represent the different entities in the scene. The World is the root entity which contains all the - entities/nodes. For example, the world contains the Supervisor and Robot - entities as well as other objects which might be included in the scene. + Webots entities/nodes. For example, the world contains the Supervisor and + Robot entities as well as other objects which might be included in the scene. * `Supervisor`: The Supervisor is an entity which has access to all other - entities of the world, while having no physical presence in it. For example, - the Supervisor knows the exact position of all the entities of the world and - can manipulate them. Additionally, the Supervisor has the Supervisor - Controller as one of its child nodes. + entities of the world, which can have a physical presence or not. For + example, the Supervisor knows the exact position of all the entities of the + world and can manipulate them. * `Supervisor Controller`: The Supervisor Controller is a python script which is responsible for the Supervisor. For example, in the Supervisor Controller - script the distance between two entities in the world can be calculated. + script the distance between two entities in the world can be calculated or + entities can be moved around, etc. * `Robot`: The Robot is an entity that represents a robot in the world. It - might have sensors and other active components, like motors, etc. as child - entities. Also, one of its children is the Robot Controller. For example, - `epuck `_ and + might have sensors and other active components, like motors, etc., as child + entities. For example, `epuck `_ and `TIAGo `_ are robots. * `Robot Controller`: The Robot Controller is a python script which is responsible for the Robot's movement and sensors. With the Robot Controller - it is possible to observe the world and act accordingly. -* `Environment`: The Environment is the interface as described by the OpenAI - gym. The Environment interface has the following methods: + it is possible to observe the world and act accordingly by for example + turning the Robot's motors. + +* `Environment`: The Environment is the interface as described by + The Environment must have the following methods: * `get_observations()`: Return the observations of the robot. For example, - metrics from sensors, a camera image etc. + metrics from sensors, a camera image, etc. - * step(action): Each timestep, the agent chooses an action, and the + * `step(action)`: In each timestep, the agent chooses an action and the environment returns the observation, the reward and the state of the problem (done or not). * `get_reward(action)`: The reward the agent receives as a result of their - action. + action, based on which it gets trained. + * `is_done()`: Whether it’s time to reset the environment. Most (but not all) tasks are divided up into well-defined episodes, and done being True - indicates the episode has terminated. For example, if a robot has the task + indicates the episode has terminated. For example, if a robot has to reach a goal, then the done condition might happen when the robot - "touches" the goal. - * `reset()`: Used to reset the world to the initial state. + "touches" the goal, or when it collides with an obstacle. + * `reset()`: Used to reset the world to the initial state and start a new + training episode. -In order to set up a task in Deepbots it is necessary to understand the -intention of the OpenAI gym environment. According to the OpenAI gym + +In order to set up a task in *deepbots* it is necessary to understand the +intention of the gym environment. According to gym's documentation, the framework follows the classic “agent-environment loop”. "Each timestep, the agent chooses an `action`, and the environment returns an `observation` and a `reward`. The process gets started by calling `reset()`, @@ -61,34 +65,42 @@ which returns an initial `observation`." :alt: Agent-environment loop :align: center -Deepbots follows this exact agent-environment loop with the only difference +*Deepbots* follows this exact agent-environment loop with the only difference being that the agent, which is responsible to choose an action, runs on the -Supervisor and the observations are acquired by the robot. The goal of the -deepbots framework is to hide this communication from the user, especially from -those who are familiar with the OpenAI gym environment. More specifically, -`SupervisorEnv` is the interface which is used by the Reinforcement Learning -algorithms and follows the OpenAI Gym environment logic. The Deepbots framework -provides different levels of abstraction according to the user's needs. -Moreover, a goal of the framework is to provide different wrappers for a wide -range of robots. - -Deepbots also provides a default implementation of the `reset()` method, +Supervisor and the observations are acquired by the robot. The goal of +*deepbots* is to bridge the gap between the gym environment and the Webots +robot simulator.. More specifically, `DeepbotsSupervisorEnv` is the interface +which is used by the Reinforcement Learning algorithms and follows gym's +environment logic. *Deepbots* provides different levels of abstraction +according to the user's needs. Moreover, the framework provides different +wrappers for additional functionalities. + +*Deepbots* also provides a default implementation of the `reset()` method, leveraging Webots' built-in simulation reset functions, removing the need for the user to implement reset procedures for simpler use-cases. It is always -possible to override this method and implement any custom reset procedure, as -needed. +possible to override this method and implement any custom reset procedure as +needed by the use-case. + +*Deepbots* includes two schemes to set up your RL environment, the +`emitter-receiver scheme` which separates the `Robot` and the `Supervisor` in +two different entities and the `Robot-Supevisor scheme` which combines them +into one entity. Both are described below. Emitter - receiver scheme ------------------------- -Currently, the communication between the `Supervisor` and the `Robot` is -achieved via an `emitter` and a `receiver`. Separating the `Supervisor` from -the `Robot`, deepbots can fit a variety of use-cases, e.g. multiple `Robots` -collecting experience and a `Supervisor` controlling them with a single agent. -The way Webots implements `emitter`/`receiver` communication requires messages -to be packed and unpacked, which introduces an overhead that becomes -prohibiting in use-cases where the observations are high-dimensional or long, -such as camera images. Deepbots provides another partially abstract class that +In this scheme the Robot and the Supervisor are separated into two entities +within the World. Communication between the two nodes is needed so the +`Supervisor` can send the agent's actions to the `Robot` and for the `Robot` +to send back its observations, and can be achieved in various ways. +The main way communication between the `Supervisor` and the `Robot` is +achieved is via an `emitter` and a `receiver`. By separating the `Supervisor` +from the `Robot`, *deepbots* can fit a variety of use-cases, e.g. multiple +`Robots` collecting experience and a `Supervisor` controlling them with a +single agent. The way Webots implements `emitter`/`receiver` communication +requires messages to be packed and unpacked, which introduces an overhead that +becomes prohibiting in use-cases where the observations are high-dimensional +or long, such as camera images. *Deepbots* provides another scheme that combines the `Supervisor` and the `Robot` into one controller and circumvents that issue, while being less flexible, which is discussed :ref:`later `. @@ -101,15 +113,19 @@ On one hand, the `emitter` is an entity which is provided by Webots, that broadcasts messages to the world. On the other hand, the `receiver` is an entity that is used to receive messages from the `World`. Consequently, the agent-environment loop is transformed accordingly. Firstly, the `Robot` uses -its sensors to retrieve the observation from the `World` and in turn uses the -`emitter` component to broadcast this observation. Secondly, the `Supervisor` -receives the observation via the `receiver` component and in turn, the agent -uses it to choose an action. It should be noted that the observation the agent -uses might be extended from the `Supervisor`. For example, a model might use +its sensors to retrieve the observation from the `World` and in turn uses its +`emitter` component to broadcast it. Secondly, the `Supervisor` +receives the observation via its `receiver` component and in turn, the agent +uses it to choose an action. The `Supervisor` uses its `emitter` to broadcast +the action, which the `Robot` receives with its `receiver`, closing the loop. + +It should be noted that the observation the agent +uses might be extended from the `Supervisor` with additional values that the +`Robot` might not have access to. For example, a model might use LiDAR sensors installed on the `Robot`, but also the Euclidean distance between -the `Robot` and an object. As it is expected, the `Robot` does not know the -Euclidean distance, only the `Supervisor` can calculate it, because it has -access to all entities in the `World`. +the `Robot` and an object. As expected, the `Robot` cannot calculate the +Euclidean distance, but the `Supervisor` can because it has access to all +entities in the `World` and consequently their positions.. You can follow the `emitter-receiver scheme tutorial `_ @@ -128,30 +144,30 @@ As mentioned earlier, in use-cases where the observation transmitted between the `Robot` and the `Supervisor` is high-dimensional or long, e.g. high resolution images taken from a camera, a significant overhead is introduced. This is circumvented by inheriting and implementing the partially abstract -`RobotSupervisor` that combines the `Robot controller` and the +`RobotSupervisorEnv` that combines the `Robot controller` and the `Supervisor Controller` into one, forgoing all `emitter`/`receiver` communication. This new controller runs on the `Robot`, but requires -`Supervisor` privileges and is limited to one `Robot`, one `Supervisor`. +`Supervisor` privileges and is limited to one `Robot` - one `Supervisor`. You can follow the `robot-supervisor scheme tutorial `_ -to get started and work your way up from there. We recommended this -tutorial to get started with deepbots. +to get started and work your way up from there. We recommend this +tutorial to get started with *deepbots*. Abstraction Levels ------------------ -The deepbots framework has been created mostly for educational purposes. The -aim of the framework is to enable people to use Reinforcement Learning in -Webots. More specifically, we can consider deepbots as a wrapper of Webots -exposing an OpenAI gym style interface. For this reason there are multiple -levels of abstraction. For example, a user can choose if they want to use CSV -`emitter`/`receiver` or if they want to make an implementation from scratch. In -the top level of the abstraction hierarchy is the `SupervisorEnv` which is the -OpenAI gym interface. Below that level there are partially implemented classes +The *deepbots* framework has been created mostly for educational and +research purposes. The aim of the framework is to enable people to use +Reinforcement Learning in Webots. More specifically, we can consider *deepbots* +as a wrapper of Webots exposing a gym-style interface. For this reason there +are multiple levels of abstraction via a family of classes. For example, a user +can choose if they want to use a CSV `emitter`/`receiver` or if they want to +make a communication implementation from scratch. In the top level of the +abstraction hierarchy is the `DeepbotsSupervisorEnv` which is the +gym interface. Below that level there are partially implemented classes with common functionality. These implementations aim to hide the communication -between the `Supervisor` and the `Robot`, as described in the two different -schemes earlier. Similarly, in the `emitter`/`receiver` scheme the `Robot` also -has different abstraction levels. According to their needs, users can choose -either to process the messages received from the `Supervisor` themselves or use -the existing implementations. \ No newline at end of file +between the `Supervisor` and the `Robot` and other various functions needed by +the simulator for a gym environment to work, as described in the two different +schemes earlier. Users are free to create their own classes inheriting from +whichever *deepbots* class they choose and customize according to their needs. \ No newline at end of file From 1606ce0774fe528985be2b2b40ae444878de68d4 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:38:24 +0300 Subject: [PATCH 109/139] Some fixes and trying out link to code --- docs/how_deepbots_works.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index da3c92d..f7d61ed 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -67,13 +67,14 @@ which returns an initial `observation`." *Deepbots* follows this exact agent-environment loop with the only difference being that the agent, which is responsible to choose an action, runs on the -Supervisor and the observations are acquired by the robot. The goal of +`Supervisor` and the observations are acquired by the `Robot`. The goal of *deepbots* is to bridge the gap between the gym environment and the Webots -robot simulator.. More specifically, `DeepbotsSupervisorEnv` is the interface -which is used by the Reinforcement Learning algorithms and follows gym's -environment logic. *Deepbots* provides different levels of abstraction -according to the user's needs. Moreover, the framework provides different -wrappers for additional functionalities. +robot simulator. More specifically, +:ref:`DeepbotsSupervisorEnv ` +is the interface which is used by the Reinforcement Learning algorithms and +follows gym's environment logic. *Deepbots* provides different levels of +abstraction according to the user's needs. Moreover, the framework provides +different wrappers for additional functionalities. *Deepbots* also provides a default implementation of the `reset()` method, leveraging Webots' built-in simulation reset functions, removing the need for @@ -144,9 +145,9 @@ As mentioned earlier, in use-cases where the observation transmitted between the `Robot` and the `Supervisor` is high-dimensional or long, e.g. high resolution images taken from a camera, a significant overhead is introduced. This is circumvented by inheriting and implementing the partially abstract -`RobotSupervisorEnv` that combines the `Robot controller` and the +`RobotSupervisorEnv` that combines the `Robot Controller` and the `Supervisor Controller` into one, forgoing all `emitter`/`receiver` -communication. This new controller runs on the `Robot`, but requires +communication. This controller runs on the `Robot`, but requires `Supervisor` privileges and is limited to one `Robot` - one `Supervisor`. You can follow the From 288a6c5f583fb3446c71f04f1562dc50c913a0bd Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:41:41 +0300 Subject: [PATCH 110/139] Added link tags --- docs/deepbots/deepbots.robots.controllers.rst | 4 ++++ docs/deepbots/deepbots.supervisor.controllers.rst | 8 ++++++++ docs/deepbots/deepbots.supervisor.wrappers.rst | 4 ++++ docs/how_deepbots_works.rst | 2 +- 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst index 004d973..b3b5071 100644 --- a/docs/deepbots/deepbots.robots.controllers.rst +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -1,11 +1,15 @@ deepbots.robots.controllers =========================== +.. _emitterreceiverrobot: + .. autoclass:: deepbots.robots.EmitterReceiverRobot :members: :undoc-members: :show-inheritance: +.. _csvrobot: + .. autoclass:: deepbots.robots.CSVRobot :members: :undoc-members: diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 4020b1e..f0a3aab 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -1,21 +1,29 @@ deepbots.supervisor.controllers =============================== +.. _deepbotssupervisorenv: + .. autoclass:: deepbots.supervisor.DeepbotsSupervisorEnv :members: :undoc-members: :show-inheritance: +.. _robotsupervisorenv: + .. autoclass:: deepbots.supervisor.RobotSupervisorEnv :members: :undoc-members: :show-inheritance: +.. _emitterreceiversupervisorenv: + .. autoclass:: deepbots.supervisor.EmitterReceiverSupervisorEnv :members: :undoc-members: :show-inheritance: +.. _csvsupervisorenv: + .. autoclass:: deepbots.supervisor.CSVSupervisorEnv :members: :undoc-members: diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst index aa990c6..1bd6feb 100644 --- a/docs/deepbots/deepbots.supervisor.wrappers.rst +++ b/docs/deepbots/deepbots.supervisor.wrappers.rst @@ -1,11 +1,15 @@ deepbots.supervisor.wrappers ============================ +.. _keyboardprinter: + .. autoclass:: deepbots.supervisor.wrappers.keyboard_printer.KeyboardPrinter :members: :undoc-members: :show-inheritance: +.. _tensorboardlogger: + .. autoclass:: deepbots.supervisor.wrappers.tensorboard_wrapper.TensorboardLogger :members: :undoc-members: diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index f7d61ed..97cc3ba 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -70,7 +70,7 @@ being that the agent, which is responsible to choose an action, runs on the `Supervisor` and the observations are acquired by the `Robot`. The goal of *deepbots* is to bridge the gap between the gym environment and the Webots robot simulator. More specifically, -:ref:`DeepbotsSupervisorEnv ` +:ref:`DeepbotsSupervisorEnv ` is the interface which is used by the Reinforcement Learning algorithms and follows gym's environment logic. *Deepbots* provides different levels of abstraction according to the user's needs. Moreover, the framework provides From cbdd445fb3e16fb2ff2b19586b4926455aa0196f Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:43:16 +0300 Subject: [PATCH 111/139] Added underscore, kinda hate you rst --- docs/how_deepbots_works.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index 97cc3ba..acd5c3d 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -70,7 +70,7 @@ being that the agent, which is responsible to choose an action, runs on the `Supervisor` and the observations are acquired by the `Robot`. The goal of *deepbots* is to bridge the gap between the gym environment and the Webots robot simulator. More specifically, -:ref:`DeepbotsSupervisorEnv ` +:ref:`DeepbotsSupervisorEnv ` is the interface which is used by the Reinforcement Learning algorithms and follows gym's environment logic. *Deepbots* provides different levels of abstraction according to the user's needs. Moreover, the framework provides From bd03dfbc8125c706dd992fd01209a7f45c35d27f Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:46:20 +0300 Subject: [PATCH 112/139] Some more juggling --- docs/how_deepbots_works.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index acd5c3d..a564950 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -70,7 +70,7 @@ being that the agent, which is responsible to choose an action, runs on the `Supervisor` and the observations are acquired by the `Robot`. The goal of *deepbots* is to bridge the gap between the gym environment and the Webots robot simulator. More specifically, -:ref:`DeepbotsSupervisorEnv ` +:ref:`DeepbotsSupervisorEnv` is the interface which is used by the Reinforcement Learning algorithms and follows gym's environment logic. *Deepbots* provides different levels of abstraction according to the user's needs. Moreover, the framework provides From d5cab70b3c9e603a1b46cf9d896ba6029d867819 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 21:49:39 +0300 Subject: [PATCH 113/139] trying py meth wizardry --- docs/how_deepbots_works.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index a564950..d6cf3fa 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -70,7 +70,7 @@ being that the agent, which is responsible to choose an action, runs on the `Supervisor` and the observations are acquired by the `Robot`. The goal of *deepbots* is to bridge the gap between the gym environment and the Webots robot simulator. More specifically, -:ref:`DeepbotsSupervisorEnv` +:py:meth:`deepbots.supervisor.DeepbotsSupervisorEnv` is the interface which is used by the Reinforcement Learning algorithms and follows gym's environment logic. *Deepbots* provides different levels of abstraction according to the user's needs. Moreover, the framework provides From 0c9c577587a912f083d7c7f472d005b26b49b568 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 22:10:11 +0300 Subject: [PATCH 114/139] Removed unneeded anchors for classes --- docs/deepbots/deepbots.robots.controllers.rst | 4 ---- docs/deepbots/deepbots.supervisor.controllers.rst | 8 -------- docs/deepbots/deepbots.supervisor.wrappers.rst | 4 ---- 3 files changed, 16 deletions(-) diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst index b3b5071..004d973 100644 --- a/docs/deepbots/deepbots.robots.controllers.rst +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -1,15 +1,11 @@ deepbots.robots.controllers =========================== -.. _emitterreceiverrobot: - .. autoclass:: deepbots.robots.EmitterReceiverRobot :members: :undoc-members: :show-inheritance: -.. _csvrobot: - .. autoclass:: deepbots.robots.CSVRobot :members: :undoc-members: diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index f0a3aab..4020b1e 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -1,29 +1,21 @@ deepbots.supervisor.controllers =============================== -.. _deepbotssupervisorenv: - .. autoclass:: deepbots.supervisor.DeepbotsSupervisorEnv :members: :undoc-members: :show-inheritance: -.. _robotsupervisorenv: - .. autoclass:: deepbots.supervisor.RobotSupervisorEnv :members: :undoc-members: :show-inheritance: -.. _emitterreceiversupervisorenv: - .. autoclass:: deepbots.supervisor.EmitterReceiverSupervisorEnv :members: :undoc-members: :show-inheritance: -.. _csvsupervisorenv: - .. autoclass:: deepbots.supervisor.CSVSupervisorEnv :members: :undoc-members: diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst index 1bd6feb..aa990c6 100644 --- a/docs/deepbots/deepbots.supervisor.wrappers.rst +++ b/docs/deepbots/deepbots.supervisor.wrappers.rst @@ -1,15 +1,11 @@ deepbots.supervisor.wrappers ============================ -.. _keyboardprinter: - .. autoclass:: deepbots.supervisor.wrappers.keyboard_printer.KeyboardPrinter :members: :undoc-members: :show-inheritance: -.. _tensorboardlogger: - .. autoclass:: deepbots.supervisor.wrappers.tensorboard_wrapper.TensorboardLogger :members: :undoc-members: From 1b7642b9dcc7fa1599a98685eb2869648ed60958 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 22:10:25 +0300 Subject: [PATCH 115/139] Additions and fixes for how it works --- docs/how_deepbots_works.rst | 48 ++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index d6cf3fa..39dfda6 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -2,7 +2,9 @@ How *deepbots* works ==================== Here you can find a high-level explanation on how the framework is structured -and how it actually works. +and how it actually works. Read on if you want to dig deeper into how and why +*deepbots* works the way it does. If you want a quick start, visit our +`beginner tutorial `_! First of all let's set up a simple glossary: @@ -70,9 +72,9 @@ being that the agent, which is responsible to choose an action, runs on the `Supervisor` and the observations are acquired by the `Robot`. The goal of *deepbots* is to bridge the gap between the gym environment and the Webots robot simulator. More specifically, -:py:meth:`deepbots.supervisor.DeepbotsSupervisorEnv` -is the interface which is used by the Reinforcement Learning algorithms and -follows gym's environment logic. *Deepbots* provides different levels of +:py:meth:`deepbots.supervisor.DeepbotsSupervisorEnv` is the main class that +provides the interface which is used by the Reinforcement Learning algorithms +and follows gym's environment logic. *Deepbots* provides different levels of abstraction according to the user's needs. Moreover, the framework provides different wrappers for additional functionalities. @@ -82,6 +84,13 @@ the user to implement reset procedures for simpler use-cases. It is always possible to override this method and implement any custom reset procedure as needed by the use-case. +**All-in-all to set up your gym environment you have to create a class that +inherits one of deepbot's classes and implement the methods that are specific +to your use-case and deepbots handles interfacing the environment with +Webots. As your familiarity and/or needs grow, you can override deepbot's +methods to alter functionality or inherit from classes higher up in the +hierarchy.** + *Deepbots* includes two schemes to set up your RL environment, the `emitter-receiver scheme` which separates the `Robot` and the `Supervisor` in two different entities and the `Robot-Supevisor scheme` which combines them @@ -95,7 +104,7 @@ within the World. Communication between the two nodes is needed so the `Supervisor` can send the agent's actions to the `Robot` and for the `Robot` to send back its observations, and can be achieved in various ways. The main way communication between the `Supervisor` and the `Robot` is -achieved is via an `emitter` and a `receiver`. By separating the `Supervisor` +achieved is via `emitters` and `receivers`. By separating the `Supervisor` from the `Robot`, *deepbots* can fit a variety of use-cases, e.g. multiple `Robots` collecting experience and a `Supervisor` controlling them with a single agent. The way Webots implements `emitter`/`receiver` communication @@ -121,12 +130,18 @@ uses it to choose an action. The `Supervisor` uses its `emitter` to broadcast the action, which the `Robot` receives with its `receiver`, closing the loop. It should be noted that the observation the agent -uses might be extended from the `Supervisor` with additional values that the -`Robot` might not have access to. For example, a model might use -LiDAR sensors installed on the `Robot`, but also the Euclidean distance between -the `Robot` and an object. As expected, the `Robot` cannot calculate the -Euclidean distance, but the `Supervisor` can because it has access to all -entities in the `World` and consequently their positions.. +uses might be extended in the `Supervisor` with additional values that the +`Robot` might not have access to. For example, an observation might include +LiDAR sensors values taken from the `Robot`, but also the Euclidean distance +between the `Robot` and an object. As expected, the `Robot` cannot calculate +the Euclidean distance, but the `Supervisor` can, because it has access to all +entities in the `World` and their positions. + +You can take a look at the `Supervisor` and `Robot` classes implementations for +this scheme in :py:meth:`deepbots.supervisor.EmitterReceiverSupervisorEnv`/ +:py:meth:`deepbots.supervisor.CSVSupervisorEnv` and +:py:meth:`deepbots.robots.EmitterReceiverRobot`/:py:meth:`deepbots.robots.CSVRobot` +respectively. You can follow the `emitter-receiver scheme tutorial `_ @@ -150,10 +165,15 @@ This is circumvented by inheriting and implementing the partially abstract communication. This controller runs on the `Robot`, but requires `Supervisor` privileges and is limited to one `Robot` - one `Supervisor`. +You can take a look at the combined `Robot - Supervisor` environment class in +:py:meth:`deepbots.supervisor.RobotSupervisorEnv`, which acts both as the +`Robot Controller`/`Supervisor Controller` and the `Environment` the RL agent +interacts with. + You can follow the `robot-supervisor scheme tutorial `_ -to get started and work your way up from there. We recommend this -tutorial to get started with *deepbots*. +to get started and work your way up from there. *We recommend this +scheme/tutorial to get started with deepbots*. Abstraction Levels ------------------ @@ -165,7 +185,7 @@ as a wrapper of Webots exposing a gym-style interface. For this reason there are multiple levels of abstraction via a family of classes. For example, a user can choose if they want to use a CSV `emitter`/`receiver` or if they want to make a communication implementation from scratch. In the top level of the -abstraction hierarchy is the `DeepbotsSupervisorEnv` which is the +abstraction hierarchy is the `DeepbotsSupervisorEnv` class which is the main gym interface. Below that level there are partially implemented classes with common functionality. These implementations aim to hide the communication between the `Supervisor` and the `Robot` and other various functions needed by From 2e624ce41a96fe745b49bfd4b5f52b83a4cf655d Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 22:14:05 +0300 Subject: [PATCH 116/139] Moved development note higher up --- docs/index.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index d233396..96f05ca 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -4,6 +4,10 @@ .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_full.png :alt: Deepbots logo +.. note:: + + The documentation site is under active development. + `Deepbots `_ is a simple framework which is used as "middleware" between the free and open-source `Cyberbotics' Webots `_ robot simulator @@ -15,10 +19,6 @@ as the most used interface between the actual application and the RL algorithm. gap between the gym environment and the simulator to enable you to easily create custom RL environments in Webots.** -.. note:: - - The documentation site is under active development. - Contents -------- From 25ad7be7ad2669a8f5aaf0788203ebfcc90e4790 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 22:14:36 +0300 Subject: [PATCH 117/139] Capitalized title --- docs/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 96f05ca..4514b1d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,4 +1,4 @@ -**deepbots** framework docs - Reinforcement Learning in Webots +**Deepbots** framework docs - Reinforcement Learning in Webots ============================================================== .. image:: https://raw.githubusercontent.com/aidudezzz/deepbots-swag/main/logo/deepbots_full.png From 7df4c1963a4e0e7a12768c54fea9074b404749c0 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 22:48:00 +0300 Subject: [PATCH 118/139] More updates in how it works --- docs/how_deepbots_works.rst | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index 39dfda6..5c083cf 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -2,9 +2,15 @@ How *deepbots* works ==================== Here you can find a high-level explanation on how the framework is structured -and how it actually works. Read on if you want to dig deeper into how and why -*deepbots* works the way it does. If you want a quick start, visit our -`beginner tutorial `_! +and how it actually works. + +*Read on if you want to dig deeper into how and why +deepbots works the way it does. If you want a quick start, visit our +`beginner tutorial `_* +and if you want to see *deepbots* in action, visit `deepworlds `_! + +Overview +======== First of all let's set up a simple glossary: @@ -75,8 +81,8 @@ robot simulator. More specifically, :py:meth:`deepbots.supervisor.DeepbotsSupervisorEnv` is the main class that provides the interface which is used by the Reinforcement Learning algorithms and follows gym's environment logic. *Deepbots* provides different levels of -abstraction according to the user's needs. Moreover, the framework provides -different wrappers for additional functionalities. +abstraction to be used according to the user's needs. Moreover, the framework +provides different wrappers for additional functionalities. *Deepbots* also provides a default implementation of the `reset()` method, leveraging Webots' built-in simulation reset functions, removing the need for @@ -91,6 +97,14 @@ Webots. As your familiarity and/or needs grow, you can override deepbot's methods to alter functionality or inherit from classes higher up in the hierarchy.** +*Deepbots* targets users that are unfamiliar with either Webots or +gym environments or both. If you have a strong understanding of both, you can +forgo using *deepbots* altogether, but if you chose otherwise, it can make +your code more modular and clean. + +The two *deepbots* schemes +========================== + *Deepbots* includes two schemes to set up your RL environment, the `emitter-receiver scheme` which separates the `Robot` and the `Supervisor` in two different entities and the `Robot-Supevisor scheme` which combines them @@ -172,11 +186,11 @@ interacts with. You can follow the `robot-supervisor scheme tutorial `_ -to get started and work your way up from there. *We recommend this -scheme/tutorial to get started with deepbots*. +to get started and work your way up from there. **We recommend this +scheme/tutorial to get started with deepbots.** Abstraction Levels ------------------- +================== The *deepbots* framework has been created mostly for educational and research purposes. The aim of the framework is to enable people to use @@ -190,5 +204,6 @@ gym interface. Below that level there are partially implemented classes with common functionality. These implementations aim to hide the communication between the `Supervisor` and the `Robot` and other various functions needed by the simulator for a gym environment to work, as described in the two different -schemes earlier. Users are free to create their own classes inheriting from -whichever *deepbots* class they choose and customize according to their needs. \ No newline at end of file +schemes earlier. Feel free to explore the documentation and the full family +of classes and to create and customize your own, inheriting from whichever +*deepbots* class you choose according to your needs. \ No newline at end of file From 6563b85983244b56bc36f2fb33f24c1b15b284f7 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:09:49 +0300 Subject: [PATCH 119/139] Some more fixes and proper subsections --- docs/how_deepbots_works.rst | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/how_deepbots_works.rst b/docs/how_deepbots_works.rst index 5c083cf..55e711b 100644 --- a/docs/how_deepbots_works.rst +++ b/docs/how_deepbots_works.rst @@ -4,13 +4,13 @@ How *deepbots* works Here you can find a high-level explanation on how the framework is structured and how it actually works. -*Read on if you want to dig deeper into how and why -deepbots works the way it does. If you want a quick start, visit our -`beginner tutorial `_* +**Read on if you want to dig deeper into how and why +deepbots works the way it does. If you want a quick start, visit our** +`beginner tutorial `_ and if you want to see *deepbots* in action, visit `deepworlds `_! Overview -======== +-------- First of all let's set up a simple glossary: @@ -91,9 +91,9 @@ possible to override this method and implement any custom reset procedure as needed by the use-case. **All-in-all to set up your gym environment you have to create a class that -inherits one of deepbot's classes and implement the methods that are specific -to your use-case and deepbots handles interfacing the environment with -Webots. As your familiarity and/or needs grow, you can override deepbot's +inherits one of deepbots' classes and implement the methods that are specific +to your use-case and deepbots will handle interfacing the environment with +Webots. As your familiarity and/or needs grow, you can override deepbots' methods to alter functionality or inherit from classes higher up in the hierarchy.** @@ -103,7 +103,7 @@ forgo using *deepbots* altogether, but if you chose otherwise, it can make your code more modular and clean. The two *deepbots* schemes -========================== +-------------------------- *Deepbots* includes two schemes to set up your RL environment, the `emitter-receiver scheme` which separates the `Robot` and the `Supervisor` in @@ -111,14 +111,14 @@ two different entities and the `Robot-Supevisor scheme` which combines them into one entity. Both are described below. Emitter - receiver scheme -------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^ -In this scheme the Robot and the Supervisor are separated into two entities +In this scheme the `Robot` and the `Supervisor` are separated into two entities within the World. Communication between the two nodes is needed so the `Supervisor` can send the agent's actions to the `Robot` and for the `Robot` to send back its observations, and can be achieved in various ways. The main way communication between the `Supervisor` and the `Robot` is -achieved is via `emitters` and `receivers`. By separating the `Supervisor` +achieved, is via `emitters` and `receivers`. By separating the `Supervisor` from the `Robot`, *deepbots* can fit a variety of use-cases, e.g. multiple `Robots` collecting experience and a `Supervisor` controlling them with a single agent. The way Webots implements `emitter`/`receiver` communication @@ -168,7 +168,7 @@ to get started and work your way up from there. .. _combined: Combined Robot-Supervisor scheme --------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ As mentioned earlier, in use-cases where the observation transmitted between the `Robot` and the `Supervisor` is high-dimensional or long, e.g. high @@ -185,12 +185,12 @@ You can take a look at the combined `Robot - Supervisor` environment class in interacts with. You can follow the -`robot-supervisor scheme tutorial `_ +`robot-supervisor scheme tutorial `_ to get started and work your way up from there. **We recommend this scheme/tutorial to get started with deepbots.** Abstraction Levels -================== +------------------ The *deepbots* framework has been created mostly for educational and research purposes. The aim of the framework is to enable people to use From 5610bde7292963f1ba6b642ea4a209110f2d8cb1 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:17:07 +0300 Subject: [PATCH 120/139] Added modules --- docs/modules.rst | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 docs/modules.rst diff --git a/docs/modules.rst b/docs/modules.rst new file mode 100644 index 0000000..846aa79 --- /dev/null +++ b/docs/modules.rst @@ -0,0 +1,7 @@ +deepbots +======== + +.. toctree:: + :maxdepth: 4 + + deepbots From 85142a71d3be2a579004fc71e2f68b2170c8f716 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:30:41 +0300 Subject: [PATCH 121/139] Trying out additional path insertion --- docs/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/conf.py b/docs/conf.py index b2199f9..b7d0b12 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,6 +14,7 @@ import sys sys.path.insert(0, os.path.abspath('..')) +sys.path.insert(0, os.path.abspath('../deepbots')) # -- Project information ----------------------------------------------------- From 4000c10a0fb3af13b883c5795ce733056dfe8691 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:30:47 +0300 Subject: [PATCH 122/139] Removed search ref --- docs/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 4514b1d..ee0a24f 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -80,5 +80,4 @@ Indices and tables ------------------- * :ref:`genindex` -* :ref:`search` * :ref:`modindex` \ No newline at end of file From eee6fb1e347dfb2cb96618751cf04f527b878e33 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:32:31 +0300 Subject: [PATCH 123/139] TWO BIRDS IN ONE STONE HYPE? --- docs/index.rst | 1 + docs/modules.rst | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index ee0a24f..a5b3afb 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -35,6 +35,7 @@ Contents :caption: Reference deepbots/deepbots + modules Official resources ------------------ diff --git a/docs/modules.rst b/docs/modules.rst index 846aa79..52008a4 100644 --- a/docs/modules.rst +++ b/docs/modules.rst @@ -4,4 +4,4 @@ deepbots .. toctree:: :maxdepth: 4 - deepbots + deepbots/deepbots From 5e12119f4b435c31e635f46cb819153d3c1473a8 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:39:43 +0300 Subject: [PATCH 124/139] Removed useless module.rst and added modindex directive (WTH?) --- docs/index.rst | 4 +++- docs/modules.rst | 7 ------- 2 files changed, 3 insertions(+), 8 deletions(-) delete mode 100644 docs/modules.rst diff --git a/docs/index.rst b/docs/index.rst index a5b3afb..f9d9e59 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -81,4 +81,6 @@ Indices and tables ------------------- * :ref:`genindex` -* :ref:`modindex` \ No newline at end of file +* :ref:`modindex` + +:modindex: diff --git a/docs/modules.rst b/docs/modules.rst deleted file mode 100644 index 52008a4..0000000 --- a/docs/modules.rst +++ /dev/null @@ -1,7 +0,0 @@ -deepbots -======== - -.. toctree:: - :maxdepth: 4 - - deepbots/deepbots From 5d90250117560097308a78a5872baac66233d5c1 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:41:08 +0300 Subject: [PATCH 125/139] Frickin hell --- docs/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index f9d9e59..df33a66 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -35,7 +35,6 @@ Contents :caption: Reference deepbots/deepbots - modules Official resources ------------------ From e6627c41bf25335c4756dcfb77c2b64c7ecd15e1 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:44:51 +0300 Subject: [PATCH 126/139] Adding generated stuff to test --- docs/source/deepbots.robots.controllers.rst | 29 ++++++++++++ docs/source/deepbots.robots.rst | 18 ++++++++ docs/source/deepbots.rst | 19 ++++++++ .../deepbots.supervisor.controllers.rst | 45 +++++++++++++++++++ docs/source/deepbots.supervisor.rst | 19 ++++++++ docs/source/deepbots.supervisor.wrappers.rst | 29 ++++++++++++ docs/source/modules.rst | 7 +++ 7 files changed, 166 insertions(+) create mode 100644 docs/source/deepbots.robots.controllers.rst create mode 100644 docs/source/deepbots.robots.rst create mode 100644 docs/source/deepbots.rst create mode 100644 docs/source/deepbots.supervisor.controllers.rst create mode 100644 docs/source/deepbots.supervisor.rst create mode 100644 docs/source/deepbots.supervisor.wrappers.rst create mode 100644 docs/source/modules.rst diff --git a/docs/source/deepbots.robots.controllers.rst b/docs/source/deepbots.robots.controllers.rst new file mode 100644 index 0000000..94ae06a --- /dev/null +++ b/docs/source/deepbots.robots.controllers.rst @@ -0,0 +1,29 @@ +deepbots.robots.controllers package +=================================== + +Submodules +---------- + +deepbots.robots.controllers.csv\_robot module +--------------------------------------------- + +.. automodule:: deepbots.robots.controllers.csv_robot + :members: + :undoc-members: + :show-inheritance: + +deepbots.robots.controllers.emitter\_receiver\_robot module +----------------------------------------------------------- + +.. automodule:: deepbots.robots.controllers.emitter_receiver_robot + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.robots.controllers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.robots.rst b/docs/source/deepbots.robots.rst new file mode 100644 index 0000000..491c017 --- /dev/null +++ b/docs/source/deepbots.robots.rst @@ -0,0 +1,18 @@ +deepbots.robots package +======================= + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.robots.controllers + +Module contents +--------------- + +.. automodule:: deepbots.robots + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.rst b/docs/source/deepbots.rst new file mode 100644 index 0000000..b1aa46d --- /dev/null +++ b/docs/source/deepbots.rst @@ -0,0 +1,19 @@ +deepbots package +================ + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.robots + deepbots.supervisor + +Module contents +--------------- + +.. automodule:: deepbots + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.supervisor.controllers.rst b/docs/source/deepbots.supervisor.controllers.rst new file mode 100644 index 0000000..ff5ff46ab --- /dev/null +++ b/docs/source/deepbots.supervisor.controllers.rst @@ -0,0 +1,45 @@ +deepbots.supervisor.controllers package +======================================= + +Submodules +---------- + +deepbots.supervisor.controllers.csv\_supervisor\_env module +----------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.deepbots\_supervisor\_env module +---------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.emitter\_receiver\_supervisor\_env module +------------------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.robot\_supervisor\_env module +------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.supervisor.controllers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.supervisor.rst b/docs/source/deepbots.supervisor.rst new file mode 100644 index 0000000..43253a5 --- /dev/null +++ b/docs/source/deepbots.supervisor.rst @@ -0,0 +1,19 @@ +deepbots.supervisor package +=========================== + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.supervisor.controllers + deepbots.supervisor.wrappers + +Module contents +--------------- + +.. automodule:: deepbots.supervisor + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.supervisor.wrappers.rst b/docs/source/deepbots.supervisor.wrappers.rst new file mode 100644 index 0000000..2e48902 --- /dev/null +++ b/docs/source/deepbots.supervisor.wrappers.rst @@ -0,0 +1,29 @@ +deepbots.supervisor.wrappers package +==================================== + +Submodules +---------- + +deepbots.supervisor.wrappers.keyboard\_printer module +----------------------------------------------------- + +.. automodule:: deepbots.supervisor.wrappers.keyboard_printer + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.wrappers.tensorboard\_wrapper module +-------------------------------------------------------- + +.. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.supervisor.wrappers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules.rst b/docs/source/modules.rst new file mode 100644 index 0000000..846aa79 --- /dev/null +++ b/docs/source/modules.rst @@ -0,0 +1,7 @@ +deepbots +======== + +.. toctree:: + :maxdepth: 4 + + deepbots From b80b4325733375e25042b32106778616be3c2b83 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:52:42 +0300 Subject: [PATCH 127/139] Removed em --- docs/source/deepbots.robots.controllers.rst | 29 ------------ docs/source/deepbots.robots.rst | 18 -------- docs/source/deepbots.rst | 19 -------- .../deepbots.supervisor.controllers.rst | 45 ------------------- docs/source/deepbots.supervisor.rst | 19 -------- docs/source/deepbots.supervisor.wrappers.rst | 29 ------------ docs/source/modules.rst | 7 --- 7 files changed, 166 deletions(-) delete mode 100644 docs/source/deepbots.robots.controllers.rst delete mode 100644 docs/source/deepbots.robots.rst delete mode 100644 docs/source/deepbots.rst delete mode 100644 docs/source/deepbots.supervisor.controllers.rst delete mode 100644 docs/source/deepbots.supervisor.rst delete mode 100644 docs/source/deepbots.supervisor.wrappers.rst delete mode 100644 docs/source/modules.rst diff --git a/docs/source/deepbots.robots.controllers.rst b/docs/source/deepbots.robots.controllers.rst deleted file mode 100644 index 94ae06a..0000000 --- a/docs/source/deepbots.robots.controllers.rst +++ /dev/null @@ -1,29 +0,0 @@ -deepbots.robots.controllers package -=================================== - -Submodules ----------- - -deepbots.robots.controllers.csv\_robot module ---------------------------------------------- - -.. automodule:: deepbots.robots.controllers.csv_robot - :members: - :undoc-members: - :show-inheritance: - -deepbots.robots.controllers.emitter\_receiver\_robot module ------------------------------------------------------------ - -.. automodule:: deepbots.robots.controllers.emitter_receiver_robot - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.robots.controllers - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/deepbots.robots.rst b/docs/source/deepbots.robots.rst deleted file mode 100644 index 491c017..0000000 --- a/docs/source/deepbots.robots.rst +++ /dev/null @@ -1,18 +0,0 @@ -deepbots.robots package -======================= - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - deepbots.robots.controllers - -Module contents ---------------- - -.. automodule:: deepbots.robots - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/deepbots.rst b/docs/source/deepbots.rst deleted file mode 100644 index b1aa46d..0000000 --- a/docs/source/deepbots.rst +++ /dev/null @@ -1,19 +0,0 @@ -deepbots package -================ - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - deepbots.robots - deepbots.supervisor - -Module contents ---------------- - -.. automodule:: deepbots - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/deepbots.supervisor.controllers.rst b/docs/source/deepbots.supervisor.controllers.rst deleted file mode 100644 index ff5ff46ab..0000000 --- a/docs/source/deepbots.supervisor.controllers.rst +++ /dev/null @@ -1,45 +0,0 @@ -deepbots.supervisor.controllers package -======================================= - -Submodules ----------- - -deepbots.supervisor.controllers.csv\_supervisor\_env module ------------------------------------------------------------ - -.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.controllers.deepbots\_supervisor\_env module ----------------------------------------------------------------- - -.. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.controllers.emitter\_receiver\_supervisor\_env module -------------------------------------------------------------------------- - -.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.controllers.robot\_supervisor\_env module -------------------------------------------------------------- - -.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.supervisor.controllers - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/deepbots.supervisor.rst b/docs/source/deepbots.supervisor.rst deleted file mode 100644 index 43253a5..0000000 --- a/docs/source/deepbots.supervisor.rst +++ /dev/null @@ -1,19 +0,0 @@ -deepbots.supervisor package -=========================== - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - deepbots.supervisor.controllers - deepbots.supervisor.wrappers - -Module contents ---------------- - -.. automodule:: deepbots.supervisor - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/deepbots.supervisor.wrappers.rst b/docs/source/deepbots.supervisor.wrappers.rst deleted file mode 100644 index 2e48902..0000000 --- a/docs/source/deepbots.supervisor.wrappers.rst +++ /dev/null @@ -1,29 +0,0 @@ -deepbots.supervisor.wrappers package -==================================== - -Submodules ----------- - -deepbots.supervisor.wrappers.keyboard\_printer module ------------------------------------------------------ - -.. automodule:: deepbots.supervisor.wrappers.keyboard_printer - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.wrappers.tensorboard\_wrapper module --------------------------------------------------------- - -.. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.supervisor.wrappers - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/modules.rst b/docs/source/modules.rst deleted file mode 100644 index 846aa79..0000000 --- a/docs/source/modules.rst +++ /dev/null @@ -1,7 +0,0 @@ -deepbots -======== - -.. toctree:: - :maxdepth: 4 - - deepbots From ce26c4776727dfb80c72402b1c53d3b0a8d4232b Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Fri, 2 Jun 2023 23:54:34 +0300 Subject: [PATCH 128/139] Removed fail on warning --- .readthedocs.yaml | 2 +- docs/index.rst | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index ca009ee..528f9d7 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -18,7 +18,7 @@ build: # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py - fail_on_warning: true + fail_on_warning: false # If using Sphinx, optionally build your docs in additional formats such as PDF # formats: diff --git a/docs/index.rst b/docs/index.rst index df33a66..4b53ef8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -81,5 +81,3 @@ Indices and tables * :ref:`genindex` * :ref:`modindex` - -:modindex: From b878443edbeb4f66acc17f911958e9f8e87bbaf4 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:00:18 +0300 Subject: [PATCH 129/139] Path insertion shenanigans --- docs/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index b7d0b12..467e45f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -13,8 +13,9 @@ import os import sys -sys.path.insert(0, os.path.abspath('..')) +sys.path.insert(0, os.path.abspath('../')) sys.path.insert(0, os.path.abspath('../deepbots')) +sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- From 969e74c741b4bcdb057874ca4d49a6a9d96515c3 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:02:47 +0300 Subject: [PATCH 130/139] More path shenanigans? last try --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 467e45f..e014622 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,7 +14,7 @@ import sys sys.path.insert(0, os.path.abspath('../')) -sys.path.insert(0, os.path.abspath('../deepbots')) +sys.path.insert(0, os.path.abspath('../deepbots/')) sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- From 73552d37edcadc65a6486b0656ab80ed79f6b873 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:06:04 +0300 Subject: [PATCH 131/139] Moved custom files, added autogenerated --- .../deepbots/deepbots.robots.controllers.rst | 0 {docs => docker}/deepbots/deepbots.rst | 0 .../deepbots.supervisor.controllers.rst | 0 .../deepbots/deepbots.supervisor.rst | 0 .../deepbots/deepbots.supervisor.wrappers.rst | 0 docs/index.rst | 2 +- docs/source/deepbots.robots.controllers.rst | 29 ++++++++++++ docs/source/deepbots.robots.rst | 18 ++++++++ docs/source/deepbots.rst | 19 ++++++++ .../deepbots.supervisor.controllers.rst | 45 +++++++++++++++++++ docs/source/deepbots.supervisor.rst | 19 ++++++++ docs/source/deepbots.supervisor.wrappers.rst | 29 ++++++++++++ docs/source/modules.rst | 7 +++ 13 files changed, 167 insertions(+), 1 deletion(-) rename {docs => docker}/deepbots/deepbots.robots.controllers.rst (100%) rename {docs => docker}/deepbots/deepbots.rst (100%) rename {docs => docker}/deepbots/deepbots.supervisor.controllers.rst (100%) rename {docs => docker}/deepbots/deepbots.supervisor.rst (100%) rename {docs => docker}/deepbots/deepbots.supervisor.wrappers.rst (100%) create mode 100644 docs/source/deepbots.robots.controllers.rst create mode 100644 docs/source/deepbots.robots.rst create mode 100644 docs/source/deepbots.rst create mode 100644 docs/source/deepbots.supervisor.controllers.rst create mode 100644 docs/source/deepbots.supervisor.rst create mode 100644 docs/source/deepbots.supervisor.wrappers.rst create mode 100644 docs/source/modules.rst diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docker/deepbots/deepbots.robots.controllers.rst similarity index 100% rename from docs/deepbots/deepbots.robots.controllers.rst rename to docker/deepbots/deepbots.robots.controllers.rst diff --git a/docs/deepbots/deepbots.rst b/docker/deepbots/deepbots.rst similarity index 100% rename from docs/deepbots/deepbots.rst rename to docker/deepbots/deepbots.rst diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docker/deepbots/deepbots.supervisor.controllers.rst similarity index 100% rename from docs/deepbots/deepbots.supervisor.controllers.rst rename to docker/deepbots/deepbots.supervisor.controllers.rst diff --git a/docs/deepbots/deepbots.supervisor.rst b/docker/deepbots/deepbots.supervisor.rst similarity index 100% rename from docs/deepbots/deepbots.supervisor.rst rename to docker/deepbots/deepbots.supervisor.rst diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docker/deepbots/deepbots.supervisor.wrappers.rst similarity index 100% rename from docs/deepbots/deepbots.supervisor.wrappers.rst rename to docker/deepbots/deepbots.supervisor.wrappers.rst diff --git a/docs/index.rst b/docs/index.rst index 4b53ef8..b96a5ce 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -34,7 +34,7 @@ Contents :maxdepth: 2 :caption: Reference - deepbots/deepbots + source/modules Official resources ------------------ diff --git a/docs/source/deepbots.robots.controllers.rst b/docs/source/deepbots.robots.controllers.rst new file mode 100644 index 0000000..94ae06a --- /dev/null +++ b/docs/source/deepbots.robots.controllers.rst @@ -0,0 +1,29 @@ +deepbots.robots.controllers package +=================================== + +Submodules +---------- + +deepbots.robots.controllers.csv\_robot module +--------------------------------------------- + +.. automodule:: deepbots.robots.controllers.csv_robot + :members: + :undoc-members: + :show-inheritance: + +deepbots.robots.controllers.emitter\_receiver\_robot module +----------------------------------------------------------- + +.. automodule:: deepbots.robots.controllers.emitter_receiver_robot + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.robots.controllers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.robots.rst b/docs/source/deepbots.robots.rst new file mode 100644 index 0000000..491c017 --- /dev/null +++ b/docs/source/deepbots.robots.rst @@ -0,0 +1,18 @@ +deepbots.robots package +======================= + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.robots.controllers + +Module contents +--------------- + +.. automodule:: deepbots.robots + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.rst b/docs/source/deepbots.rst new file mode 100644 index 0000000..b1aa46d --- /dev/null +++ b/docs/source/deepbots.rst @@ -0,0 +1,19 @@ +deepbots package +================ + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.robots + deepbots.supervisor + +Module contents +--------------- + +.. automodule:: deepbots + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.supervisor.controllers.rst b/docs/source/deepbots.supervisor.controllers.rst new file mode 100644 index 0000000..ff5ff46ab --- /dev/null +++ b/docs/source/deepbots.supervisor.controllers.rst @@ -0,0 +1,45 @@ +deepbots.supervisor.controllers package +======================================= + +Submodules +---------- + +deepbots.supervisor.controllers.csv\_supervisor\_env module +----------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.deepbots\_supervisor\_env module +---------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.emitter\_receiver\_supervisor\_env module +------------------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.controllers.robot\_supervisor\_env module +------------------------------------------------------------- + +.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.supervisor.controllers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.supervisor.rst b/docs/source/deepbots.supervisor.rst new file mode 100644 index 0000000..43253a5 --- /dev/null +++ b/docs/source/deepbots.supervisor.rst @@ -0,0 +1,19 @@ +deepbots.supervisor package +=========================== + +Subpackages +----------- + +.. toctree:: + :maxdepth: 4 + + deepbots.supervisor.controllers + deepbots.supervisor.wrappers + +Module contents +--------------- + +.. automodule:: deepbots.supervisor + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/deepbots.supervisor.wrappers.rst b/docs/source/deepbots.supervisor.wrappers.rst new file mode 100644 index 0000000..2e48902 --- /dev/null +++ b/docs/source/deepbots.supervisor.wrappers.rst @@ -0,0 +1,29 @@ +deepbots.supervisor.wrappers package +==================================== + +Submodules +---------- + +deepbots.supervisor.wrappers.keyboard\_printer module +----------------------------------------------------- + +.. automodule:: deepbots.supervisor.wrappers.keyboard_printer + :members: + :undoc-members: + :show-inheritance: + +deepbots.supervisor.wrappers.tensorboard\_wrapper module +-------------------------------------------------------- + +.. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: deepbots.supervisor.wrappers + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/modules.rst b/docs/source/modules.rst new file mode 100644 index 0000000..846aa79 --- /dev/null +++ b/docs/source/modules.rst @@ -0,0 +1,7 @@ +deepbots +======== + +.. toctree:: + :maxdepth: 4 + + deepbots From 89dfe40616361132fea9041689c3a8b6c956a304 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:26:12 +0300 Subject: [PATCH 132/139] fail on warning --- .readthedocs.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 528f9d7..ca009ee 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -18,7 +18,7 @@ build: # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py - fail_on_warning: false + fail_on_warning: true # If using Sphinx, optionally build your docs in additional formats such as PDF # formats: From 01134152744f285e236eb8db866e907c4eb76e09 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:27:46 +0300 Subject: [PATCH 133/139] Switched custom with autogenerated to start trying to make it work --- {docs => docker}/source/deepbots.robots.controllers.rst | 0 {docs => docker}/source/deepbots.robots.rst | 0 {docs => docker}/source/deepbots.rst | 0 {docs => docker}/source/deepbots.supervisor.controllers.rst | 0 {docs => docker}/source/deepbots.supervisor.rst | 0 {docs => docker}/source/deepbots.supervisor.wrappers.rst | 0 {docs => docker}/source/modules.rst | 0 {docker => docs}/deepbots/deepbots.robots.controllers.rst | 0 {docker => docs}/deepbots/deepbots.rst | 0 {docker => docs}/deepbots/deepbots.supervisor.controllers.rst | 0 {docker => docs}/deepbots/deepbots.supervisor.rst | 0 {docker => docs}/deepbots/deepbots.supervisor.wrappers.rst | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename {docs => docker}/source/deepbots.robots.controllers.rst (100%) rename {docs => docker}/source/deepbots.robots.rst (100%) rename {docs => docker}/source/deepbots.rst (100%) rename {docs => docker}/source/deepbots.supervisor.controllers.rst (100%) rename {docs => docker}/source/deepbots.supervisor.rst (100%) rename {docs => docker}/source/deepbots.supervisor.wrappers.rst (100%) rename {docs => docker}/source/modules.rst (100%) rename {docker => docs}/deepbots/deepbots.robots.controllers.rst (100%) rename {docker => docs}/deepbots/deepbots.rst (100%) rename {docker => docs}/deepbots/deepbots.supervisor.controllers.rst (100%) rename {docker => docs}/deepbots/deepbots.supervisor.rst (100%) rename {docker => docs}/deepbots/deepbots.supervisor.wrappers.rst (100%) diff --git a/docs/source/deepbots.robots.controllers.rst b/docker/source/deepbots.robots.controllers.rst similarity index 100% rename from docs/source/deepbots.robots.controllers.rst rename to docker/source/deepbots.robots.controllers.rst diff --git a/docs/source/deepbots.robots.rst b/docker/source/deepbots.robots.rst similarity index 100% rename from docs/source/deepbots.robots.rst rename to docker/source/deepbots.robots.rst diff --git a/docs/source/deepbots.rst b/docker/source/deepbots.rst similarity index 100% rename from docs/source/deepbots.rst rename to docker/source/deepbots.rst diff --git a/docs/source/deepbots.supervisor.controllers.rst b/docker/source/deepbots.supervisor.controllers.rst similarity index 100% rename from docs/source/deepbots.supervisor.controllers.rst rename to docker/source/deepbots.supervisor.controllers.rst diff --git a/docs/source/deepbots.supervisor.rst b/docker/source/deepbots.supervisor.rst similarity index 100% rename from docs/source/deepbots.supervisor.rst rename to docker/source/deepbots.supervisor.rst diff --git a/docs/source/deepbots.supervisor.wrappers.rst b/docker/source/deepbots.supervisor.wrappers.rst similarity index 100% rename from docs/source/deepbots.supervisor.wrappers.rst rename to docker/source/deepbots.supervisor.wrappers.rst diff --git a/docs/source/modules.rst b/docker/source/modules.rst similarity index 100% rename from docs/source/modules.rst rename to docker/source/modules.rst diff --git a/docker/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst similarity index 100% rename from docker/deepbots/deepbots.robots.controllers.rst rename to docs/deepbots/deepbots.robots.controllers.rst diff --git a/docker/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst similarity index 100% rename from docker/deepbots/deepbots.rst rename to docs/deepbots/deepbots.rst diff --git a/docker/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst similarity index 100% rename from docker/deepbots/deepbots.supervisor.controllers.rst rename to docs/deepbots/deepbots.supervisor.controllers.rst diff --git a/docker/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst similarity index 100% rename from docker/deepbots/deepbots.supervisor.rst rename to docs/deepbots/deepbots.supervisor.rst diff --git a/docker/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst similarity index 100% rename from docker/deepbots/deepbots.supervisor.wrappers.rst rename to docs/deepbots/deepbots.supervisor.wrappers.rst From cd77ebcc6f6d8862c38492e1057ea816bf892d62 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:28:36 +0300 Subject: [PATCH 134/139] Added module contents to deepbots.rst --- docs/deepbots/deepbots.rst | 10 +++++++++- docs/index.rst | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index f8c399f..d8f64a6 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -5,4 +5,12 @@ deepbots :maxdepth: 2 deepbots.robots.controllers - deepbots.supervisor \ No newline at end of file + deepbots.supervisor + +Module contents +--------------- + +.. automodule:: deepbots + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index b96a5ce..4b53ef8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -34,7 +34,7 @@ Contents :maxdepth: 2 :caption: Reference - source/modules + deepbots/deepbots Official resources ------------------ From 21b3ab0cff45f139955f37765108e702480bd1b6 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:30:50 +0300 Subject: [PATCH 135/139] Removed header --- docs/deepbots/deepbots.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/deepbots/deepbots.rst b/docs/deepbots/deepbots.rst index d8f64a6..8bdbd0f 100644 --- a/docs/deepbots/deepbots.rst +++ b/docs/deepbots/deepbots.rst @@ -7,9 +7,6 @@ deepbots deepbots.robots.controllers deepbots.supervisor -Module contents ---------------- - .. automodule:: deepbots :members: :undoc-members: From 08acc9fc4fe370d98aa784140fa6db1d4e0de98c Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:35:06 +0300 Subject: [PATCH 136/139] Added automodules everywhere fingers crossed --- docs/deepbots/deepbots.robots.controllers.rst | 5 +++++ docs/deepbots/deepbots.supervisor.controllers.rst | 5 +++++ docs/deepbots/deepbots.supervisor.rst | 5 +++++ docs/deepbots/deepbots.supervisor.wrappers.rst | 5 +++++ 4 files changed, 20 insertions(+) diff --git a/docs/deepbots/deepbots.robots.controllers.rst b/docs/deepbots/deepbots.robots.controllers.rst index 004d973..da2caee 100644 --- a/docs/deepbots/deepbots.robots.controllers.rst +++ b/docs/deepbots/deepbots.robots.controllers.rst @@ -10,3 +10,8 @@ deepbots.robots.controllers :members: :undoc-members: :show-inheritance: + +.. automodule:: deepbots.robots.controllers + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/deepbots/deepbots.supervisor.controllers.rst b/docs/deepbots/deepbots.supervisor.controllers.rst index 4020b1e..30ecfd8 100644 --- a/docs/deepbots/deepbots.supervisor.controllers.rst +++ b/docs/deepbots/deepbots.supervisor.controllers.rst @@ -20,3 +20,8 @@ deepbots.supervisor.controllers :members: :undoc-members: :show-inheritance: + +.. automodule:: deepbots.supervisor.controllers + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/deepbots/deepbots.supervisor.rst b/docs/deepbots/deepbots.supervisor.rst index 6e82224..de75bc4 100644 --- a/docs/deepbots/deepbots.supervisor.rst +++ b/docs/deepbots/deepbots.supervisor.rst @@ -6,3 +6,8 @@ deepbots.supervisor deepbots.supervisor.controllers deepbots.supervisor.wrappers + +.. automodule:: deepbots.supervisor + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file diff --git a/docs/deepbots/deepbots.supervisor.wrappers.rst b/docs/deepbots/deepbots.supervisor.wrappers.rst index aa990c6..38001df 100644 --- a/docs/deepbots/deepbots.supervisor.wrappers.rst +++ b/docs/deepbots/deepbots.supervisor.wrappers.rst @@ -10,3 +10,8 @@ deepbots.supervisor.wrappers :members: :undoc-members: :show-inheritance: + +.. automodule:: deepbots.supervisor.wrappers + :members: + :undoc-members: + :show-inheritance: \ No newline at end of file From b4f89fe7787f0bddb38f0b33286c61cbf416b827 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:37:42 +0300 Subject: [PATCH 137/139] Modindex working, modified section name --- docs/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index 4b53ef8..2238689 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -76,8 +76,8 @@ research and innovation programme under grant agreement No 871449 (OpenDR). This publication reflects the authors’ views only. The European Commission is not responsible for any use that may be made of the information it contains. -Indices and tables -------------------- +Indices +------- * :ref:`genindex` * :ref:`modindex` From 4375e5e7e023daf882d48ddc1afcff543e4bf319 Mon Sep 17 00:00:00 2001 From: tsampazk <27914645+tsampazk@users.noreply.github.com> Date: Sat, 3 Jun 2023 00:37:55 +0300 Subject: [PATCH 138/139] Removed autogenerated files --- docker/source/deepbots.robots.controllers.rst | 29 ------------ docker/source/deepbots.robots.rst | 18 -------- docker/source/deepbots.rst | 19 -------- .../deepbots.supervisor.controllers.rst | 45 ------------------- docker/source/deepbots.supervisor.rst | 19 -------- .../source/deepbots.supervisor.wrappers.rst | 29 ------------ docker/source/modules.rst | 7 --- 7 files changed, 166 deletions(-) delete mode 100644 docker/source/deepbots.robots.controllers.rst delete mode 100644 docker/source/deepbots.robots.rst delete mode 100644 docker/source/deepbots.rst delete mode 100644 docker/source/deepbots.supervisor.controllers.rst delete mode 100644 docker/source/deepbots.supervisor.rst delete mode 100644 docker/source/deepbots.supervisor.wrappers.rst delete mode 100644 docker/source/modules.rst diff --git a/docker/source/deepbots.robots.controllers.rst b/docker/source/deepbots.robots.controllers.rst deleted file mode 100644 index 94ae06a..0000000 --- a/docker/source/deepbots.robots.controllers.rst +++ /dev/null @@ -1,29 +0,0 @@ -deepbots.robots.controllers package -=================================== - -Submodules ----------- - -deepbots.robots.controllers.csv\_robot module ---------------------------------------------- - -.. automodule:: deepbots.robots.controllers.csv_robot - :members: - :undoc-members: - :show-inheritance: - -deepbots.robots.controllers.emitter\_receiver\_robot module ------------------------------------------------------------ - -.. automodule:: deepbots.robots.controllers.emitter_receiver_robot - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.robots.controllers - :members: - :undoc-members: - :show-inheritance: diff --git a/docker/source/deepbots.robots.rst b/docker/source/deepbots.robots.rst deleted file mode 100644 index 491c017..0000000 --- a/docker/source/deepbots.robots.rst +++ /dev/null @@ -1,18 +0,0 @@ -deepbots.robots package -======================= - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - deepbots.robots.controllers - -Module contents ---------------- - -.. automodule:: deepbots.robots - :members: - :undoc-members: - :show-inheritance: diff --git a/docker/source/deepbots.rst b/docker/source/deepbots.rst deleted file mode 100644 index b1aa46d..0000000 --- a/docker/source/deepbots.rst +++ /dev/null @@ -1,19 +0,0 @@ -deepbots package -================ - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - deepbots.robots - deepbots.supervisor - -Module contents ---------------- - -.. automodule:: deepbots - :members: - :undoc-members: - :show-inheritance: diff --git a/docker/source/deepbots.supervisor.controllers.rst b/docker/source/deepbots.supervisor.controllers.rst deleted file mode 100644 index ff5ff46ab..0000000 --- a/docker/source/deepbots.supervisor.controllers.rst +++ /dev/null @@ -1,45 +0,0 @@ -deepbots.supervisor.controllers package -======================================= - -Submodules ----------- - -deepbots.supervisor.controllers.csv\_supervisor\_env module ------------------------------------------------------------ - -.. automodule:: deepbots.supervisor.controllers.csv_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.controllers.deepbots\_supervisor\_env module ----------------------------------------------------------------- - -.. automodule:: deepbots.supervisor.controllers.deepbots_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.controllers.emitter\_receiver\_supervisor\_env module -------------------------------------------------------------------------- - -.. automodule:: deepbots.supervisor.controllers.emitter_receiver_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.controllers.robot\_supervisor\_env module -------------------------------------------------------------- - -.. automodule:: deepbots.supervisor.controllers.robot_supervisor_env - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.supervisor.controllers - :members: - :undoc-members: - :show-inheritance: diff --git a/docker/source/deepbots.supervisor.rst b/docker/source/deepbots.supervisor.rst deleted file mode 100644 index 43253a5..0000000 --- a/docker/source/deepbots.supervisor.rst +++ /dev/null @@ -1,19 +0,0 @@ -deepbots.supervisor package -=========================== - -Subpackages ------------ - -.. toctree:: - :maxdepth: 4 - - deepbots.supervisor.controllers - deepbots.supervisor.wrappers - -Module contents ---------------- - -.. automodule:: deepbots.supervisor - :members: - :undoc-members: - :show-inheritance: diff --git a/docker/source/deepbots.supervisor.wrappers.rst b/docker/source/deepbots.supervisor.wrappers.rst deleted file mode 100644 index 2e48902..0000000 --- a/docker/source/deepbots.supervisor.wrappers.rst +++ /dev/null @@ -1,29 +0,0 @@ -deepbots.supervisor.wrappers package -==================================== - -Submodules ----------- - -deepbots.supervisor.wrappers.keyboard\_printer module ------------------------------------------------------ - -.. automodule:: deepbots.supervisor.wrappers.keyboard_printer - :members: - :undoc-members: - :show-inheritance: - -deepbots.supervisor.wrappers.tensorboard\_wrapper module --------------------------------------------------------- - -.. automodule:: deepbots.supervisor.wrappers.tensorboard_wrapper - :members: - :undoc-members: - :show-inheritance: - -Module contents ---------------- - -.. automodule:: deepbots.supervisor.wrappers - :members: - :undoc-members: - :show-inheritance: diff --git a/docker/source/modules.rst b/docker/source/modules.rst deleted file mode 100644 index 846aa79..0000000 --- a/docker/source/modules.rst +++ /dev/null @@ -1,7 +0,0 @@ -deepbots -======== - -.. toctree:: - :maxdepth: 4 - - deepbots From fca73923cc594546fc5088696c61bcc4d079cc83 Mon Sep 17 00:00:00 2001 From: Kostas Tsampazis <27914645+tsampazk@users.noreply.github.com> Date: Thu, 8 Jun 2023 21:20:23 +0300 Subject: [PATCH 139/139] Added link to relevant PR on note --- docs/index.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 2238689..45887c2 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,7 +6,8 @@ .. note:: - The documentation site is under active development. + The documentation site is under active development. Check out `this PR `_ + for an idea on what to expect in the future! `Deepbots `_ is a simple framework which is used as "middleware" between the free and open-source