Friday, 25 May 2012

Riccardo and Francisco's visit to JPL

Francisco and Riccardo visited Adrian Stoica's lab at JLP in late May 2012 interacting particularly with Adrian but also Christopher Assad (he is specifically interested in EMG applications to robotic control and prosthesis) and other people.

They were also invited to give a tutorial on BCI to get people in the lab up to speed on the state-of-the-art and recent developments in the field.

The seminar was entitled "Brain Signals + Evolutionary Computation = Human Competitive Brain Computer Interfaces". Here is a summary:

The keyboard and mouse provide us with reliable, but unnatural forms of input, being primitive transducer of muscular movement. People who lack muscle control cannot used them.  Wouldn't it be nice some day to be able to replace the mouse and keyboard with systems capable of directly interpreting the intentions of computer users from their
brain activity? 

This is the goal of the field of Brain-Computer Interfaces (BCI). Unfortunately, this goal is hampered by a number of problems: brain signals are typically extremely noisy, they vary in location and temporal dynamics from subject to subject, they depend on the age,

tiredness, attention, food and drug intake of subjects, etc. So, even the best BCIs are extremely slow and prone to misinterpret user intentions.

In this seminar we will briefly review the different approaches to BCI, with particular attention to non-invasive EEG-based BCIs, highlighting their difficulties and limitations. We will then illustrate a number of cases from our own research in the Essex BCI group, where evolutionary algorithms and genetic programming in particular have helped develop systems which are competitive with human-designed ones, thereby accelerating the development of practical BCI technology.

Thursday, 10 May 2012

Potential Simulators for the Project

Caterina and I (Riccardo) have done a search of space flight simulators, particularly focusing on anything written in Python or that can be interfaced to Python (since this is the language we have used for our BCI Analogue Mouse system).

Here is a preliminary list:
  • JPL have developed and used in a number of missions their own simulators. Two have caught my eye:
    • DARTS (which stands for Dynamics Algorithms for Real-Time Simulation) a general simulator for multi body dynamics (and on which other simulators are based). This could be very good for simulating the flying of a spacecraft.
    • ROAMS (which stands for Rover Analysis, Modeling and Simulation) which would be good for simulating rovers performing missions on a planet or something.
  • Vega Strike is a sort of a game of space exploration and missions. I've downloaded and installed version 0.5.1 on Ubuntu and it worked really well (note: I did not get it from the ubuntu repositories, since that is partly broken). Apparently one can create missions by Python scripting, but I haven't got round to test that. It would give us the possibility of running really realistic simulations. (One issue to consider is whether our BCI Mouse software would interact ok with it, since it grabs the mouse pointer and goes full screen.)
  • Space Commander is a physically realistic simulator of space travel entirely written in Python. I've already committed and adapted version 0.4 of the simulator (see changesets r3 and r4). Because it is written in Python and it is very compact I would suggest to use it to do the first few experiments. (Incidentally, it uses pygame, which I think is the same package Psychopy uses: Psychopy is used for stimulus presentation etc. in our BCI Mouse.)