Controlling a robot with your mind

For [Ern]‘s MEng group project, his group had to develop a robotics platform capable of achieving some end goal. Because innovation is a large part of the grade, [Ern] convinced his team members to work with a brain controlled interface and build a mind controlled robotics platform.

For wont of having an easy build, [Ern] and his team chose a Lynxmotion Tri-Track robot capable of moving around the classroom while receiving commands from a computer. The mind-control portion of the build comes from a NeuroSky MindWave Mobile, a cheap and fairly open EEG system that reads alpha, beta, and delta waves generated by a user’s brain and sends that data over to a computer for processing.

After a bit of testing that included an Arduino to move the robot forward if the MindWave’s ‘attention’ value was over 60%, [Ern] and his team looked for a way to implement multi-directional control.

In order to get the robot moving left, right, and backwards in addition to moving forwards, the team looked at the included ‘blink detection’ abilities of the MindWave to cycle through a few commands. This technique turned out to be far too sensitive – the blink detection of the MindWave is simply too good. To get around that problem, the team used the signal strength of the received EEG signals. The theory being when a user blinks their eyes, the EEG contacts will move slightly, degrading the signal received by the hardware.

The team finally got a reasonable mind-controlled robot up and working, as demonstrated in the video after the break. Check out how each blink allows [Ern] and his colleagues to cycle through driving modes. Pretty neat for controlling something with your mind.

Comments

  1. Coda says:

    MEng, as in Master of Engineering?

  2. freax says:

    interesting project, but detecting blinks isn’t really “mind control”, is it?

    • Oxide says:

      I suppose it would depend. I would still count it as mind control if the device was sensing the electrical impulses in the nerve, which it seems to be doing.

      • Hey,

        Glad you like the project :D

        The blinks aren’t really brain-actuation, they’re more a change in the signal quality based on movement of the skin, so a different physiological interaction.

        But the start/stop functionality is triggered using a value output by the Mindwave headset which relates to your concentration level. It’s a proprietry algorithm but I suspect they use a weighted average of the Alpha, Beta and Gamma brain waves at that electrode position.

        Ern

    • Monoxide says:

      I agree, this is not mind control any more than using a joystick is mind control…since your mind controls you thumbs and all

      • Hey,

        I agree that the directional controls are not mind control, but the blinks just set the drive mode (forward, back, left and right), and don’t actually move the robot. The actual movement is triggered by concentrating which causes the “attention” value to increase. So it’s not fully mind controlled but it is partially :)

        Ern

        • lesporia says:

          what are you thinking to move forward,backward,left,right,, also how to clasify each, what algo did you use (i.e. Hidden Markov Model, Artificial neural network, Gaussian mixture model etc., what did you use, MVAR,AR,PCA
          also correct me if i am wrong

          blink,think of moving to the left,blink, execute move to the left, Attention>Threshold, Move?

          how long do i need to think of moving to the left to execute it?
          how long does it take to turn in a certain direction?
          thanks in advance

  3. Food4Thought says:

    Facial/Gesture Recognition, Neural Interfacing, dynamic perching, physical/electronic weaponized , Decentralized & Distributed command & control…

    Its all part of this wonderfully wacky world of wonder.

    Just until they decide to use their own on-the-fly protocols to communicate….

    SkyNET

    ;-)

  4. DEEPAK says:

    cant u make the robot to move by just using mind without making use of blinks

  5. DEEPAK says:

    What is the logic u have used for making the robo move forward . We are trying to do a project based on mindwave.So , can you send me the programs used in your project.

  6. joberol917 says:

    Hi Ern, can you tell me the way you detecting the blinkStrength for arduino?
    I have a project related with the blinkStreng parameter from the headset, but i’m still stuck in it..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 93,890 other followers