sábado, 7 de maio de 2011

Stage 3.2.2 no Ubuntu 11.04


É muito provável que você já tenha instalado o Player, já que esse é o primeiro passo antes de instalar o Stage. No Ubuntu 11.04, esse procedimento pode ser bastante simples já que podemos instalar o Player 3.0.2 através do apt. Entretanto se você precisar personalizar a instalação de alguma forma, poderá seguir os passos apresentados aqui.

Concluída essa primeira etapa, podemos passar a instalação do Stage propriamente dito.

Devemos começar instalando alguns pacotes que são necessários a compilação (dependências):
$ sudo apt-get install libfltk1.1-dev freeglut3-dev libglu1-mesa-dev libglut3-dev

Descompacte o pacote e mova-se para o diretório criado:
$ tar -xvf Stage-3.2.2-Source.tar.gz
$ cd Stage-3.2.2-Source


Crie um diretório para conter as informações da compilação e mova-se para ele:
$ mkdir build
$ cd build

Antes de compilar precisamos configurar os elementos do pacote, então digite:
$ cmake ..

Note que em meio as mensagens exibidas aparecerá:
-- checking for one of the modules 'websim'
  * WebSim not detected.

Don't worry. Esta mensagem não é considerada nem como de erro, nem de alerta (warning). Trata-se apenas de uma mensagem informativa. Na prática o FLTK faz todo o papel principal, tornando o WebSim coadjuvante.

Continuando, compile e instale o pacote:
$ make
$ sudo make install

Particularmente tenho o hábito de deixar os arquivos de modelo de mundo (diretório worlds) com a mesma estrutura de diretórios que a do apt, com uma pequena diferença, usar o o diretório /usr/local como base. Para isso, faça:
$ sudo cp -R ../worlds /usr/local/share/stage

Para que não seja necessário setar o valor da variável LD_LIBRARY_PATH todas as vezes que for utilizar o Stage, crie um arquivo de configuração:
$ sudo gedit /etc/ld.so.conf.d/stage.conf

... com o seguinte conteúdo:
# Stage default configuration
/usr/local/lib

Salve as alterações e recarregue o arquivo para que sejam incorporadas ao ldconfig:
$ sudo ldconfig

Pronto! Vamos testar para termos certeza de que está tudo correto:
$ stage /usr/local/share/stage/worlds/simple.world

Agora é só usar =)

Player 3.0.2 no Ubuntu 11.04


No Ubuntu 11.04 a versão do Player disponível no apt é exatamente a 3.0.2 (uhu!). Pode ser que você precise de algum driver ou recurso que não esteja disponível entre os elementos padrões da compilação (tal como, suporte a lasers Hokuyo, imu da XSens etc), então terá que compilar o pacote manualmente.

As ações e procedimentos que apresentamos a seguir tem exatamente esse objetivo. Mas antes de começar, estamos considerando que o FFmpeg, OpenCV 2.2 e o Gearbox 9.11 estão instalados e corretamente configurados.

Se você não tenha feito isto ainda, veja como pode fazê-lo aqui em um de nossos outros posts: FFmpeg + OpenCV e Gearbox

Antes de prosseguir tenha certeza de que algumas coisas estejam instaladas e tualizadas:
$ sudo apt-get update
$ sudo apt-get install build-essential cmake cmake-curses-gui

Descompacte o pacote:
$ tar -xvf player-3.0.2

Instale as dependências do Player:
$ sudo apt-get install autotools-dev freeglut3 libart-2.0-dev libtool liblodo3.0 libltdl-dev libzlcore-dev libgeos-dev libgeos-c1 swig libgnomecanvas2-dev libgtk2.0-dev libgtk2.0-cil-dev libboost-signals1.42.0 libboost-signals1.42-dev libboost-thread1.42.0 libboost-thread1.42-dev libboost1.42-dev libgsl0-dev libpqxx-dev libstatgrab-dev libstatgrab6

Crie um o diretório para versão final:
$ mkdir build
$ cd build/

Configure o pacote:
$ cmake -DLARGE_FILE_SUPPORT=ON -DBUILD_PYTHONCPP_BINDINGS=ON -DBUILD_DOCUMENTATION=ON -DENABLE_DRIVER_HOKUYO_AIST=ON -DENABLE_DRIVER_OCEANSERVER=OFF ..

Aqui as opções ON entre outras coisas são para que o Player suporte arquivos grandes, gere a documentação usando o Doxygen, além do suporte ao laser Hokuyo. Por fim, o driver OceanServer foi desabilidado pois apresenta problemas de compatibilidade de versão com o Gearbox 9.11 e não temos qualquer dispositivo que trabalhe com este tipo de servidor não tentei resolver o problema.

Agora compile e instale:
$ make
$ sudo make install

Para que não seja necessário setar o valor da variável LD_LIBRARY_PATH todas as vezes que for utilizar o Player, crie um arquivo de configuração:
$ sudo gedit /etc/ld.so.conf.d/player.conf

... com o seguinte conteúdo:
# player default configuration
/usr/local/lib

Salve as alterações e recarregue o arquivo para que sejam incorporadas ao ldconfig:
$ sudo ldconfig

Pronto! \o/

Agora vá para a pasta do usuário (ou uma outra qualquer) e faça um teste:
$ cd ~
$ player

That's all folks!