最近はやりの組み込みマイコンの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 |
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つ!