ECE497 Project: Kinect Project
Our goal is to implant a specific game application into Beagleboard and using Microsoft's Kinect to play with it. We would firstly make the Kinect recognizable to the Beagleboard. And then try to adapt the application to the Beagleboard. We haven't decided which game to play with, because the performance may be greatly influenced by what kind of operating system we want to use, or the size of this game. So the second part would be to test what is the best option for us. Finally, we would try everything to make it work.
Burn the Image Package and Boot the System
The detailed instruction is shown in page7 of developer's guide from omek.
When I tried to run mkcard.sh to create new partitions, I got some errors.
One of the error is the shell script is asumming that first partition of device "mmc" is "mmc1" but it's "mmcp1" in my Ubuntu. I changed the shell script to fix this but still got some errors about the partition specs.
Finally I found a tricky way to use the shell script directly. If I use a external USB card reader to read and write the microsd card, everything just works perfectly. I think maybe the author of shell script had a different verison of Linux or only tested the script on descktop with external card reader.
Run the Sample Demos
After burning the microsd card sucessfully, we can boot from this card and see a simplified Angstrom without GUI. All demos ran almost as expected but,
1.the program froze sometimes. It even happened sometimes when we were just typing some command. We think maybe it's because of the speed of microsd card. We will get a faster card and have a try.
2.the tracking for legs doesn't work very well, we think maybe it's because we didn't have enough space for the kinect.(We you played kinect game in xbox, it will tell you a large space is required for tracking).
Compile the Sample Code on Host
Detailed instruction is provided in page26 of the developer's guide from omek. By following the instruction, we downloaded and installed the Linux ARM cross toolchain. We also installed zlib library and cross compiler for qt. But we had some problem when compiling qt. The error information says the make cannot find the cross-compiler. I used export command to set the path of cross complier we used in class before(some time later I noticed this may cause some problem) and new error occured saying "undefined reference to clock_gettime". I googled it and find it's involved in one library so I modifed the make file and include the library when compiling but it still gave the same error.
Then I went through the instruction carefully and found actually the instruction asked us to install two different toolchains for the same purpose. The difference of two toolchains is the version of qt, one is 4.6.3 and the other is 4.6.2, since our souce code is for 4.6.2 version, so I want to try toolchain for 4.6.2 to see if it makes any difference.
The instruction also asked us to install two different versions of QtCreater in the pdf file and in blog, we prefered the version in pdf file since the instruction should be written based on this version.
After struggling for a very long time, I decided to clean everything up and start over. I followed the instruction one step by one step and it turned out everything works perfectly now.
Some conclusion for compiling Qt:
1. I reinstalled the Ubuntu when started over. It turned out you need to install g++ compiler before before getting started.(Type "sudo apt-get install g++"). Other than that, you don't need to do anything not mentioned in the developer's guide and the blog it quotes.
2. The instruction from Omek is absolutely right but is a little redundant with the blog it quotes.
3. The "developer's guide" pdf file and the blog it quotes both tell developer to install a toolchain( but different version, it's 4.6.3 in the pdf file and 4.6.2 in the blog) for cross-compiling. The 4.6.3 toolchain works perfectly for compiling Qt 4.6.2.
4. You don't have to install QtCreater before compiling Qt.
To be continued...
- Github links: http://github.com/wangg/ECE497
- Omek Beckon SDK Development tools
Theory of Operation
1. Installed the Beckon SDK Development tools on both Linux PC host and BeagleBoard; Successfully tested the sample code and discussed the interface functions. ---completed on February 5th by Yifei Li and Guanqun Wang