Installing Carmen LCAD on Ubuntu 16.04 (Portuguese) - LCAD-UFES/carmen_lcad GitHub Wiki
sudo apt-get update
sudo apt-get install git
git clone https://github.com/LCAD-UFES/carmen_lcad git clone https://github.com/LCAD-UFES/MAE.git
OBS: Se você pegar o Carmen do pendrive, faça “git pull” antes de iniciar as instalações.
sudo apt-get install swig \ libgtk2.0-dev \ qt-sdk \ libimlib2 libimlib2-dev \ imagemagick libmagick++-dev \ libwrap0 libwrap0-dev tcpd \ libncurses5 libncurses5-dev \ libgsl2 \ libdc1394-22 libdc1394-22-dev libdc1394-utils \ cmake cmake-gui cmake-qt-gui \ libgtkglext1 libgtkglext1-dev \ libgtkglextmm-x11-1.2-0v5 \ 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 \ 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 \ libgflags-dev \ libespeak-dev libfftw3-dev pkg-config \ libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev \ libjpeg-dev libpng-dev libpng++-dev libtiff-dev libjasper-dev \ libgstreamer-plugins-base1.0-dev gimp meld vim \ python-numpy python-dev python-pip python-wheel python3-numpy python3-dev \ python3-pip python3-wheel \ g++ mpi-default-dev openmpi-bin openmpi-common \ libqhull* libgtest-dev git-core \ libflann1.8 libboost1.58-all-dev libeigen3-dev \ libboost-all-dev libflann-dev libproj-dev libsuitesparse-dev libqt4-dev qt4-qmake \ make libtiff5-dev tcsh wget \ linux-headers-`uname -r` kmod libraw1394-11 libgtkmm-2.4-dev libglademm-2.4-dev \ libgtkglextmm-x11-1.2-dev libudev-dev libvtk5-dev qttools5-dev libasound2-dev \ mpg123 portaudio19-dev libjsoncpp-dev
Se o computador possui placa NVIDIA, siga os passos listados em github.com/LCAD-UFES/carmen_lcad/wiki/Installing-CUDA.¶ ↑
Para instalação do Eclipse, siga os passos listados em github.com/LCAD-UFES/carmen_lcad/wiki/Installing-Eclipse.¶ ↑
IMPORTANTE: A INSTALAÇÃO DOS PACOTES ABAIXO PODEM SEGUIR SEU CRITÉRIO DE ORGANIZAÇÃO DE DIRETÓRIOS NO SEU LINUX! POR EXEMPLO, O LOCAL MAIS COMUM É O /usr/local/ PARA PACOTES DE BIBLIOTECAS. JÁ PARA POROGRAMAS COMO O ECLIPSE O MAIS COMUM É o diretório /opt/ DE FORMA QUE ESSES PACOTES FICARÃO DISPONÍVEIS PARA TODOS OS USUÁRIOS DA MÁQUINA (PARA ACESSAR AS PASTAS DE INSTALAÇÃO, POIS QUANDO O PACOTE É INSTALADO A MAIORIA JÁ É INSTALADA PARA TODOS OS USÚARIOS) ¶ ↑
SE VOCÊ PREFERIR UM OUTRO MODELO QUE SUGERIMOS É CRIAR UMA PASTA NA SUA HOME COM NOME packages_carmen PARA CENTRALIZAR E SEPARAR ESSES PACOTES.¶ ↑
ABAIXO DE CADA PASSO DE INSTALACAO HAVERA UMA BLOCO DE “Comandos acima em uma linha”. ESSA OPCAO JUNTA TODOS OS COMANDOS DO PASSO EM UMA UNICA LINHA DE CODIGO. SE VOCE AINDA NAO INSTALOU O CARMEN MAIS DE 5 VEZES, NAO USE ESSA OPCAO¶ ↑
ESSA INSTALAÇÃO SEGUIRÁ O MODELO DE INSTALAÇÃO no ~/packages_carmen LEMBRE-SE DE APAGAR AS PASTAS COMPACTADAS (tar.gz etc) APÓS TERMINAR AS INSTALAÇÕES¶ ↑
cd ~/packages_carmen wget https://github.com/opencv/opencv/archive/3.1.0.tar.gz -O opencv_3.1.0.tar.gz tar -zxvf opencv_3.1.0.tar.gz cd opencv-3.1.0/ mkdir build cd build/ cmake -D BUILD_TIFF=ON -D WITH_CUDA=OFF -D ENABLE_AVX=OFF -D WITH_OPENGL=OFF -D WITH_OPENCL=OFF -D WITH_IPP=OFF -D WITH_TBB=ON -D WITH_EIGEN=OFF -D WITH_V4L=OFF -D WITH_VTK=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE .. make -j8 sudo make install cd ../..
Comandos acima em uma linha:
wget https://github.com/opencv/opencv/archive/3.1.0.tar.gz -O opencv_3.1.0.tar.gz && tar -zxvf opencv_3.1.0.tar.gz && tar -zxvf opencv_3.1.0.tar.gz && cd opencv-3.1.0/ && mkdir build && cd build/ && cmake -D BUILD_TIFF=ON -D WITH_CUDA=OFF -D ENABLE_AVX=OFF -D WITH_OPENGL=OFF -D WITH_OPENCL=OFF -D WITH_IPP=OFF -D WITH_TBB=ON -D WITH_EIGEN=OFF -D WITH_V4L=OFF -D WITH_VTK=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D CMAKE_BUILD_TYPE=RELEASE .. && make -j8 && sudo make install
NA compilação pode aparecer o erro de “Hdf5 nÃo encontrado”, para resolver, edit o arquivo common.cmake (no diretório ../opencv/modules/python) e , (logo abaixo da linha set(PYTHON_SOURCE_DIR “${CMAKE_CURRENT_SOURCE_DIR}/../”), insira as seguintes linhas:
find_package(HDF5) include_directories(${HDF5_INCLUDE_DIRS}) recrie a pasta build e compile novamente
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 "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=V5.22.392" -O linuxcan.tar.gz
NOTA: O PROCEDIMENTO ANTERIOR PARA BAIXAR A LINUXCAN.TAR.GZ ERA IR NO SITE “www.kvaser.com/downloads-kvaser/”, IR NA OPÇÃO “Kvaser LINUX Driver and SDK”, CLICAR EM “older versions”, E FINALMENTE EM V5.22.392. O DOWNLOAD USANDO WGET ESTÁ EM TESTE. POR FAVOR, REPORTE SE A INSTALAÇÃO DA LINUXCAN NÃO FUNCIONAR NA SUA MÁQUINA.
tar -xvf bullet-2.78-r2387.tgz tar -xvf linuxcan.tar.gz tar -xvf FANN-2.2.0-Source.tar.gz
Comandos acima em uma linha:
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 "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=V5.22.392" -O linuxcan.tar.gz && tar -xvf bullet-2.78-r2387.tgz && tar -xvf linuxcan.tar.gz && tar -xvf FANN-2.2.0-Source.tar.gz
Continuando a instala’c~ao:
cd bullet-2.78 ./configure make sudo make install cd ../linuxcan make sudo make install cd ../FANN-2.2.0-Source mkdir build && cd build cmake .. make sudo make install cd ../..
Comandos acima em uma linha:
cd bullet-2.78 && ./configure && make && sudo make install && cd ../linuxcan && make && sudo make install && cd ../FANN-2.2.0-Source && mkdir build && cd build && cmake .. && make && sudo make install && cd ../..
git clone https://github.com/RhobanDeps/flycapture.git cd flycapture sudo sh install_flycapture.sh cd ..
Comandos acima em uma linha:
git clone https://github.com/RhobanDeps/flycapture.git && cd flycapture && sudo sh install_flycapture.sh && cd ..
Depois de instalar as dependências adicionar a linha abaixo no arquivo /etc/modules (PRECISA?):
raw1394
**Dica: inicie a instalação a noite e vá dormir.
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz tar -xf pcl-1.8.0.tar.gz cd pcl-pcl-1.8.0 mkdir build && cd build cmake .. make sudo make install cd ../..
Comandos acima em uma linha:
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz && tar -xf pcl-1.8.0.tar.gz && cd pcl-pcl-1.8.0 && mkdir build && cd build && cmake .. && make && sudo make install && cd ../..
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 sudo make install cd .. wget https://github.com/OpenKinect/libfreenect/archive/v0.5.7.tar.gz tar -xzvf v0.5.7.tar.gz cd libfreenect-0.5.7 mkdir build && cd build cmake .. cp src/libfreenect.pc ../../ make cp ../src/libfreenect.pc.in src/libfreenect.pc cp ../fakenect/fakenect.sh.in fakenect/fakenect.sh sudo make install sudo ldconfig /usr/local/lib64/ cd ../..
Comandos acima em uma linha:
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 && sudo make install && cd .. && wget https://github.com/OpenKinect/libfreenect/archive/v0.5.7.tar.gz && tar -xzvf v0.5.7.tar.gz && cd libfreenect-0.5.7 && mkdir build && cd build && cmake .. && cp src/libfreenect.pc ../../ && make && cp ../src/libfreenect.pc.in src/libfreenect.pc && cp ../fakenect/fakenect.sh.in fakenect/fakenect.sh && sudo make install && sudo ldconfig /usr/local/lib64/ && cd ../..
Para testar Execute:
freenect-glview
Dica: Reinicie a máquina antes, é uma instalação demorada e com chances de travar a máquina.
Se estiver com o g2o antigo, remova-o do local onde foi baixado Ex:
/usr/local/g2o ou ~/packages_carmen/g2o
e as seguintes pastas se existirem:
/usr/local/include/g2o /usr/local/lib/libg2o* Você leu atentamente?!
Se houver alguma forma mais eficiente, por favor contribua! =D
Fica a seu critério usar o /usr/local ou o ~/packages_carmen para instalar essa lib, se usar o /usr/local todos os comandos tem que ser sudo.
MODELO DE INSTALAÇÃO PARA VERSÃO NOVA do g2o
Tenha certeza de ter lido atentamente o texto anterior até aqui! cd ~/packages_carmen git clone https://github.com/RainerKuemmerle/g2o.git cd g2o mkdir build && cd build cmake ../ -DG2O_BUILD_EXAMPLES=OFF make -j 8 sudo make install cd ../..
Caso no futuro haja alguma problema de compatibilidade com essa LIB, um fork na ultima versão funcionando está no git do lcad (aqui)
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_thread-mt.so
cd ~/packages_carmen git clone https://github.com/davisking/dlib.git cd dlib/ git checkout v19.17 git pull origin v19.17 mkdir build && cd build cmake .. make -j 8 sudo make install cd ../..
Comandos acima em uma linha:
cd ~/packages_carmen && git clone https://github.com/davisking/dlib.git && cd dlib/ && git checkout v19.17 && git pull origin v19.17 && mkdir build && cd build && cmake .. && make -j 8 && sudo make install && cd ../..
git clone http://github.com/filipemtz/libwnn cd libwnn mkdir build && cd build cmake .. make -j 8 sudo make install cd ../..
Comandos acima em uma linha:
git clone http://github.com/filipemtz/libwnn && cd libwnn && mkdir build && cd build && cmake .. && make -j 8 && sudo make install && cd ../..
Observação: Caso o seguinte erro aconteça:
CMake Warning at /home/mscdo/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message): Found OpenCV Windows Pack but it has no binaries compatible with your configuration. You should manually point CMake variable OpenCV_DIR to your build of OpenCV library. Call Stack (most recent call first): example/mnist/CMakeLists.txt:2 (find_package) CMake Error at example/mnist/CMakeLists.txt:2 (find_package): Found package configuration file: /home/mscdo/opencv-3.1.0/cmake/OpenCVConfig.cmake but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be NOT FOUND.
Apague o conteúdo da pasta build para remover os arquivos de configuração, e refaça o comando cmake adicionando o caminho para a pasta build da OpenCV:
rm -rf libwnn/build/* cd libwnn/build cmake -D OpenCV_DIR=~/packages_carmen/opencv-3.1.0/build/ .. make -j 8 sudo make install cd ../..
wget ftp://ftp.gnu.org/gnu/gsl/gsl-2.4.tar.gz tar -zxvf gsl-*.*.tar.gz cd gsl-2.4 ./configure make sudo make install cd ..
Comandos acima em uma linha:
wget ftp://ftp.gnu.org/gnu/gsl/gsl-2.4.tar.gz && tar -zxvf gsl-*.*.tar.gz && cd gsl-2.4 && ./configure && make && sudo make install && cd ..
Vá para a pasta carmen_lcad/ubuntu_packages e execute os comandos abaixo:
sudo dpkg -i imlib_1.9.15-20_amd64.deb sudo dpkg -i imlib-devel_1.9.15-20_amd64.deb
TO DO: Checar se os passos abaixo são mesmo necessários ((*(Vinicius esta testando)*)).
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
Este passo esta desativado. O github do Porcupine foi atualizado e não consta mais o modo de instalação descrito
cd packages_carmen
git clone https://github.com/Picovoice/Porcupine.git
cd Porcupine
tools/optimizer/linux/x86_64/pv_porcupine_optimizer -r resources/ -p linux -o . -w "ok e ara"
export SYSTEM=linux
export MACHINE=x86_64
cd demo/alsa
g++ -O3 -o alsademo -I../../include -L../../lib/${SYSTEM}/$MACHINE -Wl,-rpath ../../lib/${SYSTEM}/$MACHINE main.cpp -lpv_porcupine -lasound
cp ../../ok\ e\ ara_linux.ppn ../../resources/keyword_files/pineapple_linux.ppn
./alsademo
-
Caso deseje utilizar a interface de voz, siga o link de instalação em:
github.com/LCAD-UFES/carmen_lcad/wiki/Installing-Voice-Interface
** Será necessário uma conta Google Cloud Console com a opção de crédito habilitada.
Edite o .bashrc (gedit ~/.bashrc) e coloque no final
#CARMEN export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export CARMEN_HOME=~/carmen_lcad export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu/:/usr/lib/libkml:$CARMEN_HOME/lib export PATH=$PATH:$CARMEN_HOME/bin #OpenJaus export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CARMEN_HOME/sharedlib/OpenJAUS/libopenJaus/lib:$CARMEN_HOME/sharedlib/OpenJAUS/libjaus/lib:$CARMEN_HOME/sharedlib/OpenJAUS/ojTorc/lib:$CARMEN_HOME/sharedlib/OpenJAUS/ojIARASim/lib #MAE export MAEHOME=~/MAE export PATH=$PATH:$MAEHOME/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MAEHOME/lib #Darknet export DARKNET_HOME=$CARMEN_HOME/sharedlib/darknet export LD_LIBRARY_PATH=$DARKNET_HOME/lib:$LD_LIBRARY_PATH #Darknet2 export DARKNET2_HOME=$CARMEN_HOME/sharedlib/darknet2 export LD_LIBRARY_PATH=$DARKNET2_HOME/lib:$LD_LIBRARY_PATH #CUDA export PATH=$PATH:/usr/local/cuda/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 export CUDA_LIBS=/usr/local/cuda/lib64 #Voice Interface export GOOGLE_APPLICATION_CREDENTIALS=~/credentials/voice_interface_credentials.json export PYTHONPATH=$PYTHONPATH:$CARMEN_HOME/src/voice_interface export SYSTEM=linux export MACHINE=x86_64 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CARMEN_HOME/packages_carmen/Porcupine/lib/linux/x86_64 #NOD_Tracker - sempre por ultimo export PYTHONPATH=$CARMEN_HOME/src/neural_object_detector3/pedestrian_tracker:$PYTHONPATH
Atualize as variáveis de ambiente em todos os terminais executando o comando “bash”.
Se você usa Caffe, siga os passos de instalação listados em github.com/LCAD-UFES/carmen_lcad/wiki/Installing-Caffe.¶ ↑
Tenha certeza que o bash foi atualizado de forma que as variáveis de ambiente sejam carregadas.
cd $MAEHOME make
Verifique se a biblioteca da MAE libnet_conn.a foi gerado em MAEHOME/lib e se o compilador da MAE netcomp foi gerado em MAEHOME/bin.
IMPORTANTE: (1) Se o seu computador não possui placa de vídeo NVIDIA, Editar o Makefile com ‘gedit ../src/Makefile &’ e comentar os pacotes ‘tracker’, ‘neural_object_detector’ e ‘traffic_light’.
cd $CARMEN_HOME/src ./configure --nojava --nozlib --nocuda Should the C++ tools be installed for CARMEN: [Y/n] Y Should Python Bindings be installed: [y/N] N Searching for Python2.4... Should the old laser server be used instead of the new one: [y/N] N enter nessa linha -> Install path [/usr/local/]: Robot numbers [*]: 1,2
Para compilar, use o script make_all. Ele limpa os arquivos gerados no make anterior (make clean) e executa a instalação de todos os pacotes do Carmen. *Parabéns ao Rafael por ter escrito este script! =D* O script do Rafael tem duas etapas. Na primeira, ele pode mostrar alguns erros na tela, mas não tem problema. Na segunda etapa, é onde a compilação acontece de verdade. Nessa fase, o script deveria ir até o final sem erros. Quem quiser, pode usar o comando ‘make’ na pasta carmen_lcad/src (veja observações abaixo).
cd .. cd bin ./make_all (veja abaixo antes de prosseguir)
IMPORTANTE 1: Se der erro na compilação por falta da biblioteca lippicv (modulos Road_finding, moving_objets..) localize a biblioteca libippicv (find /usr/local/ -name “libippicv*” ) e coloque a pasta onde ela está localizada no path, ou simplesmente copie a mesma para a pasta usr/local/lib
IMPORTANTE 2: Em função da ordem de compilação do Carmen, podem aparecer erros do tipo “carmen/web_cam_interface.h: No such file or directory” durante a compilação de alguns módulos. Quando isso acontecer, entre na pasta do modulo (e.g., “web_cam”) que apresentou erro, compile o mesmo, e tente novamente. Isso pode acontecer com bibliotecas também durante a fase de linking. Nesse caso, o erro vai ser algo como “cannot find -llane_detector_interface”. A solução é a mesma do caso anterior, entre no diretório “lane_detector”, compile o módulo, e tente novamente.
IMPORTANTE 4: Se der o erro “bash: ./configure: Permissão negada”. Realize o comando chmod +x configure
Descompacte para a pasta carmen_lcad/data
git config credential.helper store
Git will store your credentials in clear text in a local file (.git-credentials) under your project directory (see below for the “home” directory)
Para testar se a instalação foi bem sucedida, execute o Carmen seguindo os passos no vídeo First execution of Carmen software.
Caso a instalação do Carmen esteja sendo feita no computador da IARA, acesse Passos adicionais para instalação no computador da IARA.