collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Passive beacon/marcador  (Lida 8435 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline thx1011

  • Mini Robot
  • *
  • Mensagens: 80
Passive beacon/marcador
« em: 01 de Dezembro de 2014, 16:48 »
Ora bem, o que é que eu quero dizer com isto do "passive beacon"? :) Vou ver se consigo explicar... :)

Tenho um robot, que já é autónomo e já passeia sozinho, o costume. Não bate nas paredes, etc.

Mas as decisões que toma dependem de uma série de factores externos (normalmente distância entre obstáculos, comandos recebidos via rádio, etc). Concluindo, as decisões e os locais por onde o robot segue, são perto do aleatório.

No entanto, e mantendo a o facto de ser autónomo e numa perspectiva de permitir que miúdos mais pequenos pudessem "ensinar" o robot seguir um caminho pré programado, mas sem andar a espalhar fita adesiva no chão ( :) ),estava a pensar em algo como beacons/marcadores colocados no chão que quando o robot os encontrasse tomasse uma decisão.  No fundo uma espécie de programação, mas com objectos físicos.

Numa primeira aproximação estava a pensar em algo como simples caixa quadrada, mas para o alto, que em cada face tivesse um código de barras. Assim que o robot detectasse um obstáculo parava, lia a instrucção especificada no código de barras, e depois executava-a, tipo vira para a esquerda 90º e segue em frente, etc. Como os objectos são livres, pode-se "programar" em função do ambiente.

Podia assim, de uma forma barata, criar uma linguagem de programação física e interactiva....

Agora precisava de ideias aqui da comunidade para alternativas, low-cost, para fazer algo semelhante, já que para códigos de barras, ainda se consegue arranjar leitores por 15€ mas USB sem se saber se é possível ou não controlar com um arduino.

Outras alternativas: RFID?

Ideias alternativas, e baratas,  são bem vindas :)

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Passive beacon/marcador
« Responder #1 em: 01 de Dezembro de 2014, 17:14 »
Os marcadores são bastante usados para este tipo de aplicações por isso acho que uma pesquisa pelo google deve sugerir bastantes alternativas, poderão é não ser tão low-cost. Por norma este tipo de marcadores são feitas com visão, e refiro isto, para dizer que no teu caso, com os leitores de código de barras podes vir a ter o problema de não conseguires acertar com o código de barras se o robot se desviar um bocado.

Há um projecto que tenho seguido e até já recebi esta semana uma placa que é o http://hackaday.io/project/1313-openmv, trata-se de uma camera mais um microcontrolador stm32 que podes usar para fazer processamento de imagem, coisas básicas claro, mas para este tipo de aplicações é mais que suficiente. Custa cerca de 50€ cada módulo mas porque estão a ser feitos em pequenas quantidades e é necessário pagar à pessoa que os está a soldar e testar, mas se tiveres a pensar mandar fazer 20 ou assim, já te ficaria bastante mais barato. Se por acaso fores da zona do Porto e o quiseres testar posso-te emprestar, o requisito de ser da zona do Porto é que dentro de 2 semanas ou assim vou começar a precisar dele.

O RFID parece-me uma boa alternativa, é low-cost(por 15€ diria que compras um leitor e meia duzia de tags), se optares por um com pouco alcance como por exemplo uns 10cm parece-me suficiente grande para caso o robot se desvie e suficientemente pequeno para que não tome decisões sem estar perto do marcador. Tem ainda a vantagem que não necessitas de estar sempre a imprimir código de barras.

Offline nvoltex

  • Mini Robot
  • *
  • Mensagens: 211
Re: Passive beacon/marcador
« Responder #2 em: 01 de Dezembro de 2014, 18:33 »
Por visão há mesmo de ser o mais low-cost. Só precisas da câmera e de uns AR codes e já deves conseguir fazer umas coisas engraçadas do género que falas. Não sei se estas familiarizado com o OpenCV, mas nesta biblioteca já tens varias coisas para detecção de AR codes. Para evitar o problema de não conseguir detectar as tags podes sempre usar o mesmo AR codes dos 4 lados da caixa, por forma a que seja mais provável o robô conseguir correctamente detectar a tag.

Diria que numa primeira fase é o mais rápido e barato que consegues.

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Passive beacon/marcador
« Responder #3 em: 01 de Dezembro de 2014, 20:15 »
Deteccao de cores. Ha sensores de cores simples e baratos.


Offline thx1011

  • Mini Robot
  • *
  • Mensagens: 80
Re: Passive beacon/marcador
« Responder #4 em: 02 de Dezembro de 2014, 09:09 »
Bom dia:

 Obrigdo pelo feedback.

 Em relação às soluções:

 RFID não me permitiria que um marcador tivesse várias instrucções, conforme o lado pelo qual o robot se aproximasse, além de que teria um custo envolvido.

 O reconhecimento pela visão e AR codes, é boa ideia, já que em termos conceptuais é semelhante ao reconhecimento por código de barras. Tenho é de ver os custos e o esforço envolvido.

 O reconhecimento por cores é muito boa ideia, já que permite até que os miudos façam os seus próprios sinais somente só com marcadores a cores e sem material especializado como programador RFID e impressora para código de barras/AR codes.

 Vou ver esta solução com mais detalhe.

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Passive beacon/marcador
« Responder #5 em: 02 de Dezembro de 2014, 11:11 »
@metRo_ Nice project, há alguns anos pensei em fazer (ou precisava de) algo parecido, mas ainda não havia tecnologia para o fazer. Mesmo agora penso que ainda não esta muito acessível, conforme se consta pelo preço do modulo.

@thx1011 outra ideia era fazer beacons com IV. No robot colocavas um receptor IV (dos de televisao) e no beacon (modulado para funcionar com o receptor) enviavas um codigo. Podias fazer uma placa simples com IV + MCU + dip switch (para configurares os codigos) + bateria. e coloca-lo a enviar de xis em xis segundos/minutos.

Esta tecnica suponho que seja usada por alguns robots aspiradores (que nao usam visao) para alinharem-se com a base.

Por exemplo o teu beacom pode enviar o sinal a varias potencias e o assim o robot sabe a que distancia esta dele, exemplo:
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 0, CRC"
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 1, CRC"
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 2, CRC"
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 3, CRC"

Desta maneira podias detectar o beacon sem estar encostado a ele e até planear "em avanco" o percurso.
Por exemplo criar zonas que o robot nao deve entrar ou zonas seguras para ele ir.

Podes adicionar ate mais receptores IV ao robot (com um tubo) e assim criar uma noção da direcção da origem do beacon.

Ok, existem alguns problemas "fantasmas"com esta solucao, mas nada que nao se resolva ou ultrapasse. Depois se quiseres podes explorar melhor ou fazer mais perguntas.

Edit: ainda outra ideia, se usasses IV, podias usar um comando para enviar.. comandos :)
http://www.criandorobocomarduino.com/2013/10/como-receber-sinal-de-um-controle.html
e terias as duas funcionalidades (manual e automatico) com a mesma tecnologia.
« Última modificação: 02 de Dezembro de 2014, 11:17 por KammutierSpule »

Offline thx1011

  • Mini Robot
  • *
  • Mensagens: 80
Re: Passive beacon/marcador
« Responder #6 em: 02 de Dezembro de 2014, 12:20 »
Obrigado pelo feedback.

Mas estou interessado em que os marcadores sejam o mais passivos possíveis, excepto, é claro, na sua localização.

O projecto que o Metro_ indicou é muiiiiiito interessante :)

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Passive beacon/marcador
« Responder #7 em: 02 de Dezembro de 2014, 12:24 »
@metRo_ Nice project, há alguns anos pensei em fazer (ou precisava de) algo parecido, mas ainda não havia tecnologia para o fazer. Mesmo agora penso que ainda não esta muito acessível, conforme se consta pelo preço do modulo.
Se o fizeres tu são cerca de vinte e poucos euros em material para uma unidade ;) eu optei por comprar o módulo ao pessoal do projecto, pois o tempo que ia estar à espera do material, portes, horas a soldar, não compensava e assim ainda ajudas o pessoal a continuar o projecto :)

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Passive beacon/marcador
« Responder #8 em: 02 de Dezembro de 2014, 12:30 »
@thx1011 outra ideia era fazer beacons com IV. No robot colocavas um receptor IV (dos de televisao) e no beacon (modulado para funcionar com o receptor) enviavas um codigo. Podias fazer uma placa simples com IV + MCU + dip switch (para configurares os codigos) + bateria. e coloca-lo a enviar de xis em xis segundos/minutos.

Esta tecnica suponho que seja usada por alguns robots aspiradores (que nao usam visao) para alinharem-se com a base.

Por exemplo o teu beacom pode enviar o sinal a varias potencias e o assim o robot sabe a que distancia esta dele, exemplo:
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 0, CRC"
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 1, CRC"
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 2, CRC"
"eu sou o beacon 0001, a enviar o codigo 1234, à potencia 3, CRC"

O unico problema que vejo neste caso é como é que irias definir o angulo em que o emissor e receptor de iv iriam funcionar. Muito largo e tens o problema de o veres e estares numa direcção oposta. Muito fechado e podes nunca o ver. Podes é usar IV com a camera do comando da wii não sei a que preço andam os sensores mas tenho ideia de poucos euros e neste caso ele envia por I2C a posição dos leds IR.

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Passive beacon/marcador
« Responder #9 em: 02 de Dezembro de 2014, 12:42 »
Mas estou interessado em que os marcadores sejam o mais passivos possíveis, excepto, é claro, na sua localização.

Tens razão, e' um requisito importante.

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Passive beacon/marcador
« Responder #10 em: 02 de Dezembro de 2014, 12:45 »
O unico problema que vejo neste caso é como é que irias definir o angulo em que o emissor e receptor de iv iriam funcionar. Muito largo e tens o problema de o veres e estares numa direcção oposta. Muito fechado e podes nunca o ver. Podes é usar IV com a camera do comando da wii não sei a que preço andam os sensores mas tenho ideia de poucos euros e neste caso ele envia por I2C a posição dos leds IR.

Os "angulos" sao relativos. O emissor emitia sem limitacao de angulo (apenas o do LED), se colocares dois sensores em V e estes tiverem um limitador (um tubo preto) consegues apanhar de um lado, do outro, os dois ao mesmo tempo ou nenhum (4 quadrantes).

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Passive beacon/marcador
« Responder #11 em: 02 de Dezembro de 2014, 12:53 »
@metRo_ Nice project, há alguns anos pensei em fazer (ou precisava de) algo parecido, mas ainda não havia tecnologia para o fazer. Mesmo agora penso que ainda não esta muito acessível, conforme se consta pelo preço do modulo.
Se o fizeres tu são cerca de vinte e poucos euros em material para uma unidade ;) eu optei por comprar o módulo ao pessoal do projecto, pois o tempo que ia estar à espera do material, portes, horas a soldar, não compensava e assim ainda ajudas o pessoal a continuar o projecto :)

20€ é bastante. Compara o custo disso, com o custo de uma webcam usada nos PCs/Laptops, etc. Uma webcam custa ~6€ e tem um grande processamento (SoC / DSP) embutido especializado em fazer o trabalho da webcam.. é um processamento muito superior ao MCU usado ai nesse projecto, no entanto, nao está disponivel para "costumizar", claro que isso tem outro preço e custo.
Penso que já é possível, ligar webcams a RPI e isso.. se calhar é uma solução muito melhor (em termos de capacidade de processamento e modular) do que esse projecto.
I mean: esse projecto para ser interessante do ponto de vista "viabilidade custo / capacidades", tinha de ter muito mais capacidade processamento e muito muito barato. :S

Mas a ideia continua a ser boa, ter um pequeno modulo programável facilmente a fazer interface com um microcontrolador.

Offline metRo_

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 3.753
Re: Passive beacon/marcador
« Responder #12 em: 02 de Dezembro de 2014, 13:45 »
Um RPi é grande, necessitas de uma bateria muito maior, se calhar todo o teu robot tem que ser maior e depois ainda necessitas da webcam. Não acho 20€ muito mas tudo depende da aplicação. O processamento que a webcam possui não te serve de nada pois não tens acesso a nada :(

Em relação aos IR tinha que ver um caso prático, pois tenho algumas duvidas de como decidirias por um beacon. No caso dos robos de limpeza, usam sim IR, mas apenas existe um beacon. Chegas a um beacon e dizes agora roda 90º e segue em frente, isto funciona no mundo ideal mas na pratica o robot vai ter desvios e é aqui que as minhas duvidas surgem, como corrigias isto visto que ele nesta altura pode detectar outro beacon.

Offline thx1011

  • Mini Robot
  • *
  • Mensagens: 80
Re: Passive beacon/marcador
« Responder #13 em: 02 de Dezembro de 2014, 14:11 »
A solução por infra-vermelhos não me parece boa....

Primeiro o marcador/beacon tinha de ser activo.

Segundo diferenças de altura e ângulo tornariam o processo de detecção mais difícil.

O reconhecimento visual seja por processamento de imagem, seja por detecção de cores parecem-me os mais promissores, principalmente porque os marcadores seriam totalmente passivos e facilmente posso construir mais sem qualquer material mais complexo do que cartolina, marcadores e uma impressora :)

A questão dos 20€ serem caros, talvez, mas se permitir adicionar inteligência e reconhecimento, não me parece que seja exagerado, afinal ronda o preço de um UNO oficial...

Offline KammutierSpule

  • Mini Robot
  • *
  • Mensagens: 1.481
Re: Passive beacon/marcador
« Responder #14 em: 02 de Dezembro de 2014, 14:15 »
Um RPi é grande, necessitas de uma bateria muito maior, se calhar todo o teu robot tem que ser maior e depois ainda necessitas da webcam. Não acho 20€ muito mas tudo depende da aplicação. O processamento que a webcam possui não te serve de nada pois não tens acesso a nada :(

Claro, por isso disse que o processamento está la, mas não é acessível. É o problema das soluções em massa.
Idealmente terias um modulo que tivesse o processamento que uma webcam tem, ao preço de uma webcam, mas que pudesses desenvolver com isso. Mas nao ha solucoes em massa que correspondam a estes requisitos :/

Em relação aos IR tinha que ver um caso prático, pois tenho algumas duvidas de como decidirias por um beacon. No caso dos robos de limpeza, usam sim IR, mas apenas existe um beacon. Chegas a um beacon e dizes agora roda 90º e segue em frente, isto funciona no mundo ideal mas na pratica o robot vai ter desvios e é aqui que as minhas duvidas surgem, como corrigias isto visto que ele nesta altura pode detectar outro beacon.

Bom, nao sei se estou a entender bem a duvida, mas por exemplo numa base de um robot, com dois beacons.
O robot também tem 2 sensores.. e vai "ajustando" a sua trajectória para pousar na base.
Dependendo de como os sensores estao instalados, se calhar é preciso fazer  "alguma danca", isto é, o robot teria por exemplo de dar uma volta em si 360 para perceber para onde estava virado.
Outra solucao, é como fazem no concurso da UA Microrato, usar um servo para  "scannar" os beacons:
http://www.ieee-pt.org/wp-content/uploads/mr3.png


Outro problema: os beacons não podem sobrepor um ao outro (a nao ser que usem frequências muito diferentes)
ou estão sincronizados ou entao emitem aleatoriamente espaçadamente :)
Nota: tal como disse, os beacons tem de emitir codigos, logo sabes o que corresponde o beacon que recebeste.

Outro problema: refleccoes nas paredes dos beacons, solução: ou o beacom é direccional ou teria o sistema de envios a potencias diferentes para conseguir perceber quando estava proximo do beacon ou mais afastado (e num sitio mais incerto)