11.12.2012 Views

D2.1 Requirements and Specification - CORBYS

D2.1 Requirements and Specification - CORBYS

D2.1 Requirements and Specification - CORBYS

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!