Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Robocalypse: Controlling Nodebots with Kinect gestures

Joel Lord
October 28, 2015

Robocalypse: Controlling Nodebots with Kinect gestures

A Full Stack 2015 London presentation by Joel Lord. Links to full video to come...

Joel Lord

October 28, 2015
Tweet

More Decks by Joel Lord

Other Decks in Programming

Transcript

  1. confidential not for distribution A Full Stack 2015 London presentation

    by Joel Lord Robocalypse: Controlling Nodebots with Kinect gestures
  2. About Me Joel Lord Development Manager Javascript junkie, technology enthusiast,

    IoT hobbyist. Macadamian http://www.macadamian.com Twitter: @joel__lord Github: github.com/joellord
  3. Why •  Worked with Nodebots for a while now • 

    Wanted to explore other possibilities of NodeJs •  Because controlling a robot with a Kinect is pretty cool
  4. The Goals •  Needed a way to use events to

    tell the robot to perform an action •  Gestures seemed the best way to achieve this
  5. What current exists Basic Nodebot Stack •  NodeJs (https://nodejs.org/) • 

    Socket.io (http://socket.io/) •  Johnny-Five (http://johnny-five.io/)
  6. What current exists node-openni •  Connects the Kinect to NodeJs

    using OpenNI •  Very basic event for almost everything •  No gestures !
  7. Gestures 101 The Basics •  Is the initial condition met?

    •  Is the condition still met? •  Is the final condition met?
  8. Gestures 101 What do I need for gestures? •  A

    skeleton with an event when it changes •  Know the position of the COM •  Have a “base unit”
  9. Gestures 101 Introducing kinect-gestures •  Gesture detection using a base

    class •  Tracks the skeleton for an initial condition •  Checks every 100ms to see if the condition is still met •  If the final condition is met, trigger an event •  Other classes are used to define the actual gestures
  10. Next few steps •  Return a more friendly coordinate system

    for skeleton •  Add more information to the returned •  Add more gestures (jump, wave, kick)