My shiny new BeagleBoard-xM arrived a few days ago. I have been too snowed in with OSGi to spare it some time. The test image on the supplied SD card boots fine, but I have grand plans for a slamming robot vehicle which will require more goodies (probably eventually ros).
It has become even easier to get started with kinect and beagleboard thanks to the inclusion of libfreenect master in angstrom. It can be almost plug and play.
It has become even easier to get started with kinect and beagleboard thanks to the inclusion of libfreenect master in angstrom. It can be almost plug and play.
- Install non-ramdisk angstrom. From windows the easiest way to get started is to download and SD image Koen graciously provides and burn it on top of the test image supplied with the board. As expected a few hiccups with the image writer but nothing a downgrade would not fix.
- Install libfreenect directly (opkg install libfreenect) or grab git/cmake etc. to build from source. Even when building libfreenect from source, having libfreenect-dev installed is handy since it fetches all the other headers needed.
- Make an OpenCV based demo, the standard demos don't work so well because the Beagle video driver lacks GLX. Need some more packages opencv, opencv-dev, compilers and whatever else. The building required a few symlinks for compilers and opencv libraries since I was compiling on the beagle itself rather than cross-compiling from oe.
7 comments:
neatly done.. #respect
I'm trying to do the same thing, but I haven't had much success with integrating into OpenCV. Could you post your code, or give some pointers?
Thanks.
Hi Stephen, I used some pretty well circulated code that can be seen here: http://code.google.com/p/libfreenect-kernel/source/browse/simple_opencv/freenectopencv.cpp. The makefile needed some changed to work on the beagle. I can push that back if you are desperate.
I would really like to know about the alterations you had to perform to the makefile if you can share. Been trying to get the BeagleBoard working with the Kinect for a while now
I reduced the number of linked libraries, http://code.google.com/p/libfreenect-kernel/source/browse/simple_opencv/Makefile you have to create a couple of symlinks as well /usr/lib/libopencv_core.so -> /usr/lib/libopencv_core.so.2.2 , /usr/lib/libopencv_highgui.so -> /usr/lib/libopencv_highgui.so.2.2
What performance or framerate are you able to get? This blog led to believe that it was not very quick: http://tirokartblog.wordpress.com/2011/03/25/kinect-performance-on-pandaboard-and-beagleboard-xm/
Depends on the framesizes you request. The new libfreenect API can call lower resolutions (by asking for small frames - http://openkinect.org/wiki/Protocol_Documentation#Relevant_Bits_of_Code) to reduce USB bandwidth and up the framerate. All the maths required is integer so the ARM can keep up without dramas. Frames coming out of opencv code may not be that fast depending on which opencv code you link to (with floating point emulation, neon or dsp)
Post a Comment