DESENVOLVIMENTO DE INTERFACES PARA A OPERAÇÃO DE UMA PLATAFORMA DE ENSAIOS DE EMBARCAÇÕES MARIANE MENDES MEDEIROS1; VITOR IRIGON GERVINI2; VAGNER SANTOS DA ROSA3; SEBASTIÃO CÍCERO PINHEIRO GOMES4; Abstract — This article gives an overview of MANOBRAS, an interface developed to perform the computer operation of a oceanic maneuvering platform, at COPPE-RJ. It starts with a brief description of the platform itself, followed by a description of all the software system: the main interface (including trajectory’s generation aspects), the 3D simulator and finally the communication protocol between computer and onboard system. I. INTRODUÇÃO Todo sistema controlado por computadores, seja ele de natureza mecânica, elétrica, ou mesmo puramente computacional, que necessite de intervenção humana, exige obrigatoriamente algum tipo de interface homem/máquina. Segundo [1], a interface pode ser definida como um ―software que dá forma à interação entre usuário e computador‖, e neste sentido, possui importância fundamental para um bom aproveitamento dos recursos disponibilizados pelo sistema. Neste contexto, uma interface necessita agregar de forma simples e objetiva todos os recursos e funcionalidades disponíveis, abstraindo do usuário a complexidade natural dos sistemas computacionais e deixando-o apto a utilizar o sistema com eficiência e segurança, sem a necessidade de conhecimentos técnicos aprofundados. 1 Centro de Ciências Computacionais – FURG Universidade Federal do Rio Grande – [email protected] Centro de Ciências Computacionais – FURG Universidade Federal do Rio Grande – [email protected] 3 Centro de Ciências Computacionais – FURG Universidade Federal do Rio Grande – [email protected] 4 Instituto de Matemática, Estatística e Física – FURG Universidade Federal do Rio Grande – [email protected] 2 Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 5 Este trabalho apresenta, então, a interface MANOBRAS, desenvolvida para a operação da plataforma de ensaios oceânicos da COPPE – UFRJ. Esta plataforma destina-se a realizar ensaios dinâmicos com modelos reduzidos de embarcações, possibilitando até cinco movimentos simultâneos do modelo reduzido. Em [2] existem maiores detalhes sobre o projeto que originará a plataforma de ensaios, com previsão de entrada em operação durante o ano de 2010. O modelo reduzido da embarcação descreverá uma trajetória no interior de um tanque com importantes dimensões, trajetória essa gerada a partir da combinação de até cinco movimentos independentes. Estes movimentos do modelo reduzido permitirão a coleta de dados sobre a embarcação a ser construída, sendo, portanto, de grande importância para a indústria da construção naval. Conforme adiantado anteriormente, este artigo apresenta a interface para a futura operação da plataforma, interface esta aqui designada MANOBRAS. Dentre as principais tarefas que podem ser realizadas a partir desta interface encontram-se: a geração das trajetórias a serem executadas, ou seja, trajetórias de referência a serem seguidas pelo modelo reduzido; a configuração de uma série de parâmetros necessários ao sistema de controle; a comunicação com o sistema de tempo real embarcado que de fato controla os atuadores da plataforma, a partir da qual são enviados ao sistema embarcado todos os parâmetros pré-configurados pelo usuário via interface. II. VISÃO GERAL DO SISTEMA DE CONTROLE Seis atuadores são responsáveis pelos movimentos do modelo reduzido, todos de corrente alternada. Sensores do tipo encoder incremental fornecem os dados de posição angular, os quais estão acoplados aos rotores dos atuadores. Existem ainda quatro sensores do tipo encoder absoluto, utilizados principalmente para o referenciamento inercial. Dois atuadores movimentarão a plataforma principal, responsável pelo movimento longitudinal, conforme pode ser visto no desenho da Figura 1. Portanto, existe um atuador em cada extremidade da plataforma principal e estes têm de funcionar em sincronia. Um outro atuador será o responsável pelo movimento transversal, conforme indicado na Figura 1. Um carro sobre trilhos se deslocará movido por este último atuador, ao longo da plataforma principal, gerando Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 6 assim o movimento transversal. Em resumo, estes dois movimentos são os responsáveis pelo deslocamento do centro de massa do modelo reduzido no plano horizontal. FIGURA 1: Imagem mostrando os dois principais movimentos de translação do modelo reduzido. A Figura 2 mostra mais quatro possíveis movimentos do modelo reduzido: linear vertical, rotação em torno do eixo vertical, arfagem e rolamento. Estes dois últimos não ocorrerão ao mesmo tempo, ou seja, mecanicamente, deve-se, no momento da montagem do modelo reduzido na plataforma, escolher sobre qual dos dois movimentos pretende-se que ocorra. O sistema de controle para a plataforma de manobras foi desenvolvido objetivando o controle dos seus cinco graus de liberdade (movimentos vistos nas Figuras 1 e 2). A opção de projeto foi por um controle Proporcional e Integral (PI) em velocidade ([4], [5]), utilizado em conjunto com uma correção de posição baseada em um algoritmo fuzzy [6]. Considerou-se que todos os graus de liberdade são desacoplados do ponto de vista dinâmico, de forma que se projetou um controle específico para cada grau de liberdade. O controle é subdividido em duas malhas: uma mais interna, na qual existe o PI em velocidade, e outra mais externa, na qual se utiliza o ajuste da posição. O controlador PI gera o torque motor (Tm), sendo este Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 7 enviado para a planta física (atuador). O sinal de posição x (saída do sistema, equivalente ao sinal lido do encoder) é então comparado com a posição de referência xr para gerar o sinal de erro em posição, o qual corresponde à entrada no algoritmo de correção de posição. Este algoritmo devolve um sinal que é acrescido ao controle, de forma a minimizar o erro em posição. FIGURA 2: Imagem mostrando os três movimentos de rotação do modelo reduzido. Os dois atuadores responsáveis pelo movimento da plataforma principal recebem os nomes de atuadores mestre e escravo. O controle em posição é aplicado de fato ao atuador mestre. Uma malha de controle interno (entre os atuadores mestre e escravo) faz com que o escravo siga o mestre com erro mínimo, garantindo assim o sincronismo do movimento. A Figura 3 mostra um resultado experimental com o controle do atuador mestre, no seguimento de uma trajetória de referência. Tanto o sinal do encoder (posição real do atuador (m)) quanto o sinal de referência são mostrados no gráfico. O experimento teve duração total de 90 segundos e foi realizado com o atuador sem carga, uma vez que a plataforma de manobras ainda não foi montada sobre o tanque (montagem prevista para 2010). Percebe-se que o erro no seguimento da trajetória de referência foi quase nulo, denotando assim que o controle apresentou um bom desempenho. Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 8 FIGURA 3: Resultado experimental relativo ao controle do atuador mestre da plataforma principal. III. SISTEMA DE INTERFACE MANOBRAS A interface MANOBRAS foi desenvolvida para a interação entre o usuário e o sistema físico da plataforma. A partir desta, estão disponíveis ferramentas essenciais, como o gerador de trajetórias e a comunicação com o sistema embarcado, bem como ferramentas de simulação de trajetórias e modelos dinâmicos em 3D. De uma forma geral, a interface é composta de três módulos visíveis ao usuário, com alguns módulos auxiliares sendo processados em background. Estes últimos são responsáveis pela geração matemática de trajetórias e validação das mesmas, e pela realização de simulações com o modelo dinâmico a partir de trajetórias de referência. A responsabilidade da visualização dos resultados gerados por estes módulos fica a cargo dos módulos essenciais: a interface principal MANOBRAS, o sistema para visualização 3D de trajetórias LabOceano 3D e a comunicação, todas detalhadas na seqüência. A. Interface Principal Desenvolvida em C++ Builder, para uso em ambiente Windows, a interface MANOBRAS apresenta ao usuário todos os recursos necessários para a geração de trajetórias a serem executadas pela plataforma, possibilitando a configuração dos Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 9 seus parâmetros, como velocidade, aceleração, opções de movimentos desejados (rolamento ou arfagem) com suas respectivas freqüências e amplitudes, entre outros. A geração é feita em duas etapas, sendo a primeira a seleção de coordenadas do tanque que criarão a trajetória de pontos base, por onde deseja-se que a trajetória final passe. Esses pontos são informados pelo usuário com o mouse, diretamente na tela principal da interface. Um exemplo de geração pode ser visto na Figura 4. Os pontos em destaque correspondem aos cliques com o mouse, sendo o ponto mais espesso o indicador do início da trajetória. Estas coordenadas são então submetidas a um módulo que calcula a curva final via splines de interpolação. Este tipo de interpolação faz sucessivos ajustes de curvas para que a curva resultante passe por um determinado conjunto de pontos chamados nós (no caso, os pontos selecionados pelo usuário como base para a geração). A Figura 4 mostra o resultado obtido para uma trajetória de pontos composta de nove coordenadas selecionadas. A curva interpolada, gerada via splines, será a trajetória de referência. FIGURA 4: Geração de uma trajetória de referência a partir de interpolação utilizando splines. Cada trajetória gerada via splines possui três informações para cada um dos seus milhares de pontos: informação de posição longitudinal (X), de posição transversal (Y) e de giro () para o modelo reduzido em um determinado instante t de tempo. O tempo de amostragem utilizado como passo para a discretização das trajetórias geradas é fixo, sempre igual a 2.6ms. Além da geração de trajetórias, a interface MANOBRAS gerencia também as trajetórias armazenadas pelo usuário, bem como perfis de parâmetros padrões, históricos de uso e funcionamento do software em geral e arquivos de ajuda. Sendo esta a interface principal, ela dá acesso aos demais módulos, abstraindo do usuário o processo de troca de informações entre os mesmos. Conta, por fim, com diversas verificações de segurança importantes para garantir a integridade do sistema, Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 10 processando ainda no computador rotinas que deixam de ser averiguadas no sistema embarcado, diminuindo assim o tempo de comunicação com a plataforma e, conseqüentemente, a possibilidade de ocorrência de erros. Quando o operador solicita uma trajetória de referência para ser executada na plataforma, a posição atual do modelo reduzido pode não estar coincidente com a posição inicial da trajetória solicitada pelo operador, a qual recebe o nome de trajetória principal. O software da interface gera então uma trajetória de referência (aqui chamada de trajetória primária), a fim de posicionar corretamente o modelo reduzido no início da principal. A trajetória primária é formada a partir de três movimentos distintos. Um primeiro de rotação sobre o eixo vertical, a fim de orientar corretamente o modelo reduzido na direção e sentido do início da principal. O segundo movimento é ao longo de uma reta, até que seja atingido o ponto do início da principal. O terceiro e último movimento é uma nova rotação em torno do eixo vertical, de forma a orientar o modelo reduzido na direção tangente à trajetória principal, no ponto correspondente ao inicia desta. A Figura 5 tenta ilustrar este processo, sendo a trajetória curvilínea a trajetória principal. FIGURA 5: As trajetórias primária e principal. A Figura 6 mostra resultados experimentais relativos à realização de uma trajetória primária. No gráfico superior encontra-se o movimento longitudinal da plataforma principal. No gráfico intermediário vê-se o movimento transversal da plataforma secundária, enquanto que no último vê-se o movimento de rotação em Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 11 torno do eixo vertical. Tanto as posições de referência quanto os sinais lidos dos encoders (respostas experimentais) são mostradas nos gráficos. Percebe-se, nas três respostas, que os erros nos seguimentos das trajetórias são quase nulos, ressaltando assim o bom desempenho do controle. Pode ser percebido ainda que, durante a primeira e a última rotação, as posições longitudinal e transversal permanecem constantes. Durante o movimento intermediário (reta), quem fica constante é a posição angular (velocidade angular nula em trono da vertical). FIGURA 6: Resultados experimentais mostrando a realização de uma trajetória primária. B. LabOceano 3D Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 12 Desenvolvido em Dev-C++ e utilizando-se da biblioteca gráfica OpenGL, o software para a animação 3D, intitulado LabOceano3D [7], proporciona ao usuário a possibilidade de executar trajetórias em ambiente simulado 3D muito semelhante ao ambiente real da plataforma. Dentre as facilidades por ele disponibilizadas ao usuário está o acompanhamento da execução da trajetória (ou de trajetórias oriundas de simulações com o modelo dinâmico da plataforma) a partir da visualização de 9 ângulos diferentes da plataforma e do modelo reduzido. A Figura 7 mostra um ângulo de visão que ressalta em detalhes os movimentos dos mecanismos próximos ao modelo reduzido. A Figura 8 mostra mais dois diferentes ângulos de visão (câmeras) que o sistema de animação 3D disponibiliza ao usuário. Observa-se que a primeira imagem refere-se a uma câmera com visão inferior, ou seja, como se o observador estivesse dentro d’água, no fundo do tanque. O usuário pode ainda visualizar as informações de posição de todos os movimentos da plataforma a cada instante de tempo, conforme indicado na parte inferior das figuras 7 e 8. FIGURA 7: Visualização da trajetória a partir de um dos ângulos de visão do LabOceano 3D. Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 13 FIGURA 8: Dois dos nove ângulos de visão (câmeras) do sistema de animação 3D. A visualização da aproximação/afastamento animação do ponto 3D de permite observação possibilidades da de simulação, aumento/diminuição do modelo reduzido e, por fim, imersão/emersão do mesmo. Pode ser dito que a sua maior utilidade reside no fato de que a execução da trajetória pode ser validada primeiramente no âmbito computacional, para só então Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 14 ser repassada à plataforma para execução real, evitando a movimentação desnecessária do sistema físico envolvido no processo. C. Comunicação entre PC e Sistema Embarcado A comunicação possibilita que todos os dados coletados pela interface e a trajetória gerada a ser executada sejam enviados a um dispositivo embarcado responsável pelo controle da plataforma. Este é um dispositivo do tipo FPGA (FieldProgrammable Gate Array, modelo Virtex-II Pro, ver [3]), responsável pelo controle de todo o sistema da plataforma bem como pela verificação de sua integridade, em tempo real. Sendo assim, o FPGA permanece sempre disponível às solicitações advindas do computador do usuário para execução de tarefas, bem como está apto a coletar e disponibilizar informações quando necessário como resposta às solicitações do mesmo. Por tratar-se de comunicação entre dois dispositivos de execução relativamente independentes, foi necessário a criação de um protocolo de comunicação que organizasse o processo. Ou seja, assim como o computador deve permanecer à disposição do usuário, o dispositivo FPGA deve fazer todo o controle em tempo real já mencionado, de maneira que um dispositivo não interfira no outro a não ser quando a demanda exigir. Sendo a comunicação feita de forma serial (utilizando-se do padrão RS232), optou-se então por uma comunicação onde apenas o computador possa requisitar ações à FPGA, nunca o oposto. As ações permitidas são identificadas por um código, seguidas de um comando de sincronização de comunicação que garanta que ambos os lados estão respondendo corretamente ao processo. Devido a este modelo de protocolo estabelecido, o FPGA deve de alguma forma armazenar todo tipo de informação que possa ser útil ao usuário, uma vez que não as pode entregar ao computador senão via algum tipo de solicitação do mesmo. Estas informações podem ser tanto dados referentes à execução de trajetórias, a serem analisados pelo usuário, quanto podem ser informações de status do funcionamento do sistema, reportando neste caso, situações de sucesso ou erro em operações e possíveis falhas em componentes físicos da plataforma. Tendo sido desenvolvida em Matlab, a comunicação apresenta-se em forma de console, com menus que abrangem todas as funcionalidades necessárias para a Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 15 realização do experimento sobre a trajetória escolhida e todas as verificações necessárias de funcionamento dos componentes físicos e de segurança. A Figura 9 mostra uma imagem oriunda de uma captura da tela do computador do usuário, durante a fase de comunicação com o FPGA. O sistema de comunicação permite ainda a coleta de dados de cada um dos movimentos após a realização de um experimento (ensaio com o modelo reduzido na plataforma), com possibilidade de visualização de gráficos 2D com os resultados. FIGURA 9: Console da Comunicação De todas as ações disponibilizadas pela interface de comunicação, o envio de trajetórias é a opção que demanda maior tempo e atenção do usuário. Isso se deve ao fato de que, devido às especificações técnicas do padrão serial RS-232 e do modelo FPGA utilizado, a transmissão de dados é feita a uma taxa de apenas 57600 bits por segundo, comparado a uma taxa de 10 megabits por segundo da tecnologia de interconexão 10Base-T Ethernet (IEEE 802.3), por exemplo. Da mesma forma, o Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 16 envio serial apresenta maior suscetibilidade a erros, uma vez que ruídos externos podem interferir na confiabilidade da transmissão dos dados. Sendo assim, o protocolo foi desenvolvido baseando todo o envio de dados em pacotes de no máximo 10000 bytes e verificações de integridade via códigos de checksum. Para tal, o computador calcula o checksum do pacote a ser enviado e recebe do FPGA o código por ele calculado. No caso de ambos serem diferentes, sabe-se que houve algum tipo de interferência e o bloco é reenviado, permitindo a recuperação da comunicação sem perda de informações e nem de tempo. De forma experimental, dados de envio de trajetórias foram levantados. O tempo de envio de cada pacote varia em torno de 7.4 segundos, e todo o processo de verificação de integridade de dados provou a robustez da comunicação no envio de trajetórias grandes, com 60 pacotes, por exemplo (aproximadamente 191.000 pontos gerados via spline). Isso prova a eficiência do protocolo desenvolvido sobre a interface RS232 no ambiente industrial no qual a plataforma está inserida, independente de ruídos e conversores utilizados pra a propagação do sinal através dos cabos seriais. Uma vez enviada a trajetória ao FPGA, uma verificação geral do sistema físico é realizada. No caso de todos os componentes necessários estarem funcionais, o usuário pode então liberar a plataforma para a execução. Durante este processo, há uma monitoração constante das variáveis de status controladas pelo sistema embarcado, de maneira que assim que o processo de execução seja encerrado, seja com sucesso ou por ocorrência de falhas graves, o usuário seja imediatamente notificado. Em caso de erro, ele poderá inclusive ter ciência de onde exatamente este ocorreu, providenciando as devidas medidas para o reparo. Por fim, executada a trajetória, todos os dados de posição de referência e dos encoders incrementais de posição de todos os movimentos poderão ser acessados pelo usuário, bem como informações de velocidade. Estes podem ser usados para análise do experimento, a partir da visualização de gráficos 2D, como mostra a Figura 6, ou manipulação dos mesmos via Matlab. IV. CONCLUSÃO Partindo-se do princípio da necessidade de um software para a interação Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 17 homem/máquina em um sistema de alta complexidade, como o apresentado neste artigo, acredita-se que a proposta de agregar os recursos e funcionalidades em uma interface direta e de simples utilização foi plenamente cumprida com o desenvolvimento da interface MANOBRAS. Os resultados demonstram que a operação do sistema está sendo realizada com sucesso a partir do software desenvolvido, e que estão sendo executadas de maneira adequada desde as mais simples tarefas de gerenciamento de parâmetros até as mais complexas, como a geração de trajetórias e a comunicação com o dispositivo embarcado. Contando ainda com diversas verificações de segurança, tanto em termos de operação do sistema físico da plataforma quanto em termos de funcionamento de software em si, a interface desenvolvida oferece a garantia de que somente operações seguras sejam executadas pela plataforma. Sendo assim, ela entrega ao usuário um grau de confiabilidade que o libera da decisão de quais tarefas devem ou não ser de fato executadas. A interface MANOBRAS ainda está em fase de aperfeiçoamento e foi desenvolvida para a utilização na plataforma de ensaios oceânicos da COPPE – UFRJ. Desenvolvida tendo como objetivos a facilidade, a robustez e a confiabilidade de operação, tal solução em software teve sua primeira versão funcional já liberada para uso, embora continue sob manutenção e constante melhoramentos para futuras versões e adaptações às necessidades de evolução do sistema de controle da plataforma de ensaios. REFERÊNCIAS [1] JOHNSON, S. Interface Culture. [S.l.]: Jorge Zahar Editor, 1997. [2] LEVI, C. A.; PINTO, W. T.; GOMES, S. C. P.; SALES Jr, J. S.; COSTA, P. R.; ROSA, V. S.; GERVINI, V. I. A manuevering test plataform conceptual design. 26th International Conference on Offshore Mechanics and Artic Engeneering. San Diego. 2007. [3] DIGILENT INC. Virtex II Pro Development System. Disponivel em: <http://www.digilentinc.com/Products/Detail.cfm?Nav1=Products&Nav2=Programma ble&Prod=X UPV2P>. Acesso em: Março 2009. Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 18 [4] FRANKLIN, F. G.; POWELL, J. D.; EMAMI-NAEINI, A. Feedback control of dynamic systems. Addison-Wesley, 1994. [5] GERVINI, V. I.; GOMES, S. C. P.; ROSA, V. S. A new robotic drive joint friction compensation mechanism using neural networks. Journal of the Brazilian Society of Mechanical Science & Engineering, ABCM, April-June, Vol. XXV, Nº. 2, 2003. [6] MACHADO, C. C.; GOMES, S. C. P.; BORTOLI, A. L.; GERVINI, V. I.; ROSA, V. S. Adaptive Neuro-Fuzzy Friction Compensation Mechanism to Robotic Actuators. Seventh International Conference on Intelligent System Design and Application, 2007, Rio de Janeiro. ISDA2007, 2007. 6pgs. [7] HARTMANN, E.; SHULTZ, T. P.; CASTELLUBER, W.; GERVINI, V. IRIGON; GOMES, S. C. P. A new simulator to flexible manipulators. Congresso Nacional de Engenharia Mecânica, 2008, Salvador, BA. CONEM 2008, 8 pgs, 2008. Vetor, Rio Grande, v.19, n.2, p. 5-19, 2009. 19