Nos jogos de futebol em geral o trabalho em equipa é o principal ingrediente para atingir o sucesso, sendo que este assenta na coordenação, cooperação e comunicação entre a equipa bem como com o treinador. O papel de treinador no futebol robótico é representado pela BaseStation, esta é responsável pela definição das táticas, ou seja, é ela que define a posição de cada robô no campo consoante o estado do jogo. Para tal é necessário que esta possua conhecimento da posição de todos os elementos participantes num jogo, sendo neste ponto que entra a localização pois, esta recolhe e envia para a BaseStation várias informações.
A localização é responsável por possibilitar o robô jogar, esta tem de ser capaz de recriar o ambiente que rodeio o robô, identificar a posição e orientação do mesmo, fazer com que o robô cumpra um conjunto de regras básicas, como evitar embates com outros robôs e executar um certo número de passes antes de se proceder ao remate. Um robô futebolista, sem a noção da sua posição, consegue jogar, intercetar a bola e rematar à baliza, mas não é capaz de cumprir qualquer tipo de ordem, ou estratégia, que a BaseStation tenha definido não contribuindo para a cooperação e coordenação da equipa nos processos ofensivos nem defensivos, não consegue respeitar as regras, não evita colisões, entre outros.
Posto isto, é de notar que a localização, o processo no seu todo, é uma das, senão a, tarefa mais importante a ser realizada, sendo que uma falha leva à construção errada sobre o ambiente em que o robô se encontra o que posteriormente leva à atribuição de um movimento ou posicionamento errado por parte da BaseStation para a equipa ou para um robô em especifico robô. Porém este processo não é fácil de ser realizado pois, existem diversas variáveis que o podem afetar, como qualquer distorção ou deformação na imagem obtida, um bug ou erro na programação, sendo que umas das variáveis mais criticas é a alteração da luminosidade. Portanto, um sistema de localização autocalibrado é de enorme importância e necessidade.
O principal objetivo desta dissertação de mestrado passou por colmatar a necessidade demonstrada pela equipa, MINHO TEAM, nas ultimas competições pois, durante estas a equipa não se demonstrou suficientemente competitiva, desenvolvendo um novo método de localização para a equipa, capaz de fornecer informações, acerca do mundo que rodeia o robô e ainda da sua posição e orientação em campo, o mais precisas possível. Os objetivos propostos são:
- Correção das deformações e distorções obtidas pelo emparelhamento câmara-espelho
- Estudo dos algoritmos de localização desenvolvidos por outras equipas presentes na RoboCup MSL
- Identificar a orientação do robô no campo de jogo
- Auto localização com recurso ao processamento de imagem e odometria
- Criação/Contrução do world model
- Identificação e tracking da bola de jogo
- Identificação de obstáculos na vizinhança do robô e obter a sua localização
- Envio e recepção de informação entre processos, usando o ROS
- Envio de todas as informações relevantes, como as suas coordenadas, coordenadas da bola bem como as coordenadas das entidades identificadas, tanto para a BaseStation como para os companheiros de equipa
- Auto calibração dos parâmetros da câmara com recurso a um algoritmo
Um esquema de comunicações, entre robôs e BaseStation, é demonstrado na.
Era também objetivo desenvolver uma ferramenta capaz de tratar de todos os aspetos referentes à calibração do robô, sem necessidade de recompilar o código, tendo esta os seguintes objetivos:
- Estudo das características que definem uma imagem com qualidade
- Estudo de algoritmos de auto calibração da câmara
- Calibração do centro da camera em relação ao espelho
- Calibração da look up table, necessário para o robô conseguir classificar os pixeis da imagem obtida pelo robô como entidades que ele conheçe(bola, campo, linhas, obstáculos, entre outros)
- Calibração dos valores das distâncias calculadas em relação aos pixeis
- Calibração dos parametros PID do controlador que controla a auto calibração da câmara
- Alteração do valor das propriedades da câmara caso se pretenda realizer algum tipo de teste
- Visualização de como propriedade selecionada está a evoluir ao longo do tempo, isto através de um gráfico
O esquema de comunicação, entre a ferramenta desenvolvida e os robôs, é igual ao esquema de comunicações com a BaseStation, sendo que a única diferença é o número de robôs que comunicam em simultâneo.