logo Microsoft Applied Robotics Research Library

Open Source Samples for Service Robotics

License: MIT

Gesture Library

The folder /src/Labanotation/gestureLibrary/ contains sample gesture data expressed as Labanotation scores in the JSON file format. Valid gesture files in child folders will be picked up by the Labanotation Controller service when it launches and made available to client applications.

A complete listing of the database including a video clip of each gesture is provided at the end of this page.

Classification and Clustering of Gesture-concept Pairs

This Gesture Library is organized around 40 clusters of gesture-concept pairs retrievable by a Gesture Engine component.

The clusters were segregated using a method described in the paper: Development and Verification of a Gesture-generating Architecture for Conversational Humanoid Robots:

In each of the expressive theme clusters, synonyms of the concept label are included in the record. Also, there may be found data files containing variations of the gesture associated with the same concept. These features can allow a Gesture Engine to select alternatives in order to avoid un-natural repetitions of exactly the same gesture.

The decisions required to define a gesture database in terms of how many and what types of concepts will be included will also be factors in the qualative performance (life-like realism) of gestures performed by robots. At this time, quantitative analysis resulting in concept groupings or clusters has not delivered a higher quality of lifelike gestures over clusters curated subjectively by human mind and hand.

Additionally, interchangeable data volumes must be considered for a Gesture Library that contain gesture sets that at-worst stereotype ethnic or gender character traits and at-best can mimic comfortably familiar or iconic celebrity personalities.

In any case, the current state of the art does not provide a reasonable method to define a gesture library. More exploration and discovery is needed before robots can, without procedural programming, effectively select and synchronize gestures with rendered speech to a degree that supports and enhances human-robot-interaction. We hope that this gestureBot Design Kit will be useful and support further research and development in human-robot-interaction.

Links to related work in this field:

Gesture Labanotation in JSON Format

An example of the data structure in the JSON files is provided in GestureFormat.json.

A Labanotation score contains vertical columns representing specific body parts with notations indicating global positions of those parts in transition over a time-line flowing from bottom to top. In our JSON files, from the Labanotation score we group horizontal sets of body-part movements into poses comprising keyframes that correspond to sections within the file.

Labanotation score

Table of Concept-Gesture Pairs in Library:

Deictic

concept name similar words gesture file Labanotation Score Video
======= ============================ ========== ============= ===============
me I, my, me deictic me I.json lab score animated clip
you you, your deictic you d.json lab score animated clip
this this deictic this.json lab score animated clip
that that deictic that.json lab score animated clip
here here deictic here.json lab score animated clip
there there deictic there.json lab score animated clip

Expressive Themes

concept name similar words gesture file Labanotation Score Video
======= ============================ ========= ============= ===============
away away, hurry up, go out away.json lab score animated clip
bad bad, busy, boring, unusual bad.json lab score animated clip
come come, it's time, help, withdraw come.json lab score animated clip
confuse confuse, never heard, puzzle confuse.json lab score animated clip
contrast contrast, upside down, inside out, change contrast.json lab score animated clip
disgust hate, don't like, dislike, too much dont_like4.json lab score animated clip
drink drink, coffee, hangover, beer drink.json lab score animated clip
go go, walk, work out, jog, deposit go.json lab score animated clip
good good, sweet, money, free, fine, date, great good.json lab score animated clip
big big, large, huge big.json lab score animated clip
goodbye goodbye, bye, leaving, good night, see you goodbye.json lab score animated clip
happy happy, glad, wake, good, moved, encore, cheers, best happy.json lab score animated clip
hello hello, hi, welcome, good morning hello.json lab score animated clip
hungry hungry, eat, dinner hungry.json lab score animated clip
interesting interesting interesting.json lab score animated clip
laugh laugh, sing laugh.json lab score animated clip
lets go let's go, have to, it's time, hurry, hard, why don't we, go first letsgo.json lab score animated clip
many many, more, crowded many.json lab score animated clip
nice nice, good, well nice.json lab score animated clip
nod nod, yes, come, I will, whenever, strong, OK, ready nod.json lab score animated clip
surprise surprise, mess, waste surprise.json lab score animated clip
panic panic, passout, ouch panic.json lab score animated clip
please please, go ahead, would you, could you, will you, take care, clean up, I'd like please.json lab score animated clip
question May I, did you, do you, what, where, when, who, why, how question.json lab score animated clip
quit quit, knife, stop, off quit.json lab score animated clip
say say, said, talk, request say.json lab score animated clip
shakehead no, so, cannot, back, drunk, cannot keep, tone-deaf, not taking, pale, do not feel well, sick, itchy shake_head.json lab score animated clip
sleepy sleepy, sleep, asleep, yawn sleepy.json lab score animated clip
small small, out of dish small.json lab score animated clip
sorry sorry, check sorry.json lab score animated clip
thanks thank, thanks thanks.json lab score animated clip
tired tired, hangover, lie down, drunk, tipsy, loaded, not feeling well tired.json lab score animated clip
weather weather, sunny, cloudy, windy, rainy, nice day weather.json lab score animated clip

Beat (Idle) Movements

name variations gesture file Labanotation Score Video
======= ============================ ========== ============= ===============
beat beat, beat_rotate, beat_2, beat_3 beat.json lab score animated clip

/src/Labanotation/kinectSuite

This folder contains gesture data files expressed as Labanotation scores in the JSON file format. These files were captured using a Kinect sensor and human subjects with the Gesture Authoring Tools included in the Labanotation Suite repository.