Instalação Carmen para Ubuntu 14.04
Essa instalação é completa, mas é necessário testar todos os módulos.
Preparação para a instalação do Carmen
Atualizar o apt:
sudo apt-get update
Instalar o git, gimp, meld e vim:
sudo apt-get install gimp meld vim git
Baixar o Carmen pelo git (faça o download enquanto segue os próximos passos):
git clone https://github.com/LCAD-UFES/carmen_lcad.git
Baixe a MAE via git:
git clone https://github.com/LCAD-UFES/MAE.git
Instalar os pacotes para o carmem no 14.04
sudo apt-get install swig \ libgtk2.0-dev \ qt-sdk \ libimlib2 libimlib2-dev \ imagemagick libmagick++-dev \ libwrap0 libwrap0-dev tcpd \ libncurses5 libncurses5-dev \ libgsl0-dev libgsl0ldbl \ libdc1394-22 libdc1394-22-dev libdc1394-utils \ cmake \ libgtkglext1 libgtkglext1-dev \ libgtkglextmm-x11-1.2-0 libgtkglextmm-x11-1.2-dev \ libglade2-0 libglade2-dev \ freeglut3 freeglut3-dev \ libcurl3 libcurl3-nss libcurl4-nss-dev \ libglew1.5 libglew1.5-dev libglewmx1.5 libglewmx1.5-dev libglew-dev \ libkml0 libkml-dev \ liburiparser1 liburiparser-dev \ libusb-1.0-0 libusb-1.0-0-dev libusb-dev \ libxi-dev libxi6 \ libxmu-dev libxmu6 \ build-essential libforms-dev \ byacc \ flex \ doxygen \ libespeak-dev
caso de erro em libcheese-gtk23 instale os pacotes abaixo antes dos anteriores (Solucão nao confirmada):
sudo apt-get install libglew-dev libcheese7 libcheese-gtk23 libclutter-gst-2.0-0 libcogl15 libclutter-gtk-1.0-0 libclutter-1.0-0
Instalar o Java:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update && sudo apt-get install oracle-jdk8-installer update-alternatives --display java
Edite o arquivo /etc/environment:
sudo gedit /etc/environment
Adicione no final do arquivo:
JAVA_HOME=/usr/lib/jvm/java-8-oracle
Instalar o eclipse:
Baixe o eclipse de:
http://www.eclipse.org/downloads/
Descompacte o ecplise
cd Downloads/ sudo mv eclipse-cpp-kepler-R-linux-gtk-x86_64.tar.gz /opt cd /opt/ sudo tar -xvf eclipse-cpp-kepler-R-linux-gtk-x86_64.tar.gz
Crie um arquivo desktop e edite ele em /usr/share/applications:
sudo gedit /usr/share/applications/eclipse.desktop
Coloque o seguinte conteudo:
[Desktop Entry] Name=Eclipse Type=Application Exec=/opt/eclipse/eclipse Terminal=false Icon=/opt/eclipse/icon.xpm Comment=Integrated Development Environment NoDisplay=false Categories=Development;IDE Name[en]=Eclipse
Instale as deps da PCL:
sudo apt-get install libeigen3-dev libboost-all-dev libflann-dev libvtk5-dev cmake-gui
Instale as deps do OpenCV 2.4.9 :
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev \ libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev \ libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev \ libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev \ libavcodec-dev libavformat-dev libswscale-dev
Baixar os arquivos:
sudo su cd /usr/local/ wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/bullet/bullet-2.78-r2387.tgz wget http://downloads.sourceforge.net/project/fann/fann/2.2.0/FANN-2.2.0-Source.tar.gz wget http://www.kvaser.com/software/7330130980754/V5_3_0/linuxcan.tar.gz tar -xvf bullet-2.78-r2387.tgz unzip opencv-2.4.9.zip tar -xvf linuxcan.tar.gz tar -xvf FANN-2.2.0-Source.tar.gz mv bullet-2.78 bullet cd bullet ./configure make make install cd .. cd linuxcan make make install cd .. cd FANN-2.2.0-Source mkdir build cd build cmake .. make make install cd ../.. cd opencv-2.4.9 mkdir build cd build cmake -D WITH_TBB=ON -D WITH_CUDA=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON .. make make install
Edite o arquivo /etc/ld.so.conf.d/opencv.conf
gedit /etc/ld.so.conf.d/opencv.conf
Adicione ao final dele:
/usr/local/lib
Execute:
ldconfig
Edite o arquivo /etc/bash.bashrc:
gedit /etc/bash.bashrc
Adicione no final do arquivo:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
sair do rooot
exit
Coloque no .bashrc:
#CARMEN export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu/:/usr/lib/libkml export CARMEN_HOME=~/carmen_lcad #MAE export MAEHOME=~/MAE export PATH=$PATH:$MAEHOME/bin
Instale os pacotes imlib e flycapture:
cd $CARMEN_HOME/ubuntu_packages/ sudo dpkg -i imlib_1.9.15-20_amd64.deb sudo dpkg -i imlib-devel_1.9.15-20_amd64.deb tar -xvf flycapture2-2.5.3.4-amd64-pkg.tgz cd flycapture2-2.5.3.4-amd64/ sudo apt-get install libglademm-2.4-1c2a sudo apt-get install libglademm-2.4-dev sudo apt-get install libgtkmm-2.4-dev sudo sh install_flycapture.sh
Faça os links:
sudo ln -s /usr/lib64/libgdk_imlib.so.1.9.15 /usr/lib64/libgdk_imlib.a sudo ln -s /usr/src/linux-headers-3.8.0-30/ /usr/src/linux
Instale a PCL:
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl sudo apt-get update sudo apt-get install libpcl-all
Instale a câmera Kinect:
sudo su cd /usr/local wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.19/libusb-1.0.19.tar.bz2 tar xvf libusb-1.0.19.tar.bz2 cd libusb-1.0.19 ./configure make make install
se der erro na instalacao acima tente instalar a udev-dev antes:
sudo apt-get install libudev-dev
mkdir /usr/local/tplib cd /usr/local/tplib git clone git://github.com/OpenKinect/libfreenect.git cd libfreenect mkdir build cd build cmake .. cp src/libfreenect.pc /usr/local/tplib/ make cp ../src/libfreenect.pc.in src/libfreenect.pc cp ../fakenect/fakenect.sh.in fakenect/fakenect.sh make install ldconfig /usr/local/lib64/ exit
Execute:
glview
Caso dê erro, tente:
freenect-glview
Se der erro execute:
sudo ldconfig /usr/local/lib64/
Instalação da biblioteca G2O 14.04:
sudo apt-get install cmake libsuitesparse-dev libqt4-dev qt4-qmake cd /usr/local/ sudo svn co https://svn.openslam.org/data/svn/g2o cd /usr/local/g2o/trunk/build/ sudo cmake ../ -DBUILD_CSPARSE=ON -DG2O_BUILD_DEPRECATED_TYPES=ON -DG2O_BUILD_LINKED_APPS=ON sudo make sudo make install
Faça o link da boost:
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_thread-mt.so
Instale as bibliotecas da MAE:
sudo apt-get install make g++ freeglut3-dev byacc libforms-dev libtiff4-dev libXi-dev libXmu-dev doxygen tcsh flex libdc1394-22-dev
- Compilar a MAE:
- Pré-requisito: as variáveis de ambiente MAEHOME e PATH devem estar ajustadas;
- Entrar no diretório da MAE: "cd $MAEHOME";
- Compilar a MAE: "make".
- Verificar se a biblioteca da MAE libnet_conn.a foi gerado em MAEHOME/lib;
- Verificar se o compilador da MAE netcomp foi gerado em MAEHOME/bin.
Mais informações sobre a MAE: http://www.lcad.inf.ufes.br/wiki/index.php/M%C3%A1quina_Associadora_de_Eventos_-_MAE#Compilando_a_MAE
Instalação da dlib:
cd /usr/local sudo su git clone https://github.com/davisking/dlib.git cd dlib/ mkdir build cd build/ cmake .. {Vai reclamar de coisas CUDA. Mas pode compilar sem suporte a CUDA} make make install
Feche todos os terminais e faça:
cd $CARMEN_HOME/src ./configure --nojava --nocuda --nozlib Should the C++ tools be installed for CARMEN: [Y/n] Y Should Python Bindings be installed: [y/N] y Searching for Python2.4... Should the old laser server be used instead of the new one: [y/N] N Install path [/usr/local/]: Robot numbers [*]: 1,2
Antes de compilar o CARMEN, precisamos que o módulo tracker seja compilado separadamente para que o navigator_spline funcione:
cd $CARMEN_HOME/src/tracker make
Vai dar um erro de compilação, mas está tudo ok.
Para compilar o carmen rode:
cd $CARMEN_HOME/src make
Caso dê erro por causa da libusb.h vá no arquivo:
sudo vim /usr/local/include/libfreenect.hpp
E altere #include <libusb.h> para
#include <libusb-1.0/libusb.h>
Ajustes na rede para o GPS Trimble
Para conectar o novo GPS Trimble é necessário uma conexão com a Internet dentro da IARA. Optamos por usar um iPhone com conexão 3G.
Para o iPhone funcionar no Ubuntu 12.04 é necessário um tanto de coisas... Perdemos o histórico mas dá para achar na Internet (Google iPhone 4S ubuntu 12.04 mount). Precisa instalar uns pacotes (apt-get install ...). Se você tiver sucesso, vai ser possível usar o iPhone como Personal Hotspot, ou seja, usar a Internet de dentro da IARA.
Feito isso, é necessário criar um Gateway da máquina que tem acesso a Internet (car01) para uma subrede da IARA (192.168.0.0 - a subrede de Carro Network). Para isso (ver página de referência em https://help.ubuntu.com/community/Internet/ConnectionSharing (Gateway set up)), considerando o iPhone em eth2 e a subrede da IARA em eth1:
sudo iptables -A FORWARD -o eth2 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -t nat -F POSTROUTING sudo iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE sudo iptables-save | sudo tee /etc/iptables.sav
Os comandos acima criam um NAT do iPhone para a subrede da IARA. Em seguida, é necessário editar o /etc/rc.local e adicionar a linha abaixo antes de "exit 0":
iptables-restore < /etc/iptables.sav
É necessário ainda:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Para tornar isso permanente, inclua as linhas abaixo em /etc/sysctl.conf:
net.ipv4.ip_forward=1 net.ipv4.conf.default.forwarding=1 net.ipv4.conf.all.forwarding=1
No Network Manager, tem que setar "Use this connection only for resources on its network" (Network Manager->IPv4 Settings->Routes) em todas as redes cabeadas exceto a do iPhone.
Pronto!