assurance-tunnel
assurance-tunnel
assurance-tunnel
assurance-tunnel

Detecting Collisions with Kinect



  • Hi,

    I'm using a Kinect and trying to make some projects that involve the Kinect human outline interacting with other objects (such as shapes). Is there an actor or a method that can be used to detect a collision between two objects? And if not, is there a way to get the position data of both the Kinect skeleton and shapes/other objects? It seems positions can be manipulated as inputs but not as easily projected as outputs.

    Thanks.



  • You might be able to use the Eyes++ actor to blob track your objects. if you have a human figure feed from the kinect, and Multimix this with your object feed, then run the results through Eyes++, you should get an Object Count of 2 which will switch to 1 on collision. add a couple of Blob Decoder actors and you get your position data of each object output. (all this is in 2D, if you want to use depth data as well, that gets more tricky. I would get skeleton data out of NIMate as OSC and use a bunch of Comparators to analyse it in relation to the position of your object. calibration is going to be tricky, but not impossible) 


  • Tech Staff

    @ianps 

    A very advanced approach to this problem, that I believe should work near perfectly (although I am not aware of it ever being developed to this extent).
    Is to use Isadora's Javascript actor to utilize the box2dweb physics library (used in Angry birds and more).
    This video shows a Proof Of Concept I made some time ago, that is a good starting point to move ahead from.

    The idea would be to model the human body using primitives (shapes actor), and group these shapes in code to track as an object via box2dweb.
    Once the model is working as required, you can simply turn it off to save cpu cycles (I would put all the drawing into a User Actor), and only utilize the numeric data required for the collision detection.
    This is a fairly large job, but should allow for very accurate collision detection of anything that has a XY (even better if it can be described as a primitive, to allow collision detection on it outer edge)

    Attached is the Isadora file, and associated JS files, for the DEMO shown in the Proof Of Concept video.
    note: the JS code includes links to numerous resource sites, that I used to put this demo together. I suggest looking thru these to find examples of shape grouping.

    Box2Dweb.zip