LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: Marvin em 19 de Junho de 2013, 21:41

Título: "Estabilizador" de camara com Attiny85
Enviado por: Marvin em 19 de Junho de 2013, 21:41
Para prova de conceito fiz um pequeno estabilizador de camara com um attiny85 e um lsm303dlhc (usando apenas o acelerometro)

http://youtu.be/gavE81E1uQI (http://youtu.be/gavE81E1uQI)

A dificuldade principal foi a interacção do LSM303 com o Attiny, usando o tiny-core arduino. Como não havia nenhuma biblioteca tambem acabei por modificar a existente da Pololu e colocar alguns exemplos.

A biblioteca está disponivel aqui: https://github.com/Dronetech/Tiny_LSM303 (https://github.com/Dronetech/Tiny_LSM303) (contem o codigo que usei no estabilizador)

O "relatorio" de como foi feito o estabilizador encontra-se aqui (inglês): http://blog.dronetech.eu/attiny85-camera-stabilizer/ (http://blog.dronetech.eu/attiny85-camera-stabilizer/)

O estabilizador é bastante ruidoso e o controlo dos servos precario, mas isso deve-se em grande parte ao circuito utilizador e a concorrencia de timers no Attiny.

O acelerometro apenas tambem não ajuda muito ao controlo da estabilização devido ao ruido mas um low pass filter ajudar a limpar um pouco os dados.

Alguma duvida "chutem".

Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: LuísR.A. em 19 de Junho de 2013, 21:49
espetaculo!  ;D
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: senso em 19 de Junho de 2013, 22:24
Porquê Arduino numa coisa tão simples, é adicionar bloat e incerteza onde ela não é de todo desejada.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Marvin em 19 de Junho de 2013, 22:40
Porquê Arduino numa coisa tão simples, é adicionar bloat e incerteza onde ela não é de todo desejada.

Foi uma opção para teste e prova de conceito, claramente isto não serve como produto mas apenas como prototipagem rapida.

Utilizou-se a arduino para este post e divulgação para se poder relacionar com uma audiencia habituada ao IDE.

Adaptar isto para o avr studio e retirar o bloat é facil, mas estava fora do scope desta aplicação.

Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: doiga em 19 de Junho de 2013, 23:13
Muito boa ideia, gostei! ;)
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: pmj_pedro em 20 de Junho de 2013, 13:44
engraçado,
devias por o video é do que a camera com o estabilizador vê
para ver como fica a imagem do video
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: LuísR.A. em 27 de Julho de 2013, 17:18
Vi isto e lembrei-me deste post.
O próximo passo é fazer uma assim, ps: aquilo não tem um tripé para alem do homem:
http://www.memecenter.com/fun/1916719/its-really-really-stable (http://www.memecenter.com/fun/1916719/its-really-really-stable)
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: senso em 27 de Julho de 2013, 17:24
Isso foi feito em parte pelo Shane Scolton, sigo o blog dele, o homem já tem uns anos de trabalho investidos nisso.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: LuísR.A. em 27 de Julho de 2013, 17:26
Isso foi feito em parte pelo Shane Scolton, sigo o blog dele, o homem já tem uns anos de trabalho investidos nisso.

Nota-se tá muito porreiro mesmo
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: zordlyon em 28 de Julho de 2013, 19:12
Boa Marvin, eu por acaso tenho aqui um feito com motores Brushless...

Isso os servos são sempre bem mais ruidosos sem duvida, mas a lógica está lá, agora ser aplicada noutro tipo de motores e melhorar isso é sem duvida mais "rapido"...

Cumps,
André.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Njay em 31 de Julho de 2013, 15:14
Tá porreiro! Venham de lá mais :)
Foi fixe teres publicado o código, dei uma olhada. "Garantes" que nunca tentas normalizar um vector nulo?
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Marvin em 31 de Julho de 2013, 15:43
Tá porreiro! Venham de lá mais :)
Foi fixe teres publicado o código, dei uma olhada. "Garantes" que nunca tentas normalizar um vector nulo?

Obrigado! Vou estar bastante limitado de tempo nos proximos tempos, mas tenho mais algumas na "manga" para depois. 

Em relação ao garantir a normalização de um vector nulo, não garanto que seja "full proof", teria de rever o codigo em especial da biblioteca do LSM303 mas tem funcionado bem. Isto foi mais prova de conceito, tem bastante jitter e mesmo com low pass filter valente ainda treme muito. Precisava de um gyroscopio.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: senso em 31 de Julho de 2013, 15:48
Espero que não leves a mal, mas acho que a placa devia levar uma re-edição, mais pequena, e com dois furos de montagem, com os condensadores mais chegados ao chip.
Se quiseres que eu lhe dê uma re-edição, é só dizeres.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Marvin em 31 de Julho de 2013, 15:56
Espero que não leves a mal, mas acho que a placa devia levar uma re-edição, mais pequena, e com dois furos de montagem, com os condensadores mais chegados ao chip.
Se quiseres que eu lhe dê uma re-edição, é só dizeres.

Não levo nada a mal, a inicial era mais pequena, mas precisei de colocar um level shifting para ser compativel com arduino e na revisão estas sairam maiores e sem fixação. Entretanto tenho 20 pcb's dessas la a ganhar mofo :P

Desenhei e ja tenho em meu poder um "batch" de 10 com L3GD20 e LSM303DLHC que é bem mais compacta, mas ainda não consegui arranjar os L3GD20 e estou para desistir desse produto por agora.

Vou aceitar a ajuda sem duvida, depois falo melhor contigo e envio-te os ficheiros raw.


Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Njay em 31 de Julho de 2013, 18:34
Entretanto tenho 20 pcb's dessas la a ganhar mofo :P

Às vezes a solução é vender mais barato ou inventar um gadget que incluam uma cena dessas ;)

Casos especiais são "perigosos" pelo tempo quen os podem fazer perder. Às vezes eles acontecem sem nos apercebermos, e manifestam-se em glitches e comportamentos que não conseguimos explicar. É como aquela velha máxima na programação: prefiro que crashe logo do que andar a usar memória corrompida ;). O que eu faria nesse caso, era "acender um LED" e trancar o CPU logo na 1ª ocorrência; assim se alguma vez acontecer, ficaria a saber.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Marvin em 31 de Julho de 2013, 20:03
Entretanto tenho 20 pcb's dessas la a ganhar mofo :P

Às vezes a solução é vender mais barato ou inventar um gadget que incluam uma cena dessas ;)

Casos especiais são "perigosos" pelo tempo quen os podem fazer perder. Às vezes eles acontecem sem nos apercebermos, e manifestam-se em glitches e comportamentos que não conseguimos explicar. É como aquela velha máxima na programação: prefiro que crashe logo do que andar a usar memória corrompida ;). O que eu faria nesse caso, era "acender um LED" e trancar o CPU logo na 1ª ocorrência; assim se alguma vez acontecer, ficaria a saber.

Sim, tenho 2 produtos agora que vão usar esta board do lsm q ira ser vendida com desconto quando comprada com os mesmos. Não tive tempo de acabar os manuais para os meter a venda e ainda ando a testar tudo para ter a certeza que não ha erros.

Uma das coisas que me preocupa mais quando programo são os erros esporadicos que não consigo replicar facilmente, perco bastante tempo de volta disso. Neste caso não o fiz, foi provar o conceito e meter no ar. Se fosse para vender um estabilizador ainda agora era capaz de andar a testar todos os possiveis pontos de ruptura.

edit: NJay não querias um projecto de comunidade? Não havia alguem que cria um projecto de comunidade? Uma IMU barata é uma coisa interessante de fazer, posso doar as boards que tenho com o L3GD20 e LSM303DLHC caso alguem arranje os gyro's como sample ou acessiveis. Depois é tudo questão da programação.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Njay em 31 de Julho de 2013, 20:11
Qualquer minúsculo e simplérrimo gadget a funcionar na nossa bancada dá um trabalhão do catano para transformar em produto, não é ;)? É daquelas coisas que quem nunca fez não faz a menor ideia.

Edit: Nope, não era eu.
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: Marvin em 31 de Julho de 2013, 20:18
Qualquer minúsculo e simplérrimo gadget a funcionar na nossa bancada dá um trabalhão do catano para transformar em produto, não é ;)? É daquelas coisas que quem nunca fez não faz a menor ideia.

Edit: Nope, não era eu.

Sem duvida, mexer com o "publico" é complicado. Posso dizer que tenho dezenas de coisas feitas e daí só extrai 3 produtos que tenho efectivamente a venda, e 4 que vou so lançar agora tudo coisas que algumas pessoas vão pensar que são "basicas" e que deram imenso trabalho ate chegarem ao que são agora. Tenho tido "sorte" que raramente preciso de revisões nas pcb's (o que mantem os custos baixos).

Tambem é incrivel que as coisas q lancei que pensava que iam vender mais foram as q venderam menos e tive uma agradavel surpresa numa que pensava iria ser de nicho. Não dá para viver disto ainda, mas dá um gozo especial saber que alguem do outro lado do mundo está a utilizar uma coisa feita por ti. :)

Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: LuísR.A. em 31 de Julho de 2013, 20:56

Casos especiais são "perigosos" pelo tempo quen os podem fazer perder. Às vezes eles acontecem sem nos apercebermos, e manifestam-se em glitches e comportamentos que não conseguimos explicar. É como aquela velha máxima na programação: prefiro que crashe logo do que andar a usar memória corrompida ;). O que eu faria nesse caso, era "acender um LED" e trancar o CPU logo na 1ª ocorrência; assim se alguma vez acontecer, ficaria a saber.

Isso de acender o LED foi das primeiras coisas que me ensinaram  ;D
Dá imenso jeito para encontrar problemas. As vezes LEDs RGB dão ainda mais jeito para indicar onde está o código (sem trancar). Mas claro é para coisas que se vêm e não são demasiado rápidas
Título: Re: "Estabilizador" de camara com Attiny85
Enviado por: senso em 31 de Julho de 2013, 21:19
Possivelmente o mais barato actualmente será um MPU6050 da Invensense é só juntar o magnetómetro e um barómetro, é claro que são sensores que têm algum drift e erro, a AD tem sensores digamos que mais profissionais, mas com preços muito mais elevados.