Semana 10

  • Preparação definitiva da placa de controlo dos I/O’s e sua montagem na caixa modelada e impressa para o efeito;
  • Familiarização com o laser Hokuyo UMT-30LX;
  • Programação de uma launch file para simultâneamente correr dois nodos ros, responsáveis por publicar os dados dos lasers em dois tópicos distintos. A launch file configura ainda diferentes parâmetros distintos para os dois lasers, nomeadamente a amplitude, referencial de origem, porta, …;
  • Criação de um nodo ros (vs_laser_receptor) responsável por subscrever os tópicos ros com os dados dos lasers e fazer a análide dos dados detetando se existe alguma coisa nas proximidades dos lasers com dois níveis de severidade de alarme. O nodo já publica o laser que está em alarme e qual o seu nível;
  • Início da escrita do documento de dissertação.
Advertisements

Semana 9

  • Criação de um novo nodo vs_frame responsável pela gestão de referenciais que tem as seguintes funções:
    • Publicar uma transformação tf do referencial do laser (laser) em relação ao referencial do robot (base_link), que permite a visualização dos dados do laser juntamente com o robot, sendo possível a monitorização e controlo do seu estado;
    • Publicar outra transformada do referencial fixo (world) para o referencial do robot (base_link). Esta última transformada permite que o robot se mova pelo espaço, simulando o movimento da plataforma num espaço amplo;
  • Criação de um tópico subscrito pelo nodo vs_frame que transposta as coordenadas x, y da plataforma e ainda a sua rotação. O tópico é publicado pelo nodo vs_plataformsim, o nodo que simula a plataforma e que faz sentido que saiba a localização da plataforma;
  • Atualização dos nodo vs_keyboard de forma a se poder controlar a localização e rotação da plataforma no espaço através das setas do teclado, para tal foi necessário a criação de mais um tópico, responsável por enviar os comandos dados pelas setas do nodo vs_keyboard para o nodo vs_platform_sim;
  • Preparação da Demo 0 em que o robot pega em objetos que serão transportados na placa superior de suporte do robot e descarrega-os na parte da frente da plataforma;
  • Impressão da caixa para a placa de controlo de I/O’s, faltando apenas a tampa!;
  • Conclusão da elaboração do esqueleto da dissertação.

Semana 8

  • Desenvolvimento e conceção de uma placa eletrónica para controlo dos IO’s do robot;
  • Projeto de uma caixa para impressão 3D para acomodar a placa e o Arduino de controle;
  • Realização do esquema elétrico da placa em Eagle;
  • Preparação de duas fichas provisórias de ligação da placa ao robot;
  • Instalação das drives do laser Hokuyo URG-04LX-UG01 que será o sensor de percepção usado no sistema robótico;
  • Instalação da package ROS de leitura de dados do laser e verificação do seu funcionamento através da sua visualização no RViz;
  • Ínicio da escrita: preparação do esqueleto escrito da dissertação.

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