ECE497 Notes on Kinect

From eLinux.org
Revision as of 14:27, 18 July 2012 by Yoder (Talk | contribs)

Jump to: navigation, search

thumb‎ Embedded Linux Class by Mark A. Yoder


Microsoft's Kinect sensor has created great interest in the Beagle Community.

Here are notes on installing the third party drivers from Omek.

Contents

Downloading

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

Installing

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!

Running

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.

Porting

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.




thumb‎ Embedded Linux Class by Mark A. Yoder