Robosapien, I Kinect you...
- Posted: Aug 04, 2011 at 6:00 AM
- 7,159 Views
- 2 Comments
This is a cute project that looks just fun...
Leads me to dream about how cool it would be do something like this for Halloween. Imagine a scary animatronic in your front yard that you control in real time. Or that you code to react to, or interact with, trick-or-treat'ers. hum...
Kinect + Robosapien = <3
Seeing all the cool Kinect demos around I wanted to try out the SDK myself.
I love those demos that makes it possible to interact with real world things thru the Kinect so I decided to dust off one of my Robosapien (v1).
For those who don’t know Robosapien, it is a small robot made by WowWee, and it’s reasonably cheap.
...
Kinect Extensions
The Kinect SDK doesn’t have any built-in gesture system, it is however quite easy to use joints and check how they relate to each other.
For example:
if (data.Joints[JointID .HandRight].Position.Y > data.Joints[JointID.ShoulderRight].Position.Y)That would trigger if I hold my right hand over my right shoulder.
It is still a bit hard to read and I wanted to simplify both reading and writing the code to check different joints, so I created a couple of extension methods to help out.
Code that does the same as above would look like this using my extensions:
var joints=data.Joints;
if (joints[JointID .HandRight].HigherThan(joints[JointID.ShoulderRight]))So far I have implemented:
...
Project Information URL:
- Kinect + Robosapien = <3, http://www.apeoholic.se/post/Kinect-2b-Robosapien-3d-3c3.aspx
- Kinect Extensions,http://apeoholic.se/post/Kinect-Extensions.aspx
Project Download URL: Kinect Extensions, http://apeoholic.se/file.axd?file=2011%2f7%2fJointExtensions.zip
namespace KinectExtensions
{
public static class JointExtensions
{
public static bool HigherThan(this Joint basejoint, Joint joint)
{
return basejoint.Position.Y > joint.Position.Y;
}
public static bool LowerThan(this Joint basejoint, Joint joint)
{
return basejoint.Position.Y < joint.Position.Y;
}
public static bool BetweenVertically(this Joint basejoint, Joint lowerJoint, Joint higherJoint)
{
return basejoint.Position.Y > lowerJoint.Position.Y && basejoint.Position.Y < higherJoint.Position.Y;
}
...
Contact Information:
- Blog: http://www.apeoholic.se/
- Twitter: @apeoholic
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Wow! Great job!
hi nice work here i've been working a little with a kineck and i have my own robosapiens so im wondering if you dont mind to share your code for this proyect, it would be great if you could send to my e-mail or something the code :P tnx
Remove this comment
Remove this thread
close