- REPOSICIONAMENTO DE BOLA: Isso é possível e simples de ser feito, caso sem interface gráfica. Já fiz algo bem simples no grSim nesse sentido de reposicionar a bola, mas ainda não consegui, depois de muitas horas tentando, instalar o grSim no PC do Lab para testarmos junto com o LabView, e, portanto, utilizarmos na prática. Tentei controlar o grSim, rodando em um PC do lab ligado à rede via Ethernet, mas os robôs ficaram bem descontrolados. Talvez exista alguma perda de pacotes ou uma latência alta, não procurei depurar, mas de qualquer forma é inviável trabalhar assim. Ou experimentamos LabView Linux, e passamos a usá-lo, ou eu passo mais algumas horas tentando compilar o grSim - o que exige um pouco de entender como funciona cmake, visual studio e outras tecnologias usadas no build do grSim e suas dependências - , ou prosseguimos sem esses requisitos novos pelo menos até o fim de versão atual (LARC 2017)
``` branch com a primeira mudança experimental (são poucas linhas de código, dá pra entender mais ou menos o que dá pra fazermos com simplicidade no grSim ): https://github.com/roboime/grSim/tree/auto-replace ```
- ROTINA DE CHUTES : Da mesma forma como consigo acessar no grSim métodos de reposicionamento de bola, consigo também aplicar forças, aplicar torque, alterar velocidade linear e alterar velocidade angular. Imagino que isso também seja tranquilo de resolver.
exemplo : https://github.com/roboime/grSim/blob/master/src/sslworld.cpp#L405
(nesse exemplo é feita a conta da fricção da bola, particionada em 5 pedaços de um dt parametrizado)
exemplo exato de chute: https://github.com/roboime/grSim/blob/master/src/robot.cpp#L183
(vemos que há como setar diretamente a velocidade da bola!)
- SINALIZAR GOL - Ainda não consegui pensar em uma solução de arquitetura que resolva a questão de simular parte do juiz (sinalizar gol realizado) dentro do próprio grSim ou fora mesmo. Acredito que a melhor solução seja fazermos isto internamente no nosso sistema. Uma situação ideal seria desenvolvermos o nosso próprio simulador com juiz automático, mas isso é inviável dada a quantidade de trabalho necessária. Aceito sugestões.
Priorizarei as tarefas mais simples.