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!!

quarta-feira, 25 de novembro de 2015

Continuação e Finalização dos trabalhos manuais

Decidimos utilizar outro material para o chão do robô. Em vez do cartão fornecido pela cantina utilizou-se um rolo de cartão, pelo que tivemos que começar de novo.
Inicialmente, definimos os quadrados com dimensão 33x33cm.




Mas acabou-se com quadrados de 30x30cm, com a colocação das fitas azuis e pretas.
Após estarem todos os limites dos quadrados "desenhados" no cartão, inclusive os limites do território que o robô deve circular marcado com a fita azul, começamos a colar a fita preta.




Finalmente, conseguimos concluir o chão do robô.


Como concluímos o chão, decidimos acrescentar umas informações ao chão com fita, sendo estas, o número do grupo, o ano lectivo e onde marca-se o inicio do jogo e onde localiza-se o curral das ovelhas. 
E redimensionamos o tamanho das barreiras laranjas de acordo com o comprimento dos quadrados.


Bem agora só resta colocar o robô a conhecer a sua nova "casa" :D
Deste modo testamos as últimas evoluções ao nível da programação!!





Estado dos afazeres:

Robô Shep3rd   
Ovelhas  
Chão  
Programar Robô Bobo  Em processo...

sexta-feira, 20 de novembro de 2015

Trabalhos manuais

Decidimos que estava na altura de criar o pavimento do nosso robô.

Para isso vamos utilizar papel autocolante azul escuro para as fronteiras externas,
,
para as barreiras decidimos utilizar cartolina laranja (visto que é uma cor com espectro diferente da cor azul).
Utilizámos os cartões anteriores para começar os primeiros testes!
Estamos a considerar a compra de outro tipo de cartão para o chão.

Fizemos também novos testes com o Shep3rd.

terça-feira, 17 de novembro de 2015

Ovelhas

A ovelha já se multiplicou!!



R.I.P. Sheeps

RIP:



WELCOME :D 


Falta a outra professor... :D

Construção do chão

Começamos por decidir as dimensões de cada quadrado a desenhar no chão, depois arranjamos cartão, disponibilizado pela cantina.
Cada quadrado mede 35cmx35cm.





Programaram-se também alguns dos comportamentos do Shep3rd com o ROBOTC.



quinta-feira, 12 de novembro de 2015

Ínicio de Quinta-Feira

Começamos o dia pela escolha da linguagem de programação que vamos utilizar.


PS: A Filipa não parece estar muito satisfeita...

Acabámos por ficar indecisos entre o uso do RobotC ou o MonoBrick.
Enquanto isso...
... a criança constrói uma torre.

Decidimos utilizar a linguagem C com recurso ao software RobotC, devido à sua interface intuitiva e variedade de ferramentas disponiveis. A linguagem C devido a tratar-se de um linguagem mais próxima do baixo nível consideramos que vai favorecer o manuseamento dos motores e sensores.

As nossas ovelhas já começam também a ganhar forma.

terça-feira, 10 de novembro de 2015

Demo do dia (03/11/2015)


Continuação da construção do Shep3rd

DATA TRABALHO:  Terça-Feira, 03 de Novembro de 2015.

Desenvolvido o suporte do robô começamos por determinar quais os sensores necessários à adicionar ao robô. Definidos os sensores, desmontamos algumas partes já desenvolvidas de modo a adaptar os sensores e passamos a fase de teste de cada um destes.






Após verificar-se o correto funcionamento dos sensores, definimos ideias para a construção do robô terminando deste modo esta primeira etapa do desenvolvimento do projecto.




quarta-feira, 28 de outubro de 2015

Demos do dia




PS: COMEÇAR A FILMAR COM O TELEFONE AO CONTRÁRIO!! :P

Ínicio de Trabalho

Iniciamos o trabalho por definir o nome do nosso robô para Shep3rd, nome este escolhido devido a ser um robô pastor e estar a utilizar o EV3 da LEGO. Decidimos também que para a construção deste iríamos tomar por base facultado no site da LEGO "TRACK3R".


Após definição de ideias base começamos o nosso processo de ambientação ao laboratório e estudo do modelo a ser desenvolvido.



Com a definição das ideias começou então o trabalho.