-
Notifications
You must be signed in to change notification settings - Fork 7
Docker
Com os eventos causado pela pandemia de COVID19 em 2020, as competições do VSSS foram realizadas de forma online. Para que os times tivessem o ambiente com as configurações necessárias para que suas estratégias rodassem do jeito que deveriam na nuvem, foi decidido que o código deveria ser rodado em um ambiente encapsulado por alguma tecnologia de container. A Project Neon criou um ambiente usando docker para rodar o NeonFC que pode ser encontrado aqui.
Porém, as competições do VSSS dependem de variáveis externas, que muitas vezes podem ser mudadas durante a competição e estão fora do nosso controle. Visando facilitar a configuração dessas propriedades no código, sem ter de recompilar a imagem docker do NeonFC, nosso script de inicialização do container aceita algumas variáveis, descritas abaixo, para atender certas configurações do ambiente em que a partida está acontendo.
USE_REFEREE
- Variável utilizada para informar o NeonFC se ele deve ou não considerar que o referee está sendo utilizado. Se sim, ele deve enviar e esperar receber respostas do mesmo. O valores possíveis para essa variável são 1
e 0
numéricos, indicando que o referee deve ser utilizado ou não, respectivamente.
MULTICAST_IP
- Variável utilizada para saber para qual endereço de multicast o NeonFC deve se conectar, o valor padrão é 224.0.0.2
. Se o FiraSim estiver rodando com um endereço diferente, basta verificar o endereço correto na interface.
REFEREE_IP
- Endereço de IP do referee. Por padrão o valor dessa variável é 224.5.23.2
. Se for algo diferente, o valor correto estará no JSON de configuração do referee.
REFEREE_PORT
- Porta usada para a conexão com o referee, por padrão o valor é 10003
. Se for algo diferente, o valor correto estará no JSON de configuração do referee.
HOST_IP
- Endereço onde o FiraSim está rodando, por padrão o valor dessa variável é localhost
. A informação correta está na configuração do FiraSim, caso o valor localhost
não seja o correto.
VISION_PORT
- Porta que o NeonFC vai escutar por informações de visão, por padrão o valor é 10002
. Caso o valor seja diferente do padrão, a informação vai estar presente na interface do FiraSim.
COMMAND_PORT
- Porta para o qual o NeonFC irá enviar instruções para os robôs, por padrão o valor é 20011
. Caso esse valor não seja o correto, a informação vai estar presente na interface do FiraSim.
TEAM_COLOR
- Cor do time, que será entendida pelo NeonFC como nossa cor. Os valores possíveis são blue
e yellow
.
Mais informações sobre como passar essas variáveis para o NeonFC podem ser contradas no repositório com a configuração do ambiente em que ele roda aqui.
O básico de uso, é após a invocação do script dockerrun.sh
, passar como parâmetro uma string concatenando as variáveis que você quer alterar, com cada nova variável precedida de -e
. Veja o exemplo abaixo:
./dockerrun.sh "-e USE_REFEREE=1 -e MULTICAST_IP=224.0.0.2 -e REFEREE_IP=224.5.23.2 -e REFEREE_PORT=10003 -e HOST_IP=localhost -e VISION_PORT=10002 -e COMMAND_PORT=20011 -e TEAM_COLOR=blue"