Semana 7

A semana foi exclusivamente dedicada à resolução do problema do controlo de IO’s do Robot. A solução encontrada passa pela utilização de um Arduino Leonardo Ethernet que vai comandar, através de relés, o valor das entradas digitais do robot. No robot estará a correr um programa TP, em background, que irá fazer a replicação das entradas digitais para as saídas do robot que se forem utilizar.

De forma a implementar esta solução realizaram-se as seguintes tarefas:

  • Desenvolvimento de um programa .ino, servidor tcp/ip que está a espera de receber um caractere char de um client. O programa ao receber o caractere converte-o para um número inteiro segundo a tabela ascii e com esse inteiro descodifica-o de forma a obter a função do comando: Ler, Ligar ou Desligar uma saída e o número da saída ao qual se pretende aplicar a ação;
  • Desenvolvimento de um nodo ROS vs_IO_client, client do programa Arduino e subscritor de um tópico publicado pelo nodo de controlo do robot vs_canuc_client. O nodo de controlo se quiser alterar uma saída, publica uma mensagem, o nodo vs_IO_client recebe a mensagem, codifica-a, converte-a segundo a tabela ascii e envia-a para o server que está no arduino. Quando a função é de leitura o nodo fica à espera que o servidor lhe retorne o estado da saída em questão.
  • Conceção do programa TP de replicação de entradas para as saídas que corre em paralelo com o ROS no controlador do manipulador. O programa lê o estado das entradas digitais, escreve o seu estado em registos e qualquer saída definida pelo utilizador pode alterar o seu estado em função do valor do registo.

IMG_20170406_151751

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s