33How to run sample codes
44-------------------------
55
6- 1. Clone this repo and go into dir.
6+ In this chapter, we will explain the setup process for running each sample code
7+ in PythonRobotics and describe the contents of each directory.
8+
9+ Steps to setup and run sample codes
10+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
11+
12+ 1. Install `Python 3.12.x `_
13+
14+ Note that older versions of Python3 might work, but we recommend using
15+ the specified version, because the sample codes are only tested with it.
16+
17+ 2. If you prefer to use conda for package management, install
18+ Anaconda or Miniconda to use `conda `_ command.
19+
20+ 3. Clone this repo and go into dir.
721
822.. code-block ::
923
@@ -12,7 +26,10 @@ How to run sample codes
1226 >$ cd PythonRobotics
1327
1428
15- 2. Install the required libraries.
29+ 4. Install the required libraries.
30+
31+ We have prepared requirements management files for `conda `_ and `pip `_ under
32+ the requirements directory. Using these files makes it easy to install the necessary libraries.
1633
1734using conda :
1835
@@ -27,6 +44,75 @@ using pip :
2744 >$ pip install -r requirements/requirements.txt
2845
2946
30- 3. Execute python script in each directory.
47+ 5. Execute python script in each directory.
48+
49+ For example, to run the sample code of `Extented Kalman Filter ` in the
50+ `localization ` directory, execute the following command:
51+
52+ .. code-block ::
53+
54+ >$ cd localization/extended_kalman_filter
55+
56+ >$ python extended_kalman_filter.py
57+
58+ Then, you can see this animation of the EKF algorithm based localization:
59+
60+ .. image :: https://github.com/AtsushiSakai/PythonRoboticsGifs/raw/master/Localization/extended_kalman_filter/animation.gif
61+
62+ Please refer to the `Directory structure `_ section for more details on the contents of each directory.
63+
64+ 6. Add star to this repo if you like it 😃.
65+
66+ .. _`Python 3.12.x` : https://www.python.org/
67+ .. _`conda` : https://docs.conda.io/projects/conda/en/stable/user-guide/install/index.html
68+ .. _`pip` : https://pip.pypa.io/en/stable/
69+ .. _`the requirements directory` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/requirements
70+
71+ .. _`Directory structure` :
72+
73+ Directory structure
74+ ~~~~~~~~~~~~~~~~~~~~
75+
76+ The top-level directory structure of PythonRobotics is as follows:
77+
78+ Sample codes directories:
79+
80+ - `AerialNavigation `_ : the sample codes of aerial navigation algorithms for drones and rocket landing.
81+ - `ArmNavigation `_ : the sample codes of arm navigation algorithms for robotic arms.
82+ - `Localization `_ : the sample codes of localization algorithms.
83+ - `Bipedal `_ : the sample codes of bipedal walking algorithms for legged robots.
84+ - `Control `_ : the sample codes of control algorithms for robotic systems.
85+ - `Mapping `_ : the sample codes of mapping or obstacle shape recognition algorithms.
86+ - `PathPlanning `_ : the sample codes of path planning algorithms.
87+ - `PathTracking `_ : the sample codes of path tracking algorithms for car like robots.
88+ - `SLAM `_ : the sample codes of SLAM algorithms.
89+
90+ Other directories:
91+
92+ - `docs `_ : This directory contains the documentation of PythonRobotics.
93+ - `requirements `_ : This directory contains the requirements management files.
94+ - `tests `_ : This directory contains the unit test files.
95+ - `utils `_ : This directory contains utility functions used in some sample codes in common.
96+ - `.github `_ : This directory contains the GitHub Actions configuration files.
97+ - `.circleci `_ : This directory contains the CircleCI configuration files.
98+
99+ The structure of this document is the same as that of the sample code
100+ directories mentioned above.
101+ For more details, please refer to the :ref: `How to read this textbook ` section.
102+
31103
32- 4. Add star to this repo if you like it 😃.
104+ .. _`AerialNavigation` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/AerialNavigation
105+ .. _`ArmNavigation` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/ArmNavigation
106+ .. _`Localization` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/Localization
107+ .. _`Bipedal` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/Bipedal
108+ .. _`Control` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/Control
109+ .. _`Mapping` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/Mapping
110+ .. _`PathPlanning` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/PathPlanning
111+ .. _`PathTracking` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/PathTracking
112+ .. _`SLAM` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/SLAM
113+ .. _`docs` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/docs
114+ .. _`requirements` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/requirements
115+ .. _`tests` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/tests
116+ .. _`utils` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/utils
117+ .. _`.github` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/.github
118+ .. _`.circleci` : https://github.com/AtsushiSakai/PythonRobotics/tree/master/.circleci
0 commit comments