terça-feira, 26 de março de 2013

Op Amp Arduino Shield

De maneira a amplificar os sinais diferenciais é necessário utilizar um shield amplificador para o Arduino Fio que vou utilizar. Visto que não encontrei nada parecido, à venda ou em esquema, tive de conceber um esquema eléctrico para este efeito. Como mostra a imagem a baixo, usei amplificadores instrumentados diferenciais rail-to-rail INA122 da Texas Instruments e um filtro passa-baixo para limpar possível ruído antes de passar os sinais para o ADC do Arduino.



Alem disso utilizo condensadores de pequena capacidade para corrigir alguma flutuação da fonte de tensão. Do lado esquerdo da imagem estão representados os pinos de alimentação e output das 4 células.

Depois disto foi necessário fazer o esquema do shield. Após uma semana a bater com a cabeça no Eagle e muita ajuda do Prof. Dr. Ricardo Pascoal, tenho 2 versões para o shield.


A versão acima foi feita com a ajuda e apoio do Prof. Ricardo. Os componentes foram colocados de maneira a que o filtro passa-baixo ficasse o mais perto das entradas ADC. Aplicou-se um plano de terra em toda a parte de baixo e na parte superior esquerda da do topo do shield. Também foi aplicado um plano VCC para uma rápida e eficiente distribuição  de tensão.


Esta outra versão foi baseada na minha versão inicia e optimizada para montagem dos componentes e eliminação de ruído. A ultima é feita com um plano de terra na superfície de baixo do shield e um plano de VCC na parte de cima.

Agora só falta escolher!

sexta-feira, 22 de março de 2013

A espera interminável

Pensei que esta semana montasse o circuito final para experimentar se os componentes que escolhi não dão problemas. Mas....

Não chegou.

Assim, como me tinha proposto, acabei de definir as configurações para visualizar no RViz as 8 células de carga. Neste momento, o RViz mostra as 8 células onde apenas 4 estão ligadas aos arduinos e por isso as outras 4 mostram ruído. As células que estão ligadas , de maneira a mostrar que estão "agarradas" ao referencial do pé correspondente, estão a descrever uma oval. O referencial é que se mexe não as células. Aqui fica o primeiro .gif que fiz para a posteridade.


Algo estranho acontece com estas células. Algumas, não todas, mostram um offset só quando são pressionadas é que "voltam" ao inicio da escala e começam a aumentar de valor. O Ricardo disse-me que poderia ser do circuito estar com mal contactos ou com algumas imprecisões das resistências de ganho que neste momento estão ligadas. Espero que a montagem final não tenha este tipo de questão e espero pelo material para fazer isso.
EDIÇÃO: Este problema já foi resolvido. Estava a fazer côdea no código do Arduino.

Além disso, também criei um novo modulo de ROS chamado humanoid_control. E como podemos perceber pelo nome será o modulo onde iremos fazer o controlo do humanóide, mais precisamente os seus servomotores. Neste momento apenas tem um binário que faz a publicação das transformações dos referenciais dos pés e é aqui que sofrem as transformações que vêem na animação acima. O objectivo final deste modulo é estar sempre a publicar o estado das juntas do robô e quando receber uma ordem de outro modulo para movimentar alguma junta, enviar essa ordem em vez/conjunto com a palavra série que retorna o estado do servo. A seguir mostro um diagrama com os executaveis e as menssagens trocadas entre eles.



No resto do tempo, tentei escrever alguma coisa para a tese mas começar textos é-me muito difícil, principalmente as introduções. Depois fiquei doente, fui à consulta da fisioterapia, fiquei mais doente, fiquei melhor e escrevi esta entrada neste blog.

terça-feira, 19 de março de 2013

Apresentação da Tese de Mestrado

Chamo-me Emílio Estrelinha e este blog serve para fazer updates a minha tese de mestrado com o mesmo nome deste blog.

Aqui  está uma pequena apresentação que fiz no inicio do semestre para apresentação e discussão no LAR ( Laboratório de Robótica e Automação).