[WIP] Modular Snake
Enviado: 03 nov 2020, 23:02
A ideia surgiu em discussão com o Laurens Valk do projecto Pybricks, a respeito de uma das ferramentas incluídas por eles no pacote "pybricksdev" e que permite controlar vários hubs em simultâneo (a ferramenta em questão chama-se "Jupiter Notebook" e poderá dar jeito para as coisas mais díspares como ambientes de formação, emuladores ou... coordenação de enxames):
Tenho 3 hubs do Boost disponíveis. Que poderei fazer agrupando os 3 numa única entidade coordenada por um sistema central à custa de um misto de python e micropython?
Claro... uma cobra pitão!
(ou se calhar uma mera minhoca)
A ideia é fazer a coisa modular, repetindo "segmentos" da cobra, tantos quantos o coordenador suportar (limitado pelo número máximo de sessões BLE simultâneas) e evidentemente dentro das minhas posses - se isto se revelar concretizável, talvez mais 2 ou 3 segmentos terminados por uma cabeça (que será provavelmente um hub Control+).
Cada segmento controla a ligação ao seguinte por intermédio de uma junta que combina os 2 motores internos do hub (baseado no "Differential-drive pan and tilt mechanism, Lego Mindstorms NXT" do "jaydavey9" - https://www.youtube.com/watch?v=NSRRrAH-9cA). Implementar o diferencial não foi muito difícil, fazê-lo suficientemente "teso" para aguentar o peso do seguinte sem as engrenagens escorregarem ou desmancharem já foi mais difícil (no video vemos duas versões - o elemento da direita foi a primeira implementação, mais fraca, o da esquerda é a segunda implementação, mais robusta).
Difícil mesmo é assegurar a robustez da ligação entre cada módulo, não estou a ver como implementar um género de junta universal com 2 graus de liberdade.
Uma surpresa positiva foi a força dos motores internos do Boost - quando combinados com o diferencial é preciso ter cuidado para não esforçar as engrenagens senão isto desmonta-se tudo num instante.
Tenho 3 hubs do Boost disponíveis. Que poderei fazer agrupando os 3 numa única entidade coordenada por um sistema central à custa de um misto de python e micropython?
Claro... uma cobra pitão!
(ou se calhar uma mera minhoca)
A ideia é fazer a coisa modular, repetindo "segmentos" da cobra, tantos quantos o coordenador suportar (limitado pelo número máximo de sessões BLE simultâneas) e evidentemente dentro das minhas posses - se isto se revelar concretizável, talvez mais 2 ou 3 segmentos terminados por uma cabeça (que será provavelmente um hub Control+).
Cada segmento controla a ligação ao seguinte por intermédio de uma junta que combina os 2 motores internos do hub (baseado no "Differential-drive pan and tilt mechanism, Lego Mindstorms NXT" do "jaydavey9" - https://www.youtube.com/watch?v=NSRRrAH-9cA). Implementar o diferencial não foi muito difícil, fazê-lo suficientemente "teso" para aguentar o peso do seguinte sem as engrenagens escorregarem ou desmancharem já foi mais difícil (no video vemos duas versões - o elemento da direita foi a primeira implementação, mais fraca, o da esquerda é a segunda implementação, mais robusta).
Difícil mesmo é assegurar a robustez da ligação entre cada módulo, não estou a ver como implementar um género de junta universal com 2 graus de liberdade.
Uma surpresa positiva foi a força dos motores internos do Boost - quando combinados com o diferencial é preciso ter cuidado para não esforçar as engrenagens senão isto desmonta-se tudo num instante.