Instalacja i konfiguracja Kinect, Wiimote i Eyetrackera: Różnice pomiędzy wersjami

Z Brain-wiki
(Utworzono nową stronę " == Kinect + OpenNI2 + NiTE2 + freenect == Instalacja OpenNI 2 + NiTE 2 z prokonfigurowanych binarek dla Ubuntu 14.04 (działa także na Ubuntu 14.10 i 15.10): sudo ap...")
 
 
(Nie pokazano 35 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 2: Linia 2:
 
== Kinect + OpenNI2 + NiTE2 + freenect ==
 
== Kinect + OpenNI2 + NiTE2 + freenect ==
  
Instalacja OpenNI 2 + NiTE 2 z prokonfigurowanych binarek dla Ubuntu 14.04 (działa także na Ubuntu 14.10 i 15.10):
+
Należy pamiętać, żeby wszsstkie wystąpienia <code>{USER_NAME}</code> w poniższym kodzie zamienić na właściwą nazwę użytkownika.
  
sudo apt-get install freeglut3 python-opencv libboost-all-dev
+
Instalacja OpenNI 2 + NiTE 2 z prekonfigurowanych binarek dla Ubuntu 15.10:
cd ~
 
wget http://static.mroja.net/kinect/kinect.7z
 
7z x kinect.7z
 
cd ~/kinect
 
sudo cp primesense-and-kinect-usb.rules /etc/udev/rules.d/557-primesense-usb.rules
 
export LD_LIBRARY_PATH=/home/{USER_NAME}/kinect/Redist (to najlepiej wrzucić do .profile)
 
cd Redist
 
./NiViewer
 
  
sprawdzić czy user należy do grupy plugdev:
+
sudo apt-get install freeglut3 python-opencv libboost-all-dev
-- jak nie, dodać:  
+
cd ~
 +
wget http://static.mroja.net/kinect/kinect.7z
 +
7z x kinect.7z
 +
cd ~/kinect
 +
sudo cp primesense-and-kinect-usb.rules /etc/udev/rules.d/557-primesense-usb.rules
 +
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/{USER_NAME}/kinect/Redist
 +
cd Redist
 +
./NiViewer
  
sudo usermod -G plugdev -a USER_NAME
+
Linijkę <code>export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/{USER_NAME}/kinect/Redist</code> najlepiej wrzucić do pliku <code>.profile</code> lub <code>.bashrc</code>, żeby uruchamiana była przy każdym logowaniu.
  
wrapper+obci
+
Należy prawdzić czy użytkownik, na koncie którego będzie używany Kinect należy do grupy plugdev -- jeśli nie, dodać:
 +
sudo usermod -G plugdev -a {USER_NAME}
  
nite2.so należy zbudować z repo https://github.com/BrainTech/nite2-bindings i umieścić w /usr/lib/python2.7/dist-packages
+
Alternatywnie można zainstalować całość ze źródeł - instrukcja znajduje się na dole tej strony.
Skopiuj katalog NiTE2 (/home/USER_NAME/kinect/Redist/NiTE2) do katalogu ~/.obci/sandbox
+
 
 +
=== Wrapper nite2 do Python + OpenBCI  ===
 +
 
 +
Moduł do Pythona (plik <code>nite2.so</code>) należy zbudować z repozytorium https://github.com/BrainTech/nite2-bindings i umieścić w katalogu <code>/usr/lib/python2.7/dist-packages</code>.
 +
 
 +
Żeby NiTE2 działo poprawnie wewnątrz OpenBCI należy skopiować katalog NiTE2 (<code>~/kinect/Redist/NiTE2</code>) do katalogu <code>~/.obci/sandbox</code>.
  
 
na koncie lab
 
na koncie lab
  
cd ~/kinect/Redist
+
cd ~/kinect/Redist
cp /path_to_file/nite2.so nite2.so
+
cp /path_to_file/nite2.so nite2.so
  
cp -r /home/lab/kinect/Redist/NiTE2/ ~/.obci/sandbox/
+
cp -r /home/lab/kinect/Redist/NiTE2/ ~/.obci/sandbox/
sudo cp nite2.so /usr/lib/python2.7/dist-packages
 
  
 
na koncie newtech
 
na koncie newtech
  
cd ~/kinect/Redist
+
cd ~/kinect/Redist
cp /path_to_file/nite2.so nite2.so
+
cp /path_to_file/nite2.so nite2.so
 +
 
 +
mkdir /home/newtech/.obci/  # jeśli katalog istnieje to pominąć
 +
mkdir /home/newtech/.obci/sandbox  # j.w.
 +
 
 +
cp -r /home/newtech/kinect/Redist/NiTE2/ ~/.obci/sandbox/
 +
 
 +
== Instalacja xwiimote ==
 +
 
 +
UWAGA!!! NIE NALEŻY instalować pakietu xwiimote z repozytoriów Debiana i Ubuntu - są one przestarzałe.
 +
 
 +
Wymagane wersje:
 +
* kernel >= 3.5+
 +
* bluez >= 5.11+
 +
 
 +
=== A) Instalacja wymaganych pakietów ===
 +
 
 +
sudo apt-get install autoconf autogen automake gcc bluetooth ncurses-dev libudev-dev libtool git blueman python-dev dh-autoreconf pkg-config swig
  
mkdir /home/newtech/.obci/  # jeśli katalog istnieje to pominąć
+
=== B) xwiimote driver & utils ===
mkdir /home/newtech/.obci/sandbox  # j.w.
 
  
cp -r /home/newtech/kinect/Redist/NiTE2/ ~/.obci/sandbox/
+
git clone https://github.com/BrainTech/xwiimote
 +
cd xwiimote
 +
./autogen.sh
 +
make
 +
sudo make install
 +
sudo ldconfig
  
 +
=== C) Python bindings ===
  
 +
git clone https://github.com/BrainTech/xwiimote-bindings
 +
cd xwiimote-bindings
 +
./autogen.sh
 +
make
 +
sudo make install
 +
sudo ldconfig
  
== Instalacja xwiimote-bindings ==
+
=== D) Żeby działało bez sudo ===
  
WARNING!!! DO NOT install official Debian sid xwiimote package from - it contains very old sources, use latest version from git.
+
Jeśli chcemy, żeby xwiimote dział bez sudo dla userów lab i newtech należy wykonać polecenia:
  
kernel >= 3.5+
+
sudo usermod -a -G input newtech
bluez >= 5.11+
+
sudo usermod -a -G input lab
  
0) sudo apt-get install autoconf autogen automake gcc bluetooth ncurses-dev libudev-dev libtool git blueman python-dev dh-autoreconf pkg-config swig
+
=== E) Sparować urządzenie z użyciem wbudowanego do Ubuntu panelu Bluetooth ===
A) xwiimote driver & utils
 
git clone https://github.com/BrainTech/xwiimote
 
cd xwiimote
 
./autogen.sh
 
make
 
sudo make install
 
sudo ldconfig
 
B) Python bindings
 
git clone https://github.com/BrainTech/xwiimote-bindings
 
cd xwiimote-bindings
 
./autogen.sh
 
make
 
sudo make install
 
sudo ldconfig
 
  
C) Żeby działało bez sudo dla userów lab i newtech
+
=== F) Demo ===
  
sudo usermod -a -G input newtech
+
git clone https://github.com/BrainTech/wiiscale.git
sudo usermod -a -G input lab
+
cd wiiscale
D) Sparować urządzenie z użyciem wbudowanego do Ubuntu panelu Bluetooth
 
  
E) Demo
+
Należy odkomentować linijki 134 i 135:
  
git clone https://github.com/irq0/wiiscale.git
+
134: #        for m in measurements(iface):
cd wiiscale
+
135: #            print_bboard_measurements(*m)
  
uncomment line 134 and 135:
+
Demo można uruchomić poleceniem:
134: #        for m in measurements(iface):
 
135: #            print_bboard_measurements(*m)
 
  
== python ./scale.py ==
+
python ./scale.py
  
Tobii REX eyetracker
+
== Tobii REX eyetracker ==
  
 
* zainstalować pakiet deb dla 64bit Linuxa z http://developer.tobii.com/rex-setup-gaze-sdk/
 
* zainstalować pakiet deb dla 64bit Linuxa z http://developer.tobii.com/rex-setup-gaze-sdk/
 
* poprosić Aleksa o kopię SDK
 
* poprosić Aleksa o kopię SDK
* cd Samples && make && ./tracker - demo
+
* w katalogu <code>Samples</code> w SDK znajduje się demo (należy je zbudować poleceniem <code>make</code>)
 +
 
 +
== Oprogramowanie do Kinecta ze źródeł ==
 +
 
 +
Do pełnego działania Kinecta na Linuxie potrzebne są: OpenNI2, NiTE2, libfreenect z driverem do OpenNI2 oraz wrapper do Pythona - <code>nite2</code>.
 +
 
 +
Firma PrimeSense, autor OpenNI, została wykupiona przez Apple'a. Następnie Apple wstrzymało publiczny rozwój projektu OpenNI - został on utajniony. Ponieważ jest to oprogramowanie opensource, kody źródłowe są nadal dostępne i mogą być używane przez każdego. Najbardziej aktywnym forkiem jest repozytorium prowadzone przez http://occipital.com, dostępne pod adresem https://github.com/occipital/OpenNI2.
 +
 
 +
=== OpenNI2 ===
 +
 
 +
OpenNI2 można zdobyć na dwa sposoby - zbudować ze źródeł lub pobrać binarki.
 +
 
 +
==== Kompilacja OpenNI2 ====
  
 +
Instalacja wymagań
  
 +
sudo apt-get install git g++ cmake python libudev-dev libxi-dev libxmu-dev libusb-1.0-0-dev libudev-dev freeglut3-dev doxygen graphviz
  
 +
Do kompilacji niezbędna jest Java (dokładniej <code>javac</code>). Należy zainstalować jakiekolwiek JDK, np.:
  
 +
sudo apt-get install openjdk-7-jdk
  
 +
Pobranie repozytorum i kompilacja
  
 +
git clone https://github.com/occipital/OpenNI2.git
 +
cd OpenNI2
 +
make
  
 +
Warto zapisać ścieżkę do OpenNI w zmiennej (i następnie dodać do .profile lub .bashrc):
  
 +
export OPENNI_DIR=/home/{USER_NAME}/OpenNI2
  
 +
Instalacja OpenNI:
  
== Stara wersja instrukcji ==
+
sudo ${OPENNI_DIR}/Packaging/Linux/install.sh
 +
sudo gpasswd -a ${USER} video
  
Instalacja OpenNI2
+
==== Instalacja z binarek ====
  
wymagania
+
Należy pobrać binarny pakiet ze strony http://structure.io/openni i wypakować do katalogu np. <code>OpenNI-Linux-x64-2.2</code>
sudo apt-get install git-core g++ cmake libudev-dev libxi-dev libxmu-dev python libusb-1.0-0-dev libudev-dev freeglut3-dev doxygen graphviz
 
  
sudo add-apt-repository ppa:webupd8team/java
+
$ cd OpenNI-Linux-x64-2.2
sudo apt-get update
+
$ sudo ./install.sh
sudo apt-get install oracle-java8-installer
 
  
git clone https://github.com/occipital/OpenNI2.git
+
w aktualnym katalogu utworzy się skrypt <code>OpenNIDevEnvironment</code>, który ustawia środowisko dev
cd OpenNI2
 
#Save path for further reference
 
OPENNI_DIR="${PWD}"
 
  
sed -i '/-Werror/ s/^/#/' ${OPENNI_DIR}/ThirdParty/PSCommon/BuildSystem/CommonCppMakefile
+
=== Kompilacja libfreenect ===
  
echo "LDFLAGS += -lpthread" >> ${OPENNI_DIR}/Source/Tools/NiViewer/Makefile
+
git clone https://github.com/OpenKinect/libfreenect.git
make
+
cd libfreenect
sudo ${OPENNI_DIR}/Packaging/Linux/install.sh
+
mkdir build
sudo gpasswd -a ${USER} video
+
cd build
 +
cmake .. -DBUILD_OPENNI2_DRIVER=ON
 +
make -j4
 +
cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.so ${OPENNI_DIR}/Bin/x64-Release/OpenNI2/Drivers/
  
LUB (preferowana opcja):
+
Testowanie
pobrać binarny pakiet ze strony http://structure.io/openni
 
wypakować do katalogu np. OpenNI-Linux-x64-2.2
 
$ cd OpenNI-Linux-x64-2.2
 
$ sudo ./install.sh
 
w aktualnym katalogu utworzy się skrypt “OpenNIDevEnvironment”, który ustawia środowisko dev
 
  
Instalacja libfreenect
+
cd ${OPENNI_DIR}/Bin/x64-Release/
 +
./NiViewer
  
git clone https://github.com/OpenKinect/libfreenect.git
+
=== Instalacja biblioteki NiTE2 ===
cd libfreenect
 
mkdir build; cd build
 
cmake .. -DBUILD_OPENNI2_DRIVER=ON
 
make -j4
 
cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.so ${OPENNI_DIR}/Bin/x64-Release/OpenNI2/Drivers/
 
  
Test
+
NiTE od zawsze było oprogramowaniem bez dostępnych kodów źródłowych. Binarki można znaleźć tutaj: http://ilab.usc.edu/packages/forall/ubuntu-13.10/NiTE-Linux-x64-2.2.tar.bz2
cd ${OPENNI_DIR}/Bin/x64-Release/
+
./NiViewer
+
cd NiTE-Linux-x64-2.2
 +
sudo ./install.sh
  
Instalacja biblioteki NiTE2
+
cp -L /usr/local/lib/OpenNI2-FreenectDriver/libFreenectDriver.so NiTE-Linux-x64-2.2/Samples/Bin/OpenNI2/Drivers/
  
http://ilab.usc.edu/packages/forall/ubuntu-13.10/NiTE-Linux-x64-2.2.tar.bz2
+
=== Kompilacja Pythonowego modułu 'nite2' (wrappera do OpenNI2 + NiTE2) ===
cd NiTE-Linux-x64-2.2
 
sudo ./install.sh
 
  
cp -L /usr/local/lib/OpenNI2-FreenectDriver/libFreenectDriver.so NiTE-Linux-x64-2.2/Samples/Bin/OpenNI2/Drivers/
+
$ sudo apt-get install python-dev libboost-all-dev
 +
$ git clone https://github.com/BrainTech/nite2-bindings
 +
$ cd nite2-bindings
 +
$ make

Aktualna wersja na dzień 12:08, 23 mar 2016

Kinect + OpenNI2 + NiTE2 + freenect

Należy pamiętać, żeby wszsstkie wystąpienia {USER_NAME} w poniższym kodzie zamienić na właściwą nazwę użytkownika.

Instalacja OpenNI 2 + NiTE 2 z prekonfigurowanych binarek dla Ubuntu 15.10:

sudo apt-get install freeglut3 python-opencv libboost-all-dev
cd ~
wget http://static.mroja.net/kinect/kinect.7z
7z x kinect.7z
cd ~/kinect
sudo cp primesense-and-kinect-usb.rules /etc/udev/rules.d/557-primesense-usb.rules
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/{USER_NAME}/kinect/Redist
cd Redist
./NiViewer

Linijkę export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/{USER_NAME}/kinect/Redist najlepiej wrzucić do pliku .profile lub .bashrc, żeby uruchamiana była przy każdym logowaniu.

Należy prawdzić czy użytkownik, na koncie którego będzie używany Kinect należy do grupy plugdev -- jeśli nie, dodać:

sudo usermod -G plugdev -a {USER_NAME}

Alternatywnie można zainstalować całość ze źródeł - instrukcja znajduje się na dole tej strony.

Wrapper nite2 do Python + OpenBCI

Moduł do Pythona (plik nite2.so) należy zbudować z repozytorium https://github.com/BrainTech/nite2-bindings i umieścić w katalogu /usr/lib/python2.7/dist-packages.

Żeby NiTE2 działo poprawnie wewnątrz OpenBCI należy skopiować katalog NiTE2 (~/kinect/Redist/NiTE2) do katalogu ~/.obci/sandbox.

na koncie lab

cd ~/kinect/Redist
cp /path_to_file/nite2.so nite2.so
cp -r /home/lab/kinect/Redist/NiTE2/ ~/.obci/sandbox/

na koncie newtech

cd ~/kinect/Redist
cp /path_to_file/nite2.so nite2.so
mkdir /home/newtech/.obci/  # jeśli katalog istnieje to pominąć
mkdir /home/newtech/.obci/sandbox  # j.w.
cp -r /home/newtech/kinect/Redist/NiTE2/ ~/.obci/sandbox/

Instalacja xwiimote

UWAGA!!! NIE NALEŻY instalować pakietu xwiimote z repozytoriów Debiana i Ubuntu - są one przestarzałe.

Wymagane wersje:

  • kernel >= 3.5+
  • bluez >= 5.11+

A) Instalacja wymaganych pakietów

sudo apt-get install autoconf autogen automake gcc bluetooth ncurses-dev libudev-dev libtool git blueman python-dev dh-autoreconf pkg-config swig

B) xwiimote driver & utils

git clone https://github.com/BrainTech/xwiimote
cd xwiimote
./autogen.sh
make
sudo make install
sudo ldconfig

C) Python bindings

git clone https://github.com/BrainTech/xwiimote-bindings
cd xwiimote-bindings
./autogen.sh
make
sudo make install
sudo ldconfig

D) Żeby działało bez sudo

Jeśli chcemy, żeby xwiimote dział bez sudo dla userów lab i newtech należy wykonać polecenia:

sudo usermod -a -G input newtech
sudo usermod -a -G input lab

E) Sparować urządzenie z użyciem wbudowanego do Ubuntu panelu Bluetooth

F) Demo

git clone https://github.com/BrainTech/wiiscale.git
cd wiiscale

Należy odkomentować linijki 134 i 135:

134: #        for m in measurements(iface):
135: #            print_bboard_measurements(*m)

Demo można uruchomić poleceniem:

python ./scale.py

Tobii REX eyetracker

Oprogramowanie do Kinecta ze źródeł

Do pełnego działania Kinecta na Linuxie potrzebne są: OpenNI2, NiTE2, libfreenect z driverem do OpenNI2 oraz wrapper do Pythona - nite2.

Firma PrimeSense, autor OpenNI, została wykupiona przez Apple'a. Następnie Apple wstrzymało publiczny rozwój projektu OpenNI - został on utajniony. Ponieważ jest to oprogramowanie opensource, kody źródłowe są nadal dostępne i mogą być używane przez każdego. Najbardziej aktywnym forkiem jest repozytorium prowadzone przez http://occipital.com, dostępne pod adresem https://github.com/occipital/OpenNI2.

OpenNI2

OpenNI2 można zdobyć na dwa sposoby - zbudować ze źródeł lub pobrać binarki.

Kompilacja OpenNI2

Instalacja wymagań

sudo apt-get install git g++ cmake python libudev-dev libxi-dev libxmu-dev libusb-1.0-0-dev libudev-dev freeglut3-dev doxygen graphviz

Do kompilacji niezbędna jest Java (dokładniej javac). Należy zainstalować jakiekolwiek JDK, np.:

sudo apt-get install openjdk-7-jdk

Pobranie repozytorum i kompilacja

git clone https://github.com/occipital/OpenNI2.git
cd OpenNI2
make

Warto zapisać ścieżkę do OpenNI w zmiennej (i następnie dodać do .profile lub .bashrc):

export OPENNI_DIR=/home/{USER_NAME}/OpenNI2

Instalacja OpenNI:

sudo ${OPENNI_DIR}/Packaging/Linux/install.sh
sudo gpasswd -a ${USER} video

Instalacja z binarek

Należy pobrać binarny pakiet ze strony http://structure.io/openni i wypakować do katalogu np. OpenNI-Linux-x64-2.2

$ cd OpenNI-Linux-x64-2.2
$ sudo ./install.sh

w aktualnym katalogu utworzy się skrypt OpenNIDevEnvironment, który ustawia środowisko dev

Kompilacja libfreenect

git clone https://github.com/OpenKinect/libfreenect.git
cd libfreenect
mkdir build
cd build
cmake .. -DBUILD_OPENNI2_DRIVER=ON
make -j4
cp -L lib/OpenNI2-FreenectDriver/libFreenectDriver.so ${OPENNI_DIR}/Bin/x64-Release/OpenNI2/Drivers/

Testowanie

cd ${OPENNI_DIR}/Bin/x64-Release/
./NiViewer

Instalacja biblioteki NiTE2

NiTE od zawsze było oprogramowaniem bez dostępnych kodów źródłowych. Binarki można znaleźć tutaj: http://ilab.usc.edu/packages/forall/ubuntu-13.10/NiTE-Linux-x64-2.2.tar.bz2

cd NiTE-Linux-x64-2.2
sudo ./install.sh
cp -L /usr/local/lib/OpenNI2-FreenectDriver/libFreenectDriver.so NiTE-Linux-x64-2.2/Samples/Bin/OpenNI2/Drivers/

Kompilacja Pythonowego modułu 'nite2' (wrappera do OpenNI2 + NiTE2)

$ sudo apt-get install python-dev libboost-all-dev
$ git clone https://github.com/BrainTech/nite2-bindings
$ cd nite2-bindings
$ make