D2.1 Requirements and Specification - CORBYS
D2.1 Requirements and Specification - CORBYS
D2.1 Requirements and Specification - CORBYS
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>D2.1</strong> <strong>Requirements</strong> <strong>and</strong> <strong>Specification</strong><br />
High-level Tools: Usability is a crucial part for a BCI software platform <strong>and</strong> its acceptance <strong>and</strong> spread relies<br />
on how easy-to-use the platform is for both non-programmers <strong>and</strong> developers. As a result, such a platform<br />
should provide its users with high-level tools featured by flexibility to customise the software <strong>and</strong> build<br />
different applications, as well as usability for non-programmers. As illustrated in Table 4, some examples<br />
exist. However, many of them require programming skills (e.g. code skeleton generators, Matlab analysis<br />
tools), while those aimed at non-programmers are too complex <strong>and</strong> limited (e.g. scene editors). The<br />
innovation at this point would be to develop graphical tools in a user-centred approach <strong>and</strong> minimise third<br />
party dependencies. Facing the use cases of both programmers <strong>and</strong> non-programmers, the major requirements<br />
would be captured. Those requirements must lead the development of this kind of tools to obtain powerful as<br />
well as usable software applications that support flexible BCI designs.<br />
Technological Gaps in Merging Non-Invasive BCI <strong>and</strong> Robotics: A software analysis of BCI systems of<br />
st<strong>and</strong>ard requirements (Mason et al, 2007) applied to this platform reveals, however, some limitations when<br />
used as a general software architecture <strong>and</strong> in particular in the context of the robotic project <strong>CORBYS</strong>:<br />
1. Recording software: only one recording technique can be used at a time for one application (e.g., EEG or<br />
MEG). This makes complex testing or validating a complementary approach to control devices.<br />
2. Only one type of neural paradigm can be processed at a time: As a result, it is not possible to use multiple<br />
control channels simultaneously (e.g., simultaneous robot control <strong>and</strong> online robot error recognition).<br />
3. It is a one-processing technique: a single signal-processing module can be processed simultaneously,<br />
which is a limitation in applications with redundant processing modules (for a given neural paradigm) or<br />
with parallel processing (of several paradigms as in the previous example).<br />
4. It is single application software: only one device can be controlled at a time, which prevents the<br />
development of applications where humans control several devices simultaneously (e.g., two arms for<br />
manipulation).<br />
5. It does not have interaction functionalities with other software architectures. This type of interface will<br />
open the possibility of interaction with other systems <strong>and</strong> re-using many existing algorithms already<br />
present in robotics architectures such as Stage/Player (Gerkey et al, 2003), OROCOS (Bruyninckx, 2011),<br />
CARMEN (Montemerlo et al, 2003), ROS (ROS.org, n.d.) or CoolBOT (CoolBOT Project, n.d.) .<br />
6. Non portable <strong>and</strong> single-platform: it relies on third party component for compilation <strong>and</strong> execution (it can<br />
only be compiled in Borl<strong>and</strong> under Windows operating system).<br />
7. Lack of high-level tools: it does not provide graphical tools or software components aimed at nonprogramming<br />
users in order to facilitate construction <strong>and</strong> customisation of BCI applications.<br />
Table 4: Main platform comparison<br />
153