3
3
How to run sample codes
4
4
-------------------------
5
5
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.
7
21
8
22
.. code-block ::
9
23
@@ -12,7 +26,10 @@ How to run sample codes
12
26
>$ cd PythonRobotics
13
27
14
28
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.
16
33
17
34
using conda :
18
35
@@ -27,6 +44,75 @@ using pip :
27
44
>$ pip install -r requirements/requirements.txt
28
45
29
46
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
+
31
103
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