Este repositório contém o necessário para execução de um contêiner Docker com exemplos demonstrativos de arquiteturas cognitivas.
Todos os exemplos executam uma simulação WS3D. O WS3D é um ambiente virtual para experimento com criaturas artificiais. Neste ambiente virtual, é possível criar um conjunto de criaturas virtuais, que são controladas por seus sensores e atuadores, gerenciados por meio de Sockets.
Todos os exemplos utilizam uma simulação do WS3D, onde uma criatura deve explorar o ambiente e coletar jóias e alimentos. As jóias podem ser de 6 cores diferentes e fornecem pontos (recompensa) para o agente quando conjuntos específicos são coletados. Além disso, a criatura possui um nível de energia que decai linearmente ao longo do tempo e quando zerado, impede o movimento da criatura. Para recuperar sua energia a mesma deve coletar alimentos (maçãs e nozes) espalhadas pelo ambiente.
Cada exemplo utiliza uma das arquiteturas apresentadas no curso para controlar a criatura no ambiente WS3D.
Antes de poder executar os exemplos, você precisa garantir que o Docker Engine esteja instalado em seu sistema. Se você ainda não instalou o Docker Engine, siga as instruções de instalação abaixo:
Para execução do contêiner é necessário a instalação do Docker Engine. Siga os passos do site oficial do Docker.
⚠️ Garanta que esteja seguindo as instrução para instalação do Docker Engine por apt. O Docker Desktop para Linux não irá possibilitar o uso das interfaces gráficas dos exemplos.
Baixe o instalador e siga os passos de instalação no site do Docker.
⚠️ Garanta que o WSL 2 esteja instalado conforme as instruções dos System Requirements
Para a utilização no Windows será necessário também a instalação do VcXsrv
Baixe o instalador correspondente a seu hardware e siga os passos de instalação no site do Docker
Para utilização no Mac será necessário também a instalação do XQuatz
Depois de ter o Docker Engine instalado, você pode executar o contêiner Docker que contém os exemplos do curso, executando o script fornecido neste repositório:
./docker.sh
O script docker.sh
iniciará o contêiner e configurará o ambiente necessário.
- Inicie o XServer no Windows, conforme os passos abaixo:
- Execute o aplicativo XLaunch.exe
- Selecione a opção 'Multiple windows', defina o 'Display number' como 0 e clique 'Avançar'
- Selecione a opção 'Start no client' e clique em 'Avançar'
- Marque a opção 'Disable access control', clique em 'Avançar' e inicie o XServer clicando em 'Concluir'
- Inicie o Docker Desktop
- Encontre o ip de conexão do WSL, conforme os passos abaixo:
- Inicie o Prompt de Comando e execute o comando
ipconfig
- Encontre o adaptador de conexão com referência ao WSL. Comumente é o adaptador Ethernet e indicará no título
(WSL)
- Copie o endereço de IPv4
- Inicie o Prompt de Comando e execute o comando
- Ainda no Prompt de Comando, inicie o container Docker com o comando a seguir, inserindo o ip copiado anteriormente na tag
<MY-WSL-IP>
docker run --rm -it --privileged -e "PULSE_SERVER=/mnt/wslg/PulseServer" -v \\wsl$\Ubuntu\mnt\wslg:/mnt/wslg/ -e DISPLAY=<MY-WSL-IP>:0 brgsil/cog_arq_examples
Após iniciar o contêiner Docker, você encontrará quatro pastas dentro do diretório /examples
, cada uma correspondendo aos exemplos do curso:
SOAR
Clarion
Lida
CST
Para executar um exemplo, siga estas etapas:
-
Entre na pasta do exemplo desejado usando o comando
cd
. Por exemplo:cd Lida/
-
Navegue até a subpasta "Executable":
cd Executable/
-
Execute o script
exec.sh
:./exec.sh
Isso executará o exemplo dentro do contêiner Docker.
Após finalizar a execução dos exemplos, pode-se parar e remover o contêiner Docker no Prompt de Comando digitando Ctrl+d
É isso! Agora você pode explorar e executar os exemplos do curso dentro do contêiner Docker com facilidade.