Inteligência Artificial


Planejamento de Trajetória

Planejamento de Trajetórias é o problema computacional de encontrar uma sequências de configurações válidas para mover um objeto de uma origem para algum destino. Um algoritmo de exemplo para essa tarefa é o RRT (Rapidly-Exploring Random Trees - Arvore Aleatória de Exploração Rápida)


RRT

Em essência, um planejador RRT procura por um caminho do estado inicial a um estado alvo expandindo a árvore de busca. Primeiramente, uma função calcula um novo estado que pode ser alcançado a partir do estado inicial com algum incremento de distancias. Se uma colisão com algum obstaculo no ambiente puder ocorrer durante a movimentação para esse novo estado, então um valor padrão do tipo "state" é retornado para identificar que não há um sucessor para aquele estado devido ao obstáculo. Em geral, qualquer método heurístico adequado ao controle de robôs pode ser aplicado, porém, quanto melhor a heurística, menos o planejador precisará se expandir em média. Depois, o algoritmo estabelece uma estimativa de tempo ou distância, que diz quantas repetições deverão ser feitas para se alcançar o objetivo final. Por fim, ele retorna um estado desenhado uniformemente do estado de espaços para o ambiente, definindo então a trajetória do robô.

Tomada de Decisão

A Tomada de Decisão é umas das bases dos sistemas de navegação de robôs jogadores de futebol. A partir dela, são analisados os estados atuais do modelo do mundo e decisões são feitas sobre as novas posições dos robôs, por exemplo.

Árvores de Decisão

As Árvores de Decisão são orientadas a objetivos. A cada árvore é atribuida uma meta, que deve ser alcançadas. Então o comportamento do robô é uma lei de controle que satisfaz um conjunto de restrições em busca de um objetivo específico, sendo cada comportamento definido por um conjunto de ações. Esta solução executa várias técnicas de inteligência artificial como Máquina de Estado Finito, Planejamento e Execução de Ações. Também é uma técnica que permite modularidade, tornando os estados aninhados, formando uma estrutura semelhante ao de uma árvore e restringindo as ações apenas para estes estados aninhados. O nó raiz se ramifica pela árvore até que os nós das folhas sejam alcançados, fazendo da técnica uma abordagem mais restritiva e também melhor estruturada. Por esses motivos, Árvores de Decisão conseguem definir facilmente estados mais complexos.





Visão Computacional


Filtro Multi-objeto

O principal propósito de um filtro multi-objeto é evitar que múltiplos objetos com o mesmo ID sejam reconhecidos pelo sistema de visão. Este é um problema comum quando sistemas usam mais de uma câmera ou quando o segmentador de cores cria mais de um objeto com o mesmo padrão. Então a real aplicação deste filtro é unificar objetos com o mesmo ID.

Filtro de Ruído

O filtro de ruído busca evitar "objetos fantasmas", o que pode acontecer durante a segmentação de cores. Este filtro apresenta uma resistência a novos objetos, mantendo no mapa a mesma quantidade de objetos. Para implementar esse filtro é possível aplicar um timer, que verifica se o objeto continua a existir após uma janela de tempo. Outra abordagem é usar um contador e todo frame que o objeto aparece um ponto é adicionado a confiança deste contador.

Filtro de Perda

O filtro de perda evita descartar objetos de desaparecem em um curto espaço de tempo na segmentação, causado por sombras ou por modificação da luz. Esse filtro apresenta uma persistência do objeto que já existe no sistema. Com isso, mesmo que um objeto desapareça, é possível manter sua posição utilizando um Filtro de Kalman, por exemplo.



AVISO: Os algoritmos e soluções descritas nesta parte de software são consideravelmente simples e servem com exemplos para ínicio dos estudos. Recomenda-se ao interessado um aprofundamento em outras soluções para criação de um time competitivo.

Mais informaçõe em IA VSS and Visão VSS