Statistics
| Branch: | Revision:

amiro-apps / README.txt @ f25c513d

History | View | Annotate | Download (4.901 KB)

1
AMiRo-Apps is a collection of applications and configurations for the Autonomous
2
Mini Robot (AMiRo) [1]. It is tightly coupled to the AMiRo-OS and uRtWare
3
projects, which provide a sophisticated operating system (based on ChibiOS) amd
4
a real-time middleware for embedded devices.
5

    
6
Copyright (C) 2018..2019  Thomas Schöpping et al.
7
(a complete list of all authors is given below)
8

    
9
This program is free software: you can redistribute it and/or modify
10
it under the terms of the GNU General Public License as published by
11
the Free Software Foundation, either version 3 of the License, or (at
12
your option) any later version.
13

    
14
This program is distributed in the hope that it will be useful, but
15
WITHOUT ANY WARRANTY; without even the implied warranty of
16
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17
General Public License for more details.
18

    
19
You should have received a copy of the GNU General Public License
20
along with this program.  If not, see <http://www.gnu.org/licenses/>.
21

    
22
This research/work was supported by the Cluster of Excellence
23
Cognitive Interaction Technology 'CITEC' (EXC 277) at Bielefeld
24
University, which is funded by the German Research Foundation (DFG).
25

    
26
Authors:
27
 - Thomas Schöpping          <tschoepp[at]cit-ec.uni-bielefeld.de>
28
 - Marc Rothmann
29

    
30
References:
31
 [1] S. Herbrechtsmeier, T. Korthals, T. Schopping and U. Rückert, "AMiRo: A
32
     modular & customizable open-source mini robot platform," 2016 20th
33
     International Conference on System Theory, Control and Computing (ICSTCC),
34
     Sinaia, 2016, pp. 687-692.
35

    
36

    
37

    
38
################################################################################
39
#                                                                              #
40
#        RRRRRRRR   EEEEEEEE     AAA     DDDDDDDD   MM     MM  EEEEEEEE        #
41
#        RR     RR  EE          AA AA    DD     DD  MMM   MMM  EE              #
42
#        RR     RR  EE         AA   AA   DD     DD  MMMM MMMM  EE              #
43
#        RRRRRRRR   EEEEEE    AA     AA  DD     DD  MM MMM MM  EEEEEE          #
44
#        RR   RR    EE        AAAAAAAAA  DD     DD  MM     MM  EE              #
45
#        RR    RR   EE        AA     AA  DD     DD  MM     MM  EE              #
46
#        RR     RR  EEEEEEEE  AA     AA  DDDDDDDD   MM     MM  EEEEEEEE        #
47
#                                                                              #
48
################################################################################
49

    
50
This file will help you to setup all required software on your system, compile
51
the source code, and flash it to the AMiRo modules.
52

    
53
================================================================================
54

    
55
CONTENTS:
56

    
57
  1  Required software
58
  2  Folder structure
59

    
60
================================================================================
61

    
62

    
63

    
64
1 - REQUIRED SOFTWARE
65
---------------------
66

    
67
Since AMiRo-Apps depends on the AMiRo-OS and uRtWare projects, both are included
68
as Git submodules. Use the provided ./setup.sh script to initialize those. When
69
AMiRo-OS is fully configured, there is no additional software required by
70
AMiRo-Apps. For further details about the initialization follow the instructions
71
in the script and refer to the README.txt file of AMiRo-OS and uRtWare
72
respectively.
73

    
74

    
75

    
76
2 - FOLDER STRUCTURE
77
--------------------
78

    
79
At its root, the AMiRo-Apps projects has six folders to distiquish between the
80
most fundamental parts:
81
.
82
├── apps
83
│     This folder includes individual applications, which can used by
84
│     configigurations. Apps will usually be implemented as nodes for the
85
│     middleware and provide acording interfaces via some message type(s).
86
├── configurations
87
│     Each configuration combines multiple apps and distributes them among any
88
│     supported modules. Furthermore, configurations may modify parameters for
89
│     each module individually. Finally, each configuration should come with a
90
│     makefile, so a user can just use this to build and flash the whole setup.
91
│     For better understanding, have a look at this example:
92
│       - module A: using apps 1, 2 and 3 with parameters X and Y.
93
│       - module B: using apps 1 and 4 with parameter X.
94
│       - module C: using apps 1, 5, 6 and 7 with parameters X and Z.
95
│       - Makefile: set and build everything.
96
│     Note that each configuration needs to explicitely support a module and
97
│     that there can never be an implicit default configuration.
98
├── messagetypes
99
│     Apps shoud take advantage of the middleware and thus implement nodes,
100
│     which communicate via messages. Such messages may have payloads of
101
│     arbitrary types, which can be defined in this folder.
102
├── middleware
103
│     This folder contains the µRtWare submodule and interface files.
104
├── os
105
│     This folder contains the AMiRo-OS submodule and interface files.
106
└── tools
107
      Usable tools can be found in this dirctory.
108

    
109
================================================================================
110