Página 1 de 2

Triplex - uma experiência com rodas "omni"

Enviado: 26 fev 2017, 19:26
por CyberX
Quando o [member=956]AGarcia[/member] lançou a ideia dos novos plates 27255 Nexo Knights lembrei-me logo de experimentar umas rodas do tipo "omniwheel".

Há por aí umas quantas 100% LEGO mas nunca experimentei nenhuma por isso nada como começar pelas minhas:


Ainda tem algum trabalhinho pela frente para não se desconjuntarem em andamento mas gosto da experiência.

O controlo é complexo - no video usei a App do SBrick e só uma vez consegui usar 3 controlos em simultâneo - a parte logo no inicio, quando roda sobre si mesmo. A maior parte do video foi só com um controlo mas se estiverem atentos vêm pelo menos uma vez o bicho a andar a direito, com 2 controlos de igual intensidade em simultâneo (uma sorte).

Estou a usar as baterias Li-Ion portanto a velocidade, mesmo com motores "L" é bastante boa (o SBrick reportava 10.7 V).

Para controlar o Triplex vai ser necessária alguma matemática (sobretudo trigonometria) por isso os próximos desenvolvimentos vão implicar python (tanto quanto eu saiba os perfis do SBrick não permitem fórmulas matemáticas).

Imagem

Mais algumas fotos aqui.

Re: Triplex - uma experiência com rodas "omni"

Enviado: 26 fev 2017, 19:41
por AGarcia
Muito fixe!
:clapping: :clapping: :clapping:

Re: Triplex - uma experiência com rodas "omni"

Enviado: 26 fev 2017, 22:14
por AVCampos
Bem fixolas! Efectivamente, o controlo de uma plataforma com "Kiwi Drive" (só agora descobri o termo :D) não é simples de se fazer à mão... o mais fácil será talvez um pBrick MINDSTORMS fazer os cálculos necessários para ter um comando de translação X-Y e outro de rotação.

aqui mais um bitaites sobre o que esta configuração consegue fazer.
Imagem

Re: Triplex - uma experiência com rodas "omni"

Enviado: 28 fev 2017, 11:14
por CyberX
Primeira demonstração de movimento:



Ainda não há matemática envolvida, apenas uso scripts muito curtos (bash shell) para comandar simultâneamente dois motores (cada par faz mover o Triplex a direito) ou três motores (gira em torno de si mesmo).

As rodas soltam-se muito fácilmente (como se pode ver no final) e também desmancham-se muito fácilmente. Tenho de as refazer, se der muito trabalho abandono a ideia das plates Nexo e uso uma das muitas ideias Technic que há por aí.

[paleio nerd]
Quanto à matemática ainda estou hesitante se vou para python ou se me fico pelo bash.
O python tem libraries de matemática que facilitam muito a parte dos vectores mas a parte do Bluetooth LE (por causa do Sbrick) fica um pouco mais complexa. Só que o python mais as libraries pesam um bocado no EV3 e eu gostava de ver isto a funcionar no/com EV3.
O bash em si é muito simples, o linux tem um comando "bc" (Bash Calculator, salvo erro) baseado em C que permite fazer os cálculos mas dá uma trabalheira encadear tudo em shell scripts (sobretudo converter float para inteiro e depois para hexadecimal e finalmente texto). Tem uma vantagem, não consome quase nada e sendo compilado em C provavelmente corre bastante rápido até no EV3.
[/paleio nerd]

Para quem quiser fazer isto 100% LEGO tem bom remédio: troca o SBrick por 2 receptores PF IR. Mas precisa à mesma de uma forma de enviar comandos PF IR programaticamente (como por exemplo o HiTechnic IRLink ou o meu sistema baseado em adaptadores FTDI).

Re: Triplex - uma experiência com rodas "omni"

Enviado: 28 fev 2017, 13:23
por gads
Mais uma bela experiência  :fixe:

Re: Triplex - uma experiência com rodas "omni"

Enviado: 28 fev 2017, 18:53
por CyberX
Segunda versão - rodas "omni" um pouco mais robustas, o número de vezes que se desmontam reduziu bastante, assim como o número de vezes que se soltam.



Imagem

Por sugestão do nosso amigo [member=7016]oracid[/member] retirei os pneus.
Faz mais barulho no chão e tive de aumentar os timings dos meus scripts para um pouco mais que o dobro para compensar. Os pneus diminuem o espaço entre as rodas - como estou a usar uma disposição triangular elas diferem 120º em vez dos 60º da maior parte das omniwheels por aí. O espaço curto entre as rodas é importante porque convém que toquem sempre duas no chão e além disso que rodem em vez de deslizar apenas.
Se mantiver a versão com a plate Nexo provavelmente reponho os pneus. Mas o mais provável é que abandone a plate e vá para algo mais Technic, para reforçar a estrutura das rodas.
Os miúdos gostam do movimento não-convencional. Quando vai a direito faz lembrar uma lagosta :)

Mais algumas fotos no mesmo álbum do Google: https://goo.gl/photos/fPLcX85WjdcjLCKD7

For English readers: a shorter version of this text can be read at the video bottom notes if you watch in Youtube.

Re: Triplex - uma experiência com rodas "omni"

Enviado: 28 fev 2017, 19:52
por AVCampos
[quote="CyberX"]
Os miúdos gostam do movimento não-convencional. Quando vai a direito faz lembrar uma lagosta :)[/quote]
:D

Tens de usar peças vermelhas, e meter uns enfeites e antenas para parecer uma. :D

Re: Triplex - uma experiência com rodas "omni"

Enviado: 28 fev 2017, 19:55
por CyberX
[quote="AVCampos"]
[quote="CyberX"]
Os miúdos gostam do movimento não-convencional. Quando vai a direito faz lembrar uma lagosta :)[/quote]
:D

Tens de usar peças vermelhas, e meter uns enfeites e antenas para parecer uma. :D
[/quote]

Apesar de benfiquista, vermelho é uma cor rara cá por casa no que diz respeito ao Technic.
Talvez lá para a versão 0.99 ou São João da Madeira (o que vier primeiro) lhe vista qualquer coisa. Mas primeiro as rodas e a programação.

Re: Triplex - uma experiência com rodas "omni"

Enviado: 01 mar 2017, 02:50
por CyberX
Tentativa de mover o Triplex a direito usando os 3 motores em simultâneo:


Algum cálculo trigonométrico e matricial (baseado em http://thetechnicgear.com/2014/04/howto ... sing-lego/) permite calcular a intensidade a aplicar aos 3 motores para fazer o Triplex andar em qualquer direção em linha recta.

Infelizmente não resulta bem:
- as rodas não permitem precisão suficiente, tenho de ir para uma configuração mais "redonda" e "macia" como as do Mestre Isogawa:

- os resultados obtidos para a direção que escolhi obrigam a valores baixos para 2 motores, abaixo do patamar da maioria dos motores LEGO (~30%). Tentei compensar "à mão" mas o melhor que consegui foi o que se vê no video.

Claro que se deslocar o Triplex sempre segundo o eixo de um dos motores não há problemas com o segundo ponto (o motor desse eixo fica desligado e os outros motores rodam à mesma velocidade em sentidos opostos) por isso posso dirigi-lo em qualquer direção rodando primeiro e deslocando a direito depois. Mas depois de queimar as pestanas com trigonometria e cálculo matricial não é a mesma coisa :)

Re: Triplex - uma experiência com rodas "omni"

Enviado: 02 mar 2017, 07:06
por oracid
Sorry I don't understand all what you are talking about, but I think the Isogaway idea is very good.

Re: Triplex - uma experiência com rodas "omni"

Enviado: 02 mar 2017, 07:29
por CyberX
[quote="oracid"]
Sorry I don't understand all what you are talking about, but I think the Isogaway idea is very good.
[/quote]

Hi!
Last post I explained that I used some trigonometric calculations to decide what values to use on each motor to achieve a movement in a specific direction.
Unfortunately for some directions (like the one in the video) some results are lower than the LEGO motors threshold. In the video example, 2 motors should use ~30% voltage and the other motor ~70%. Only the last motor spins, the other stall (even if I pick the Triplex in the air).
So I had to adjust the values manually and the final movement is not a straight line.

The other reason for not so precise movement is each wheel not being close enough to a circle. Good omniwheels have more sub-wheels in touch with the ground, like Isogawa's, so the wheel rolls more and bounces less.

I have not enough spares to try Isogawa, will probably try this one:
Imagem
from this site:
http://trinityroboticsteams.weebly.com/ ... signs.html

Re: Triplex - uma experiência com rodas "omni"

Enviado: 09 abr 2017, 01:40
por CyberX
O PLUGfest de hoje foi muito engraçado mas a vida não é só queimar pestanas portanto voltemos ao ABS:

A versão 0.3 do Triplex já tem umas omni wheels do Mestre Isogawa e uma frame à volta delas para evitar que se desmanchem com o uso. Se não descobrir nenhum erro crasso será assim que irá para o BRInCKa de São João da Madeira, faltando agora novamente queimar as pestanas com a programação - a matemática está feita, convertê-la em código não há de ser nada do outro mundo mas usar o modo regulado dos motores é que para mim vai ser um desafio.

Imagem

Imagem

Imagem

Imagem

Imagem

O álbum do projecto Triplex, onde estão estas fotos e mais algumas, está no Google Photos:
https://goo.gl/photos/fPLcX85WjdcjLCKD7

Re: Triplex - uma experiência com rodas "omni"

Enviado: 09 abr 2017, 07:50
por CyberX
E o video com a quick demo:



Estou muito satisfeito com a estrutura, acho que vou mesmo levar assim para SJM.

Re: Triplex - uma experiência com rodas "omni"

Enviado: 09 abr 2017, 17:53
por CyberX
Um video melhorzinho, comandando o Triplex a partir do teclado do meu portátil (Wi-Fi, SSH, sim voltei ao Python e ao ev3dev)



O código (30 e poucas linhas) está no meu blog:
http://ofalcao.pt/blog/2017/triplex-an-holonomic-robot

Re: Triplex - uma experiência com rodas "omni"

Enviado: 09 abr 2017, 18:40
por PocasNuckie
Como diz o Gordo "Espectáaaaaaaaaaaaaaculo"  :clapping: