Mudanças entre as edições de "Instalação Carmen para Ubuntu 12.04.3"
(→Ajustes na rede para o GPS Trimble) |
|||
(30 revisões intermediárias por 5 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
+ | [[category:Carmen]] | ||
+ | |||
+ | Essa instalação é completa, mas é necessário testar todos os módulos. | ||
+ | |||
+ | |||
+ | '''<span style="color:red;">Caso você tenha algum problema não listado aqui, verifique o tutorial [[Instalação para Ubuntu]] </span>''' | ||
+ | |||
+ | = Preparação para a instalação do Carmen = | ||
+ | |||
Atualizar o apt: | Atualizar o apt: | ||
sudo apt-get update | sudo apt-get update | ||
− | + | Instalar o subversion, git, gimp, meld e vim: | |
− | sudo apt-get | + | sudo apt-get install gimp meld subversion 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: | + | Instalar os pacotes para o carmem no 12.04: |
sudo apt-get install swig \ | sudo apt-get install swig \ | ||
libgtk2.0-dev \ | libgtk2.0-dev \ | ||
Linha 37: | Linha 49: | ||
doxygen \ | doxygen \ | ||
libespeak-dev | 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: | Instalar o Java: | ||
+ | |||
+ | Obs:Caso queira usar a versão mais atualizada do java para uso pessoal, | ||
+ | troque oracle-jdk7-installer por oracle-java8-installer | ||
+ | |||
sudo add-apt-repository ppa:webupd8team/java | sudo add-apt-repository ppa:webupd8team/java | ||
sudo apt-get update && sudo apt-get install oracle-jdk7-installer | sudo apt-get update && sudo apt-get install oracle-jdk7-installer | ||
Linha 46: | Linha 65: | ||
sudo gedit /etc/environment | sudo gedit /etc/environment | ||
− | Adicione no final do arquivo: | + | Adicione no final do arquivo (se instalou o java8 mude o final de java-7-oracle para java-8-oracle): |
JAVA_HOME=/usr/lib/jvm/java-7-oracle | JAVA_HOME=/usr/lib/jvm/java-7-oracle | ||
Linha 88: | Linha 107: | ||
sudo su | sudo su | ||
cd /usr/local/ | cd /usr/local/ | ||
+ | |||
wget http://bullet.googlecode.com/files/bullet-2.78-r2387.tgz | wget http://bullet.googlecode.com/files/bullet-2.78-r2387.tgz | ||
+ | ou | ||
+ | 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/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip | wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip | ||
wget http://downloads.sourceforge.net/project/fann/fann/2.2.0/FANN-2.2.0-Source.tar.gz | wget http://downloads.sourceforge.net/project/fann/fann/2.2.0/FANN-2.2.0-Source.tar.gz | ||
Linha 113: | Linha 136: | ||
make install | make install | ||
cd ../.. | cd ../.. | ||
− | cd opencv-2.4. | + | cd opencv-2.4.9 |
mkdir build | mkdir build | ||
cd build | cd build | ||
− | cmake -D WITH_TBB=ON -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 .. | + | 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 | ||
make install | make install | ||
Linha 138: | Linha 161: | ||
sair do rooot | sair do rooot | ||
exit | exit | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Coloque no .bashrc: | Coloque no .bashrc: | ||
Linha 149: | Linha 166: | ||
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig | 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 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=~/ | + | export CARMEN_HOME=~/carmen_lcad |
#MAE | #MAE | ||
Linha 157: | Linha 174: | ||
Instale os pacotes imlib e flycapture: | Instale os pacotes imlib e flycapture: | ||
cd $CARMEN_HOME/ubuntu_packages/ | cd $CARMEN_HOME/ubuntu_packages/ | ||
− | dpkg -i imlib_1.9.15-20_amd64.deb | + | sudo dpkg -i imlib_1.9.15-20_amd64.deb |
− | dpkg -i imlib-devel_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 | tar -xvf flycapture2-2.5.3.4-amd64-pkg.tgz | ||
cd flycapture2-2.5.3.4-amd64/ | cd flycapture2-2.5.3.4-amd64/ | ||
Linha 167: | Linha 184: | ||
Faça os links: | Faça os links: | ||
− | ln -s /usr/lib64/libgdk_imlib.so.1.9.15 /usr/lib64/libgdk_imlib.a | + | sudo ln -s /usr/lib64/libgdk_imlib.so.1.9.15 /usr/lib64/libgdk_imlib.a |
− | ln -s /usr/src/linux-headers-3.8.0-30/ /usr/src/linux | + | sudo ln -s /usr/src/linux-headers-3.8.0-30/ /usr/src/linux |
Instale a PCL: | Instale a PCL: | ||
Linha 177: | Linha 194: | ||
Instale a câmera Kinect: | Instale a câmera Kinect: | ||
sudo su | 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 | mkdir /usr/local/tplib | ||
cd /usr/local/tplib | cd /usr/local/tplib | ||
− | |||
− | |||
git clone git://github.com/OpenKinect/libfreenect.git | git clone git://github.com/OpenKinect/libfreenect.git | ||
− | |||
cd libfreenect | cd libfreenect | ||
mkdir build | mkdir build | ||
Linha 205: | Linha 230: | ||
− | Instalação da biblioteca G2O: | + | Instalação da biblioteca G2O : |
sudo apt-get install cmake libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-qt4-dev | sudo apt-get install cmake libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-qt4-dev | ||
cd /usr/local/ | cd /usr/local/ | ||
Linha 215: | Linha 240: | ||
− | + | Instale as bibliotecas da MAE: | |
− | + | 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: | Feche todos os terminais e faça: | ||
cd $CARMEN_HOME/src | cd $CARMEN_HOME/src | ||
− | ./configure --nojava --nocuda | + | ./configure --nojava --nocuda --nozlib |
Should the C++ tools be installed for CARMEN: [Y/n] Y | Should the C++ tools be installed for CARMEN: [Y/n] Y | ||
Should Python Bindings be installed: [y/N] y | Should Python Bindings be installed: [y/N] y | ||
Linha 235: | Linha 272: | ||
Install path [/usr/local/]: | Install path [/usr/local/]: | ||
Robot numbers [*]: 1,2 | 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 | make | ||
Linha 241: | Linha 287: | ||
E altere #include <libusb.h> para | E altere #include <libusb.h> para | ||
#include <libusb-1.0/libusb.h> | #include <libusb-1.0/libusb.h> | ||
+ | |||
+ | = Ajustes para a IARA = | ||
+ | |||
+ | Para configurar o OpenJAUS siga o tutorial em : | ||
+ | |||
+ | $CARMEN_HOME/sharedlib/OpenJAUS/README_ALBERTO.txt | ||
+ | |||
+ | Para que o GPS e o XSENS sejam configurados automaticamente ao serem conectados às portas USB, copie o seguinte arquivo do diretório data do Carmen para sua máquina: | ||
+ | |||
+ | cd $CARMEN_HOME/data | ||
+ | sudo cp 99-usb-serial.rules /etc/udev/rules.d/ | ||
+ | |||
+ | == 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! |
Edição atual tal como às 11h22min de 5 de outubro de 2016
Essa instalação é completa, mas é necessário testar todos os módulos.
Caso você tenha algum problema não listado aqui, verifique o tutorial Instalação para Ubuntu
Preparação para a instalação do Carmen
Atualizar o apt:
sudo apt-get update
Instalar o subversion, git, gimp, meld e vim:
sudo apt-get install gimp meld subversion 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 12.04:
sudo apt-get install swig \ libgtk2.0-dev \ qt-sdk \ libqt3-mt libqt3-mt-dev qt3-dev-tools \ 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 glew-utils1.5 \ libkml0 libkml-dev \ liburiparser1 liburiparser-dev \ git \ 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:
Obs:Caso queira usar a versão mais atualizada do java para uso pessoal, troque oracle-jdk7-installer por oracle-java8-installer
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update && sudo apt-get install oracle-jdk7-installer update-alternatives --display java
Edite o arquivo /etc/environment:
sudo gedit /etc/environment
Adicione no final do arquivo (se instalou o java8 mude o final de java-7-oracle para java-8-oracle):
JAVA_HOME=/usr/lib/jvm/java-7-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:
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://bullet.googlecode.com/files/bullet-2.78-r2387.tgz ou 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/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip 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 :
sudo apt-get install cmake libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-qt4-dev 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
Instale as bibliotecas da MAE:
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 para a IARA
Para configurar o OpenJAUS siga o tutorial em :
$CARMEN_HOME/sharedlib/OpenJAUS/README_ALBERTO.txt
Para que o GPS e o XSENS sejam configurados automaticamente ao serem conectados às portas USB, copie o seguinte arquivo do diretório data do Carmen para sua máquina:
cd $CARMEN_HOME/data sudo cp 99-usb-serial.rules /etc/udev/rules.d/
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!