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: Ideias para construir um quadrúpede simples  (Lida 36330 vezes)

0 Membros e 3 Visitantes estão a ver este tópico.

Offline josecarlos

  • Mini Robot
  • *
  • Mensagens: 393
Re: Ideias para construir um quadrúpede simples
« Responder #45 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?


Online dropes

  • Mini Robot
  • *
  • Mensagens: 2.189
Re: Ideias para construir um quadrúpede simples
« Responder #46 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. ::)

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #47 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.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #48 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 :)

Offline LVirtual

  • Mini Robot
  • *
  • Mensagens: 472
  • http://www.s-tronika.com
    • S-Tronika - Serviços Técnicos de Electrónica
Re: Ideias para construir um quadrúpede simples
« Responder #49 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.
« Última modificação: 29 de Outubro de 2017, 08:53 por LVirtual »
"O defeito mais grave dos humanos, aquele que coloca mais obstáculos à sua evolução, é a crença profundamente arreigada na infalibilidade dos seus raciocínios e dos seus pontos de vista."

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #50 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).
« Última modificação: 29 de Outubro de 2017, 20:22 por Njay »

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #51 em: 30 de Outubro de 2017, 15:31 »
Electrónica... Tenho aqui à mão uns ATtiny4x (datasheet) 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...
« Última modificação: 30 de Outubro de 2017, 17:02 por Njay »

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #52 em: 30 de Outubro de 2017, 17:31 »
Ou então salto logo para um ATtinyx61 (datasheet), 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 ...
« Última modificação: 30 de Outubro de 2017, 17:33 por Njay »

Online jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.947
  • NERD!
Re: Ideias para construir um quadrúpede simples
« Responder #53 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.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #54 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).
« Última modificação: 30 de Outubro de 2017, 19:09 por Njay »

Offline josecarlos

  • Mini Robot
  • *
  • Mensagens: 393
Re: Ideias para construir um quadrúpede simples
« Responder #55 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 

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


Online dropes

  • Mini Robot
  • *
  • Mensagens: 2.189
Re: Ideias para construir um quadrúpede simples
« Responder #56 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?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #57 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).
« Última modificação: 31 de Outubro de 2017, 00:19 por Njay »

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Ideias para construir um quadrúpede simples
« Responder #58 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"

Offline LVirtual

  • Mini Robot
  • *
  • Mensagens: 472
  • http://www.s-tronika.com
    • S-Tronika - Serviços Técnicos de Electrónica
Re: Ideias para construir um quadrúpede simples
« Responder #59 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...
"O defeito mais grave dos humanos, aquele que coloca mais obstáculos à sua evolução, é a crença profundamente arreigada na infalibilidade dos seus raciocínios e dos seus pontos de vista."