LusoRobótica - Robótica em Português

Robótica => Projectos de robótica => Tópico iniciado por: Njay em 01 de Setembro de 2017, 23:06

Título: Ideias para construir um quadrúpede simples
Enviado por: Njay em 01 de Setembro de 2017, 23:06
Quais são as vossas? Tenho um rabisco qualquer algures, esquema de eixos para as pernas, mais logo já procuro e já meto aqui.

Qualquer coisa com 4 coutos (talvez 3??) em que a gente mande um assobio e a coisa venha a correr na nossa direcção :)

Comecemos pela parte mecânica. Materiais/peças simples... que um gajo possa facilmente construir em casa (isto exclui logo à partida materiais como folha de ouro, aerogel, alumínio aeronáutico, ... :) )
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 02 de Setembro de 2017, 01:42
Já encontrei os rabiscos, em anexo. Cada perna teria 3 eixos, uma que permite a perna rodar para "fora e para dentro" (lateralmente) e os outros 2 baixam e sobem a perna.

Para ser fácil de construir seriam usados servos, modificados para termos feedback de posição (soldar um fio ao pino central do pot interno) e um sensor de corrente (para medir a força). Daí que cada perna teria que ter 3 outputs de PWM para controlo dos servos, 3 inputs analógicos para leitura de posição de cada servo e mais 3 para leitura da corrente (força, ou esforço do servo). O servo actua através de um pequeno varão fixo a uma cruzeta (ou um dos outros acessórios do servo) numa ponta e a outra ponta na parte da perna a mover.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 02 de Setembro de 2017, 07:37
nao seja por acaso, ainda ha uns dias descobri este video no youtube:

https://youtu.be/6zpuHr7t8xI (https://youtu.be/6zpuHr7t8xI)

;)
podes tirar umas ideias dai.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 02 de Setembro de 2017, 17:15
Conheço todos os robots daí, mas obrigado pelo video. De qualquer forma eu quero é as vossas ideias ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 02 de Setembro de 2017, 17:43
:)

eu ja ha bastantes anos atras tinha pensado numa forma diferente dos tensores.
nao a tenho desenhada, mas penso que nao sera dificil explicar.

tens o eixo vertical equivalente á tibia. tens uma placa horizontal equivalente ao pé, que fica presa à tibia atraves do veio horizontal encaixado em duas abas laterais levantadas da placa "pé".
E tens um motor agarrado á "tibia" com um eixo a fazer rodar uma uma roda excentrica agarrada ao "calcanhar" da placa a faze-la imitar o movimento do pé humano.

nao tenho isso desenhado, nem consegui encontrar imagens de mecanismos semelhantes na net.
isto foi apenas uma ideia que desenvolvi na epoca em que andava mais virado para a mecanica do que para a robotica. ;)

talvez um dia destes faça o desenho desse mecanismo.
mas tambem de todos os que vi ate agora o melhor é sem duvida o mecanismo com molas tensoras auxiliares. torna-se mais rapido e poderoso o movimento da "perna".
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: senso em 02 de Setembro de 2017, 21:53
Qual é o peso esperado para o aranhiço?
É que nessas coisas, já vi, e ia pela parte de usar uns bocados de X(plástico, acrilico, cartão, madeira, abs,pla, ou qualquer outra coisa á mão), e corta-se a jeito de entrar justo com o spline do servo, uma anilha larga e está feito.

Also, aluminio aeronautico é a maior "palhaçada" de publicidade que deve existir, é basicamente 2024 ou 6061(T6), meeeeeeeeeeeeeeeeeeeh, compra-se na farmácia, e mesmo para inventar em casa, principalmente o 6061, é super comum e trabalha-se super bem, nada de séries 50xx para uso caseiro, deformação plástica, adora comer fresas e brocas, precisa de velocidades de corte/furo mais elevadas para criar "limalhas" mais pequenas ou acaba por prender tudo.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: jm_araujo em 02 de Setembro de 2017, 22:59
O problema dos quadrupedes é que só são estáveis estaticamente com 3 patas no chão, o que limita o tipo de movimentos possíveis e a velocidade do mesmo por só teres uma pasta no ar de cada vez. É possível equilíbrio dinâmico só com 2, mas não é fácil (ver videos da Boston Dynamics).
Os hexapod não sofrem tanto desse problema (podes meter 3  e patas no ar sem cair) e por isso é que são mais vulgares em projetos diy.

Se vais querer feedback posicional e de esforço talvez compense usar servos digitais, mas o preço é tramado.
Se tens orçamento limitado, há micro servos no eBay a preços muito simpáticos, procura por SG90.
Para gerar a carrada de sinais PWM que precisas podes usar o PCA9685 de 16 canais para te aliviar a carga do processador.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 03 de Setembro de 2017, 00:26
eu ja ha bastantes anos atras tinha pensado numa forma diferente dos tensores.
nao a tenho desenhada, mas penso que nao sera dificil explicar.
(...)

Acho que percebi o que queres dizer. Em princípio não se vai usar esse esquema neste bicho, apenas porque o quadrúpede não vai ter um "pé" :) ; é mais simples ter apenas uma "bola" de borracha na ponta da tíbia. Mas fica o mecanismo anotado, nunca se sabe se não é uma boa solução para alguma outra parte.

Citar
mas tambem de todos os que vi ate agora o melhor é sem duvida o mecanismo com molas tensoras auxiliares. torna-se mais rapido e poderoso o movimento da "perna".

Não tinha pensado em tensores, e parece ser uma excelente ideia, para "tirar" mais força dos servos, que assim não têm que trabalhar (e consumir) (tanto) para vencer o peso. Nice :)

Não sei que peso senso, mas provavelmente menos de 2Kg no total. É melhor usar a peça do servo para ficar bem agarrado ao eixo, e assim também se pode montar e desmontar mais facilmente e com menor desgaste.

O problema dos quadrupedes é que só são estáveis estaticamente com 3 patas no chão, o que limita o tipo de movimentos possíveis e a velocidade do mesmo por só teres uma pasta no ar de cada vez. É possível equilíbrio dinâmico só com 2, mas não é fácil (ver videos da Boston Dynamics).
Os hexapod não sofrem tanto desse problema (podes meter 3  e patas no ar sem cair) e por isso é que são mais vulgares em projetos diy.

Mas só com 4 patas é mais interessante de desenvolver ;) Depois o shexa tb não conseguem andar mto depressa.

Citação de: jm_araujo
Se vais querer feedback posicional e de esforço talvez compense usar servos digitais, mas o preço é tramado.
Se tens orçamento limitado, há micro servos no eBay a preços muito simpáticos, procura por SG90.
Para gerar a carrada de sinais PWM que precisas podes usar o PCA9685 de 16 canais para te aliviar a carga do processador.

Vamos para servos analógicos, a não ser que provem não ter resolução suficiente.
Quanto ao controlo, logo se vê... vamos ver da mecânica 1º. O controlo será obviamente complexo, por isso é bom ter uma boa camada de abstracção para a movimentação das pernas (no minimo gerar o PWM, fazer a leitura dos sensores, mas até pode ser mais alto nível como posicionar os servos a partir dos ângulos desejados ou executar uma sequência de movimentos), eventualmente até com um micro só para isso, who knows.... mas ainda é cedo para pensar muito nisso.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 03 de Setembro de 2017, 08:10
mas começando ja a pensar no firmware que no final tambem vai determinar o hardware.
podes usar um micro dedicado so ao controlo das pernas, tipo maquina de estados e teres um outro sistema de processamento so para as funçoes mais complexas, a enviar comandos para as pernas do tipo:

[Turtle Walk]
[Dog Walk]
[Jackrabbit]

e conforme esses comandos cada perna executa todos os movimentos associados a esse tipo de locomoçao.
sem teres que ter o processador principal a ler sensores e ordenar movomentos aos motores das pernas.

"Dividir para conquistar" ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 03 de Setembro de 2017, 08:50
Olá   :)
Toda a estrutura  tem grande importância
O cálculo  do peso é fundamental pois derrapa sempre para mais e os servos pode não ser boa ideia

Outra coisa a ter em conta é a energia que tipo de bateria
Bom trabalho
Vai ladrar ?? ;D ;D
Estou em pulgas para ver isso
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 03 de Setembro de 2017, 09:08
Vai ladrar ?? ;D ;D
Estou em pulgas para ver isso

se vai ladrar vai ter pulgas de certeza... ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 03 de Setembro de 2017, 14:53
Espero que sejam pulgas robóticas :)...

Eu como não tenho experiência nenhuma nisto, alimentava tudo com uma fonte de alimentação até ter o gajo a fazer alguma coisa, aí então via-se o consumo e decidia-se sobre conversores e alimentação.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 03 de Setembro de 2017, 15:03
Espero que sejam pulgas robóticas :)...

Eu como não tenho experiência nenhuma nisto, alimentava tudo com uma fonte de alimentação até ter o gajo a fazer alguma coisa, aí então via-se o consumo e decidia-se sobre conversores e alimentação.

concordo plenamente nessa parte. Quando se constroi prototipos ha certas coisas que so podem ser afinadas depois de reconstruidas varias vezes...

daí ter falado antes na importancia de ir desenhando tambem o firmware ao mesmo tempo.
Até porque seja um robot, um drone ou outra maquina qualquer nao se pode olhar para cada parte duma forma independente, mas sim num conjunto global em que cada parte tem espaço para "crescer" dentro do limite do todo.

edit:
em relaçao aos materiais existentes em casa para construir as pernas e o corpo do bicho podes semrpe usar tubo VD usado nas instalaçoes electricas. é baracto e resistente o suficiente para a rigidez necessaria. tambem podes usar as molas das canetas (esta parte depende do tamanho do bicho) para fazeres os tensores, mas tambem as molas que alguns chapeus de chuva tem, daqueles mais carotes podem servir ou algo semelhante com molas de uns 10 cm's de comprimento daquelas que trabalham á operação. podes sempre por as borrachas dos pés dos bancos a fazer de pés do bicho, e uma placa de madeira para fixar o sistema locomotor... ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 04 de Setembro de 2017, 01:54
Não é preciso serem materiais que se encontrem em casa (embora em casa haja uma infinidade de muito boas matérias primas... mas normalmente com os formatos muito errados :( ), basta que sejam fáceis de arranjar.

Então e mais ideias? Ou pelo menos sugestões/comentários/críticas ao desenho que deixei? Como é que se pode prender as molas de forma a ajudar a manter a perna esticada? Um gajo aqui a tentar fundar a Boston Dynamics portuguesa (a.k.a. Tuga Dynamics) e vocês não ajudam nada :P :D :D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 04 de Setembro de 2017, 08:39
Lol, pá nao faças como os fulanos que quiserem fundar o Silicon Valey tuga e foram instala-lo num monte junto à barra do tejo e chamaram-lhe park de tecnologia e ciencia e aquilo de cientifico ja so tem o IST, o resto é quase tudo empresas de call center e de escritoriozecos. ;)

agora voltando ao "cão com pulgas".
usa tubo VD 40 ou VD 30 que é bastante rigido e facil de comprar em qualquer loja de material electrico.
Nas lojas de peças auto tambem consegues arranjar umas molas de tensao à operaçao com pouco mais de 15 cm talvez. é uma questao de por o vendedor a folhear os catalogos dos carros. ;)

se tiveres algum aki perto de ti, eles tem sempre por la muita quinquilharia para outras actividades que pode dar para o que queres, parece-me que ja vi por lá molas boas para este projeto.

ou vais a uma drogaria e pedes ao homem para te levar ao armazem das quinquilharias ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 04 de Setembro de 2017, 21:29
Olá :)
Boa ideia é começar por fazer uma perna de cada vez é mais fácil no mínimo tem de ter 5 eixos para ter alguma estabilidade digo eu ::) :D

Para testar forças e velocidade é o ideal
Comprimir molas tem custos
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Alfredo Garcia em 04 de Setembro de 2017, 22:19
Estava a perguntar por materiais para as pernas, já pensas-te em varetas de chapéu de chuva, tanto as de metal como as de fibra de vidro são fortes.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: jm_araujo em 04 de Setembro de 2017, 22:38
Parece-me que andam a por a carroça à frente dos bois. O fator limitador vão ser os servos analogicos. São lentos, o esforço não é constante(menos quanto mais perto da posição deseja) e tem muita histerese de posição (backlash), principalmente por causa da eletrónica de controle algo arcaica(tenho a noção que o loop é só P) mas também pela forma como é feito o feedback mecanicamente.
Além disso são uns trambolhos grandes e pesados que tramam qualquer tentativa de finesse mecânica ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: senso em 05 de Setembro de 2017, 02:26
E qual a alternativa?
Vender 3 rins e comprar servos rotativos pneumaticos da Festo?
É mais finório, mas levar um compressor ás costas ou uns metros de mangueira tiram a piada á coisa.

https://www.youtube.com/watch?v=54u3H69tcgM

Numa cena mais próxima da realidade, e para mandar os servos ao caixote, usar brushless's do estilo puck, como usam nos gimbals dos quadcopters, continuas a ter motores sempre em carga, mas sempre é "diferente".
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 05 de Setembro de 2017, 05:38
Olá :)
Boa ideia é começar por fazer uma perna de cada vez é mais fácil no mínimo tem de ter 5 eixos para ter alguma estabilidade digo eu ::) :D

Eu diria que tem que ter pelo menos 3 pernas :D :D
É o que eu faria sim, começar por fazer apenas 1 perna para ver como se comporta face aos materiais e peças usadas.

Citar
Para testar forças e velocidade é o ideal
Comprimir molas tem custos

A ideia das molas era para ser como num elevador, que está quase em equilíbrio com o contrapeso e assim é consumida menos energia.

Já pensei em varetas de chapéu de chuva, mas não tenho nenhum estragado :D. Mas agora a sério, acho-as muito finas e com um formato difícil de "agarrar outras coisas" para o que tinha em mente, mas para um mini quadrúpede... Já pensei um PCBs, mas deve ficar um bocado caro. Está em aberto... madeira, ou provavelmente perfil de alumínio (talvez em T)...

Quanto aos servos é começar com os tradicionais, são baratos, para aprender serve. Estou a zeros, não vou investir em material caro, nem sei o que é preciso.
A "qualidade" do sensor de posição é capaz de não ser crítica. Se ele em repouso ficar a tremelicar, não é nada que provavelmente não se resolva em software, assim como um comportamento mais PI ou PID em vez de P (como temos leitura da posição, passa a ser possível fazer muita coisa...).

Para uma ideia mais concreta, o tamanho que tenho em mente para o comprimento do bicho é de cerca de 25cm (fora a cauda e o focinho!).
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 13 de Setembro de 2017, 07:29
Olá  :)
Pvc de publicidade é uma ideia trabalha se fácil  ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Hugu em 13 de Setembro de 2017, 21:40
Boa ideia é começar por fazer uma perna de cada vez é mais fácil no mínimo tem de ter 5 eixos para ter alguma estabilidade digo eu ::) :D

Citação de: Njay
Eu diria que tem que ter pelo menos 3 pernas :D :D

Estou a ficar confuso com este tópico.. n era suposto ser uma locomoção quadrúpede? quadrúpede=4 membros.. ou a ideia era fazer um membro articulado e com alguma imitação/movimentação semelhante dum quadrupede com material mais barato ou original?

Convinha saber o que era para replicar, um cão? Peso/tamanho do animaloide? fonte de energia ou autonomia do mesmo?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: jm_araujo em 13 de Setembro de 2017, 22:28
A segunda citação ainda vá, mas pareceu-me uma piada.

Mas a primeira qual é o problema de cada perna ter 5 eixos? 1+2-tornozelo(frente/trás + direita/esquerda) 3- joelho 4+5- anca (como tornozelo)
O mínimo que te deves safar é com 3, se em vez de um "pé" apoiares num "ponto"
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 14 de Setembro de 2017, 07:25
4 patas com 5 eixos era o que queria dizer certo ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 14 de Setembro de 2017, 11:31
Olá  :)
Pvc de publicidade é uma ideia trabalha se fácil  ;)

Será isto em anexo? É um material que fui recolhendo do lixo de uma gráfica... por acaso é bem fixe.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 14 de Setembro de 2017, 11:34
(...)
O mínimo que te deves safar é com 3, se em vez de um "pé" apoiares num "ponto"

É esse o target.

Quanto à fonte de energia tinha pensado em glucose, o que achas Hugu?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: jm_araujo em 14 de Setembro de 2017, 11:46
Quanto à fonte de energia tinha pensado em glucose, o que achas Hugu?

Conheço uns quadrupedes já com alimentação dessas e que já traz o hw todo pronto e uma rede neuronal com o básico já implementado, só tens de programar o que te interessa que faça extra a teu gosto. São bastante interativos e um sucesso com a pequenada, havendo uma multitude de modelos.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 14 de Setembro de 2017, 11:47
 ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Hugu em 14 de Setembro de 2017, 16:43
Quanto à fonte de energia tinha pensado em glucose, o que achas Hugu?

Quando inventares uma máquina que consiga extrair energia eléctrica mais barata a partir da glucose ou que inventes uma bateria de açucar com melhores capacidades que as actuais vais ficar mais rico que o Sr Musk (dizem que estão prestes a inventar uma, por isso apressa-te!  ;) )
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 14 de Setembro de 2017, 19:15
É isso pvc publicidade podes colar com cianoacrilato dar forma com calor  furar e aparafusar etc etc ;)

O Bobybot eheheh ;D ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 14 de Setembro de 2017, 20:57
Vou-lhe chamar quad(rúpede), só pa baralhar :D, mais propriamente, "quad, o cãozarrão"  ;D ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: zordlyon em 15 de Setembro de 2017, 10:18
Olá Njay, não sei se já deste uma vista de olhos no Thingiverse, sempre dá para tirar umas ideias do chassi. ;)

Uma coisa facil de trabalhar e barato é a madeira.

Cumps,
André.


Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 07 de Outubro de 2017, 16:14
Olá :)

Então o bicho já tem progressos
Que desenho kinematics tens na ideia ?

Não podes mostrar nem uma patinha ::)  ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 07 de Outubro de 2017, 22:12
Ainda não dei uma vista de olhos no Thingiverse, mas hei-de espreitar, obrigado...
Quando tiver uma patinha serás o 1º a ver José, desde que vás fazendo refresh ao tópico :D... mas ainda não tive tempo para me sentar com um bocado da tal placa, uma régua, um x-acto e pistola de cola quente em punho :D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 27 de Outubro de 2017, 17:06
Eu sei eu sei, não batam muito no Njayzinho... 1ª dobradiça que fiz na vida :D
Quantos de vocês já fabricaram uma dobradiça? Quem nunca o fez não se pode graduar ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 27 de Outubro de 2017, 18:46
eu ja fiz dobradiças... ;)

podias ter comprado numa loja de ferragens dobradiças dessas a meia duzia de centimos, ou por um ou dois euros...
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 27 de Outubro de 2017, 22:10
Olá Njay

O que importa  é fazer meter as mãos na massa.
Imagino que deve ser uma junção da pata 

Bom trabalho  ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 27 de Outubro de 2017, 23:00
Então tb já te podes graduar LVirtual ;D
Queria a dobradiça "já", se tivesse que ainda ir sair, procurar uma loja de ferragens, chegar ao balcão e nem saber bem o que pedir :), nunca mais :D

Acho que lhe podemos chamar um joelho, José.
A 2ª (uma espécie de... meia anca?), ficou um bocadinho mais bonita :)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 28 de Outubro de 2017, 11:47
chamemos-lhe o joelho do josé ;)

essa meia anca ta bonitinha. ;)

vai treinando a dobrar dobradiças ;)
antes dobradiças do que dobrar esquinas, sao mais dificeis de dobrar.  ;D

nao te esqueças de meter um freio no eixo da dobradiça, senao vais andar sempre a apanhar bocados do caodrupede... ou entao mete um parafuso com uma porca auto-travante com uma anilha para fazer o encosto na peça.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 28 de Outubro de 2017, 12:11
O pino não sai facilmente, está preso numa das metades. De qualquer forma isto é tudo fraco e sujeito a desgaste rápido, é só para prototipar, ver dimensões, etc... prototipagem rápida ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 28 de Outubro de 2017, 13:08
Já esta a ganhar forma, mesmo fraco como protótipo está bom o importante é que resulte  ;)
Faz falta ao forum projectos como estes simples mas construtivos  :P

Vais ver logo logo já ladra ;D ;D ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 28 de Outubro de 2017, 14:04
Vais ver logo logo já ladra ;D ;D ;D

Ah ahah, espero que não :D... embora fosse a parte mais fácil, fazê-lo ladrar :)

Acho que de parte mecânica por agora chega... e vem uma parte mais interessante, o controlo dos servos. Vou ter que soldar-lhes um fio para ter o feedback da posição, e desenhar um circuito para o controlador. O controlador vai ter que medir a corrente nos servos, para saber a carga (força) a que estão sujeitos. Depois do hardware então algo muito mais interessante... o controlo dos movimentos em si. Vai ser preciso algum esquema de "alto nível", isto é, o controlador da perna vai ter que receber comandos do tipo "pontapé para a frente com força X" ou "recua a perna y cm" ou "não faças mais do que a força Z" e não coisas como "roda o servo para X graus"...
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 28 de Outubro de 2017, 16:52
A verdadeira robótica, mecânica à medida pelas próprias mãos, é o que adoro ver (e fazer está claro  :P)

Daria para fazer umas dobradiças com rolamentos?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: vasco em 28 de Outubro de 2017, 21:00
Vi há dias no canal Odisseia uma "tromba" totalmente controlado por ar comprimido, infelizmente a forma do plástico parece ser bem mais difícil de fazer que uma dobradiça... :-D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: jm_araujo em 28 de Outubro de 2017, 22:14
Nos tempos correntes talvez não seja tão complicado, com uma impressora 3d e filamento flexível, depende mais da capacidade de modelar.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 28 de Outubro de 2017, 22:31
Também depende da tromba  ;D
Já vimos uma parte da  mecânica agora também temos direito a um pouquinho do software de controlo?

Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 29 de Outubro de 2017, 00:26
 "Se eu tivesse oito horas para derrubar uma árvore, passaria seis afiando meu machado."

Não há código que valha quando a mecânica não está operacional. ::)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 29 de Outubro de 2017, 01:17
Por agora é tudo o que há, embora esteja com vontade de lhe fazer uma irmã :D
Antes do sw ainda tem que haver electrónica.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 29 de Outubro de 2017, 01:28
A verdadeira robótica, mecânica à medida pelas próprias mãos, é o que adoro ver (e fazer está claro  :P)
Falou um e o Mestre Custom Made :)

Citação de: dropes
Daria para fazer umas dobradiças com rolamentos?
Daria, mas para esta versão não me vou preocupar mais com a mecânica :)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 29 de Outubro de 2017, 08:47
Por agora é tudo o que há, embora esteja com vontade de lhe fazer uma irmã :D
Antes do sw ainda tem que haver electrónica.

NJay, ja experimentaste a perna em tensão mecanica? ou seja em esforço?

Parece-me que o servo que empurra a tibia para fora esta muito para tras em posiçao de perna fechada, no arranque tera que produzir muito esforço para começar a abrir a perna com o peso do corpo em cima,
em termos mecanicos faz muito mais esforço do que se tiver um pouco mais perto da tibia, a ponta da peça que segura o "tendão" da mesma.

edit:
e olhando melhor para a foto:

o arame (tendao) do servo á "tibia", esta muito proximo do eixo de rotaçao da "tibia", o que o obriga a fazer muito mais esforço mecanico para abrir a "tibia" do que se estiver mais perto do meio da dita cuja.

Quanto mais proximo do eixo de rotaçao, mais esforço mecanico é necessario fazer para rodar uma alavanca.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 29 de Outubro de 2017, 16:47
Nope, ainda não lhe meti carga. Entendo o que dizes, e tenho noção disso. Fiz a coisa mais ou menos a olho. Não é só o esforço que conta, é também o "curso" do movimento. Afastar o ponto de contacto do tendão com o "osso" diminui o torque necessário para o mover mas também reduz o curso da perna (a amplitude do movimento). Portanto é um tradeoff. Nesta perna ficou assim, depois de ela começar a mexer logo se vê se preciso de mais torque (ou mais curso).
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 30 de Outubro de 2017, 15:31
Electrónica... Tenho aqui à mão uns ATtiny4x (datasheet (http://ww1.microchip.com/downloads/en/DeviceDoc/doc8006.pdf)) e resolvi ver se conseguia meter lá o controlo dos 3 servos (uma perna leva 3, os 2 das imagens mais 1 para fazer um movimento lateral). Cada servo requer 3 pinos, controlo de posição (PWM), leitura de posição e leitura de corrente (força). Não sei se é mesmo preciso isto tudo para todos os servos da perna, mas vamos começar por assumir que sim.

A interface externa seria I2C, que é normalmente problemática mas permite ter um bus de apenas 3 linhas espalhado pelo robot a controlar as pernas todas e mais outras coisas.

Por azar fica a faltar 1 pino para conseguir meter tudo no tiny (que tem 14 pinos). Mas comecei a pensar que, se calhar não é preciso medir a força dos 2 servos que estão no protótipo, o joelho e a meia-anca, pois ambos estão "em série" e a carga acaba por se dividir em proporções constantes entre ambos. Daí se calhar safo-me medindo apenas a carga de um deles, e assim está poupado um pino. Que vos parece?

Para medir a corrente nos servos pensei em usar uma resistência de baixo valor em série com a sua alimentação, 50 ou 100mOhm. Se a resistência for metida no GND, a leitura da posição é um pouco afectada pela carga actual do servo, pelo que seria melhor metê-la no positivo. Fazer a medida no positivo é mais complicado mas possível com o tiny, pois ele suporta medidas diferenciais, e com um ganho opcional de 20x (apenas disponível nas medidas diferenciais) que era óptimo nesta medida por serem valores pequenos... Mas por outro lado, como também medimos a queda de tensão na resistência, podemos corrigir a leitura da posição - embora com o ruído, o timming, etc, possa não ser tão eficaz como parece no papel. A medida diferencial (resistência no positivo e ganho 20x) exige que se use mais um pino (é aqui que fica a faltar o tal pino); com a medida não diferencial (resistência no GND e sem ganho), não fica a faltar 1 pino. Humm... é preciso cavar mais nas 2 opções para se perceber qual delas é a melhor, nomeadamente, calcular que resolução se obtém em ambos os casos, e se ela é suficiente. Tenho que ir medir a corrente máxima destes servos básicos standard e mini, em tempos fi-lo mas já não me lembro, apenas sei que era < 1A mesmo em grande esforço.
To be continued...
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 30 de Outubro de 2017, 17:31
Ou então salto logo para um ATtinyx61 (datasheet (http://www.atmel.com/images/Atmel-7753-Automotive-Microcontrollers-ATtiny261-461-861_datasheet.pdf)), acho que tenho aqui 1 ou 2. É maiorzeco e mais caro, mas tem 3 canais de PWM em hw (com o tinyx4 o PWM ia ser feito em sw) e as entradas diferenciais têm ainda uma opção de ganho 32x. Não sei, a "compactês" do tinyx4 agrada-me, parece-me ser o tamanho certo e dá a possibilidade de fazer um brilharete no sw  ;D ...
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: jm_araujo em 30 de Outubro de 2017, 18:09
Primeiro preocupava-me com um "proof of concept", mesmo que seja só com um servo. Convém testares os feedbacks e tentar integrar no controlo a ver onde chegas, e se a matemática não é demasiado complexa (tempo que demora) para os micros que estás a usar, ainda por cima que tens de gerar os pulsos para o PWM em simultâneo. Tendo o código alinhavado mudar de micro fica menos complicado.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 30 de Outubro de 2017, 19:03
Aquilo que vou precisar/querer ainda está muito fuzzy. Este micro é só para criar uma abstracção um pouco mais alta do controlo do hw da perna (cada perna terá um). Ainda não pensei que tipo de interface lógica isto vai ter, mas algo mais complexo do que simplesmente estar 1) a controlar servos individuais e 2) a usar parâmetros de entrada muito raw, como ângulos.

Ao nível do micro de controlo da perna neste momento não estou a prever muita matemática, pois comportamentos mais complexos serão executados por um outro micro "de sistema", quase de certeza um PSoC4 (ARM, 48MHz). Penso na perna apenas como sendo capaz de executar sozinha alguns movimentos muito pouco parametrizados e monitorar a sua execução de acordo com limites de posição e força. A coisa mais complexa que me ocorre incluir é o cálculo de algumas curvas (talvez Bézier), a usar na criação de movimentos suaves para a perna a partir de conjuntos de pontos. Neste momento não estou muito preocupado com a performance, os números são pequenos, e é um AVR e não um PIC (ehehehe :P).

Proof of concept só com um servo neste momento pode servir para testar a "estabilidade" e comportamento dos sinais (posição, corrente)... provavelmente vou prototipar isso de alguma forma, mas não haverá integração do controlo a esse nível (pela tua conversa presumo que estejas a falar do controlo "de sistema", mas isso no que estou a planear é uma fase posterior à da perna).
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 30 de Outubro de 2017, 21:34
Porque não um driver de servos controle  pwm aonde podes fazer varias sequências com as quatro pernas?
Sim eu sei que dá mais pica fazer tudo  ;)

Fica mais ou menos como este  https://youtu.be/DLIdjWNAP_4

Estou curioso como vais calibrar todas a funções das 4 patas ??? ???
Código tipo lista telefónica ;D ;D   

Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 30 de Outubro de 2017, 21:39
Há uma coisa que ainda não entendi, ao colocares um pwm ao servo estás consequentemente a dizer a sua posição.
Supostamente este servo estará a fazer força até atingir a posição respectiva.

Ao medir a sua corrente consegues saber quando chegou ao seu destino, logo, qual o propósito de se saber a posição actual durante o movimento?

Será que funcionaria com micro steps e ter a leitura via corrente que teria concluído?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 00:17
Porque não um driver de servos controle  pwm aonde podes fazer varias sequências com as quatro pernas?
Sim eu sei que dá mais pica fazer tudo  ;)

Fica mais ou menos como este  (...)

Estou curioso como vais calibrar todas a funções das 4 patas ??? ???
Código tipo lista telefónica ;D ;D   

Esse aí é bem "mecânico" :) Eu tou a apontar a algo mais flexível, algo que não execute apenas movimentos pré-programados. Como imagino a coisa neste momento, o controlador da perna será capaz de executar alguns movimentos pré-programados, mas parametrizáveis, e o controlador de sistema "compõe" o comportamento a partir dos vários movimentos disponíveis. Apenas como exemplo e de uma forma muito simplista, pode haver 2 movimentos pré-p., o "passo(velocidade)" e o "encolhe-perna(velocidade,curso)"; vão sendo enviados comandos "passo" para o meter a andar, mas se a perna bater em alguma coisa (o consumo de corrente sobe anormalmente) então dá-se um comando "encolhe-perna" para a perna fazer um movimento de encolher para cima na tentativa de ficar acima do obstáculo e poder avançar.

Há uma coisa que ainda não entendi, ao colocares um pwm ao servo estás consequentemente a dizer a sua posição.
Supostamente este servo estará a fazer força até atingir a posição respectiva.

Ao medir a sua corrente consegues saber quando chegou ao seu destino, logo, qual o propósito de se saber a posição actual durante o movimento?

Será que funcionaria com micro steps e ter a leitura via corrente que teria concluído?

Tendo leitura de posição podes mover manualmente o servo para determinada posição e o software ficar a saber esse ponto. O utilizador pode fazer uma sequência de posições e gravar isso no sw.
Evitas saltos e espasmos quando a máquina acorda, pois sabes a posição inicial dos servos.
Eventualmente não precisas de medir a corrente em todos os servos individualmente, e a leitura de posição também serve para confirmar a chegada ao destino.
Podem haver outras situações interessantes tornadas possível pela leitura da posição. Por exemplo, posso querer estar a fazer alguma força mas deixar a posição afastar-se até x% do valor definido (uma espécie de comportamento de amortecedor).
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 09:49
Servo mini básico - 4mA sem carga, até 0.6A em carga máxima
Servo standard básico - 6mA sem carga, até 0.8A em carga máxima
    carga máxima = forço o eixo a estar numa posição longe da que ele "quer"
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 09:54
NJay, salvo erro, escreveste mais acima que os servos do joelho e da anca estao a ser controlados em serie,
acho que deveriam ser indepedentes um do outro.
Porque para ser ter boa manobrabilidade da perna, os movimentos de ambos os eixos nao sao exactamente iguais nem se dão em simultaneo e ainda falta o eixo do tornozelo que nao esta nas fotos...
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 10:19
O que quis dizer é que actuam em série, isto é, como estão na mesma "linha de esforço", quando aumentas a carga num estás automaticamente a aumentar a carga no outro. Por exemplo, quando estás de pé e dobras os joelhos para te baixares, estás a fazer força tanto nos joelhos como nos tornozelos (nos respectivos tendões, claro).
Nesta máquina não há tornozelo, é mais simples, e as forças acabam por cair grosso modo em cima de ambos os servos.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 10:43
O que quis dizer é que actuam em série, isto é, como estão na mesma "linha de esforço", quando aumentas a carga num estás automaticamente a aumentar a carga no outro. Por exemplo, quando estás de pé e dobras os joelhos para te baixares, estás a fazer força tanto nos joelhos como nos tornozelos (nos respectivos tendões, claro).
Nesta máquina não há tornozelo, é mais simples, e as forças acabam por cair grosso modo em cima de ambos os servos.

compreendo o que queres dizer, mas ambos os servos só estarao em esforço eletro-mecanico se estiverem activos.
nao tem necessariamente que estar os dois activos em simultaneo para obteres o movimento da perna acho eu.
ate porque certos movimentos de precisao implicam mais velocidade no servo da anca do que no do joelho, embora o esforço electrico possa ser o mesmo se estiver a perna no ar e se forem controlados por pwm.
Tens esforço electrico mas nao tens esforço mecanico a aumentar o esforço electrico. nessa altura nao vais conseguir medir a posiçao dos servos, visto o esforço electrico estar dentro dos parametros normais.
nao te esqueças que num quadrupede em movimento ha sempre pelo menos uma perna no ar. ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 11:18
Ambos acabam por ser movimentados num movimento da perna (pensando em coisas simples como "andar"), e estão sempre activos. Mesmo quando estão parados, têm que fazer um esforço para manter a posição. Se por exemplo meteres peso em cima, mesmo que eles não mexam 1mm vão consumir mais corrente (energia), para manter a posição.
A posição deles consigo sempre saber, desde que estejam alimentados e mesmo que não tenham sinal de controlo (não fazem força nenhuma), pois tenho a leitura dos potenciómetros.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 11:39
mas se tiveres o bicho-cao parado, nao precisas de activar o servo.
pois, mas pensando melhor se calhar precisas de os manter sempre em tensao, porque as pernas nao estao na vertical, pois...

se calhar sera melhor para a vida util da bateria procurar um sistema mecanico tal, que os servos so precisem de ser alimentados para mover a perna e nao quando o bicho esta parado...
nao sei, digo eu... ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 11:46
mas se tiveres o bicho-cao parado, nao precisas de activar o servo.
pois, mas pensando melhor se calhar precisas de os manter sempre em tensao, porque as pernas nao estao na vertical, pois...

Exacto.

Citação de: LVirtual
se calhar sera melhor para a vida util da bateria procurar um sistema mecanico tal, que os servos so precisem de ser alimentados para mover a perna e nao quando o bicho esta parado...
nao sei, digo eu... ;)

Tocámos nesse assunto no inicio do tópico, haver uns "contra-pesos/molas" para manter tudo com um mínimo de esforço na posição de parado. Mas para já vamos simplificar :)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 11:51
ya... :)

ja pensaste em puxar a tibia pela parte de cima do joelho em vez de a puxar por baixo?

ou se o servo do joelho estiver mais a meio do "osso" superior e o arame a prender a tibia abaixo do meio, ja fazes algo como um tirante de apoio para manter tudo quieto mecanicamente e sem esforço.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 12:32
Não estou a ver... consegues fazer um rabisco?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 12:44
consegui rabiscar enquanto descanso da montagem das prateleiras que ja me entregaram hoje de manha ;)

(https://screenshots.firefoxusercontent.com/images/81266053-6e7e-4a83-84f7-a1658aad3d4a.png)

podes ter o servo por cima do osso ou fixa-lo de lado que s calhar ate é melhor para efeitos de enchimento "carnal" ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 12:47
e se em vez de usares um perfil em L ou T nao se percebe bem na foto, usares uma barra?
ate pode ser de acrilico. :) e em vez de usares dobradiça na anca, usas um veio com rolamento ou nao.
assim teras menos atrito do que com a dobradiça e menos esforço nos servos.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 31 de Outubro de 2017, 13:37
consegui rabiscar enquanto descanso da montagem das prateleiras que ja me entregaram hoje de manha ;)
(...)
podes ter o servo por cima do osso ou fixa-lo de lado que s calhar ate é melhor para efeitos de enchimento "carnal" ;)

Ok, obrigado pelo rabisco. Mas é igual, o peso em cima da perna leva a que os servos tenham sempre que fazer esforço quando a perna está em repouso (há um caso em que pode ser possível alguns ganhos no sentido de minimizar o esforço do servo com a perna em repouso, a ser estudado mais tarde). Há um bípede recente duma universidade que usa esse esquema, não me lembro agora do nome*.

Usei este material (qq coisa de PVC) porque é fácil de trabalhar num protótipo, e fiz um T para ter rigidez estrutural. Se fosse mais a sério usaria alumínio. Mas com pernas "molengas" dá para reajustar facilmente ou mesmo refazer partes, que é uma característica muito desejável num protótipo exploratório ;)


* Update, é a Cassie:
https://www.youtube.com/watch?v=Is4JZqhAy-M
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: LVirtual em 31 de Outubro de 2017, 14:26
Acho que já tinha visto a Cassie algures por aí...
Ela tem os tendões por fora e não por dentro da perna. À semelhança dos seres humano. E um bocado diferente dum quadrúpede.

O pvc e bom para estas coisas e nem precisa ser em perfil. Mesmo uma Barra tem quase tanta resistência como o alumínio. Diria mesmo que é o alumínio dos plásticos.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 31 de Outubro de 2017, 21:04
@njay obrigado pela explicação.
Desconhecia que se poderia ajustar manualmente um servo, e até que ponto se poderá danificar as engrenagens ou o controlador...

Também tenho um projecto ainda em estudo que teria um servo, facilitaria imenso pequenos ajustes manuais durante a operação, entretanto bloqueei neste aspecto correcional :-\ coisas de inventores eheheh
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 01 de Novembro de 2017, 01:47
Humm... é preciso cavar mais nas 2 opções para se perceber qual delas é a melhor, nomeadamente, calcular que resolução se obtém em ambos os casos, e se ela é suficiente. Tenho que ir medir a corrente máxima destes servos básicos standard e mini, em tempos fi-lo mas já não me lembro, apenas sei que era < 1A mesmo em grande esforço.
To be continued...

Ora bem... então já sabemos que os 2 tipos de servo consomem respectivamente até 0.6A e 0.8A (esqueci-me de dizer no outro post que foi a ~5V de alimentação). Vou apontar a medir correntes até cerca de 1A. Acho que devia ter uma resolução aí de 50 a 100 passos; não espero ter necessidade de manipular valores muito pequenos, por um lado porque a própria corrente deve variar bastante (imagino que o comportamento de um servo numa aplicação destas pode ser muito dinâmico) e por outro porque é mais para detectar limites ou diferenças entre pernas ou no tempo. E por falar em tempo, o tempo provar-me-á certo ou errado :), mas vou apontar a estes requisitos; quando "não sabemos", temos que começar por algum lado, e depois ir corrigindo à medida que os problemas surgem.

Para medir a corrente nos servos pensei em usar uma resistência de baixo valor em série com a sua alimentação, 50 ou 100mOhm.

Para já escolho usar resistências de 100mOhm (0.1 Ohm, ou 0R1) para a medição da corrente, e portanto 1A em cima de 100mOhm são 100mV (pela Lei de Ohm); este valor é muito fácil de arranjar. É mais difícil usar uma resistência de 50mOhm porque a queda de tensão é menor e mais susceptível a ser corrompida por ruído. A queda de tensão na resistência, causada pela corrente do servo, "rouba-lhe" à alimentação essa mesma tensão, que é proporcional à corrente; no caso de uma resistência de 100mOhm e o "pior cenário" esperado de 1A de corrente, essa tensão é de 100mV ou menos. 100mV em 5V não me parece uma grande perda de tensão nesta aplicação. A escolha da resistência para medição de corrente é um compromisso entre a queda de tensão "roubada" ao aparelho e a magnitude da tensão de medida da corrente: resistência maior => tensão mais alta e portanto mais fácil de medir mas maior roubo de tensão, resistência mais baixa => menor roubo de tensão mas tensão mais baixa e logo mais difícil de medir.
Para terminar a escolha da resistência vou calcular qual é a dissipação máxima, para escolher uma de potência adequada. O pior caso é com a maior corrente a passar por ela, 1A; pela Lei de Joule, P = I^2 * R = 1A * 1A * 0.1Ohm = 0.1W = 100mW. Para aplicações em ambientes normais (não industriais, não automotivos, ...), costumo usar resistências de pelo menos o dobro da potência máxima utilizada, portanto uma típica resistência de 1/4W (250mW) serve, já que é 2.5x o requerido e os 100mW nunca serão constantes.

O ADC do tiny tem 10 bits, que corresponde a contagens de 0 a 1023.

Se a resistência for metida no GND, a leitura da posição é um pouco afectada pela carga actual do servo, pelo que seria melhor metê-la no positivo. Fazer a medida no positivo é mais complicado mas possível com o tiny, pois ele suporta medidas diferenciais, e com um ganho opcional de 20x (apenas disponível nas medidas diferenciais) que era óptimo nesta medida por serem valores pequenos... Mas por outro lado, como também medimos a queda de tensão na resistência, podemos corrigir a leitura da posição - embora com o ruído, o timming, etc, possa não ser tão eficaz como parece no papel. A medida diferencial (resistência no positivo e ganho 20x) exige que se use mais um pino (é aqui que fica a faltar o tal pino); com a medida não diferencial (resistência no GND e sem ganho), não fica a faltar 1 pino.

Se fizer a medida no GND do servo (lado direito do esquema em anexo, dum post anterior (https://lusorobotica.com/index.php?topic=9174.msg103352#msg103352)) uso o ADC em modo não-diferencial (tendo a vantagem de não precisar de 1 pino extra e assim poder medir a corrente nos 3 servos da perna). Se usasse Vcc (5V) como tensão de referência (Vref) para o ADC, o intervalo "útil" seria 100mV / 5V = 2% do total do ADC. Ora 2% corresponde às contagens de ADC de 0 a 1023 * 2% ~ 20, portanto teria apenas 20 passos (ou 21, se contarmos com o zero), longe dos 50 a 100 desejados. O problema é querer medir um intervalo de tensão muito pequeno relativamente à tensão de referência (Vref), o que resulta no aproveitamento dum intervalo muito pequeno das contagens (gama dinâmica) do ADC. O ideal era ter uma Vref que fosse similar à tensão máxima a medir, 100mV, mas tinha que ser gerada externamente ao tiny e quero evitar hw externo. No entanto o tiny tem uma Vref interna de 1.1V (nominal), que é um valor bastante mais próximo de 100mV do que os 5V de Vcc. Se usar a Vref interna, então o intervalo útil passa a ser de 100mV / 1.1V ~ 9.1%, que corresponde às contagens de 0 a 1023 * 9.1% ~ 93, e portanto está dentro do objectivo de ter uma resolução de 50 a 100 passos. Ainda assim notem o quanto a gama dinâmica do ADC fica desaproveitada.

É preciso dizer-se que na prática é difícil, especialmente num sistema ruidoso como um robot (em que muitas correntes "grandes" circulam de forma dinâmica), aproveitar todas as contagens, pois o bit menos significativo tende a variar mais consoante o ruído. No entanto também temos a possibilidade de fazer várias leituras próximas no tempo e usar a média, até porque a corrente no servo varia muito devagar face à velocidade com que podemos fazer leituras de ADC. Usar a média de várias leituras remove ruído, é equivalente a filtro passa-baixo.

Um outro aspecto que contribui para o ruído nas leituras do ADC é a estabilidade da sua tensão de referência. Para melhorar essa estabilidade, o tiny (assim como, grosso modo, todos os micro-controladores com ADC) dá a possibilidade de se colocar um condensador externo para filtrar ruído da Vref interna (pino AREF/PA0). Normalmente coloco um condensador neste pino, mas como os pinos estão todos ocupados, neste circuito não é possível tê-lo. Não sei concretamente qual será o impacto, nesta aplicação, da ausência desse condensador nas leituras, mas eventualmente acabarei por descobrir...

Há mais 2 ou 3 aspectos que poderíamos discutir mas ficam para outra altura.

To be continued...


Actualizações: Tenho e sempre tive por hábito, em todos os posts com conteúdo que considero instrutivo, ir fazendo pequenas correcções, melhorando ou clarificando ao longo do tempo, por isso ocorrerão modificações deste e de outros posts.

(https://lusorobotica.com/index.php?action=dlattach;topic=9174.0;attach=4286)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 01 de Novembro de 2017, 13:00
@njay obrigado pela explicação.
Desconhecia que se poderia ajustar manualmente um servo, e até que ponto se poderá danificar as engrenagens ou o controlador...

Também tenho um projecto ainda em estudo que teria um servo, facilitaria imenso pequenos ajustes manuais durante a operação, entretanto bloqueei neste aspecto correcional :-\ coisas de inventores eheheh

Se não os movimentares mais depressa do que a velocidade máxima que eles têm em funcionamento não vejo motivos para danificar o controlador. Já fiz isso muitas vezes (o que não quer dizer muito, eu sei :) ). Mas também não abuso e faço movimentos lentos, é para usar esporadicamente, por exemplo para fazer uma calibração de limites, ou para lhes ensinar um movimento novo. As caixas de redução tradicionais de engrenagens dentadas funcionam em ambos os sentidos, e não vejo problema desde que não metas mais torque nem velocidade do que elas foram desenhadas para suportar. Neste momento não vejo esse movimento "forçado" como um problema, nem grande nem pequeno.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 02 de Novembro de 2017, 04:32
Há dias em que é difícil adormecer, e sendo assim...

No "último" post analisei onde se consegue chegar medindo a corrente na linha negativa da alimentação do servo. Neste esquema conseguimos medir a corrente dos 3 servos com o attinyx4, temos 1A / 93 ~ 10.8mA de resolução entre 0 e ~1A e, para uma correcta leitura de posição, temos que lhe subtrair a tensão na resistência de medição de corrente.

Convém salientar que, apesar de termos 93 passos na medida da corrente, como o intervalo de medida é até 1A, na prática temos 0.6A / 1A * 93 ~ 56 passos para um servo mini e 0.8A / 1A * 93 ~ 74 para um servo standard.

Estava a pensar meter um filtro RC na leitura da corrente, porque a corrente do servo, mesmo numa posição estável com algum esforço, não é necessariamente constante e interessa-me um valor médio. O problema é que isto vai interferir com a leitura da posição, porque o valor da tensão da resistência de medida da corrente a subtrair-lhe tem que ser o valor instantâneo, mas com o filtro RC já não é. Se calhar tenho que prototipar este aspecto para averiguar. Já agora, quem é que não percebeu porque é que o facto de haver uma resistência na linha de alimentação negativa do servo vai afectar a leitura da posição por parte do microcontrolador?

Se a resistência for metida no GND, a leitura da posição é um pouco afectada pela carga actual do servo, pelo que seria melhor metê-la no positivo. Fazer a medida no positivo é mais complicado mas possível com o tiny, pois ele suporta medidas diferenciais, e com um ganho opcional de 20x (apenas disponível nas medidas diferenciais) que era óptimo nesta medida por serem valores pequenos... Mas por outro lado, como também medimos a queda de tensão na resistência, podemos corrigir a leitura da posição - embora com o ruído, o timming, etc, possa não ser tão eficaz como parece no papel. A medida diferencial (resistência no positivo e ganho 20x) exige que se use mais um pino (é aqui que fica a faltar o tal pino); com a medida não-diferencial (resistência no GND e sem ganho), não fica a faltar 1 pino.

Olho agora para a técnica de medir a corrente com a resistência inserida na linha de alimentação positiva do servo, o circuito do lado esquerdo no esquema 2 posts atrás, para analisar onde se consegue chegar. Vou começar por usar a mesma resistência de 100mOhm. A leitura da posição não é minimamente afectada pela corrente do servo como com a resistência na sua linha de alimentação negativa ("no GND").
Por outro lado, enquanto na técnica do GND a tensão a medir é entre 0 e 100mV, nesta outra técnica a tensão a medir é entre 4.9V e 5V (Vcc), o que trás os seus problemas. Se usar uma entrada não-diferencial de ADC (o sinal entra directo para o ADC), Vref tinha que ser 5V (Vcc), pois a tensão medida não pode ser superior à Vref do ADC. Isto implica que caio no mesmo problema de "baixa resolução" que encontrei na análise anterior, em que ficava com apenas 20 passos para medir 100mV com Vref = 5V (mas em vez de ter o ADC a dar contagens entre 0 e 20, estaria a dar entre 1023 - 20 = 1003 e 1023).
A solução aqui é então usar uma entrada diferencial de ADC, que o tiny suporta; mas sendo diferencial, implica que há 2 entradas, uma - (negativa) e outra + (positiva), e daí são precisas 2 entradas (pinos) para fazer uma leitura. As entradas ficam ligadas aos bornes da resistência, e portanto uma delas fica ligada aos 5V (Vcc); esta é comum às resistências de medida de todos os servos, e o tiny permite usar o mesmo pino portanto não são precisos 3 (servos) x 2 (entradas) = 6 pinos mas sim apenas 3 (servos) x 1 (entrada) + 1 (entrada) = 4 pinos. Como seriam precisos 15 pinos no tiny mas ele só tem 14, só posso medir a corrente em 2 dos servos e não nos 3, reduzindo o nº de pinos necessários para 3. Não posso ficar sem os sinais de PWM nem os de leitura de posição, mas penso que posso passar sem saber a corrente num dos servos, como já tinha referido anteriormente.
O funcionamento da entrada diferencial de ADC do tiny, de acordo com a datasheet é

Citação de: ATMEL forever ;D!
(...) the differential gain stage amplifies the voltage difference between the selected input pair by the selected gain factor, 1x or 20x (...). This amplified value then becomes the analog input to the ADC.

Matematicamente falando, o valor entregue ao ADC é (V+ - V-) x Ganho. Como quero medir a queda de tensão na resistência, ligo a entrada positiva a Vcc (V+ = Vcc) que é uma dos pinos da resistência e a entrada negativa ao outro pino (V- = tensão após a resistência) (PWRx no esquema). Depois do sinal ser "processado" pelo andar diferencial, o ADC vê um sinal entre 0 e 100mV, tal como no caso não-diferencial. Ou seja, se usar a mesma configuração que usei na leitura com resistência no GND, fico com a mesma resolução, 93 passos de 0 a 1A. No entanto aqui temos o parâmetro extra, o "Ganho". E se usar o ganho de 20x para obter mais passos? Os 100mV transformam-se em 0.1V x 20 = 2V, mas com uma Vref de 1.1V não é possível medir 2V... a não ser que use resistências de 50mOhm. Aí já fico com 0.05V x 20 = 1V e assim um óptimo aproveitamento da gama dinâmica do ADC: 1V / 1.1V * 1023 = 930 passos (91%)! Aproximadamente 1mA por passo, embora não seja necessária tanta resolução. Junta-se ainda a vantagem de um menor "roubo" de tensão de alimentação ao servo.

Infelizmente 50mOhm resultam numa queda de tensão máxima de metade do valor da de 100mOhm para o nosso 1A, uma tensão mais baixa, e portanto mais susceptível de ser corrompida por ruído; será mesmo um problema nesta aplicação? Não sei... mais uma vez, prototipagem precisa-se. O desenvolvimento de uma coisa nova ou que nunca fizemos antes é sempre cheia de "não seis" :).

Alguém tem mais sugestões sem hw externo ou com um mini-mínimo dele?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 02 de Novembro de 2017, 21:06
Estás a pensar adicionar algum MPU giroscópio ou isso será para uma fase mais adiantada ?
Os servos são lixados, os baratinhos analógicos tem muitos problemas controlador caixa redutora etc etc
Os mais carotes são mais precisos gear metal  digitais  mas são muitos euros ???


Bom trabalho  ;)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 03 de Novembro de 2017, 16:46
Agora é só controlo da perna, feito por um micro-controlador pequeno (ATtinyx4).
Mais tarde então virá uma outra placa, com CPU mais potente, para controlar o sistema todo (todas as pernas, etc), que esse sim, terá que ter um giroscópio/acelerómetro.

Quero experimentar ter um hw meio "desengonçado" e depois tentar corrigir o melhor possível num sw adaptável. Mesmo ferido de uma perna consegues arrastar-te e avançar, a ideia é a mesma, fazer o melhor possível com a qualidade de hardware disponível.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 04 de Novembro de 2017, 16:54
Mais atrás escrevi que

Olho agora para a técnica de medir a corrente com a resistência inserida na linha de alimentação positiva do servo, (...) A leitura da posição não é minimamente afectada pela corrente do servo como com a resistência na sua linha de alimentação negativa ("no GND").

mas agora acho que estou a incorrer numa falácia :o

Penso que os servos não têm reguladores de tensão e alimentam o potenciómetro directamente da sua tensão de alimentação. Neste caso e com esta técnica de medida de corrente, como a corrente na resistência causa uma queda de tensão que se subtrai à tensão de alimentação e é o que o servo vê (Vcc(servo) = Vcc - V(resistência)), a leitura do potenciómetro é decididamente afectada.
Para o servo em si não há problema se a sua tensão de alimentação mudar, pois ele quase de certeza que faz uma leitura raciométrica (a confirmar), ou seja, o valor do potenciómetro é simplesmente uma percentagem da tensão de alimentação do servo.
Mas não podemos esquecer que o ADC do tiny vai estar a ler a tensão do potenciómetro tendo como Vref os 5V da sua própria alimentação (Vcc), que é ou pode ser diferente da tensão de alimentação do servo (Vcc - V(resistência)).

Ou seja... qualquer técnica de medida de corrente por queda da tensão de alimentação do servo numa resistência afecta a medida do sinal de posição. Como já tinha referido, a única forma que conheço de resolver isto é que como vou estar também a medir a queda de tensão da resistência (para saber a corrente), posso usar esse valor para corrigir a leitura da posição. Mas isto de certeza que não é tão "linear" como pode parecer, vão haver "imperfeições" causadas pela diferença de hora a que se fazem as medições, os condensadores de desacopolamento, a posição do servo, e talvez outras; agora a questão é saber se essas imperfeições são relevantes ou se são pequenas o suficiente para não afectarem o funcionamento do robot como um todo.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 07 de Novembro de 2017, 18:39
Bom, há outra solução para resolver o problema da medida do sinal ser afectada pelas técnicas de medição de corrente por queda de tensão numa resistência: usar uma leitura diferencial de ADC. Só que neste caso já não há mais pinos... podia arranjar uma solução com um mux analógico, mas aí mais valia passar para outro tiny, maior, como o tinyx61.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 20 de Novembro de 2017, 15:49
Tá toda a gente a seguir o meu raciocínio :)? Ninguém perdido :o?
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 20 de Novembro de 2017, 21:03
A ideia de se usar o potenciómetro interno tem as suas vantagens, se bem que desconheço totalmente como o servo lê esta resistência e que referência tem para se posicionar.

Existirá alguma ligação do potenciómetro a uma das linhas de alimentação?!

Maior dúvida e que não encontro solução, é de se fazer ajustes físicos á posição do servo e este reconhecer que a nova posição é para se manter.
Obs. Não fui muito directo nesta última mas isso é outra história  ::)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 21 de Novembro de 2017, 03:04
Não fui confirmar, mas acho que deve estar ligado dos 5V para o GND em divisor de tensão.

Maior dúvida e que não encontro solução, é de se fazer ajustes físicos á posição do servo e este reconhecer que a nova posição é para se manter.
Obs. Não fui muito directo nesta última mas isso é outra história  ::)

Acho que percebi perfeitamente o que queres dizer e é uma excelente questão sim sr... A forma mais simples de resolver é que simplesmente tem que haver um modo "user adjustment", em que o PWM é desligado (fica a zero) e portanto o servo deixa de fazer força.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 21 de Novembro de 2017, 14:28
A forma mais simples de resolver é que simplesmente tem que haver um modo "user adjustment", em que o PWM é desligado (fica a zero) e portanto o servo deixa de fazer força.

Hummm modo de ajuste, então ao ligar o PWM teria de se ler a nova posição previamente para não voltar ao mesmo, até aqui tudo bem.

A entrada neste modo de ajuste seria através de um comando externo, daí entrar noutro nivel em que desejava que fosse reconhecido e não por um comando.

Ps. Desculpa minhas abordagens, não sei se já deste conta mas estou-me a "aproveitar" do teu tópico para colocar questões de um projecto em que estou a desenvolver, os detalhes da mecânica são surpreendentemente similares, desde a detecção de esforço até ao posicionamento  :o
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 21 de Novembro de 2017, 14:41
Sem stress :). Há outras possibilidades que nunca experimentei. Se a força feita "pelo servo" exceder um certo valor, assumir que é o utilizador que está a forçá-lo e ajustar a posição (PWM) de forma a manter o esforço limitado a esse valor - o que faz o servo acompanhar o movimento que lhe está a ser imposto externamente.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 21 de Novembro de 2017, 21:15
Olá  :)

 Como funciona os servos,sei que para alguns não será novidade.

 https://youtu.be/wpw_mDDFRHQ

Estou perdido, valor resistivo ou pwm ???

Bom trabalho ;)


 
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 21 de Novembro de 2017, 22:43
Se a força feita "pelo servo" exceder um certo valor, assumir que é o utilizador que está a forçá-lo e ajustar a posição (PWM) de forma a manter o esforço limitado a esse valor - o que faz o servo acompanhar o movimento que lhe está a ser imposto externamente.
Excelente, algo que nunca me teria passado pela cabeça  :)
Essa foi uma dica 5*

@josecarlos, obrigado pelo video, o controle é sempre via PWM, interiormente do servo é que converte o sinal para analógico de forma a poder ser comparado com o potênciómetro do eixo e fazer seus ajustes automaticamente.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 29 de Novembro de 2017, 02:42
Estou perdido, valor resistivo ou pwm ???

Não entendi qual é a tua dúvida, explica lá.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 29 de Novembro de 2017, 02:45
Depois de ver isto já só fico contente quando das minhas perninhas robóticas conseguirem fazer o mesmo :D

https://www.youtube.com/watch?v=fRj34o4hN4I
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: zordlyon em 29 de Novembro de 2017, 10:34
Por acaso ja tinha visto, muito bom mesmo!
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 29 de Novembro de 2017, 21:11
 

Penso que os servos não têm reguladores de tensão e alimentam o potenciómetro directamente da sua tensão de alimentação. Neste caso e com esta técnica de medida de corrente, como a corrente na resistência causa uma queda de tensão que se subtrai à tensão de alimentação e é o que o servo vê (Vcc(servo) = Vcc - V(resistência)), a leitura do potenciómetro é decididamente afectada.
Para o servo em si não há problema se a sua tensão de alimentação mudar, pois ele quase de certeza que faz uma leitura raciométrica (a confirmar), ou seja, o valor do potenciómetro é simplesmente uma percentagem da tensão de alimentação do servo.

Boas :)

A duvida é se vais  mexer nos valores das resistências
Sabendo que 90 graus no servo representa 2,5v + 2,5v- etc etc como vais contornar isso.



Em tempos fiz uma brincadeira com 2 LDR  e compreendi melhor o funcionamento

 https://youtu.be/BS--JyK2XMo

 Não estou a duvidar dos teus conhecimentos mas sim participar e aprender mais um pouco ;)

Bom trabalho 
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 30 de Novembro de 2017, 14:48
Tamos cá para aprender e ensinar ;)

Citação de: josecarlos
A duvida é se vais  mexer nos valores das resistências
Sabendo que 90 graus no servo representa 2,5v + 2,5v- etc etc como vais contornar isso.

Não vou mexer nem preciso de contornar nada. Vou apenas "sacar uma puchada" do sinal de posição do servo, que vem do potenciómetro de medida de posição (cujo veio está agarrado ao eixo do servo). Vou abrir os servos e soldar um fio ao pino central do potenciómetro, para ter acesso exterior à posição actual do (eixo do) servo.

Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 30 de Novembro de 2017, 23:38
Boas :)

Tamos cá para aprender e ensinar ;)



Não vou mexer nem preciso de contornar nada. Vou apenas "sacar uma puchada" do sinal de posição do servo, que vem do potenciómetro de medida de posição (cujo veio está agarrado ao eixo do servo). Vou abrir os servos e soldar um fio ao pino central do potenciómetro, para ter acesso exterior à posição actual do (eixo do) servo.



O que eu fiz  no video anterior  foi mais ou menos isso só que em vez do ( micro ) tens os LDR que te dá a possibilidade de seguir o movimento do sol  por exemplo.

Eu estou  cá mais interessado em aprender  ;)

 

 


Título: Re: Ideias para construir um quadrúpede simples
Enviado por: dropes em 02 de Dezembro de 2017, 11:43
Tenho andado aqui a pensar nesta coisa do servo, realmente há muitas que se podem fazer  ;D

- Uma delas e que até seria interessante, uma espécie de reforço muscular em que um pequeno movimento seria interpretado pelo servo e este acompanharia, aí a força seria superior... algo como uma prótese.

- Outra seria de ignorar o potenciómetro interno, se a força externa tem um sentido, então o servo antes de se por a movimentar ao sabor do PWM, daria primeiro um pequeno movimento para cada lado, fazia a leitura de corrente correspondente, e saberia para qual destes sentidos teria sido dado a força exterior; a seguir ajustava o movimento de forma a acompanhar.

Embora tenha algum "sentido", na prática pode não funcionar linearmente, inicialmente tinha pensado em colocar uns switchs, o que excluiria o automatismo desejado.
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 07 de Março de 2018, 19:53
Podes tirar ideias Njay

https://youtu.be/iGEdF5QsDB8

Este em vez de ladrar vai miar  ;D ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 07 de Março de 2018, 22:27
Boa :) Por acaso já tinha visto, tb vejo o Hackaday :)
Os gatos em termos comportamentais são bem mais fáceis de "robotizar" :) (do que os cães)
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: senso em 08 de Março de 2018, 11:56
Depende, um cão é mais "fácil" de ensinar, programar busca deve ser bem mais fácil do que programar uma personalidade semi-narcisista semi I'm a god que os gatos possuem..
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 08 de Março de 2018, 12:26
Não é, porque no caso do gato nem tens que "ouvir um busca", tens um comportamento pré-definido com randoms e siga :D

Ou como dizia um gajo nos comentários, se tiveres um bug e o robot nem sempre responder, nem é bug, é feature :D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: TigPT em 08 de Março de 2018, 14:31
Não é, porque no caso do gato nem tens que "ouvir um busca", tens um comportamento pré-definido com randoms e siga :D

Ou como dizia um gajo nos comentários, se tiveres um bug e o robot nem sempre responder, nem é bug, é feature :D

verdade
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: josecarlos em 08 de Março de 2018, 19:37
Gatas porque hoje é dia da mulher ;D ;D
Título: Re: Ideias para construir um quadrúpede simples
Enviado por: Njay em 04 de Junho de 2018, 19:56
Há uns chips novos da ATMEL Microchip, muito interessantes e baratuchos (<1€), o ATtiny1616 (20 pinos) parece-me porreiro para controlador de pernas:

https://www.microchip.com/wwwproducts/en/ATTINY1616

Têm vários contadores, 3 DACs e 3 comparadores de tensão entre outras coisas... devem ter sido desenhados a pensar em controle de motores BLDC.