© 法政大学 理工学部 創生科学科 小林一行実験室

最近はやりの組み込みマイコンのBeagleBoard-xmとKinectで実際動かすことができるのかを調べる目的の過程をメモです.この手順でインストールすれば,動くことは確認しました.この状態で,深度と画像を表示した場合,1frame 160ms ~180ms程度かかります.大体5Hzぐらいの性能でしょうか?

基本はココの手順で,Ubuntu Linuxをインストール,FreenectとOpenCVをインストールしていきます.
http://elinux.org/BeagleBoardUbuntu
必要なもの
-----
4GByte 以上のMicroSD
vmware player と32bit版 ubuntu 11.04
BeagleBoard-xm Rev.C
HDMIとDVIを結ぶケーブル
Ethernetケーブル
5V電源
USBマウス
USBキーボード
USBシリアルコンバーター(これは,PCからBeagleBoard-xmの232c端子に接続)

下ごしらえ
PCでインストールするためのファイルを取り出す.

vmware playerにubuntu 11.04をインストールする.
terminalを起動し,

ダウンロードと解凍

cd ~
wget http://rcn-ee.net/deb/rootfs/natty/ubuntu-11.04-r2-minimal-armel.tar.xz
tar xJf ubuntu-11.04-r2-minimal-armel.tar.xz

SGXビデオアクセラレータのダウンロードと解凍

wget https://github.com/RobertCNelson/stable-kernel/raw/master/create_sgx_package.sh
chmod a+x ./create_sgx_package.sh
./create_sgx_package.sh

DSPのダウンロードと解凍

wget https://github.com/RobertCNelson/stable-kernel/raw/master/create_dsp_package.sh
chmod a+x ./create_dsp_package.sh
./create_dsp_package.sh

を行っておく.


BeagleBoard-xmからの起動

まず,vmwareplayerでubuntu 11.04 32bit版でterminal を起動し,
とする.
つぎに,用意したPCにSDmicroカードを入れ,vmware上で使えるように認識させる.
認識後,

df

コマンドで,ドライブ名を確認する.
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 20125340 13422164 5680868 71% /
none 247368 644 246724 1% /dev
none 254000 252 253748 1% /dev/shm
none 254000 100 253900 1% /var/run
none 254000 0 254000 0% /var/lock
/dev/sdb1 69006 7160 61846 11% /media/boot
/dev/sdb2 3792184 1511520 2088028 42% /media/rootfs
この場合には,sdb1,sdb2がSDmicroなので,この情報を元に,SDmicroカードに書き込みを行う.

cd ~
cd ubuntu-11.04-r2-minimal-armel
hoge@ubuntu:~/ubuntu-11.04-r2-minimal-armel$ sudo ./setup_sdcard.sh --mmc /dev/sdb --uboot beagle

書き込み終了後,

sudo mount /dev/sdb2 /mnt

としてマウントし,以下のファイルをコピーしておく.

hoge@ubuntu:~$ cp DSP_Install_libs.tar.gz /mnt/home/ubuntu/
hoge@ubuntu:~$ cp GFX* /mnt/home/ubuntu/

ついでにDHCPの設定をやっておく.viを使って、/mnt/etc/network/interfacesを編集し、dhcpを自動起動する設定にします.

sudo vi /mnt/etc/network/interfaces
auto eth0
iface eth0 inet dhcp

これが終わったらbeagle-xmボードに差して起動する.
X-windowでもシリアルターミナルでもどちらでもよい.通信速度は,115200bpsとする.

login: ubuntu
passwd: temppwd

で入る.

sudo apt-get install aptitude
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install ssh xfce4 gdm xubuntu-gdm-theme xubuntu-artwork xserver-xorg-video-omap3 network-manager

また,接続するディスプレイの解像度にもよるが,.

sudo vi /boot/uboot/boot.cmd

これを
setenv dvimode 1280x720MR-16@60
以下に変更
setenv dvimode 1280x1024MR-16@60
変更できたら,

cd /boot/uboot
sudo mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ubuntu 11.04" -d ./boot.cmd ./boot.scr

ビデオアクセラレータのインストール,

tar xf GFX_4_00_00_01_libs.tar.gz
./install-SGX.sh
./run-SGX.sh

DSPのインストール

tar xf DSP_Install_libs.tar.gz
./install-DSP.sh
./install-gst-dsp.sh

テストは,リブートをしてから

tar xf GFX_linux_SDK.tar.gz

さらにその中の

tar xf OGELS.tar gz

でその中のデモプログラムを実行し確認する.


Freenectのインストール

sudo aptitude install cmake libusb-1.0-0-dev libglut3-dev git freeglut3 freeglut3-dbg freeglut3-dev libxmu-dev libxi-dev

git clone https://github.com/OpenKinect/libfreenect.git
cd libfreenect/
mkdir build
cd build/
cmake ..
make
sudo make install


OpenCVのインストール

sudo aptitude install libcv-dev libcvaux-dev libhighgui-dev opencv-doc
mkdir ~/opencv
cp -R /usr/share/doc/opencv-doc/examples/c ~/opencv/examples
cd ~/opencv
chown -R ubuntu.ubuntu examples
cd examples
cd c
sh build_all.sh

opencv wrapperプログラムをコンパイルできるようにする.

sudo apt-get install cmake-curses-gui
cd ~/libfreenect/build/
ccmake ..

opencvのデモプログラムをオンにする.cで保存し,qで終了

cmake ..
make
cd bin
sudo ./cvdemo

ちなみに,動くデモプログラムは,このcvdemoとtiltdemoの2つ!