quinta-feira, 31 de dezembro de 2015

Definição de estratégias

DATA DE TRABALHO: 30 de Dezembro de 2015

Realizamos um estudo das melhores estratégias que podíamos seguir para tornar o nosso robô bobo num robô inteligente.





Uma possível estratégia seria fazer um estudo completo ao pavimento (memorizar onde estão as barreiras e as ovelhas) e decorá-lo. 

Descartamos esta estratégia pois enquanto seres inteligentes consideramos que não iriamos fazer isso caso fossemos o robô.






Dado isto tivemos que pensar em outras estratégias. As estratégias definidas foram as seguintes:

1. O robô deve antecipar os movimentos da ovelha. Sabendo onde se encontra deve fazer um estudo nos cacifos que a cercam e verificar se tem barreiras e então decidir onde se deve posicionar e se deve gritar ou tocar nesta. Esta estratégia deve ser tomada considerando a posição em que se encontra o robô, na matriz.
2. O objetivo do robô é colocar a ovelha no curral, pelo que o objetivo principal deve ser colocar a ovelha na metade da matriz onde se localiza o curral, não se aplicando estrategias de decisão a menos que apite/toque na ovelha e quando se mover no sentido que a ovelha deve ter se movido não a encontre (deduzindo, sem verificar, que tem uma barreira e deve, portanto, PENSAR). MECANISMOS DE DECISÃO.
3. Consideramos que o robô só deve apitar/tocar no sentido 1 e 2.
4. Implementar um algoritmo que saiba que já colocou as duas ovelhas no curral e, deste modo, desligar o robô,
5. O robô conforme desloca-se no momento que lhe interessa deve ser capaz de registar potências barreiras para futuro tratamento.

Em principio, seguindo estas cinco estratégias de jogo o nosso robô deva ser capaz de alcançar o objetivo eficientemente e num reduzido espaço de tempo.

Agora resta conseguirmos pôr em pratica tudo isto em código!!! :D

terça-feira, 8 de dezembro de 2015

Demos do dia (Fim da primeira fase)

DATA DE TRABALHO: 07 de Dezembro de 2015

Desempenho do robô Shep3rd pré-apresentação da primeira fase:



Continuação do vídeo anterior:
P.S. Para lembrar que está chegando o Natal :D

OBSERVAÇÕES:

  1. Necessidade de implementar um mecanismo que obrigue o robô a efetuar um percurso linear;
  2. Obrigar o robô a parar no centro dos quadrados;
  3. Dependendo de algumas posições das barreiras conjugado com a detecção de objetos, o robô como vira sempre para o mesmo lado pode acabar por permanecer dentro do mesmo percurso.
  4. Repensar como fazer o robô chegar até as ovelhas com o sensor de toque, quando se encontra entre uma barreira e a ovelha.

Agora resta começarmos na segunda fase do projeto adicionando inteligência ao nosso robô!!

sexta-feira, 4 de dezembro de 2015

Finalização da primeira fase do projeto

DATA DE TRABALHO: 02 de Dezembro de 2015

Antes de construirmos o pavimento para o robô tivemos que tomar algumas decisões. Uma das decisões tomadas foi acerca da implementação do deslocamento do robô de quadrado em quadrado. Decidimos que este se move de quadrado em quadrado sem ter em consideração a fita que os limita. Em termos da programação, recorrendo a uma matriz 6x6, o robô sabe onde se localiza e deste modo sabe em que sentidos pode seguir a partir do quadrado onde se encontra. Deste modo não há necessidade de obrigar o robô a detetar a transição de um quadrado para outro através do sensor de cor.

Neste momento, o robô anda sobre a matriz, sem das limitações do pavimento, deslocando-se de quadrado em quadrado. Este executa correções assim que alcança uma nova posição dando um determinado número de rotações. O robô determina que está noutra posição assim que anda durante um período de tempo definido no código.

O robô nesta fase ainda não está habilitado a tocar nas ovelhas. Este apenas emite um som quando as deteta, que é um dos requisitos do projeto. Recorrendo ao sensor de cor, o robô deteta se deparou-se com uma barreira, sendo que deste modo recua e seleciona um melhor sentido a seguir.

O objetivo delineado para este dia foi fazer testes ao funcionamento do robô e detetar possíveis erros. Detetou-se alguns erros, tais como, má calibração, acumulo de erros a medida que vai se deslocando, o robô entrava no curral e, em alguns pontos da matriz, ia para lá dos limites. Mas embora estes erros ficamos satisfeitos com o alcançado.

Vistos os erros resta a correção, por isso ainda tem-se muito que fazer!!

Bem restou-nos deprimir após detetarmos os erros!!


Fizemos uma gravação para registar o progresso!!