This repository contains software which aims to support problem solving in the field of automatic control by providing suitable access to domain specific knowledge, e.g. in form of a method-network.
The user interface is implemented as a django web application.
While code and interface are written in English, the contents of the method net are currently authored in German.
Click here to visit an interactive demo of the web application right in your browser.
Disclaimer: This software is still in early stage of development and not yet officially released. The project should be seen as a starting point and not a complete solution. Please join the Discussion page to begin contributing.
An artice on this topic is being presented at VDI Mechatronik conference 2021 under the title “Formal Semantic Representation of Methods in Automatic Control” by Robert Heedt, Carsten Knoll, Klaus Röbenack (TU Dresden, Institute of Control Theory).
Abstract:
Written knowledge about automatic control theory is hard to access as it requires familiarity with the exact terminology.
Therefore, we propose the “method net”, a supplement to classical knowledge representation, consisting of types and
methods in a graph structure. From that, a schematic solution procedure can be generated for a specific problem. Trajectory
tracking control for a triple pendulum is used to demonstrate how the proposed methode supports knowledge transfer.
- We use NPM for management of Javascript libraries.
- Install all dependencies (specified in
package.json
):npm install
(in the main directory)- → This creates a directory
node_modules
which is comparable to the virtual env directory in python
- → This creates a directory
- We use esbuild to build a bundle (single file with project code and all dependencies) that is then served from
ackbas_core/static/ackbas_core/main.js
. - Frontend code lives in
ackbas_core/ts
(Typescript which will be compiled to JS during build). - Build : run
npm run build
. - Watch mode : run
npm run watch
to start esbuild in watch mode, which recompiles the Typescript code automatically when it changes.
- The backend is written in Python using the Django framework
- Dependencies are listed in
requirements.txt
and installed withpip install -r requirements.txt
- Run the Django server locally with
python manage.py runserver
- The start page is then served on
http://localhost:8000/
- Run the provided unit tests with
python manage.py test