Revolutionary Next Generation Human Computer Interaction
Revolutionary Next Generation Human Computer Interaction
Revolutionary Next Generation Human Computer Interaction
•MMOGs
Complete, out-of-the-box
entertainment experience
Comparison Timeline :
.... | . . . . . . . . . . . . | . . . . . . . . . . .. | . . . . . . . . . . | . . . . . . . . . .. . | . . . .
PAST PRESENT
Innovation in gaming interface has not kept pace with graphics evolution
Development in Semantic Interface
EyeToy - 2003
Camera captures the player’s movement by
stripping video image from background and
allows interaction via edge detection
EEG (Electroencephalography)
Low latency
Portable
Inexpensive
COGNITIV: telekinesis
Lift, rotate, push… --- fulfills a powerful fantasy that crosses all cultures;
beyond anything previously thought possible
Emotiv Software Development Kit
Emotiv SDK
Hardware
Headset
Charger (power outlet or USB)
Headset battery life greater than 10 hours
Software CD
• User manual
• Emotiv Development DLL (edk.dll)
• API reference documentation
• Example projects ( c++ source code)
• Control Panel
Supports 2 players
Includes hardware status and user profile
management
Exposes detection suites in action
• Development Tools
EmoKey – Headset interface via keyboard
emulation
EmoComposer – Brain state emulation
EmoScript examples
Emotiv SDK – Rapid Integration
applicatio
EmoKey
n
timed keystrokes
mapping profile
standard input
receiver
wireless
Emotiv SDK
Rapid Integration
EmoKey
• Converts detection events into signals that emulate traditional input devices
• Common modifiers (shift, alt, ctrl) can also be used o create complex keystroke
combinations.
host platform
applicatio
emotiv sdk library(edk.dll)
n
device driver
emoengine
api inerface
api calls
receiver
wireless
Emotiv SDK – Complete Integratration
Complete Integration:
Hardware and user management
• Integrated into the menu system of the application
• Unified train and play environments facilitate more rapid and entertaining
training
host platform
wireless receiver
emotiv sdk applicatio
library(edk.dll) n
wireless receiver
user id
Emotiv SDK – API Function Detail
EE_ Prefix
• Status, calibration &
profile functions Profile commands
Calibration commands
ES_ Prefix Detection queries
Detection suite access
api functions
•
ES_Create
EE_EngineConnect
EE_EmoEngineEventCreate
EE_UserAdded / EE_UserRemoved
• New user registered with or removed from the
emoengine, respectively.
EE_EmotEngineEventGetUserId
query for new events
EE_EmotEngineEventGetType
EE_EngineGetNextEvent
EE_ ProfileEvent
• Profile access events, such as the return of the
requested profile for a new user.
EE_CognitivEvent
• Dedicaed to events in the cognitiv suite, most
importantly control of training
EE_EmoStateUpdated
• New detection event, such as a new facial
expression.
Detection Result Types
ES_ExpressivIsLeftWink /
Wink (Left or Right) Binary (integer 0 or 1)
ES_ExpressivIsRightWink
Continuous (float)
Smile ES_ExpressivGetSmileExtent
(101 increments, from 0.00 to 1.00)
Continuous (float)
Clench ES_ExpressivGetClenchExtent
(101 increments, from 0.00 to 1.00)
Continuous (float)
Eyebrow movement ES_ExpressivGetEyebrowExtent
(101 increments, from 0.00 to 1.00)
EMOTIV REVOLUTION
Emotiv SDK – Development Tools
EmoComposer
• Hardware emulator which can be used in place of the headset to simulate
both the presence of the hardware as well as detection suite outputs
• Enables rapid and automated testing for both development and quality
assurance. Extensive scripting options are supported to facilitate rigorous
testing of common and boundary conditions
applicatio
EmoCompose
n
r
EmoScript (eml)
EmoStates
edk.dll
Emotiv SDK – Phased Development
applicatio
n
receiver
wireless
edk.dll
Emotiv SDK – Training Interface
• Actions: recordings of the user focusing their intent on an action for about 8
seconds
If the user is distracted, they may discard their last recording. If the
signals are noisy, it is automatically discarded
start training
EE_CognitivSetTrainingAction
EE_CognitivTrainingControl(userId, COG_START)
await completion
EE_CognitivTrainingFailed
EE_CognitivTrainingSucceeded
receive acknowledgement
EE_CognitivTrainingCompleted
Emotiv Systems
Thank you!
Emotiv SDK - EmoEngine
Game Process
EmoEngine (EDK.dll)
Emotiv
API
Game AI
Game UI
Emotiv SDK – API Usage
Initialization
EE_EngineConnect()
EE_EngineRemoteConnect()
Event Polling
EE_EngineGetNextEvent(EmoEngineEventHandle hEvent)
Emotiv SDK – API Usage
Detection Tuning
EE_ExpressivSetThreshold(…)
EE_CognitivSetCurrentLevel(…)
Detection Training
EE_CognitivSetTrainingAction(…)
EE_CognitivSetTrainingControl(…)
Emotiv SDK – API Usage
EE_GetUserProfileBytes(EmoEngineEventHandle hEvt, … )
• EE_UserAdded
• Generated when Emotiv USB dongle is plugged into the computer.
User ID is assigned at this time
• EE_UserRemoved
• EE_EmoStateUpdated
• A detection has updated the user’s EmoState
• Call EE_EmoEngineEventGetEmoState to retrieve EmoState handle
Emotiv SDK – EmoState Events
•Getter functions to access detection results
•Detection results can be binary (0/1) or continuous (0..1)
• EE_CognitivEvent
• Informs application of the status of Cognitiv training
• EE_CognitivTrainingStarted
• EE_CognitivTrainingSucceeded
• EE_CognitivTrainingFailed
• EE_ExpressivEvent
Emotiv SDK – Control Panel