Transcript Slides

An Adaptive Brain
Computer Interface for
Humanoid Robot
Control
By: Bryan, Green, Chung, Cahng, Scherer, Smith, Rao
In this paper we…
 Explore problems with current Brain-Computer
Interfaces
 Introduce an adaptive hierarchical approach to simplify
the process
 Develop a method to teach a robot new skills on the fly
using primitive commands or more complex compound
commands
 Test this method on 3 users
Terms to know
 BCI-Brain-Computer Interface- interface that uses
signals from the brain to control the robot, we are
specifically talking about EEG-based BCI’s
 EEG-Electroencephalogram-non invasive way to
record brain directly from the scalp
 Sequence Memorization Scheme-user can define a
new higher level skill by concatenating several midlevel skills and lower-level motor primitives such as
opening/closing and rotating the gripper thereby solving
a more complex task
Problems 1/2
 In order to take full advantage of the high degrees of
freedom inherent in humanoid robots, there needs to
be a robust way to control the robot
 While this is a general concern with humanoids, it
becomes even more difficult with BCI’s due to low
throughput. This implies that the BCI constrains the
number and resolution of commands the user can
choose between at any time
Problems 2/2
 Non-Invasive BCIs (like EEG) often have a low signalto-noise-ratio
 Invasive BCIs (such as those that tap directly into
neurons in the brain), in addition to them being invasive
also provide such fine-grained control that it could
exhaust the user with too difficult of a command
interface
A Solution
The paper introduces the adaptive Hierarchical BCI
(HBCI) which allows the user to teach the robot skills and
tasks in an ongoing manner
This way the skills that are learned can be used as subskills to more complex tasks
Higher-level skills are created using lower-level
commands. This frees the user from tedious moment by
moment control once a command is learned
 Previously, HBCIs were generally only used for
navigational tasks but here we learn arm trajectories
 The experiment uses a sequence memorization
scheme which can be used to learn arbitrarily many
levels of tasks by concatenating lower level tasks
together
 This sequencing is not tied to any particular robot state
space
More terms to know
 SSVEPS-Steady State Visually Evoked Potentials-The
BCI exposes the user to visual and stimuli measures
the electrical activity. The user visually focuses on a
stimuli and the corresponding EEG activity is measured
 FFT-Fast Fourier Transform- used to classify the input
(classification problem)
3 elements in the hierarchy
 SSVEP-based BCI
 Hierarchical Adaptive Menu
 Robot and Robot Software
SSVEP-based BCI
 5 LED lights at different frequencies (12 Hz, 15 Hz,17
Hz, 20 Hz, 22 Hz) are located at 5 points on the screen
 This is the main menu
How to find user’s choice
Electrodes are places on the skull and record brain activity.
 One electrode is on the forehead, and the other is at the
center of the back of the skull
 Apply FFT to 1.0s intervals of the EEG signal every .5s, with
data taken on average 4s of the power values
 The frequency with the highest average was taken as the
user choice
Example: https://www.youtube.com/watch?v=8X5eg2PDl3g
 Any other BCI paradigm that uses discrete
classification can be used
 The SSVEP is just the way this paper chose to
determine which choice the user wanted
 Example of SSVEP
https://www.youtube.com/watch?v=xABbrPbm-P4
Hierarchical Adaptive Menu
 This is how the user interacts with the learning system
to teach the robot new skills
 Each window has 5 options
 The window above is the main menu page: Train, Train
sequence, Navigate, Playback, Playback Sequence
 In the middle of the screen there is a video displaying
what the robot sees from a camera on the robots head
Train
 The user teaches the system a new skill (arm trajectory)
 The menu will have primitive commands (ex: forward,
backwards, left, right, finish)
 “Stop” presents the save menu
 Robustness is enhanced through the use of confirmation
screens (to eliminate noise which was a problem we had as
stated at the beginning)
 The skill can be used as a sub-skill for a higher level skill (or
sequence) or it can be played back and used
Playback
 Once the user presents a trajectory for the skill to learn,
the system generates a policy mapping the robot states
to actions
 This policy is created using Gaussian Processes and it
interpolates for areas away from the original training
path
 This is to allow the playback of this command to occur
no matter the starting location
 Playback is used to test the skill
 The playback menu can only have 4 sequences at a
time but…
 This is scalable to any arbitrary number of sequences
using submenu pages
 However, the HBCI could optimize the search for
sequences (ex: by showing sequences that begin
closest to the current start state)
Example:
https://www.youtube.com/watch?v=JNFYSeIIOrw
Train Sequence
 This is used to define a higher level skill through a
combination of lower level skills
 These sequences can consist of both primitive skills or
user defined skills
 Confirmation screens are used to verify (eliminate
noise)
 Any number of skills can be added to the sequence
 This sequence goes to the sequence playback menu
Sequence playback
 Allows you to play back sequences
 Commands are executed in order one after another
 The user has the ability to choose what the robot head
sees
Robot and Robot Software
 The robot used by this paper is the PR2
 The low-level, primitive commands are preprogrammed
ROS commands
 These include:




Toggling gripper open/closed
Rotating the wrist
Head joint manipulation
Moving grippers
Experiment
 3 subjects
 Tasked to pour milk into a bowl (the milk is represented
by a lego block, which begins in the right gripper)
 An obstacle is placed in between to make it more
challenging
 The user needs to train the arm trajectory, create a
command sequence for the entire skill, and play back
the learned skill
 Experiment was run with 3 starting positions
 Success was having the gripper left over the receiver
(bowl)
Results
 Relatively favorable
 The use of a sequence reduced the number of commands
necessary to accomplish the task
 The robustness of a trajectory is a function of noise in the
original training data
 It corrected itself on some paths which means that some
inefficiencies in a user’s original training example may be
automatically removed through the trajectory learning
method
 Lower number of commands = lower demand on user
Summary and Conclusion
 Hierarchical BCIs control humanoid robots, combining
the flexibility of low-level control with lower cognitive
load of high-level control
 Learning occurs at multiple hierarchical levels
 More commands corresponds to a reduction of
cognitive load
 Combining low level primitive motor commands with
high level skills allows a user to solve a problem easily
Further areas of research
 BCI learning over multiple state spaces
 Incorporating preprogrammed robotic skills (auto
grasping, auto navigation)
 Using probabilistic algorithms to handle noise and
uncertainty
 Using other signals such as eye movement or voice in
addition to brain signals