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