LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: Pedro Almeida em 20 de Outubro de 2008, 13:05

Título: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Pedro Almeida em 20 de Outubro de 2008, 13:05
No ambito de AP, o meu grupo está a desenvolver um trabalho na area da robotica. Temos algumas ideias mas andamos mais inclinados para a seguinte:
- Construir um robot para percorrer um labirinto (em modulos, para que as pessoas podessem alterar) sem este nunca o ter visto antes . Ideias?

Pensamos em usar o Arduino, dois Servos de Carros RC, e um sensor para detectar a distancia e assim poder ver os "espaços abertos" e optar por esses. Será executável?

Desde já obrigado,

PS: Já agora, têm alguma ideia genial para o nome do proejcto ?
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: TigPT em 20 de Outubro de 2008, 13:37
Antes de mais, bem-vindo Pedro.

Acho o teu projecto interessante, já à algum tempo que tinha a ideia de fazer algo do género. É um dos desafios que considero necessários implementar um robot para garantir a sua "sobrevivência". Imagina que este quer ir por-se a carregar na sua dockstation, mas pelo caminho encontra um N número de obstáculos que nunca tinha visto antes. Se este não conseguir de uma forma eficiente chegar ao outro lado do labirinto, vai acabar por "morrer" sem electricidade.

Primeira coisa que tens que fazer é ter bom controlo sobre a locomoção do robot! Fazer e testar o andar para a frente, traz, esquerda, direita, tal como podes ver no Smalluino, e podes aproveitar todo o projecto smalluino para esta tarefa.

Os servos vindos de um carro RC, podem não estar feitos para rotação continua. Tens a possibilidade de os alterar para ficarem em rotação continua, ou comprar uns de rotação continua evitando estragar esses servos (normalmente os de Carros RC são caros!)

Depois implementar um algoritmo de andar a evitar obstáculos, essencial para ele detectar quando tem algo à sua frente e necessita de tomar decisões. Depois é fazeres testes e alterações a esse algoritmo até conseguires que ele saia do labirinto. Normalmente um bom algoritmo, é o de seguir sempre o mais a esquerda possível até ao fim do labirinto, ou o mais à direita possível. Isto faz com que o robot percorra todo o labirinto encostado a uma parede, até encontrar uma saída. Mas podes tentar encontrar maneiras mais eficazes.

Tenta estabelecer mini metas e ir melhorando, dá mais resultado do que ser demasiado ambicioso, acaba-se por se dispersar muito o que acaba por significar atrasos na concretização do projecto.

Boa sorte com o projecto, e vai postando novidades, e ideias, para que te possamos auxiliar nas decisões.

Nome... algo tipo Extreme Escape  ;)
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Pedro Almeida em 22 de Outubro de 2008, 18:09
Desculpa só responder agora mas foi me impossivel entrar on-line.

1. Sim, mas que tipo de sensor (ultra-sons, proximidade,orientação) usar?

2. Optar pelo Arduino Duemilanove ou Diecimila? Traria diferanças significativas ao projecto?

3. Será que vale a pena comprar o Kit Protoshield?
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: TigPT em 22 de Outubro de 2008, 18:16
1. Acho que seria suficiente começar por infravermelho para proximidade, como é o caso do sharp. ultra-sons tem os seus benefícios, mas dificulta mais a sua utilização. Podes depois adicionar uma bússola electrónica como aquela que eu fiz um tutorial, mas acho que para a fase inicial, é completamente desnecessário.

2. Optar entre Arduino Diecimila ou Duemilanove.. hum direi que são completamente iguais, a única diferença é que um selecciona automaticamente a fonte de energia, e a outra tem um jumper que mudas de sitio conforme queres utilizar usb ou energia externa. (compra o que encontrares mais facilmente e/ou mais barato)

3. Para começar, relembra-me se o kit protoshield utiliza uma breadboard.. acho que a única coisa necessária para alem do arduino será uma breadboard!
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Fifas em 22 de Outubro de 2008, 23:41
Bem, agora que consegui vir ao fórum, posso dizer que tens um projecto muito interessante....

Quanto ao arduino....escolhe o que encontrares mais barato...como para já ainda só existe o Diecimila, caso queiras comprar agora, compra o diecimila....

Os servos de RC podes usar perfeitamente, tendo apenas de alterares a placa e cortar o batente (procura no forum que encontras como se faz) e não é bem como o TigPT disse de ser mais caros....existem mais caros mas tambem existem mais baratos...Sendo que normalmente todos os servos são feitos a pensar no RC....um dos mais baratos tambem serve para isso...


Os sensores, utiliza Infravermelhos...tenho alguma experiência com sensores de IR e Sonares (Ultra-sons) e digo-te que os sonares, embora possam ter mais alguma precisão, sao mais dificeis de programar e mais caros tambem....Para o teu projecto os IR sao muito melhores....

Cumps
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Pedro Almeida em 23 de Outubro de 2008, 14:03
Obrigado a ambos. Estamos neste momento a fazer um orçamento para pudermos encomendar o Arduino (+ algumas peças) para pudermos começar a habituar-mos à linguagem e ao próprio funcionamento.

Sim, pelo que li o Protoshield utiliza Breadboard, mas como este vem com alguns LED's e resistors acho que pode vir a ser útil. Pensamos também em ligar um LED GREEN quando o carro tiver a andar e um RED para quando parasse.

IR it is.
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: TigPT em 23 de Outubro de 2008, 14:06
Sim, habituem-se a utilizar métodos de "debug" por hardware.. como leds para dizer em que pedaço de código estão, ou até mesmo bezouros (mini altifalantes).. ajudam muito a perceber o que o robot está a "pensar" e/ou onde falhamos no código.

Boa sorte com o projecto, e vai-nos mantendo actualizados de ideias, dificuldades, pontos de situação, para vos poderemos encaminhar mais facilmente. ;)
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Pedro Almeida em 23 de Outubro de 2008, 14:19
Será possivel fazer um live stream deste tipo de camara (http://www.sparkfun.com/commerce/produc ... ts_id=8667 (http://www.sparkfun.com/commerce/product_info.php?products_id=8667) ) ex: estar a passar em directo o percurso do robot?
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: TigPT em 23 de Outubro de 2008, 14:24
Ser, é.. mas terias que fazer tudo, desde controlador da câmara ao emissor... etc.. não aconselho.. pessoalmente, não me metia nisso. O melhor para o que queres, é uma câmara já com emissor, e receptor, que seja só meter a câmara no robot, alimenta-la, e o receptor ligado a uma televisão.
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Pedro Almeida em 23 de Outubro de 2008, 14:28
Citação de: "TigPT"
Ser, é.. mas terias que fazer tudo, desde controlador da câmara ao emissor... etc.. não aconselho.. pessoalmente, não me metia nisso. O melhor para o que queres, é uma câmara já com emissor, e receptor, que seja só meter a câmara no robot, alimenta-la, e o receptor ligado a uma televisão.

Hum.. interessante, podes me linkar uma sff?
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: TigPT em 23 de Outubro de 2008, 14:31
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.sparkfun.com%2Fcommerce%2Fimages%2Fproducts%2FMini-Camera-2.jpg&hash=339a7a7ca7af29910d448b6f51418759419c688c)

Acho que isto seria o ideal:
http://www.sparkfun.com/commerce/produc ... cts_id=616 (http://www.sparkfun.com/commerce/product_info.php?products_id=616)
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Afonso em 14 de Março de 2010, 13:46
São robôs interessantes sem duvida , mas acho que poderiam ser melhorados para outras aplicações! ;) 8)
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: microbyte em 14 de Março de 2010, 15:09
São robôs interessantes sem duvida , mas acho que poderiam ser melhorados para outras aplicações! ;) 8)
Afonso, tenta não desenterrar tópicos já antigos. A menos que seja para actualizar informação.
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Afonso em 14 de Março de 2010, 17:54
EStava só a sugerir que se midifica-se esse tipo de robos para outros fins.
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: microbyte em 14 de Março de 2010, 18:41
EStava só a sugerir que se midifica-se esse tipo de robos para outros fins.
Sim, mas se reparares o teu post não trouxe nada de novo.
Na robótica, qualquer projecto pode ser melhorado. Se dissesses como, aí era diferente.
Agora desenterrar um tópico para dizer que se "podia fazer mais com isso", não faz muito sentido na minha opinião.

Não leves a mal, é só uma questão de manter o fórum organizado.
Título: Re: Criar Robot para percorrer labirinto sem nunca o ter visto
Enviado por: Junior Frota em 30 de Julho de 2012, 01:16
Nossa que tópico antigo, me desculpem por estar desenterrando-o!

Já que o Pedro Almeida não relatou suas dificuldades com o projeto (que espero ter concluído com êxito), nem mesmo um feedback sobre a conclusão do mesmo, vim aqui para postar minhas dúvidas e sugestões.

Para o projeto tenho:
- um Arduino Duemilanove
- um sensor ultrassom
- um servo 180°
- dois servos modificados para motor contínuo com redução
- um chassi para montar tudo

Obs.: tenho também sensores IR

Criei um algorítimo que julgo funcionar para que o Robô saia do labirinto sozinho:

- posição do servo igual a 90°
- ler distância frontal
- se distância frontal for menor ou igual 15 cm:
   - parar
   - posição do servo igual a 0°
   - ler distância esquerda
   - posição do servo igual a 180°
   - ler distância direita
   - se distância esquerda for maior que 15 cm e distância direita for maior que 15 cm faça:
      - virar à direita
     senão se distância esquerda for maior que 15 cm e distância direita for menor ou igual a 15 cm faça:
      - virar à esquerda
     senão se distância esquerda for menor ou igual a 15 cm e distância direita for maior que 15 cm faça:
      - virar à direita
     senão (distância esquerda for mmenor ou igual a 15 cm e distância direita for menor ou igual a 15 cm) faça:
      - girar 180° à direita
     fim se
  senão (distância frontal form maior que 15 cm) faça:
   - seguir em frente
  fim se


Penso que está bem enxuto e funcional, porém, sugestões serão bem vindas.

Obs.: sempre que o robô se deparar com a situação em que tanto a distância da direita quanto a distância da esquerda em relação as paredes do labirinto forem maiores que 15 cm, este escolherá o caminho da direita!

Segue em anexo o esquema de montagem do meu robô que sai de um labirinto sozinho.

Futuramente quero implementá-lo com um sistema de bússola e um sistema de salvamento com garra, onde o mesmo percorreria o labirinto e salvaria as vítimas, representadas por latas de refrigerante envoltas em papel alumínio.

Alguma sugestão?!

Obrigado e desculpa por reabrir o tópico!