• Nenhum resultado encontrado

Tendo por base a pesquisa realizada acerca dos conteúdos das aulas de Robótica em diferentes instituições académicas e a revisão das aplicações já existentes na área, tornaram-

se evidentes as características mais significativas que um simulador para ensino e treino de Robótica deve possuir:

• Utilização de uma linguagem de programação neutra e universal;

• Robô(s) capaz(es) de executar trajetórias, verificando possíveis desvios em função da parametrização (suavização de arestas em movimentos consecutivos) utilizada nas instruções de programação;

• Visualização de configurações singulares e sua implicação no funcionamento do robô;

• Possibilidade de calibração do referencial da ferramenta; • Interação com dispositivos e sistemas externos.

Nesta ótica, os requisitos e ambições do projeto que aqui se relata são semelhantes ao trabalho realizado em [5]. Concretamente, refere-se:

1. À escolha de uma linguagem de programação universal para controlo do RVP e posterior utilização das funcionalidades robóticas desenvolvidas;

2. Ao desenvolvimento de métodos que permitam a execução de movimentos básicos pelo RVP;

3. À utilização de ferramentas e definição de TCPs;

4. À possibilidade de comunicação com dispositivos/software externo; 5. À fácil interação do utilizador com o ambiente virtual.

Relativamente à linguagem de programação em particular, esta será especificada no Capítulo 3, onde também se justificará melhor a escolha da sua sintaxe. De momento, é importante reter que uma linguagem universal confere um nível de conforto superior para o utilizador, mas requer um suporte técnico online mais abrangente.

Quanto à programabilidade dos movimentos do robô, definiu-se que este projeto iria cobrir os principais tipos de movimento (ponto a ponto, linear e circular), bem como a possibilidade de manipulação das juntas individualmente. Será permitida a suavização das arestas em movimentos consecutivos com base num parâmetro global que define a zona de erro. A Tabela 2.2 enuncia e resume os movimentos a implementar no projeto.

Além da especificação de movimentos, é necessário abordar as ferramentas que o robô utilizará. De forma a tornar a interação do utilizador com a aplicação mais simples, decidiu-se eliminar o suporte de funcionalidades CAD e restringir o número de ferramentas existentes a duas: uma garra e uma ferramenta de sucção. Será possível a definição de vários TCPs bem como a alteração das mesmas por parte do utilizador.

Estando o robô apto a operar, deve depois ponderar-se um meio de comunicação com equipamentos exteriores, nomeadamente PLCs. A aplicação deve assim ter a capacidade de detetar e gerar eventos que permitam o handshake do robô com equipamentos externos (por exemplo, um rising edge num sensor) e, se possível, mostrar estas ocorrências numa janela de visualização.

Ainda relativamente à interação do programador com o ambiente, deve ser possível pausar/parar programas e imprimir mensagens de aviso e alarme para o utilizador.

Ainda em torno da interface gráfica é importante que seja possível a manipulação do TCP bem como a alteração da sua posição e orientação relativamente ao elemento terminal e a visualização e alteração dos valores das juntas do robô.

Tabela 2.2 – Movimentos programáveis a incluir no projeto do RVP.

Funcionalidade Descrição

Movimento ponto a ponto

Movimento que envolve posicionar o elemento terminal nos pontos desejados sem ter em consideração o trajeto a ser seguido entre esses pontos [47]. É um movimento otimizado em que os eixos do robô se movem de forma síncrona – a velocidade de cada junta é ajustada de forma a que, ainda que os valores das juntas sejam diferentes, todas acabam o seu movimento ao mesmo tempo.

Movimento linear Movimento que implica uma trajetória retilínea entre os dois pontos especificados.

Movimento circular

Movimento que implica uma trajetória em arco entre 3 pontos (a posição atual do robô, um ponto intermédio e o ponto final).

Suavização de arestas em movimentos consecutivos

Movimento em que o robô rasa os pontos especificados, passando pelos mesmos com um desvio dado como parâmetro pelo utilizador.

Movimento junta-a-junta (dando como parâmetro o ângulo pretendido para uma ou várias juntas)

Movimentação de uma junta de cada vez dado um determinado ângulo. A nível industrial não é utilizado, mas tanto num contexto de ensino como para a reprodução de certas funções no RVP, é útil.

A Tabela 2.3 resume as funcionalidades da nova aplicação do RVP.

É muito importante referir que, pese embora as caraterísticas funcionais do RVP a desenvolver sejam inspiradas ou mesmo decalcadas da primeira versão do mesmo, o suporte físico e lógico de ambos é profundamente distinto. Concretamente, o novo projeto vai basear-se numa simulação maioritariamente cinemática retirando-lhe o peso computacional, mas também o profundo realismo de um motor físico e, ortogonalmente, num algoritmo de cinemática inversa mais prático, aplicável a qualquer robô de seis eixos. Esta questão será esclarecida no Capítulo 3, onde serão devidamente apresentados os aspetos tecnológicos e lógicos do RVP.

As diferenças, vantagens e dificuldades desta nova abordagem relativamente à anterior serão referidas e sublinhadas ao longo da presente dissertação.

A terminar este ponto, e na continuidade do parágrafo anterior, importa dizer que não será abordado nenhum método para verificação de trajetória e deteção de potenciais colisões já que, na ausência de um motor físico, a complexidade e o volume de trabalho exigidos não são compatíveis com o tempo disponível para a dissertação. O mesmo pode ser dito acerca do cálculo e da visualização de configurações alternativas do robô. Embora estas características sejam fundamentais num simulador de Robótica, é importante reiterar que o Factory I/O não pertence a esta categoria específica de simuladores e, como tal, nesta fase de desenvolvimento e teste, decidiu manter-se a simplicidade da aplicação. Todavia, há intenção de incluir estas funcionalidades em futuros desenvolvimentos do RVP e respetiva integração com o Factory I/O. São tudo questões sublinhas no final da dissertação na forma de propostas de trabalhos futuros.

Tabela 2.3 – Resumo das funcionalidades esperadas para a aplicação do RVP.

Funcionalidade Descrição

Especificação de movimentos

Movimento ponto-a-ponto, linear, circular e junta-a- junta;

Controlo da velocidade e suavização de arestas em movimentos consecutivos.

Incorporação de ferramentas

Inserção de duas ferramentas (uma garra e uma de sucção);

Definição e possibilidade de alteração dos TCPs definidos.

Interação com o ambiente

Conexão com dispositivos exteriores;

Possibilidade de pausa/paragem dos programas criados e impressão de mensagens para o utilizador.

Definição da linguagem de programação

Especificação de pontos-alvo, vetores cartesianos, vetores de orientação e referenciais

Definição da interface gráfica

Manipulação do TCP;

Visualização e alteração da posição e orientação do TCP em relação ao elemento terminal;

Visualização e alteração dos valores das juntas.