They said it was "pencil-sized" which seems like a bit of an exaggeration, but it sure is smaller than the Kinect.
From IEEE Spectrum:
PrimeSense's 3D sensor, which is what's inside the Microsoft Kinect, hasrevolutionized vision for very cheap and very expensive robots. That's not what it was supposed to do: it was supposed to help lazy gamers get off their couches and jump around a little bit. PrimeSense is still very focused on marketable consumer applications with the next generation of the 3D sensor, called Capri, but we're more interested in what it'll do for our robots. At CES last week, we got some hands-on time with Capri, and we have some details for you.
Engineers are familiar with the idea of being able to pick two of the following: faster, better, cheaper. PrimeSense has instead gone with much smaller, probably cheaper (although we're not sure), and arguably just a little bit worse when it comes to performance. The overall size of the sensor has shrunk by a factor of 10, which is really the big news here, and otherwise, most of the specs have stayed the same. Here's what you'll get with Capri:
Field of View 57.5×45
Range 0.8m-3.5m
VGA depth map (640×480)
USB 2.0 powered
Standard off the shelf components
OpenNI compliant
PrimeSense told us that their focus was to "maintain" performance while focusing on miniaturization and cost reduction. And performance is nearly the same, with the exception of there being no RGB camera. This isn't great news for robotics, since having an integrated color camera is a nice feature, but we have to remember that we're just piggybacking on the fact that PrimeSense is really trying to get into the mobile market: Capri is small enough that it'll be able to fit into tablets (and eventually smartphones), and for pure 3D sensing, an RGB camera just adds cost and complexity that's unnecessary for the application. It's tough that robotics isn't yet a big enough market to allow us to dictate features for something like Capri, but as long as we can adapt this sort of technology to make robots cheaper and more capable, we'll get there.
Comments
Here we go ...
... happy about the additional information about capri. But seeing the sensor near of a Nexus 7, wow! But I guess it is just to explain the size, and that doesn't mean, there is an android (Jelly Bean) SDK? Yes/No ... thanx.
Very cool. I used, and I still use, this: https://sites.google.com/site/imager3d/home-1/cmucam3-3d-scanner
I built it a year ago. Works very well for 3d sensing on wheele platforms. Have a look!
That's actually quite inspirational Gary, you may have convinced me to buy a kinect and see if I can interface it with the arduino due...
My biggest worry about this is PrimeSense's focus on 100,000 unit annual purchasers.
We need this and I would really prefer to be able to buy it from 3D Robotics with a bit of useful data than to have to buy some needless appliance with a Capri in it and then throwing out the appliance.
Chris, I think it is really important to the Arducopter community that you and your company get in there and start stirring the pot on this one.
This is going to be truly huge for the whole Arduino community whether PrimeSense wants it to be or not.
But probably a lot quicker and easier if they do.
More like a carpenter's pencil.
Jesse, basically this does what the Kinect does (at least the important part) and the Microsoft Robotics development website has a pile of C, C++ and C# code for seeing and navigation using it.
A lot of this can be easily and directly transferred to most C supporting microcontrollers and it is certainly compatible with translating to Java if you have a mind to do so. As for raw computing power, you basically get a rectangular array of distance points that tell you how far away each point is. If you are trying to find a path in a direction, you can search for an appropriately sized unobstructed path (rectangular area) going in that direction and that is not an excessively computationally intensive or memory hungry task. You can then move and reanalyze from your new perspective doing a step and repeat. You can, of course also store very simplified point to point coordinates to progressively travel to (path).
Basically you could probably do a decent job on an Arduino and a Raspberry PI or Android board would make programming a little easier and maybe give more room for removable flash card storage and the like.
It is way, way easier to interpret the output of one of these things into meaningful and usable data than a stupid optical camera which only knows about light, dark and color.
BTW lack of RGB camera, so not a problem.
There are lots of cheap ultra small RGB cameras and if you need one you can always add it, for us it is ideal they have KISS'd it and kept it as small as possible.
This can let your multicopter / robot see and especially find paths and openings way better than anything else.
Distance vision is the ideal way for a machine to see and this is that.
Been trying to find specs on the Capri for the last month and here they are, thank you Chris.
I think (if we can get these) this is going to be the most important thing for multicopters and Robotics since the Arduino itself.
Ive been messing around with the Kinect on my PC using the Microsoft Robotics Development System and it is the perfect answer for navigating (and mapping) in a real world environment. GPS is great, but it doesn't work indoors at all and provides no information about actual real world obstacles (smaller than a mountain anyway).
This lets you know whats around it and gives you sufficient data to figure out how to get where you want to go.
Of course the trouble with the Kinect is that it won't fit on my Flamewheel. (See University of Pennsylvania Mapping Multicopter).
This will.
I've always wanted to play with one of these sensors, I haven't done anything about it yet because I've needed to attach one to a computer, and it was too bulky to fly with... I'm wondering if it's possible to interface one of these with an ARM processor, or if that's still well short on power?