LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: Kristey em 23 de Janeiro de 2018, 02:32

Título: Mapping and Search
Enviado por: Kristey em 23 de Janeiro de 2018, 02:32
Boas.

Na minha cadeira de Robotica Móvel aprendi umas noções de mapping e de reconhecimento.
A questão é que os algoritmos que aprendi não me deixam muito satisfeito.
Alem do mais estávamos a usar ARM e os resultados não eram os melhores, e neste momento queria tentar perceber como implementar algo mais eficiente com menos recursos (usar Arduino é um requisito).

O objectivo é o robo inspeccionar todo um espaço pre determinado e contar umas manchas no chão.
Tenho recurso a 3 sonares daqueles mais baratos do eBay (frente esquerda e direita), e uns motores DC normais.

Que tipo de algoritmos posso testar/estudar?
Título: Re: Mapping and Search
Enviado por: KammutierSpule em 23 de Janeiro de 2018, 08:52
Como vais detectar as manchas no chão?

Tens de ter um metodo de localizaçao e orientacao (eg: usando encoders)

Se a area for pequena podes usar uma grelha array bi dimensional para colocares se determinado quadrado ja foi visitado ou não .. por exemplo

Nessa grelha se a area for fixa, ja podes la colocar obstaculos ou outra informaçao para dar pistas ao robot..
Título: Re: Mapping and Search
Enviado por: jm_araujo em 23 de Janeiro de 2018, 10:38
Tens de procurar métodos mais que eficientes, poupadinhos em memória que calculo que vá ser a tua maior limitação num Arduino (Arduino é uma plataforma que suporta muito hardware, mas calculo que estejas a falar do UNO).
Não tenho experiencia nenhuma na área, mas tendo em conta que sempre que vejo robos em labirintos é quase sempre com equipas universitárias, é atirares-te de cabeça para o google que não devem faltar papers e descrição de projetos.
Título: Re: Mapping and Search
Enviado por: senso em 23 de Janeiro de 2018, 11:49
Alguma razão em especial para atares os pés a um atmega?

Pelo preço dele e com suporte para a desgraça de IDE que é o Arduino tens montes de boards ARM a tostões pela internet fora..

Maple e clones, bluepill, mbed são só os 3 que me lembro assim de rajada.

E podes sempre meter uns Mb's de RAM pendurada em i2c..
Título: Re: Mapping and Search
Enviado por: jm_araujo em 23 de Janeiro de 2018, 11:57
+1 blue pill
STM32F103 com breakout por menos de 2€, mete qualquer atmega num bolso quer em preço quer em capacidades.
Uma introdução feita recentemente:
https://www.youtube.com/watch?v=EaZuKRSvwdo
Título: Re: Mapping and Search
Enviado por: senso em 23 de Janeiro de 2018, 12:22
Desde que a Microchip comprou a Atmel, rip preços..

E mesmo antes da compra, não se justifica 3€ por um 8 bits com 2k de RAM.
Título: Re: Mapping and Search
Enviado por: Kristey em 23 de Janeiro de 2018, 14:15
O meu problema é garantir que o robô percorra o mapa todo. E não ainda a deteção dos obstáculos.

Não tenho encoders.

Arduino uno porque é um desafio. Pendurar ram .... não sei se será possível mas nada ver se posso.

Eu do que vi na minha cadeira de robótica móvel, Com Encoders e com ultra-som  o resultado nao foi muito bom. Então sem encoders... será péssimo :/
Mas como vi aqui tempos em posts de gente que meteu robôs a navegar com calculadoras gráficas...decidi perguntar 😂
Título: Re: Mapping and Search
Enviado por: senso em 23 de Janeiro de 2018, 14:52
Quase de certeza que o da calculadora tinha encoders.

Sem encoders, baseias-te no tempo que tens os motores a rodar?

RAM i2c podes meter o que bem quiseres, depois tens é de usar um espaço na ram do atmega e copiar/colar de/para a ram i2c, ou fazes acesso directo via i2c, mas isso pode ou não ser lento.
Título: Re: Mapping and Search
Enviado por: Njay em 23 de Janeiro de 2018, 14:58
Se vais experimentar um ARM, aconselho-te uma coisinha mais a sério e interessante como o prototyping kit do PSoC4 (4200). Não é tão barato como o blue pill, mas também já trás o conversor USB/UART (detacheable) e é todo a 5V, já para não falar no IDE e "code wizards/configurators/generators/API" que mete o Arduino e outros IDE ARM a um canto bem longe e etc etc...
Título: Re: Mapping and Search
Enviado por: TigPT em 23 de Janeiro de 2018, 16:01
PSoC é brutal!
Título: Re: Mapping and Search
Enviado por: senso em 23 de Janeiro de 2018, 16:50
O meu 4200 morreu por andar aos tombos :(

Para compensar tenho um CY8CKIT-042-BLE-A e um CY8CKIT-042 para as brincadeiras e o IDE da Cypress é qualquer coisa á parte sem duvida.

E um MSP432 que pouco mais fiz que um blinky, ver se me deixo dos 8 bits..

Título: Re: Mapping and Search
Enviado por: Kristey em 23 de Janeiro de 2018, 16:55
Pois... sem encoders já estava a ver que isto iria ser uma missão impossível ou quase...
O algoritmo que eu usei na cadeira de robótica móvel era o SLAM, usava os encoders e os ultra-sons.

Os algoritmos que vejo para navegar sem encoders é a busca da parede à direita ou à esquerda...
Mas isso só me da para percorrer o mapa perto das paredes e coisas que estejam no meio do mapa nunca vai lá.
Título: Re: Mapping and Search
Enviado por: KammutierSpule em 23 de Janeiro de 2018, 17:06
Não tenho encoders.
Mas como vi aqui tempos em posts de gente que meteu robôs a navegar com calculadoras gráficas...decidi perguntar 😂

O da calculadora teve encoders a partir da versao III :P

Mas quando falo em "encoders" não sao necessariamente objectos fisicos, podes fazer tu DIY, repara nas riscas das rodas nesta foto da versao V
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fsweet.ua.pt%2Fmrluzeiro%2Fazeite5%2Fazt5_coitadinho_voyagerRecon.jpg&hash=06b7b35b4066ce14fa3e5220a9512744201802a6)

Os encoders eram feitos com phototransistores ou algo semelhante, foto do Azeiteiro IV
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fsweet.ua.pt%2Fmrluzeiro%2Fazeite4%2Ffevereiro2%2FIMAG0033.JPG&hash=cfd7672ef48f98134f54b7c3b5ae990835147284)

Os algoritmos que vejo para navegar sem encoders é a busca da parede à direita ou à esquerda...
Mas isso só me da para percorrer o mapa perto das paredes e coisas que estejam no meio do mapa nunca vai lá.

Depende do que queres fazer, mas se precisas de saber uma coverage do mapa todo, então precisas de registar os sitios que ja visitaste.

Ja agora, os Azeiteiros registavam os sitios que passaram numa lista de posiçoes XY, não era necessario fazer um mapeamento da area total.
Título: Re: Mapping and Search
Enviado por: vasco em 24 de Janeiro de 2018, 10:24
+1 blue pill
STM32F103 com breakout por menos de 2€, mete qualquer atmega num bolso quer em preço quer em capacidades.

Recebi ontem dois STM8S003 numa breakout de 20 pinos, por 1.2€ cada. Infelizmente na minha ignorância não reparei que precisavam de um programador próprio, pelo que agora é mais um mês para esperar que ele chegue.
As comparações que quero fazer são mais com o attiny85 do que com Unos e Nanos. Pelo menos pinos tem que chegue.

https://www.ebay.com/itm/322985694957
Título: Re: Mapping and Search
Enviado por: jm_araujo em 24 de Janeiro de 2018, 10:40
Por preço nessa ordem e 8 bits preferia ir para os arduino pro mini: https://www.ebay.com/itm/232528451911
A chatisse dos STM8 é a falta da comunidade, e as ferramentas do vendedor parece que ficaram paradas no tempo. Além disso as bibliotecas de origem (SPL) tem alguma má fama (inchadas em tamanho e com alguns bugs). Comecei a brincar com eles, há uns modulos HC-11 muito catitas com um STM8 + rádio CC1101 (https://www.ebay.com/itm/182328052220) que ia reprogramar o micro, mas foi ficando na gaveta.

Mas os Blue Pill (STM32F103) ou outros que se estão a falar acredita que é outra liga:
https://www.ebay.com/itm/112035273840
Além de serem muito mais potentes, permitem fazer debuging que é uma falta tremenda da plataforma arduino. Para isso podes utilizar um programador que também é o que se usa para programar esses STM8: https://www.ebay.com/itm/262670560884

Já agora, e para quem andava distraído, saiu há umas semanas uma comparação exaustiva dos microcontroladores que se conseguem comprar por 1 dollar ou menos: https://jaycarlson.net/microcontrollers/ . Está um trabalho espetacular, vale mesmo a pena perder um bocado a ler o artigo.
Título: Re: Mapping and Search
Enviado por: Tech_JA em 25 de Janeiro de 2018, 12:09
... saiu há umas semanas uma comparação exaustiva dos microcontroladores que se conseguem comprar por 1 dollar ou menos: https://jaycarlson.net/microcontrollers/ . Está um trabalho espetacular, vale mesmo a pena perder um bocado a ler o artigo.

Obrigado ;)
Título: Re: Mapping and Search
Enviado por: LVirtual em 26 de Janeiro de 2018, 08:01
andava eu aqui nas minhas pesquisas e encontrei este site que penso que pode ajudar em algo.

http://elm-chan.org/works/ltc/report.html (http://elm-chan.org/works/ltc/report.html)
Título: Re: Mapping and Search
Enviado por: jm_araujo em 26 de Janeiro de 2018, 17:16

Recebi ontem dois STM8S003 numa breakout de 20 pinos, por 1.2€ cada. Infelizmente na minha ignorância não reparei que precisavam de um programador próprio, pelo que agora é mais um mês para esperar que ele chegue.

Há coincidências danadas, ao limpar os meus feeds cruzei-me com esta  introdução (muito!) detalhada aos STM8:
1ª parte (em 27 páginas!): http://embedded-lab.com/blog/starting-stm8-microcontrollers/
2ª parte (+16): http://embedded-lab.com/blog/continuing-stm8-microcontroller-expedition/
3ª parte (+10): http://embedded-lab.com/blog/stm8-microcontrollers-final-chapters/

Tudo junto num PDF (365 páginas no total): http://embedded-lab.com/blog/wp-content/uploads/2018/01/Starting-STM8-Microcontrollers.pdf

Não li tudo, mas o que vi pareceu-me que ia a um nível de detalhe que é raro! Parece um livro sobre o STM8!