Monday, September 23, 2013

Latest Trends in Brain Research


Human Brain has always been a mystery for both biologists and neuro-engineers. How did it evolve and how it functions is a major focus for many active scientists. With the advent of high computing efficiency and storage capacity combined with recent development in EEG and fMRI technologies interesting results are coming out. US has launched a new brain research initiative and is funding heavily in this field.  

Researchers at MIT have been successful in manipulating memories in Mice’s brain and are furthering in incepting false memories in brain. This focus can lead to a situation screened in Transformer movie where a person who doesn’t know a particular skill can download a skill from internet directly to his brain just like today we download apps for out smart phone.

In Kyoto, Japan scientists have been successful in correlating fMRI scans with person’s dreams and now can claim with 60% accuracy what the dream was about. This accuracy further increases to 70% for a few selected items.

In University of Pennsylvania, one experiment was conducted where a bunch of school students were divided into three groups and presented with a set of objects. They were then asked to write down the uncommon use of these objects. One particular group was given slight electric stimulation on left prefrontal cortex which is supposed to act as a cognitive filter, other group on the right pre-frontal cortex and the third group was given a placebo on left pre-frontal cortex. It was found that the group of students which received the shock on left pre-frontal cortex missed only 8 out of 60 objects while the other two groups missed 15 out of 60. This group was also to come up with the answers on an average of 1 second faster than the other two groups which is a big margin of time in psychological research. It is hypothised that high level of cognitive control is detrimental in coming up with uncommon and creative ideas.

In University of Minnesota, Twin cities scientists have come up with an EEG technique through which they are able to differentiate between different brain imageries (e.g. closed fist, arm etc) and use this to control a quadrotor. The researchers are also working on a bi-directional Brain Computer Interface (BCI).

Prof. Rajesh Rao along with his group has already developed the first Brain to Brain computer interface where he plays a computer game and the neural activities of his brain recorded by EEG device is sent over internet to remote laboratory on the campus where his colleague receives the magnetic stimulation through TMS and he clicks on a keyboard unwillingly.

NASA has formed a dedicated group in this field named ‘Extension of Human Senses’ and is working progressively in this area.

The progress so far in this field is inspiring and promises great advancements in future. It is not long in future where physically impaired people will use such technologies to become cyborgs or MARS rovers will be directly controlled from Earth by a trained person. 



References

Reading dreams – NIICT, Kyoto, Japan

Incepting False memories in the brain - MIT

Suppressing cognitive filters in Brain- University of Pennsylvania

Brain as controller to Drone – University of Minnesota
http://www.science20.com/news_articles/mind_over_mechanics_get_ready_control_flying_robot_your_brain-114128

Bi-directional Brain interfacing – University of Minnesota

Brain to Brain Interface – University of Washington, Seattle

Extension of Human Senses - NASA


Monday, September 2, 2013

Running scripts on ubuntu startup

When we work on embedded systems it is often required to run certain programs/scripts on OS boot. For example, while I was working on viSparsh (a haptic belt for the visually impaired), the belt boots Ubuntu and it needs to power Kinect and start retrieving data. It shall simultaneously process the data and find the potential obstacles and notify user with intensity varied stereo-vibrations.

Ubuntu has a concept of runlevels where you can set up your preference for a script for the level in which you want it to execute. Below are the ways of executing scripts on either startup or shutdown-

To execute a script upon rebooting Ubuntu

  • Put your script in /etc/init.d and then create softlinnks to any of the run level
  • ln -s /etc/init.d/autorunScript /etc/rc2.d/S99autorunScript command will create a softlink of autorunScript in runlevel 2 with a execution priority of 99. SXX denotes Startup and with priority XX (where 01 < XX < 99).  
  • Make sure the script autorunScript is executable (sudo chmod +x autorunScript)
  • Note: The scripts in this directory are executed in alphabetical order

To execute a script at startup of Ubuntu

  • Edit /etc/rc.local and add your commands
  • The script must always end with exit 0
  • The scripts/commands in this file are executed after all the runlevels

To execute a script at shutdown

  • Put your script in /etc/init.d
  • ln -s /etc/init.d/autorunScript /etc/rc6.d/K98autorunScript command will create a softlink of autorunScript in runlevel 6 with a execution priority of 98. KXX denotes Shutdown and with priority XX (where 01 < XX < 99).  
  • Create softlink of your script in /etc/rc6.d
  • Make it executable (sudo chmod +x myscript)
  • Note: The scripts in this directory are executed in alphabetical order


It is often very convenient to write your commands directly into /etc/rc.local and if you are executing any scripts put those scripts into /home folder to avoid execution permission issues. In case there are multiple scripts to be run make them background process if it is not a UI application. To run a script as a background process simply put an ampersand (&) at the end of the command.