... | ... | @@ -95,3 +95,30 @@ Bellow is an example, for an exploration mission, in which the robot first move |
|
|
```
|
|
|
|
|
|
The ```type``` indicates the type of TST node, ```children``` are used by the container nodes and contains other node definition. ```params``` contains the parameters of each nodes.
|
|
|
|
|
|
TstML Library
|
|
|
-------------
|
|
|
|
|
|
The TstML library is a library that allows to parse the specification files, the TST files, provides some basic functionnality for manipulating TSTs and executing them.
|
|
|
The generated API documentation is available in PDF on the course website.
|
|
|
The document presents the C++ API, but the python API is similar.
|
|
|
Examples of use of the TstML library are presented in the lab instruction, you only need to refer to the API if you have questions about the behavior of a specific function.
|
|
|
|
|
|
List of relevant classes for defining TST:
|
|
|
|
|
|
* ```TSTNode```: represents an instance of a node in a TST.
|
|
|
* ```TSTNodeModel```: represents the model (or specification) of a type of TST Node.
|
|
|
* ```TSTNodeModelsRegistry``` registry of ```TSTNodeModelsRegistry``` used to define TSTs.
|
|
|
|
|
|
List of relevant classes for executing TST:
|
|
|
|
|
|
* ```AbstractNodeExecutor```: base class to define the execution of a ```TSTNode```.
|
|
|
* ```ExecutionStatus```: holds the execution status
|
|
|
* ```Executor```: handles the execution of a tree.
|
|
|
* ```NodeExecutorRegistry```: contains an association between the ```TSTNodeModel``` and ```AbstractNodeExecutor```. It is used during the execution of a TST to instantiate ```AbstractNodeExecutor```.
|
|
|
|
|
|
The ```NodeExecutorRegistry``` and ```TSTNodeModelsRegistry``` are common for all TSTs and should be permanent. While ```TSTNode``` and ```Executor``` are specific to the execution of a given tree.
|
|
|
|
|
|
### Implementation
|
|
|
|
|
|
This lab can be completed using **Python** or **C++**. Follows the instruction corresponding to your choice of programming language. |