Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion docs/modules/0_getting_started/0_getting_started_main.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@ Getting Started
:caption: Contents

1_what_is_python_robotics
2_how_to_use
2_how_to_run_sample_codes
3_how_to_contribute
4_how_to_read_textbook
49 changes: 32 additions & 17 deletions docs/modules/0_getting_started/1_what_is_python_robotics_main.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ What is PythonRobotics?
This is an Open Source Software (OSS) project: PythonRobotics, which is a Python code collection of robotics algorithms.
These codes are developed under `MIT license`_ and on `GitHub`_.

.. _GitHub: https://github.com/AtsushiSakai/PythonRobotics
.. _`MIT license`: https://github.com/AtsushiSakai/PythonRobotics/blob/master/LICENSE

This project has three main philosophies below:

Philosophy 1. Easy to understand each algorithm's basic idea.
Expand Down Expand Up @@ -60,35 +63,32 @@ For example, Kalman filters and particle filter for localization,
grid mapping for mapping,
dynamic programming based approaches and sampling based approaches for path planning,
and optimal control based approach for path tracking.
These algorithms are implemented in this project.
These algorithms are implemented and explained in the textbook in this project.

Philosophy 3. Minimum dependency.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Each sample code is written in Python3 and only depends on some standard
modules for readability and ease of use.


.. _GitHub: https://github.com/AtsushiSakai/PythonRobotics
.. _`MIT license`: https://github.com/AtsushiSakai/PythonRobotics/blob/master/LICENSE


See this paper for more details:
Each sample code of PythonRobotics is written in Python3 and only depends on
some standard modules for readability and ease to setup and use.

- PythonRobotics: a Python code collection of robotics algorithms: https://arxiv.org/abs/1808.10703

.. _`Requirements`:

Requirements
============

- `Python 3.12.x`_
- `NumPy`_
- `SciPy`_
- `Matplotlib`_
- `cvxpy`_
PythonRobotics depends only on the following five libraries,
including Python itself, to run each sample code.

For development:
- `Python 3.12.x`_ (for Python runtime)
- `NumPy`_ (for matrix operation)
- `SciPy`_ (for scientific operation)
- `cvxpy`_ (for convex optimization)
- `Matplotlib`_ (for visualization)

If you only need to run the code, the five libraries mentioned above are sufficient.
However, for code development or creating documentation for the textbook,
the following additional libraries are required.

- `pytest`_ (for unit tests)
- `pytest-xdist`_ (for parallel unit tests)
Expand All @@ -107,3 +107,18 @@ For development:
.. _`Sphinx`: https://www.sphinx-doc.org/en/master/index.html
.. _`ruff`: https://github.com/astral-sh/ruff

For instructions on installing the above libraries, please refer to
this section ":ref:`How to run sample codes`".

Arxiv paper
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

We have published a paper on this project on Arxiv in 2018.

See this paper for more details about this Project:

- `PythonRobotics: a Python code collection of robotics algorithms`_ (`BibTeX`_)

.. _`PythonRobotics: a Python code collection of robotics algorithms`: https://arxiv.org/abs/1808.10703
.. _`BibTeX`: https://github.com/AtsushiSakai/PythonRoboticsPaper/blob/master/python_robotics.bib

Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
How to use
----------
.. _`How to run sample codes`:

How to run sample codes
-------------------------

1. Clone this repo and go into dir.

Expand Down