ECE497 Notes on Kinect
Microsoft's Kinect sensor has created great interest in the Beagle Community.
Here are notes on installing the third party drivers from Omek.
I got the 4 files from here. Here's the files I have
host$ ls -sh
total 65M 4.0K beagle-omek 54M beckon-image-2.4.16175.tar.gz 4.0K Beckon-SDK-2.4.16236 11M beckon-sdk-2.4.16236.tar.gz 4.0K create_sd.txt 4.0K mkcard.sh 1.1M omek beckon sdk, ti dm3730 edition -- developer guide.pdf 4.0K readme 4.0K UsersGuide
I'm getting this error.
host$ sudo bash mkcard.sh /dev/mmcblk0 beagle-omek/
Using image beagle-omek/ using device /dev/mmcblk0 . You are about to totaly erase the device, are you sure (yes/no) ?yes 1024+0 records in 1024+0 records out 1048576 bytes (1.0 MB) copied, 0.382056 s, 2.7 MB/s Disk /dev/mmcblk0 doesn't contain a valid partition table DISK SIZE - 8010072064 bytes CYLINDERS - 973 Checking that no-one is using this disk right now ... OK Disk /dev/mmcblk0: 973 cylinders, 255 heads, 63 sectors/track sfdisk: ERROR: sector 0 does not have an msdos signature /dev/mmcblk0: unrecognized partition table type Old situation: No partitions found New situation: Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/mmcblk0p1 * 0+ 8 9- 72261 c W95 FAT32 (LBA) /dev/mmcblk0p2 9 972 964 7743330 83 Linux /dev/mmcblk0p3 0 - 0 0 0 Empty /dev/mmcblk0p4 0 - 0 0 0 Empty Successfully wrote the new partition table Re-reading the partition table ... If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).) done partitioning. Cant find boot partition /dev/mmcblk01 Cant find rootfs partition in /dev/mmcblk02 mount: special device /dev/mmcblk01 does not exist
Failed to mount /dev/mmcblk01.
The problem is it's looking for /dev/mmcblk01 and on my Ubuntu 10.4 it appears at /dev/mmcblk0p1.
I modified mkcard.sh to add the p and after a little fussing it worked!
It booted up and runs fine. There is no X windows, rather the one demo uses QT embedded. QT embedded writes straight to the framebuffer and doesn't need X.
I'm now in the process of seeing if I can copy the demos over to an SD card that I've been doing other development on. My SD isn't set up for QT embedded, so I'm trying:
beagle$ opkg update beagle$ opgk install qt4-embedded-tools # 5 minutes beagle$ opgk install qt4-embedded-static # 2.5 minutes beagle$ opgk install qt4-embedded-fonts # 2.5 minutes
These times running on a rather slow network at home. I don't know if the 'static' needs to be installed.
Next I went to the SD that was working with the Kinect and copied /usr/lib/libOpenNI.* to /usr/lib on the target SD card. I now get the following error.
beagle$ ./QtTracking -qws Error creating sensor. Failed to initialize tracking !
I'm guess I don't have the DSP stuff setup right.
This might help with the openNI port.
Embedded Linux Class by Mark A. Yoder