Bom dia pessoal!  

  Estou escrevendo pela primeira vez um tópico aqui no fórum pois me veio a ideia na cabeça de fazer um robô para faxina leve totalmente autônomo com o Arduino.

Sei que essa ideia já existe e muitos produtos estão a venda por aí no mercado, mas a minha vontade de fazer essa pequena facilidade é mais pelo aprendizado do que realmente pela tarefa exercida pelo robô, e como meu conhecimento em Arduino é razoavelmente básico (construí apenas robôs seguidores de linha e desviadores de objeto) gostaria de pedir a ajuda de vocês nesse "pequeno" projeto.

Sem mais delongas, a minha ideia inicial quanto ao futuro faxineiro é: um robô que, após um período de tempo programado, sai de sua "base" e anda pelo ambiente (a princípio meu quarto) reconhecendo-o para que possa cobrir toda a extensão enquanto anda. Após reconhecer o ambiente ele retornaria a base, pegaria uma ferramenta (como um par de cerdas, que é a base de funcionamento de um robô renomado desse tipo, o Roomba 880) e sairia a trabalhar, no caso das cerdas, recolhendo pequenas sujeiras como pedaços de papel e as jogando em um reservatório, exatamente como funciona o Roomba 880, além de, paralelamente, possuir um sistema aspirador de poeira que ficaria atrás das cerdas. Após cobertura de toda a área mapeada, ele retornaria a base e trocaria sua ferramenta por um pano (exemplo) e sairia para terminar mais essa etapa. Quando sua bateria estivesse baixa ou ele terminasse a tarefa, o robô se dirigiria a base e se encaixaria ao carregador da bateria.

Tenho ciência de que isso não é algo simples, ainda mais pra mim, leigo nessa área. E é justamente por isso que quero fazê-lo, para aprender.

Se houver interesse de mais pessoas, estou disponível a aceitar propostas, ideias, sugestões... Tudo será bem-vindo, mas a princípio minhas dúvidas principais são:
- Como fazer o reconhecimento da área e perseguir o caminho todo;
- Como fazer o robô retornar a sua base;
- Sugestões para a troca de ferramentas, tomando ciência de que se possível, o pano do exemplo seria úmido;
- Devo usar motores CC comuns, servomotores ou motores de passo para a locomoção.

Acho que para um início essas questões estão boas, agradeço desde já a atenção e colaboração. Espero que eu possa dar continuidade a esse projeto com o apoio do pessoal aqui do fórum. Para interessados, meu e-mail é: gabriel.gazola@yahoo.com.br Obrigado.

Exibições: 9971

Responder esta

Respostas a este tópico

Então, você acha que seria possível fazer uma associação entre o Arduíno e o Raspberry Pi? Pq aí o arduino faria a leitura dos sensores, enviaria pro Pi, que interpretaria e enviaria os comandos de execução de volta. O que acham?

Gabriel, isso é viável !

Raspberry PI com sensores de Arduinos. Pode usar interface I2C.

Olá Jose Gustavo,

    Amigo, andei fazendo uns trabalhos com sensores ultrasonicos nos ultimos tempos o que me deu uma boa base de entendimento sobre eles, até porque tive que lidar com vários ao mesmo tempo, o que de inicio é um processo bem complexo até você entender o direito o que tá fazendo.

   Bem, um sensor ultrasonico trabalha emitindo um pulso sonico programado atraves do pino Trigger (algo como disparador) e imediatamente colocando ele em modo de aguardo do retorno desse som apos bater em álgo, pra isso se ativa o pino echo pra aguardar o acionamento do microfone.

   O lance da qualidade do sensor ultrasonico ao que se independe da frequencia do pulso,  talves tenha até algo a ver, mas até onde vão meus conhecimentos não sei nada sobre isso,  o que funcionou comigo pra dar maior precisão foi a releitura e retirada de média das captações,  ou seja,  eu faço umas 100 leituras com emissores e recepções e tiro a media,  ai o bicho estabiliza.

  

    Um dos problemas dos sensores sonicos não alcançarem grandes distancias, é que que o som quando emitido se programa em forma de um leque,  se abrindo,  ao contrario de um faixo laser que é mais concentrado,  dai quando você emite um som, ele ira se abrindo, e podera bater em varias coisas antes de retornar, causando leitura errada.

   Um outro fato que colabora negativamente com os sensores sonicos é o fato que ele aceita leituras indiretas,  que são aquelas em que você coloca o sensor em um angulo onde o som ira bater em duas ou mais paredes ou objetos até retornar a origem.

   Bem, não vejo os sensores sonicos como solução,  e os sensores lasers são caros pra caramba,  se alguem souber um sensor de medição laser que dê uns 200m  por menos de uns R$ 300,00 me avisa por favor.

   ah! e tô falando aqui do sensor em si,  com saida analogica pra o arduino, não daquelas trenas laser, que não dá pra tirar a leitura por elas não terem saida.

Weider se der uma estudada em transdutores ultra-sonicos e seu comprimento de onda, vai entender a resolução da "imagem" que ele pode captar.

Quanto menor o comprimento de onda, maior é a frequência e portanto a resolução é maior.

Pessoal, 

Li as postagens, mas não li todos os links, se eu estiver repetindo (ou simplificando demais) desconsidere...

1) Vi quadros de aula (tipo uma tela que simula o toque) na verdade é uma rede bem definida de leds IR de um lado e sensores IR de outro, com isso, o sistema detecta a posição que está obstruindo. Vi que assim eram as primeiras telas touch na década de 80. É meio complicado, como já foi falado, pois poderão ter muitos objetos e o programa terá que lidar com muitas adversidades.

2) Câmera no teto... colocar uma microcamera ou uma IP Cam num lustre pode ser até viável...

3) Mapeamento com RF, vi alguns projetos que falam de GPS indoor, e já li (pouco) sobre usar, três ou 4 smatphones com Android, 3 deles gerando uma malha de Bluetooth, o central (que seria a cabeça do robô) leria a potencia dos três BT do ambiente, com a calibração correta, seria possível triangular. 

4) outra coisa seria fazer com visão computacional. Por exemplo, prender alguns objetos com vários lados nas paredes, cada lado com uma cor. Pelo angulo que ele está destes objetos e pela área relativa de cada cor, daria para estimar a posição. (OK, é viagem, mas tudo não é?? rsrs)

 

Não sei se é alguma ideia ai é viável, mas são ideias (considere um brainstorm)

Pessoal, me desculpem por deixar de responder por vários dias, estava envolvido com ENEM e a entrega do meu TCC e acabei nem entrando por aqui de novo, mas agora retomando o projeto, agradeço todas as sugestões mas creio que o mais viável para esse robô (pela adaptação ao ambiente mais fácil) seria usar o Arduino com um sensor ultrassônico ligado a um servomotor (para fornecer um ângulo de visão de 180º) e o Raspberry Pi com ROS instalado para análise dos dados informados e mapeamento, de acordo com o SLAM (Simultaneous localization and mapping).

Andei pensando quanto ao custo e acho que vou anunciar nessa comunidade de crowdfunding que tem aqui no Brasil, o (a) Catarse (http://catarse.me/pt/projects), o que vocês acham?

Voltando ao robô, estou procurando material para aprender mais sobre esse SLAM e como faria para unir tudo que pretendo fazer, que vai, obviamente, muito além do mapeamento do local. Pensei em inserir alguma coisa como uma interface para que o PC pudesse controlar o robô remotamente, então eu poderia usar um WiFi Shield no Arduino para executar comandos básicos, como exigir um mapeamento ou uma limpeza. Também pretendo colocar sensores para que, caso ele chegue a uma escada ou qualquer tipo de "abismo" ele pare seu funcionamento e recue. Pensei em colocar sensores de toque no chão, mas não sei se é viável. Seguindo a ideia de algum comentário que eu vi anteriormente, gostei dessa ideia de ter um sensor de movimento para que quando haja alguma pessoa no cômodo o robô não funcione ou retorne a sua "base".

Tem muita coisa que ainda quero acrescentar ao projeto mas acho melhor irmos por partes rsrs.

Gabriel, estive interessado em fazer algo parecido com sua ideia, mas estou pensando em usar Kinect. Desde esta sua última postagem você teve algum avanço? Grato...

idem

olá, caros amigos vejo que todos ja provem de experiencia com arduino aqui, estou apenas começando e preciso de ajuda com meu robo autônomo usando sensor ultrassônico.

grato.

  Boa noite pessoal, tenho um roomba 620, que é um modelo mais simples que o 880 em questão, mas o que percebo no meu modelo é que o para-choque funciona mais ou menos assim: nele por ser uma curva compreendendo quase 180g do corpo do robô tem chaves fim de custo que quando ele toca algo na extrema esquerda ele gira a roda esquerda para frente e a direita um pouco menos para traz, para fugir de um obstáculo. O mesmo ocorre inversamente quando toca a direita. Quando o toque é frontal ele dá um giro maior para se livrar. Não tive coragem para desmontar o meu, pois ainda está na garantia, mas tenho quase certeza que os motores são de passo, com engrenagens para redução. Sendo um para cada roda grande e a roda dianteira que parece uma esfera não tem motor. O pincel de 3 pontas giratório que fica na dianteira direita ajuda bastante a mover a sujeira dos cantos para o centro, onde estão as escovas. Elas giram uma contra a outra no sentido de puxar para o interior do robô.

  Para aspirador eu usaria um motor com a hélice de um secador de cabelo, para as escovas eu procuraria uma feiticeira de mesa, que é também boa para limpar migalhas de mesa, caso não encontrando eu procuraria aquelas escovas de lavar garrafas ou mamadeira.

  Quanto ao modo errático que o meu robô faz no seu trabalho, por mais que ele as vezes deixe de passar em algum lugar já deixa a casa com boa aparência de limpeza.

Quando a bateria está baixa ele nunca vai direto para a base de carga, é meio que ele vai andando aleatoriamente até que encontra, pois acontece dele não achar pois acredito que o sinal seja de curto alcance.

  Minha suposição é que ele conte os passos dos motores de forma que ele tenha uma tendência de sempre andar mais para esquerda, e ao fim de algum tempo determinado ele inverta a tendência, fazendo ele percorrer a maior parte possível do cômodo.

Acho que o mais pratico pra reduzir os custos, seria usar um celular Android barato que tem GPS, wifi, RTC, câmera, alem da tela touch para alterar as configurações do mesmo. Somado a sensores de fim de curso  alongados como bigode de gato, ou sensores flexíveis. Utilizando um arduino ou algum outro controlador ligado ao usb do celular.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço