10 | | It has three main categories of usecases: |
11 | | -# Easy access to ready solutions of typical decision-making scenarios: |
12 | | |
13 | | For example simulation, estimation, feedback control. These objects are described by matlab structures. |
14 | | See \ref bdt_scenarios |
15 | | -# Wrappers for selected C++ functions |
16 | | |
17 | | Taking matlab structures as inputs and retunring matlab structures as outputs, see \ref bdt_wrappers |
18 | | |
19 | | -# Native Matlab classes that reflect the basic classes of BDM. |
20 | | |
21 | | These classes are pure Matlab classes and can be used without BDM. |
22 | | |
23 | | However, their main advantage is that BDM attach to these calsses and use them via C++ classes (e.g. mexEpdf and mexBM). Hence, these calsses can be used as building blocks in advances |
24 | | algorithms implemnetyed in BDM, see \ref bdt_mex_classes |
| 10 | It has three main categories of use cases: |
26 | | For tutorial on the above scenarios see \ref pages.html |
| 12 | \section bdt_int_ready Standard scenarios |
| 13 | Typical decision-making scenarios has been prepared as standalone functions, which can be configured using |
| 14 | Matlab structures with definition of experimental conditions. \n |
| 15 | These include: |
| 16 | - simulation, as a trivial example, where data are generated by a chosen simulator (or any prepared DataSource) and stored in the required format, |
| 17 | - estimation, same as the simulation scenario above extended by connection to an array of estimators, |
| 18 | - feedback control, where the systems simulator (or real system) is connected to an array of controllers. |
| 19 | - multiple-participant decision making, where autonomous agents operate in their environment. |
| 20 | |
| 21 | The purpose of this use case is to create a consistent experimental environment for rapid exploration of new data, |
| 22 | new application domains, where different estimation and control algorithms can be quickly exchanges and mutually compared. |
| 23 | |
| 24 | See \ref bdt_scenarios for details. |
| 25 | |
| 26 | |
| 27 | \section bdt_int_wrap Matlab interface to C++ algorithms |
| 28 | |
| 29 | Selected individual algorithms of the BDM toolbox are accessible via dedicated mex functions. |
| 30 | These mex functions operate as follows: |
| 31 | -# Matlab structures on their input is translated into C++ data structures |
| 32 | -# run the required algorithm, |
| 33 | -# the output is again converted to Matlab structures. |
| 34 | |
| 35 | The purpose of this use case is to allow composition of existing algorithms in a new arrangement. |
| 36 | For example, it allows non-standard steps in the main loop, manipulation with configuration structures of scenarios, |
| 37 | novel combination of conditionally independent filters, etc. |
| 38 | |
| 39 | See, \ref bdt_wrappers for details. |
| 40 | |
| 41 | \section bdt_int_class Matlab classes extending BDM classes |
| 42 | |
| 43 | These classes are pure Matlab classes and can be used without BDM. |
| 44 | |
| 45 | However, their main advantage is that BDM attach to these classes and use them via C++ classes (e.g. mexEpdf and mexBM). Hence, these classes can be used as building blocks in advances |
| 46 | algorithms implemented in BDM. |
| 47 | |
| 48 | The purpose of this use case is to allow seamless integration of pure Matlab algorithm into the routines of BDM. |
| 49 | |
| 50 | See \ref bdt_mex_classes for details |