Clone o repositório com:
git clone git@github.com:edra-unb-fga/docker-configuration.gitPrimeiro, crie uma pasta para o armazenamento dos Volumes do Docker, caso não tenha ainda:
mkdir -p ~/VolumesAtenção: Crie um novo arquivo na raiz do projeto chamado .env e copie as informações do .env.example nele, alterando o valor da variável HOST_USER para o usuário do seu SO host.
A imagem é pesada, mas contém tudo o que precisamos referente a PX4, simuladores e ROS 2. O tempo de build estimado fica entre 1h30 e 2h.
O projeto está estruturado para suportar máquinas com placas de vídeo NVIDIA e máquinas com apenas processador/gráficos integrados (Intel/AMD).
O repositório conta com um script que detecta automaticamente se o sistema possui uma GPU NVIDIA funcional antes de subir o serviço:
- Dê permissão de execução ao script:
chmod +x start.sh- Execute o script de inicialização:
./start.shSe preferir rodar diretamente via terminal, escolha o comando correspondente ao hardware do seu computador:
- Para computadores SEM GPU dedicada (Apenas CPU / Gráficos Integrados):
docker compose up -d ros-px4-humble- Para computadores COM GPU NVIDIA dedicada:
docker compose -f docker-compose.yaml -f docker-compose.nvidia.yaml up -d ros-px4-humbleRode o comando abaixo no seu terminal fora do container (na sua máquina host). Ele é necessário para permitir que a interface do Gazebo e janelas do OpenCV abram corretamente dentro do container:
xhost local:dockerApós subir o container, acesse o terminal interativo através do comando:
docker exec -it ros-px4-humble bashDica: Sempre que precisar de um novo terminal dentro do container, basta executar o mesmo comando em uma nova aba do terminal do seu computador.
Você pode verificar se o ROS 2 está ativo executando:
ros2Se o comando retornar command not found, carregue o ambiente executando:
source /opt/ros/humble/setup.bashVerifique se a interface gráfica do simulador está abrindo normalmente rodando o comando dentro do container:
gz sim- Clone o repositório na pasta onde você organiza seus projetos:
git clone git@github.com:edra-unb-fga/Workspace_Template.git- Libere a interface gráfica para o Docker:
xhost +local:rootcd ~/PX4-Autopilot
make px4_sitl gz_x500_mono_cam_downsource /opt/ros/humble/setup.bash
MicroXRCEAgent udp4 -p 8888Abra o QGroundControl para estabelecer a conexão de telemetria com o PX4 e evitar erros de pré-voo (No connection to the GCS):
./QGroundControl.AppImage(Caso esteja usando o aplicativo instalado no sistema, basta abri-lo pelo menu de programas).
- Navegue até a pasta onde o repositório do projeto foi clonado/mapeado:
cd /caminho/para/sua/pasta/Workspace_Template(Exemplo: cd ~/Workspace_Template ou cd /home/$USER/Workspace_Template)
- Compile o workspace, carregue o ambiente e execute a missão:
colcon build
source install/setup.bash
ros2 run missao_template main