Go Down

Topic: Is Arduino UNO fast enough to communicate with Kinect? (Read 3066 times) previous topic - next topic

ZuLuuuuuu

Hello,

I am a newcomer and I don't have much of a microcontroller project experience (just done simple PIC projects at college) so my question might be a little bit stupid, sorry in advance.

Currently our company has a project which needs to communicate via Kinect and get the data it sends via USB which is almost 30MB per second. The clock speed on Arduino UNO, for example, seems to be at 16 MHz level. Assuming that we are willing to write the protocol between the devices, is it possible to read 30MB data per second from USB using Arduino UNO or should we look at other solutions like a microprocessor board with ARM A8 (600MHz), probably Beagleboard or something alike?

D3C3PT1C0N

#1
Nov 17, 2011, 11:29 am Last Edit: Nov 17, 2011, 11:30 am by D3C3PT1C0N Reason: 1
search from Google: "Arduino kinect"
there are even videos on youtube

sorry, i didnt read all your post.
No, 30Mb per sec is to much for arduino. We are talking about bytes per second...

ZuLuuuuuu


search from Google: "Arduino kinect"
there are even videos on youtube

sorry, i didnt read all your post.
No, 30Mb per sec is to much for arduino. We are talking about bytes per second...


Yes, but videos are about getting Kinect data using computer and doing some control work with Arduino afterwards. What I need is to eliminate computer and get the data directly using Arduino. My first guess was that it is not possible but then I saw an Arduino Uno USB shield which claims full USB 2.0 speed[1] and wondered if it is possible.

[1] http://www.sparkfun.com/products/9628

PaulS

Quote
but then I saw an Arduino Uno USB shield which claims full USB 2.0 speed[1] and wondered if it is possible.

Do you know how to write a USB driver so that the Host shield can communicate with the device?

When the chip gets the data, at USB 2.0 speed, it then needs to send it to the Arduino. Guess where the speed breakdown is going to occur?

i-Bot

I am always cautious to say something can't be done, especially on this forum. But,
The arduino is nowhere near the appropriate platform to process or even communicate with Kinect. Besides the speed issue you identify, the limited memory size is an even greater problem.
Get yourself a low cost embedded linux board with HIGH speed USB 2.0 ports, 32 bit data paths, DMA, a few meg of spare ram, and 100s of megahertz.

felis

I'm going to try it. I have a unit already, now I need to find out if its depth camera is operational at full speed, which is likely since most other non-hd webcams are. If yes, then the rest is easy. I have 320x240 ili9325-based display with readable ram, that's where cam data would go and can later be retrieved. This should work, not 30fps but enough for navigation.
/felis

Grumpy_Mike

This sounds like a project for the upcoming Arduino Due or the upcoming Raspberry Pi http://www.raspberrypi.org/

Go Up