Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add andino website #1

Merged
merged 23 commits into from
Jul 8, 2024
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
755e4b6
Initial commit for this branch
JesusSilvaUtrera May 23, 2024
8dcd6ea
Added github action, requirements for the docs and readthedocs config
JesusSilvaUtrera May 23, 2024
319aa5b
First version of the structure is ready
JesusSilvaUtrera May 23, 2024
7e9a26a
added full structure of the documentation and bash script for RADME f…
JesusSilvaUtrera May 24, 2024
b03c8be
Modified github action a bit
JesusSilvaUtrera May 24, 2024
70be01b
Test to see if the build is done automatically on readthedocs
JesusSilvaUtrera May 29, 2024
22f8035
Deleted github action becuase it is not necessary
JesusSilvaUtrera May 29, 2024
ed92ff4
Added website and some comments to general READMe
JesusSilvaUtrera May 29, 2024
23d2319
Deleted _build directory, make.bat (we are not going to ensure Window…
JesusSilvaUtrera Jun 6, 2024
01af207
updated .gitignore and migrated installation and usage pages to rst
JesusSilvaUtrera Jun 6, 2024
9019523
Migrate all packages README except andino_hardware
JesusSilvaUtrera Jun 6, 2024
bd968c9
Solved a couple of references in main index.rst
JesusSilvaUtrera Jun 6, 2024
d33a3c1
Finish polishing some things
JesusSilvaUtrera Jun 7, 2024
0d1f788
Updated instructions to build docs locally
JesusSilvaUtrera Jun 10, 2024
82ba924
Changed website URL
JesusSilvaUtrera Jun 11, 2024
16b3c01
Minimal test to try automatic building
JesusSilvaUtrera Jun 11, 2024
d4e34b5
Try to fix the videos in rtd
JesusSilvaUtrera Jun 12, 2024
f7037e3
Trying to fix the videos 2
JesusSilvaUtrera Jun 12, 2024
e9ccdd0
Migrated connections diagram to rst
JesusSilvaUtrera Jun 13, 2024
e002115
Migrated first steps
JesusSilvaUtrera Jun 14, 2024
becf640
Migrated bill of materials
JesusSilvaUtrera Jun 14, 2024
63d4a14
Fix minor typo
JesusSilvaUtrera Jun 14, 2024
975c850
Add links to andino_hardware.md
JesusSilvaUtrera Jun 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
docs/_build/
22 changes: 22 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

build:
os: ubuntu-22.04
tools:
python: "3.10"

# 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:
- htmlzip

python:
install:
- requirements: docs/requirements.txt
60 changes: 58 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,58 @@
# andino_docs
Manages andino ecosystem documentation
# Andino Docs

Manages andino ecosystem documentation.

Visit the [website](https://andino-documentation.readthedocs.io/en/latest/) to see all th information.

## Curiosities

- If you want to add images, you can use the relative path directly. If you want to add videos, use always the `_static` directory, as there is where they are placed inside the `html` directory, even though you initially have it inside the `media` folder.
- In this case, no Github Action is required for ReadTheDocs to work, we just need to setup the Webhook on the repository `Settings` to be able to build the documentation automatically every time a push is done or a pull request is merged. This is configured automatically if you are admin on the repo group. If not, refer to [this link](https://docs.readthedocs.io/en/stable/guides/setup/git-repo-manual.html).

## Get README.md

A bash script named `get_readme.sh` is included in the repo to retrieve the latest version of the `README.md` of andino packages to include them in the documentation. You just need to execute the script, it will clone the repo, extract the files and remove the repo:

```sh
chmod +x get_readme.sh
./get_readme.sh
```

## Build documentation locally

**NOTE**: Use a virtual environment if you don't want to keep these requirements in your machine.

### Install sphinx
- Install ``pip``
```sh
sudo apt install python3-pip
```
- Install ``dependencies``
```sh
pip install -r docs/requirements.txt
```
- Add the /.local/bin path to bash-profile (this allow execution of sphinx-build)
- Open bash profile with any editor
```
sudo gedit ~/.bash_profile
```
- Add the following line, save and exit.
```
export PATH="/home/$USER/.local/bin:$PATH"
```

### Build the project with sphinx

- In the docs folder

```sh
make html
```

### Visualize the documentation locally

Your ``index.rst`` has been built into ``index.html``
in your documentation output directory (``_build/html/index.html``).
Open this file in your web browser to see your docs.

If you prefer, you can navigate to `docs/_build/html` and do `python3 -m http.server <port>` and you will be able to open the browser and see the docs at `localhost:<port>`.
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -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)
12 changes: 12 additions & 0 deletions docs/building_your_robot/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
.. TODO All of this can be extracted from 'andino_hardware/README.md' and converted to .rst files when the new assembly process is finished

Building your Robot
--------------------

.. toctree::
:maxdepth: 1

bill_of_materials.rst
connections_diagram.rst
assembly_process.rst
first_steps.rst
54 changes: 54 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

project = 'Andino'
copyright = '2024, Ekumen'
author = 'ekumenlabs'
release = '1.0'

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
'myst_parser',
'sphinx_tabs.tabs',
'sphinxcontrib.video',
'sphinx_rtd_theme'
]

templates_path = []

# TODO when all the migration is done, only .rst files will be used as source files
source_suffix = ['.rst', '.md']

master_doc = 'index'

language = 'en'

exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

pygments_style = None

# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

# Title of the html page.
html_title = "Andino Documentation"

# Icon of the window.
html_favicon = 'media/real_robot.png'

# Logo of the page. Logo will be put on top of the sidebar.
html_logo = 'media/logo_black.svg'

# If true, “Created using Sphinx” is shown in the HTML footer. Default is True.
html_show_sphinx = False

html_theme = 'sphinx_rtd_theme' # Default one is alabaster, you can change it installing other themes (e.g: furo)
html_static_path = ['media', 'other/media', 'package_summary/media', 'building_your_robot/media']
htmlhelp_basename = 'andino-docs'
13 changes: 13 additions & 0 deletions docs/demos/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

Demos
-----

Note: Needs to be completed

Other projects built upon Andino!

- `andino_gz <https://github.com/Ekumen-OS/andino_gz>`_: `Gazebo <https://gazebosim.org/home>`_ (non-classic) simulation of the andino robot.
- `andino_webots <https://github.com/Ekumen-OS/andino_webots>`_: `Webots <https://github.com/cyberbotics/webots>`_ simulation of the Andino robot fully integrated with ROS 2.
- `andino_o3de <https://github.com/Ekumen-OS/andino_o3de>`_: `O3DE <https://o3de.org/>`_ simulation of the Andino robot.
- `andino_isaac <https://github.com/Ekumen-OS/andino_isaac>`_: `Isaac Sim <https://docs.omniverse.nvidia.com/isaacsim/latest/index.html>`_ simulation of the Andino robot.
- `andino_integration_tests <https://github.com/Ekumen-OS/andino_integration_tests>`_: Extension to the Andino robot showing how to build integration tests.
107 changes: 107 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
.. image:: ./media/logo_black.svg
:align: center

Andino
======

Andino is a fully open-source diff drive robot designed for educational purposes and low-cost applications.
It is fully integrated with ROS 2 and it is a great base platform to improve skills over the robotics field.
With its open-source design, anyone can modify and customize the robot to suit their specific needs.

.. image:: ./media/real_robot.png
:align: center

Note: For videos go to :ref:`Media <media>` section.

Building your Robot
--------------------

.. toctree::
:maxdepth: 1

building_your_robot/index.rst

Package Summary
---------------

.. toctree::
:maxdepth: 1

package_summary/index.rst

Installation
------------

.. toctree::
:maxdepth: 1

other/installation.rst

Usage
-----

.. toctree::
:maxdepth: 1

other/usage.rst

Demos
------

.. toctree::
:maxdepth: 1

demos/index.rst

.. _media:

Media
-----

RVIZ Visualization
^^^^^^^^^^^^^^^^^^

.. video:: ./_static/andino_wheel_tf.mp4
:width: 640
:height: 480


Slam
^^^^

Using the robot for mapping.

.. video:: ./_static/andino_slam_office.mp4
:width: 640
:height: 480

.. video:: ./_static/slam_cam_house.mp4
:width: 640
:height: 480

See `andino slam <https://github.com/Ekumen-OS/andino/tree/humble/andino_slam>`_ for more information.

Share your Andino!
------------------

Have you built your `Andino` already? Please go to `Show & Tell <https://github.com/Ekumen-OS/andino/discussions/categories/show-and-tell>`__ Discussion and share with us your own version of it.

Inspirational sources
---------------------

This section is dedicated to recognizing and expressing gratitude to the open-source repositories that have served as a source of inspiration for this project. We highly recommend exploring these repositories for further inspiration and learning.

- `articubot_one <https://github.com/joshnewans/articubot_one>`_
- `diffbot <https://github.com/ros-mobile-robots/diffbot>`_
- `noah_hardware <https://github.com/GonzaCerv/noah-hardware>`_
- `linorobot <https://github.com/linorobot/linorobot2>`_

Contributing
------------

Issues or PRs are always welcome! Please refer to `CONTRIBUTING <https://github.com/Ekumen-OS/andino/blob/humble/CONTRIBUTING.md>`_ doc.

Code development
----------------

Note that a :doc:`docker <package_summary/docker>` page is provided for easy setting up the workspace.
Binary file added docs/media/andino_sim_nav.mp4
Binary file not shown.
Binary file added docs/media/andino_slam_office.mp4
Binary file not shown.
Binary file added docs/media/andino_wheel_tf.mp4
Binary file not shown.
29 changes: 29 additions & 0 deletions docs/media/logo_black.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions docs/media/logo_white.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/media/real_robot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/media/slam_cam_house.mp4
Binary file not shown.
Loading