Home
T - Repositório Aberto da Universidade do Porto
Contents
1. Fim de traject ria Fim de traject ria Apresenta o dos resultados Figura 2 53 Rotina de Execu o da Traject ria Entre dois Pontos 6 Traject ria Multi ponto Este tipo de traject ria implica a utiliza o do algoritmo de gera o de traject rias Movimento entre um n mero arbitr rio de pontos que foi descrito numa das subsec es anteriores Para a execu o deste tipo de movimento foi necess ria a constru o de uma matriz de dimens es consider veis que armazena todos os pontos que definem uma traject ria A tarefa de preenchimento dessa matriz realizada por um algoritmo implementado numa S Function figura 2 54 que tamb m respons vel pelo c lculo das diferentes 105 componentes de velocidade Desta forma a cada ponto da traject ria foi atribu do um n mero identificador ou seja o primeiro ponto tem como identificador o numero 1 o segundo ponto o 2 at chegar ao n mero de pontos da traject ria Assim as coordenadas de cada n mero s o armazenadas por ordem na matriz O n mero de pontos tamb m guardado na ltima posi o da matriz para que se saiba quantas posi es s o ocupadas pelos pontos na matriz Quando dada a ordem de execu o da traject ria a matriz que cont m todos os pontos da traject ria processada e utilizada na gera o das refer ncias de posi o velocidade e acelera o fornecidas aos controladores de eixo
2. Existem tipos de movimento que n o permitem a visualiza o dos referidos gr ficos s o eles o movimento manual do rob e a execu o de traject rias multi ponto em modo repetitivo Os gr ficos apresentados s o produzidos atrav s de um execut vel desenvolvido em Matlab o que permite a apresenta o de resultados de uma forma clara e intuitiva al m de disponibilizar um conjunto de ferramentas que possibilitam a f cil manipula o dos gr ficos em quest o ex rota o amplia o A informa o contida nestes gr ficos obtida a partir de Scopes disponibilizados pela toolbox xPC Target que possibilita guardar dados no disco do Target PC sobre a forma de um ficheiro bin rio Posteriormente esses dados s o enviados para o Host PC por interm dio de fun es FileSystem disponibilizadas pela API do xPC Target para a aplica o Visual Basic Os dados s o ent o convertidos e armazenados no Host PC na forma de ficheiro no formato txt Esse ficheiro utilizado pelo execut vel Matlab para gerar OS gr ficos que possuem informa o do movimento do rob 5 Menu Save file Depois da visualiza o dos gr ficos mencionados no item anterior o utilizador pode guardar a informa o de uma traject ria em ficheiros de backup Estes ficheiros s o criados automaticamente com um nome correspondente data da gera o dos mesmos podendo ser utilizados para posteriores compara es de resultados obtidos em diferent
3. Na interface gr fica o utilizador pode monitorizar o estado dos fins de curso mec nicos e indutivos do rob cartesiano os sinais digitais presentes no quadro el ctrico do sistema rob tico bem como as vari veis de posi o velocidade e acelera o instant neas resultantes do movimento do rob cartesiano Na troca de informa o entre a interface gr fica Host PC e a aplica o de controlo Target PC utilizada a xPC Target COM API figura 2 43 Esta API consiste numa Dinamic Library Link DLL que est organizada num conjunto de objectos classes e m todos Pode aceder se as suas funcionalidades atrav s de um ambiente de desenvolvimento gr fico tal como o Microsoft Visual Basic ou CH NET podendo assim criar se uma interface gr fica que interage com uma aplica o desenvolvida em Simulink Esta API possibilita tamb m funcionalidades de procura e capacidade de navega o bidireccional A xPC Target COM API permite realizar fun es tais como e Estabelecer a comunica o entre o Host PC e o Target PC atrav s de Ethernet ou comunica o s rie e Efectuar o load do ficheiro de aplica o d m para o Target PC e Iniciar a aplica o que corre no Target PC e Monitorizar e modificar o comportamento da aplica o que decorre no Target PC e Aceder file system do Target PC podendo se desta forma aceder ou guardar informa o no seu disco e Parar a aplica o que corre no Target PC e Efectuar
4. 112 controlador de velocidade ou seja o movimento do eixo invertido Ap s ser invertido o movimento do eixo no momento em que ocorre uma mudan a de estado flanco descendente do fim de curso indutivo atribuida uma refer ncia nula ao controlador de velocidade ou seja fica imobilizado nessa posi o Quando todos os eixos se encontram parados depois de efectuarem este procedimento necess rio efectuar o reset do sinal de Overtravel Este sinal encontra se activo devido ao accionamento dos fins de curso mec nicos durante a execu o do procedimento Zero da Maquina Depois de todos os eixos estarem na posi o de refer ncia e de se ter efectuado o reset ao sinal de Overtravel ocorre ent o uma transi o do estado Zero da Maquina para o estado Estabilizado Quando essa transi o ocorre d se uma mudan a do tipo de controlo exercido sobre o sistema rob tico passando se de um controlo em velocidade para um controlo em posi o 2 Manual 3 Eixos Quando o sistema se encontra no estado Estabilizado e por ac o do utilizador na interface gr fica bot o manual activado o movimento manual de um dos eixos ocorre ent o uma transi o para o estado associado ao movimento manual desse eixo A velocidade com que o movimento efectuado deve ser definida pelo utilizador na interface gr fica 113 Manual Eixo X Bot o Manual Eixo x 4 Bot o Manual Eixo xy Manual Bot o Manual f Eix
5. 158 5 3 4 Procedimento Posicionamento em Zero A finalidade deste procedimento consiste em sincronizar ambos os sistemas rob ticos master e slave Assim quando se inicia uma tarefa de telemanipula o ambos os sistemas devem possuir as mesmas coordenadas de posi o 0 0 0 evitando que ocorra dessincroniza o entre os dois sistemas Para a implementa o deste procedimento foram criados dois subsistemas em Simulink Um dos subsistemas respons vel pelo c lculo das velocidades m dias que est o associadas traject ria executada por cada eixo figura 5 3 O c lculo dessas velocidades m dias efectuado da forma que se segue Considerando uma traject ria linear num referencial cartesiano entre dois pontos Pi X05Y05Z09 e P x Y 5Z com uma velocidade m dia V m sao dist ncia a percorrer dada pela express o que se segue Dist ncia 5 1 Sabendo que o per odo de tempo de execu o da traject ria obtido por Dist ncia T 32 Vad obt m se as tr s componentes da velocidade correspondentes a cada eixo Ko KN n Val Vs DD Na pa 80 al Via yy Do Yil Visa q Pos 1 ae 5 3 Distancia Distancia Distancia O algoritmo apresentado anteriormente implementado atrav s de uma S Function figura 5 3 que tem como entradas as coordenadas de posi o do ponto de partida P x 5Y05Z0 as coordenadas de posi o do ponto final 0 0 0 e a velocidade m dia de execu
6. B AB B B t Luce reset do tempo De seguida ser o apresentados alguns resultados experimentais que demonstram a implementa o do algoritmo descrito anteriormente Gr fico Posi o 30 Traject ria Real Trajectoria Refer ncia Posi o Eixo mim Posi o Eixo Y mm Posi o Eixo X mm Figura 2 37 Movimento Linear Multi ponto no Espa o Tridimensional V 20 mm s No exemplo da figura 2 37 pode visualizar se a execu o de uma traject ria multi ponto no espa o tridimensional Para a execu o desta traject ria foi utilizado o algoritmo descrito anteriormente 82 Gr fico Posi o X Gr fico Posi o Y Traject ria Real Traject ria Refer ncia Traject ria Real Traject ria Refer ncia Gr fico Posi o Z Traject ria Real Traject ria Refer ncia Figura 2 38 Gr ficos de Posi o do Movimento Linear Multi ponto V 20 mm s Na figura 2 38 podem visualizar se as refer ncias de posi o geradas para cada um dos eixos que est o na origem da traject ria tridimensional da figura 2 37 Estas refer ncias foram geradas atrav s da implementa o do algoritmo ilustrado na figura 2 36 Na figura 2 39 podem visualizar se as refer ncias de velocidade geradas para cada eixo decorrentes da implementa o do algoritmo de traject ria multi ponto bem como as traject rias executadas 83 Gr fico Velocidade X Gr fico Velocidade
7. Conference on Automation Science and Engineering Edmonton Canada Agosto 2005 pp 345 350 Nuno Ortega E e Basanez L 2006 Bilateral haptic guided Robot teleoperation via packet switched networks using wave variables with impedance adaptation A 2es Jornades de Recerca en Automatica Visi 1 Robotica AVR 06 pp 211 218 Ogata K 1997 Modern control engineering Upper Saddle River NJ Prentice Hall International Okamura A M 2004 Methods for haptic feedback in teleoperated robot assisted surgery Industrial Robot Volume 31 Number 6 pp 499 508 194 Reiley C E et al 2008 Effects of visual force feedback on robot assisted surgical task performance The Journal of Thoracic and Cardiovascular Surgery Volume 135 Number 1 pp 196 202 Richard P Paul 1982 Robot Manipulators Mathematics Programming and Control The MIT Press series 1n artificial intelligence Rundqwist Lars 1991 Anti Reset Windup for PID Controllers Ph D Thesis Department of Automatic Control Lund Institute of Technology Lund Sweden Sitti M and Hashimoto H 2003 Teleoperated touch feedback from the surfaces at the nanoscale modeling and experiments IEEF ASME Transactions on Mechatronics Volume 8 Number 2 pp 287 298 Tavakoh M et al 2008 Haptics for Teleoperated Surgical Robotic Systems New Frontiers in Robotics Volume 1 Thompson R L 20
8. Um outro aspecto que se verifica da an lise do comportamento do sistema o facto de existir um pequeno atraso na reposta Tal efeito n o interfere significativamente no desempenho desejado do controlador implementado mas poder ser suprimido com a utiliza o de outro tipos de controladores como o caso dos controladores de ordem fraccion ria 58 2 3 3 Avalia o Experimental dos Controladores Nesta sec o ser o apresentados alguns resultados experimentais por forma a ser poss vel a an lise do comportamento dos controladores de eixo para diferentes tipos de traject rias Os controladores de eixo foram implementados com base nas simula es efectuadas atrav s do Matlab Simulink sendo que a valida o e os ajustes dos par metros de cada controlador foram efectuados atrav s dos resultados experimentais Da an lise dos resultados experimentais podem retirar se algumas conclus es relativas ao desempenho dos controladores de eixo mediante a menor ou maior amplitude de movimento bem como a menor ou maior velocidade de execu o das traject rias Deste modo o primeiro passo para a valida o e ajuste dos par metros de cada controlador de eixo foi a execu o de uma traject ria entre dois pontos do espa o cartesiano com diferentes amplitudes de movimento e diferentes velocidades de execu o da traject ria Os resultados apresentados de seguida s o correspondentes ao eixo X uma vez que o procedime
9. cartesiano Gera o das ac es de controlo PID Fim da traject ria Posicionamento no primeiro ponto da traject ria multi ponto Posicionamento no primeiro ponto de partida y em de execu o de jota Figura 2 55 Rotina de Execu o de Traject ria Multi ponto 107 2 5 5 M quina de Estados Sitateflow O Stateflow uma ferramenta do Matlab Simulink muito poderosa no contexto dos sistemas de eventos discretos Assim esta ferramenta foi essencial na implementa o da aplica o de controlo simplificando a dificil tarefa de realizar uma m quina de estados recorrendo apenas a blocos Simulink o que poss vel mas desaconselh vel Desta forma a aplica o de controlo desenvolvida inclui uma maquina de estados que contempla todos os modos de funcionamento estados do rob bem como as transi es poss veis entre eles A filosofia da m quina de estados corresponde a associar a cada estado do rob um subsistema Simulink que respons vel pela implementa o da ac o de comando apropriada A cada transi o de estado est associada uma receptividade evento ou condi o Existindo dois tipos de receptividades que podem causar transi es receptividade local que pode ser gerada por software receptividade exterior m quina de estados que corresponde a entradas provenientes de blocos Simulink Estas rece
10. o 2 42 sendo que o valor da velocidade m dia de cada eixo foi obtido atrav s das equa es 2 45 2 46 e 2 47 75 Gr fico Posi o 30 Trajectoria Real Trajectoria Refer ncia 100 50 50 Posi o Eixo mm m 100 oe 200 200 400 ao yes Posi o Eixo mm Posi o Eixo Y mm Figura 2 33 Movimento Linear entre dois Pontos no Espa o Tridimensional V 200 mm s Na figura 2 33 pode observar se a execu o no espa o tridimensional do movimento apresentado na figura 2 30 sendo que a velocidade m dia foi elevada para 10 vezes mais Pode visualizar se que em ambas as figuras 2 30 e 2 33 o movimento do rob cartesiano praticamente igual 76 Gr fico Posi o X Gr fico Posi o Y Gr fico Posi o Z Figura 2 34 Gr ficos de Posi o do Movimento Linear entre dois Pontos V 200 mm s Na figura 2 34 pode visualizar se que as refer ncias de posi o apesar do aumento da velocidade continuam a ser do tipo sinusoidal e que a resposta de cada controlador consegue acompanhar bastante bem a respectiva refer ncia 71 Gr fico Velocidade X Gr fico Velocidade EEE S Traject ria Real fy Traject ria Real Traject ria Refer ncia 7 Traject ria Refer ncia i i c c E E E oa a a oa 149 149 3 3 o o 2 2 oa a gt gt Gr fico Velocidade Z EU as Traject ria Real Traject ria Ref
11. o da disquete de arranque cccceeeeeeeeeeeeeceseccccceececeeeeeeee aaa a aaaaes 90 Figura 2 43 Arquitectura do Software ccccccccccccccccccss scence eens cece cee ce ccs easaaaaaaaaaaaees 91 Figura 2 44 Exemplo de Armazenamento das Coordenadas de um Ponto 95 Figura 2 45 Exemplo da Aquisi o de um Sinal de uma Carta NO 95 Figura 2 46 Configura o de um Bloco Simulink das Cartas de Aquisi o de Dados AEA ee eee On a ne ee ee 98 Figura 2 47 Filtro dos Sinais de Entrada Digitais ccccccccccccccccccccccescceeeeee sees a aeees 9S Figura 2 48 Algoritmo implementado para suprimir a descontinuidade dos Impulsos LO TTC OG CV ria A eee ata a a eee danes 100 Figura 2 49 Gerador de Traject rias Incremental cccccccccccccccccccccccceeeeeee tees se eeees 101 Figura 2 50 Gerador de Traject rias Linear Eix0 A E1xX0 ccccccccccccccc ccc e cece eee 102 Figura 2 51 Algoritmo de Detec o de Fim de Traject ria s 103 Figura 2 52 Gerador de Traject ria Linear 3 Eixos 104 XIV Figura 2 53 Rotina de Execu o da Traject ria Entre dois Pontos 105 Figura 2 54 Gerador de Traject ria Multi ponto ccccccccccccccccccccccecceeeeeeeee ease nnees 106 Figura 2 55 Rotina de Execu o de Traject ria Multi ponto s 107 Figura 2 56 Diagrama da Maquina de Estado do Controlador s 109 Figura 2 57 Diagrama do
12. 4 gt Delta_x vae a g zade lt S Driver On FE Run E meet gt a Absolute Movement Alarm Velocity Overtravel Emergency Save Current Position Breake Interpolation demo Ee eee 3 Commands Figura 1 Interface Gr fica de Comando do Rob Cartesiano O utilizador disp e de dois modos de opera o do sistema modo de teach ecr inicial e as suas funcionalidades e o modo de execu o de traject rias multi ponto 198 Modo Teach Neste modo o utilizador pode efectuar v rios tipos de movimento entre dois pontos no espa o cartesiano pode tamb m guardar os pontos visitados e analisar os gr ficos resultantes dos movimentos efectuados Este modo permite ao utilizador ambientar se com as ferramentas da interface gr fica bem como conhecer as caracter sticas do rob cartesiano De seguida s o apresentados os procedimentos poss veis de serem executados atrav s da interface gr fica 1 Estabelecer liga o Menu Communications Establish Connection TCP IP figura 2 Atrav s deste menu estabelecida a liga o com o controlador do rob cartestano Target PC TCP IP Communication Setup Enter Target IF Address And Port Number Port Number 22222 Lancel Figura 2 Configura o da Comunica o 199 2 Carregar o ficheiro de aplica o de controlo Menu Load Load figura 3 Load Application Enter path of Target Direcotry
13. API evice The Haptic D Figura 5 6 Diagrama de Funcionalidades da Haptic Device API HDAPI Atrav s desta API foi poss vel construir uma DLL em C com utiliza o de fun es que possibilitam a interac o com o Phantom Haptic Device A DLL foi constru da em Visual Studio Net o que permitiu a cria o de um conjunto de estrutura de dados que pode ser facilmente acedida pela interface gr fica desenvolvida em C figura 5 7 uma vez que a DLL adicionada como refer ncia ao projecto de desenvolvimento associado a interface gr fica Interface Grafica C Estruturas de dados Figura 5 7 Estrutura da Aplica o Visual Studio Net 166 Desta forma a partir de algumas das fun es que comp em a HDAPI foi poss vel a constru o da DLL que permite a inicializa o do dispositivo o iniciar do escalonador a calibra o do dispositivo reset dos encoders monitoriza o do estado do Haptic Device posi es e velocidades impor for as ao Haptic Device e o sair do loop de controlo figura 5 8 Todas estas funcionalidades s o implementadas com o recurso as seguintes fun es e callbacks que comp em a HDAPI e hdIntDevice HD DEFAULT DEVICE Inicializa o do Haptic Device e hdEnable HD FORCE OUTPUT Enable das for as e hdStartScheduler Iniciar do escalonador e hdUpdateCalibration HD CALIBRATION ENCODER RESET Calibra o do dispositivo reset dos encode
14. Cancel Enter Target App Name rsss Figura 3 Load da Aplica o de Controlo 3 Accionar o bot o Start Sempre que se inicia uma sess o o bot o Start do painel Commands figura 4 fica activo Antes de accionar este bot o necess rio que no arm rio el ctrico se accione a botoneira Driver On e o correspondente sinal fique activo Quando o sinal Driver On estiver activo deve carregar se no bot o Start para se Iniciar a sess o Commands Figura 4 Bot es de Comando da Interface Gr fica Em consequ ncia do accionamento do bot o Start uma mensagem de aviso figura 5 aparece no ecr tendo como objectivo alertar o utilizador para o facto de o primeiro procedimento a ser efectuado ser o zero da m quina 200 as Delta y Delta z Velocity Warning Figura 5 Aviso no In cio da Aplica o 4 Accionar o bot o Reset Ao ser accionado este bot o o procedimento de zero da maquina executado Durante este procedimento as restantes funcionalidades ficam desactivadas somente o bot o Emergency pode ser actuado figura 4 No fim deste procedimento s o activadas as restantes funcionalidades correspondentes defini o dos diversos tipos de movimento 5 Tipos de Movimento Existem tr s tipos de movimento Manual Jog Relative Movement e Absolute Movement 1 Manual Jog O utilizador pode efectuar o movimento manual de um eixo de cada vez Para isso antes de iniciar o movim
15. Es i0 oO O O u Calcula_matriz_pontos w vector ponto vector reader vi gte Figura 2 54 Gerador de Traject ria Multi ponto De seguida apresentado o fluxograma figura 2 55 que descreve a rotina de execu o de uma traject ria multi ponto Como se pode verificar o primeiro passo a introdu o na interface gr fica de todos os pontos que constituem a traject ria multi ponto Os pontos introduzidos s o lidos e armazenados em ficheiro Depois de definidos todos os pontos da traject ria o controlador executa o posicionamento do rob cartesiano no primeiro ponto dessa traject ria Ap s o posicionamento do rob no primeiro ponto da traject ria o controlador executa o ciclo de implementa o da traject ria Deste modo s o geradas as refer ncias de posi o velocidade e acelera o s o lidas as coordenadas de posi o do rob e com estes dados s o geradas as ac es de controlo correspondentes 106 atrav s de cada controlador de eixo PID No final da traject ria multi ponto o rob posicionado no ponto de partida In cio da execu o da traject ria multi ponto Introdu o das coordenadas dos pontos da traject ria y Leitura das coordenadas do ponto introduzido Fim de defini o da traject ria Gera o da traject ria multi ponto posi o velocidade acelera o Y Leitura das coordenadas de posi o do rob
16. Figura 15 Janela de Defini o da Traject ria Multi ponto Insert Points Atrav s desta funcionalidade o utilizador pode definir um conjunto de pontos no painel Insert Points sendo estes gravados para um ficheiro com o nome default sempre que o utilizador carrega no bot o Insert Ap s o utilizador definir todos os pontos no m nimo est obrigado a inserir tr s pontos deve seleccionar o tipo de traject ria que pretende efectuar sendo que existem duas op es Step by Step e a Continuous Se o utilizador escolher a op o Step by Step o movimento efectuado corresponde execu o da traject ria ponto a ponto o que significa que durante a execu o o rob p ra nos pontos definidos Se o utilizador optar pela op o Continuous a traject ria executada num modo cont nuo ou seja o rob executa a traject ria sem parar nos pontos 208 Neste menu o utilizador tem ainda a possibilidade de optar por executar a traject ria multi ponto em modo repetitivo Para isso deve seleccionar a op o Repeat antes da execu o da traject ria Ap s fornecer todos dados necess rios execu o da traject ria multi ponto basta carregar no bot o Execute para que seja dada ordem de execu o de movimento Assim o rob automaticamente posicionado no primeiro ponto definido pelo utilizador de seguida toda a traject ria executada sendo que no final o rob retorna automaticamente ao ponto original 2 Load F
17. efectuado por computador atrav s de cartas de interface A D D A IVO digital e Encoders PCI QUADO04 da MeasurementComputing atrav s da carta D A PCIM DDA 06 16 que s o enviadas refer ncias de tens o aos drivers que as converte em refer ncias de bin rio Atrav s do I O digital desta carta tamb m poss vel monitorizar e controlar os sinais digitais presentes no arm rio de controlo do rob A sec o de I O digital da carta A D PCI DAS 1602 16 respons vel pela aquisi o de alguns dos sinais presentes no arm rio de controlo estado dos drivers figura 2 2 sendo eles 34 e Driver On Drivers de pot ncia alimentados e Emergency Sinal de emerg ncia activo botoneiras e Alarm Alarme gen rico do sistema e Servo Ready Drivers de pot ncia preparados para funcionamento e Run Drivers de pot ncia activos e Overtravel Sinaliza o de actua o de um dos fins de curso mec nicos e Brake Sinal de trav o do eixo Z actuado O I O digital da carta A D tamb m respons vel pela aquisi o dos sinais dos fins de curso mec nicos 2 por cada eixo colocados nas extremidades dos mesmos e dos detectores indutivos 1 por cada eixo colocados aproximadamente a meio do espa o de trabalho definido As entradas anal gicas da carta s o usadas para adquirir os sinais dos aceleroOmetros montados nos eixos do rob Os fins de curso mec nicos s o de posi o ajust vel e fo
18. o de traject ria ajustada em 20 mm s As sa das dessa S Function s o o 159 resultado do algoritmo implementado ou seja as componentes de velocidades m dias de cada eixo O valor de velocidade m dia est predefinido uma vez que este procedimento consiste em executar o posicionamento do rob cartesiano no ponto 0 0 0 Sendo que a posi o inicial do rob pode ser qualquer ponto do espa o de trabalho o que implica a execu o de uma traject ria desconhecida do utilizador por esta raz o foi definido um valor de velocidade m dia reduzido 20 mm s de acordo com os testes efectuados vel med x pos ack nossa eh u calc w med Y C4 wel_med_w ae S Function Builder pos act 0 0 0 20 x1 yi z1 vmed E EA vel med pos inicial Figura 5 3 Subsistema de C lculo das Componentes de Velocidades M dias Ap s obtidas as componentes de velocidades m dias de cada eixo estas s o fornecidas ao subsistema figura 5 4 respons vel pela implementa o do gerador de traject rias Esse subsistema gera a traject ria para cada eixo a partir dos dados de velocidade m dia posi o actual posi o final 0 0 0 e da vari vel tempo Para cada eixo s o geradas as refer ncias de posi o velocidade e acelera o distintas 160 is x R 5 E jii po wel_g_x pos ini z E LA acel pos fim x gi E E wel_med_ Es posy ica T gerador wwz Y pos_fim_y vel gY 7 Em S Functon Builder wel med wy
19. 6 1 INTRODUC O a O doa td a Rad AE A o 171 6 2 PAINEIS DA INTERFACE GRAFICA o seh eae ala tale Ba O cecum eiadea eal 173 6 2 1 Panel Master Slave WOrkKSP aCe Asia ira Asian A ae SEARA aa 173 6 2 2 TPLEIVCL VA OV aa at as ia A a Galea A a A a 174 6 2 3 Painel Master Slave Scale Factor errar rente renan 175 6 2 4 Faner ad e ISO oe ie fi a do a o do eet berete 176 6 2 5 Parmel Conman ae RR fi Ca er a aa a a 178 6 3 MENU COMMUNICATIONS mimos aieb ecoa sten banda tb arabe tua barse US ala re Salad eua as edu asda 184 6 4 CONCLUSOE A A A pe dad ado O a A do A a S E E E 185 CAPITULO Ja Ae ee nee ven Rat aba ia a a ab di E e e a aa 187 CONCLUS ES E DESENVOLVIMENTOS FUTUROS ccccoscoscssccsscosccsccesscsccecsesscsccssscsccesceeceess 187 Tal CONCEU OE oae a a a A anaes 187 Te DESENVOLVIMENTOS FUTUROS senintenee iena i a e anieas paduatessasaltiod tadentoestewie 190 REFERENCIAS es PS pa ON ECP NRE ST 193 ANEA ers Pee mn ar NRT a AN PR A SR RA AD rere A AR 197 NVA OA OT CON vais tate ERR DRA A E TTE E DANA cas ta JR A AE E Ae atts 199 TV CCLOVIGS muli DONtO sairia lait Bie st a ia see o ail ace eee Rob a te 208 ANEXO Borreria a PR PA NR E PRA A ENN 211 xii NDICE DE FIGURAS Figura 1 1 Primeiro sistema servo electrico do tipo master slave Raymond Geortz dd O O a a eee eee 19 Figura 1 2 a MER da NASA b Exomars da ESA NASA e ESA Copyrigth 19 Figura I 3 a Inspec o de um Space Shuttle b Bra o Rob tico
20. T US E f Saturationz Hae fy pi force vi e pras iz force force _ 1 T E velocitys Figura 5 5 Subsistema Simulink de Telemanipula o 162 Por uma quest o de seguran a as coordenadas de posi o do rob master multiplicadas por um factor de escala fornecidas aos controladores de eixo PID do rob slave est o restringidas ao espa o de trabalho deste ltimo atrav s dos blocos Saturation figura 5 5 163 5 4 OpenHaptics Toolkit C DLL Nesta subsec o ser descrito o desenvolvimento da DLL constru da em C que permite o acesso biblioteca de fun es cedida pelo fabricante do Phantom Haptic Device que possibilita a interac o entre a interface gr fica de comando e o Haptic Device Para se ter acesso biblioteca de fun es do Phantom Haptic Device necess rio a instala o dos drivers do dispositivo Phantom Haptic Device Atrav s do conjunto de fun es que comp em a biblioteca de fun es do Haptic Device poss vel aceder com propriedades de leitura s vari veis de posi o e velocidade e com propriedades de escrita vari vel for a tamb m poss vel aceder a fun es que permitem a inicializa o do dispositivo o reset dos encoders e o lan amento do processo de escalonamento Todas estas fun es s o disponibilizadas pelo software OpenHaptics Toolkit da Sensable atrav s do uso da Haptic Device API HDAPI Com este pacote de software
21. curso sendo obrigado a sair da aplica o Ap s sair da aplica o o utilizador deve atrav s dos drivers de pot ncia arm rio el ctrico entrar no modo de Jog e mover o rob cartesiano para que os fins de curso que estejam actuados fiquem desactivados De seguida deve no arm rio el ctrico efectuar o reset ao Overtravel Depois do procedimento descrito anteriormente o utilizador pode imiciar novamente a aplica o Aquisi o e visualiza o de dados Atrav s do painel Data Acquisition figura 4 o utilizador pode iniciar o processo de grava o dos dados referentes as traject rias executadas por ambos os rob s master e salve durante a execu o de uma tarefa de telemanipula o 215 Para iniciar a aquisi o de dados o utilizador deve carregar no bot o Start do painel Data Acquisition Deste modo os dados s o gravados durante a execu o da traject ria para ficheiros no Target PC Quando o utilizador pretender terminar o processo de aquisi o de dados deve carregar no bot o Stop o que implica o fim do log de dados e a autom tica transfer ncia desses dados para ficheiros no Host PC o processo de transfer ncia de dados entre os dois PCs pode demorar algum tempo dependendo do tamanho dos ficheiros Data Acquisition Figura 4 Painel de Aquisi o de Dados Depois de adquiridos os dados relativos execu o de uma tarefa de telemanipula o o utilizador pode visualizar esses dados atrav s
22. isso implica que o movimento do rob passe na vizinhan a dos pontos da traject ria A escolha deste tipo de movimento implica que os pontos da traject ria sejam guardados numa matriz da aplica o de controlo Quando dada a ordem de execu o do movimento o gerador de traject rias multi ponto acede a essa matriz para obter os pontos necess rios a execu o da traject ria A traject ria multi ponto pode ser executada em modo singular ou em modo repetitivo Existe uma op o Repeat em cada sub menu que permite ao utilizador seleccionar o modo repetitivo de execu o da traject ria A escolha do modo repetitivo implica que a traject ria seja executada em modo c clico at que seja dada ordem de paragem quando isso sucede o ciclo de movimento conclu do sendo que no final o rob regressa ao ponto de origem 136 4 Menu Graphics Este menu permite ao utilizador aceder visualiza o de alguns gr ficos que possuem informa es relativas a um movimento executado pelo rob Ap s a execu o de um determinado movimento o utilizador tem acesso aos gr ficos de posi o velocidade acelera o e ac o de controlo fornecida pelo controlador ao sistema para cada um dos eixos em fun o do tempo Al m dos gr ficos referidos anteriormente o utilizador pode ainda observar um gr fico de posi o 3D caso a traject ria executada seja efectuada com o movimento simult neo dos 3 eixos traject ria linear
23. necessita que sejam instalados previamente os Phantom Device Drivers para o sistema operativo Windows A DLL em C que foi desenvolvida permite aceder a vari veis como as posi es velocidade e for as que traduzem o comportamento operacional do Phantom Haptic Device Neste caso foi necess rio a obten o dos valores de posi o e velocidade dos eixos x y z do Phantom Haptic Device master para que estas sejam transmitidas com ou sem factor de escala ao controlador do rob cartesiano slave Tal como j foi referido no cap tulo anterior futuramente a incorpora o de um transdutor de for a possibilitar a transmiss o para o Phantom Haptic Device dos valores de for a exercidos sobre o rg o terminal do rob cartesiano 150 5 2 Arquitectura do Software A arquitectura do software de controlo do sistema rob tico de telemanipula o encontra se dividida em duas aplica es Uma das aplica es corresponde a um conjunto de algoritmos desenvolvidos com base no software Matlab Simulink Stateflow que permitem o controlo das ac es do rob slave cartesiano A outra aplica o desenvolvida em Microsoft Visual Studio permite atrav s de uma DLL elaborada em C aceder e enviar informa o para o Phantom Haptic Device sendo que esta aplica o possibilita tamb m a transfer ncia de informa o entre os dois sistemas rob ticos master slave figura 5 1 Deste modo a DLL constru da em C acede biblio
24. o Eixo mm Dm r I I I ae ml Gl I pon s Eua 100 A p incl Cl I I ees Ea Ra 400 T 1 iterate as i eS 200 Eu od OE ges A Tama ae Ty aro o Posi o Eixo Y mm POAC a Figura 2 30 Movimento Linear entre dois Pontos no Espa o Tridimensional V 20 mm s No exemplo da figura 2 30 pode visualizar se a execu o de uma traject ria linear entre dois pontos no espa o tridimensional cujo movimento corresponde ao deslocamento de 300 mm a 300 mm no eixo X 250 mm a 250 mm no eixo Y e 140 mm a 140 mm no eixo Z com a velocidade m dia de 20 mm s Como se pode observar figura 2 30 a traject ria executada com os tr s eixos em movimento sendo o resultado final um segmento de recta no espa o tridimensional Para a execu o do movimento representado na figura 2 30 foi necess rio calcular as velocidades m dias correspondentes para cada eixo e aplicar o algoritmo de gera o de traject ria linear entre dois pontos de maneira a serem geradas as refer ncias de posi o e de velocidade para cada controlador de eixo na execu o da traject ria Assim para cada eixo foram obtidos os seguintes resultados experimentais 73 Gr fico Posi o X Gr fico Posi o Y Traject ria Real E r r Traject ria Real Traject ria Refer ncia Traject ria Refer ncia 20 25 30 35 40 45 20 25 30 35 40 45 Tempo s Tempo s Gr fico Posi o Z P
25. t l gy pos fim 2 pos gZ O la o Ui ui i a Ti l l nl t otse Figura 5 4 Gerador de Traject rias Posicionamento em Zero No caso do rob master a defini o do ponto 0 0 0 efectuada manualmente pelo utilizador que deve escolher um ponto pr ximo do centro do espa o de trabalho desse rob 161 5 3 5 Telemanipula o Neste caso o procedimento de telemanipula o consiste em enviar as coordenadas de posi o com ou sem factor de escala do rob master para o controlador do rob slave Essas coordenadas servem de refer ncia para os controladores de eixo PID do rob slave Deste modo implementado um seguimento de traject ria do rob master por parte do rob slave Este procedimento foi implementado atrav s de um subsistema do Simulink figura 5 5 que recebe as coordenadas de posi o e velocidade provenientes do Haptic Device valores obtidos utilizando a biblioteca de fun es do dispositivo essas coordenadas s o enviadas como refer ncias para os controladores de eixo Assim o rob master funciona como o gerador de traject rias do rob slave O controlador do rob slave processa em tempo real as ac es de controlo em resposta as refer ncias de posi o e velocidade do rob master Essas ac es de controlo s o enviadas para os drivers de pot ncia que fazem actuar os servomotores de cada eixo do rob slave force x fx a force 1 positions
26. tamb m a indica o do driver da carta de rede que est instalada no Target PC Esta carta tem de ser espec fica uma vez que a lista de cartas suportadas pelos drivers limitada desta forma foi necess ria a aquisi o da carta de rede Intel PRO 100 58 Para a configura o do kernel de tempo real deve aceder se ao menu Settings sendo poss vel nesse menu a configura o do tamanho m ximo que uma aplica o pode ocupar bem como o tamanho de mem ria RAM a ser utilizada no Target PC 89 Ap s terem sido efectuadas todas as configura es necess rias deve aceder se ao menu Configuration figura 2 41 para se proceder gera o da disquete de arranque Depois de gerada a disquete de arranque figura 2 42 esta deve ser introduzida no driver de disquetes do Target PC para que quando se inicia o Target PC o kernel de tempo real seja carregado e fique pronto para executar a aplica o de controlo transferida para o Target PC xPC Target Explorer Seis File Target E AxA HW xP Target Hierarchy TargetPC1 Configuration m Host PL Root Sia Compilers Configura This section contains general non model specific parameters for the configuration of xPC Target E E DLM sk CADocumer After setting the necessary communication and kernel configuration values click the Create a Bootdisk Button to create an P Target boot floppy disk Use this disk to boot a target computer Tools Help control_etxos dh with the xPC
27. uma forma met dica e em condi es de seguran a podendo monitorizar em tempo real o estado operacional do sistema a controlar A interface gr fica disp e de uma funcionalidade importante que corresponde ao armazenamento dos dados de uma determinada traject ria e a possibilidade de visualiza o desses mesmos dados atrav s de gr ficos executados em Matlab A interface gr fica permite a monitoriza o do estado operacional do sistema rob tico nomeadamente o estado dos sinais dos fins de curso do rob slave bem como os sinais digitais presentes no arm rio el ctrico de controlo do rob slave E tamb m poss vel monitorizar em tempo real as vari veis de posi o do rob master e do slave Na interface gr fica o utilizador pode definir o factor de escala a aplicar numa opera o de telemanipula o este facto importante na medida em que existem determinadas tarefas de telemanipula o que requerem uma maior ou menor amplitude de movimentos do sistema a controlar A interface gr fica de comando tem acesso directo a uma DLL desenvolvida em C o que permite aceder s funcionalidades e par metros da biblioteca de fun es do Phantom Haptic Device Na interface gr fica est tamb m integrada a xPC COM APL Esta API permite a utiliza o de uma estrutura de dados que possibilita a interac o entra a aplica o gr fica interface gr fica de comando e a aplica o de controlo do rob slave 185 18
28. 10 0 0 2 Part CEPE IP Ok Figura 2 Menu Communications 2 Carregar o ficheiro de aplicacao de controlo Menu Load Load figura 3 O ficheiro correspondente a aplica o de controlo automaticamente carregado e efectuado o download do mesmo para o Target PC 3 Accionamento do bot o Start Para dar inicio a uma sess o o utilizador deve carregar no bot o Start Ao ser accionado este bot o certas funcionalidades da interface gr fica ficam operacionais tais como os sinalizadores do rob cartesiano e as caixas de texto que apresentam as coordenadas de posi o dos rob s master e slave O nico bot o que fica activo o Reset 4 Accionamento do bot o Reset Ao ser accionado este bot o executado o procedimento correspondente ao reset dos encoders do rob cartesiano slave e do Phantom Haptic Device master seguido do posicionamento do slave no ponto 0 0 0 Desta forma sempre que iniciada ou reiniciada uma sess o efectuado esse procedimento com o intuito de posicionar ambos os rob s nos pontos de refer ncia do seu espa o de trabalho 213 Quando este bot o accionado as funcionalidades da interface gr fica ficam bloqueadas at que o procedimento referido anteriormente seja conclu do Depois de terminado esse procedimento as restantes funcionalidades da interface gr fica ficam desbloqueadas 5 Accionamento do bot o Run Para iniciar uma tarefa de telemanipula o o utilizador
29. 1982 x t acts sa B AB 2 48 l x t aci E h 2h so 2 49 1 acc x t ace aa ee 2 50 1 acc onde pa t S S ta 2 51 das AC C B 252 AB B B 2 53 80 Fora desse intervalo fora das regi es de transi o a velocidade constante x t e 2 55 x t 0 2 56 jet 2 57 I Segundo Vukobratovic e Kircanski 1996 o tempo t pode ser estimado a partir da equa o Ene de 2 58 onde Av corresponde ao incremento de velocidade entre dois segmentos e a a acelera o m xima permitida Com este algoritmo consegue se suavizar a traject ria na proximidade dos pontos de transi o entre segmentos No entanto existem dois pontos onde a velocidade descont nua o que implica que a acelera o seja infinita que s o os pontos inicial e final A solu o encontrada para este problema consiste em repetir o primeiro ponto um tempo t antes e repetir o ltimo ponto um tempo t depois dos respectivamente primeiro e ltimo pontos especificados para a traject ria A traject ria passa assim a ter mais dois pontos de transi o mais dois segmentos que s o tratados como os restantes 81 Assim que a transi o come a ponto B pode iniciar se o c lculo da traject ria entre os pontos C e D No instante de tempo t T t s o feitas as seguintes atribui es para C iniciar a transi o para o segmento seguinte T T DESA posi o actual Bac Ce AC C
30. 2 34 ou x t p t x x 0 lt t lt T 2 35 onde pit E 0 1 um par metro escalar que especifica a distribui o de velocidade ao longo da traject ria e T o per odo de tempo de execu o da traject ria Dependendo da fun o plt escolhida podem ser adoptados v rios perfis de velocidade x t tais como o constante triangular trapezoidal parab lico ou sinusoidal Lopes 1994 Optou se por usar o perfil sinusoidal figura 2 27 uma vez que este tem a capacidade de gerar traject rias suaves na posi o e em todas as suas derivadas 67 Figura 2 27 Perfil Sinusoidal de Velocidade O perfil smusoidal satisfaz as condi es p 0 p T p 0 p T 0 velocidade e acelera es nulas no in cio e no fim da traject ria e dado por Ae e 2 36 2 37 sen t 2 38 T Com este algoritmo de interpola o equa es 2 34 e 2 35 os perfis de velocidade x t s o proporcionais aos perfis pit e o movimento realizado segundo o segmento de recta que une x a X no espa o operacional Para um perfil de velocidade sinusoidal a velocidade m xima duas vezes a velocidade m dia especificada Isso pode ser comprovado partindo das equa es 2 34 e 2 37 chegando se a x t alo cos 2 Ja xo t Doo 68 sabendo que 2 40 ent o 2 0 lt x t lt x x 0 lt t lt T T 2 41 como r Je X B Xo r rJe Vmedia Vmax 2 Vm dia 2 42 tal como se pretendia mo
31. 214 atrav s do bot o Emergency painel Commands da interface gr fica ou atrav s da botoneira de emerg ncia presente no arm rio el ctrico No caso do utilizador accionar o bot o Emergency o movimento que estava a ser executado automaticamente cancelado as funcionalidades da interface gr fica ficam desactivas sendo o utilizador avisado que esta perante uma paragem de emerg ncia e que deve solucionar a causa que lhe deu origem Quando o utilizador se certificar que todas as quest es de seguran a est o asseguradas deve accionar o bot o Emergency Out painel Commands esse bot o surge no lugar do bot o Emergency Ap s a confirma o do estado operacional do sistema actua o do bot o Emergency Out necess rio efectuar o procedimento zero da m quina accionado o bot o Reset o nico bot o activo da interface gr fica No caso de ser accionada a botoneira de emerg ncia as funcionalidades da interface gr fica s o desactivas o utilizador avisado que ocorreu uma situa o de emerg ncia por actua o da botoneira de emerg ncia sendo obrigado a fechar a aplica o e retomar a sua execu o somente quando estiverem asseguradas todas as condi es de seguran a No caso de durante um determinado movimento um dos fins de curso ser actuado o sistema p ra de imediato As funcionalidades da interface ficam desactivadas o utilizador avisado de que o sistema parou devido actua o de um dos fins de
32. DLL C I nar li E D 1 hdlnitDevice Enable force output hdenableHD FORCE OUTPUT Schedule callback and start scheduler bh bd StartSchedaler Begin haptic frame hiBeginFrame Get device position hdGet HD CURRENT POSITION Compare device position to volume of i th virtual object EN Yes Calculate reaction force Fa No Trerate for N virtual objects i Mi N done Resultant force FG s bde HD CURRENT FORCE End haptic frame hdEndFrame Servo Loop Figura 5 8 Fluxograma T pico de um Programa HDAPI 168 5 5 Conclusoes Neste capitulo foi descrita a organiza o da arquitectura de software implementada para efectuar o controlo do sistema rob tico de telemanipula o Deste modo foram apresentadas as estruturas da aplica o de controlo Simulink do rob slave bem como a estrutura da aplica o OpenHaptics Toolkit que permite a opera o e interac o com o Haptic Device Neste cap tulo foi tamb m descrita a forma como as v rias componentes da arquitectura do software interagem entre si A possibilidade da integra o da xPC Target COM API com a aplica o Visual Studio interface gr fica CH e a DLL C que s o executadas no Host PC permitiu a f cil troca de dados entre esta e a aplica o de controlo Simulink do rob slave que corre em tempo real no Target PC A DLL constru da em C possibilita o acesso a fun es da HDAPI biblioteca de fun es do Haptic Devic
33. Super Estado Zero da M quina 112 Figura 2 58 Diagrama do Super Estado Manual 3 Eixos wicccccccccccccccccccs cee e etter 114 Figura 2 59 Diagrama do Super Estado Trajectoria Eixo a Eixo s 115 Figura 3 1 Interface Gr fica de Comando eeeeeeeeererererrrrrrereeaaaaaaaannns 120 Figura 3 2 Especifica es do Rob Cartesiano ccccccccssseeeeeeecscsccccccceceseeeeeeaessasaees 121 Figura 3 3 Monitoriza o de Vari veis e Sinais do Sistema Rob tico 22 Figura 3 4 Painel que replica os Sinalizadores do Arm rio El ctrico do Rob C TONO sa ii E E EE N EA NE ENEA 123 Figura 3 Movimento Mantal asia pisisiuiaalssasnaariDa seta Gai al os lasted eis 124 Figura 3 6 Defini o de Movimento entre dois Pontos iii 125 Figura 3 7 Bot es de Comando da Interface Gr fica 127 Figura 3 8 Grava o de um Ponto da Traject ria etrrrrrrreerenes 131 Figura 3 9 Menus da Interface Gr fica ii reereeeeeeeeeerrrrrrerarereeaaeaaaannnns 132 Figura 3 10 Menu Communications e Configura o de Comunica o TCP IP 133 Figura 3 11 Menu Load Unload e Janela de Load do Ficheiro de Controlo 133 Feira Sa Veni RONCO iso ato AS A SR O pola si mean teneiieue 134 Figura 3 13 Sub Menus Insert Points e Load From File es 134 FENE JA Veni Saver E ssa cansa lisa ssa Mages aia dea Seat ea aa aa ties 138 Figura 4 1 Arquitectura d
34. Suuitoho Simiteh E t Ti Figura 2 51 Algoritmo de Detec o de Fim de Traject ria 5 Traject ria Linear 3 Eixos Este tipo de traject ria resulta na execu o de um segmento de recta no espa o tridimensional uma vez que efectuada com os tr s eixos em movimento Para a execu o deste tipo de movimento foi necess rio implementar um gerador de traject rias capaz de gerar online a traject ria para cada eixo Este gerador de traject rias figura 2 52 uma conjuga o dos tr s geradores de traject rias utilizados na implementa o do procedimento descrito no item anterior figura 2 50 A diferen a 103 entre os dois procedimentos reside no facto de que para se realizar um segmento de recta no espa o tridimensional necess rio decompor e reajustar os valores de velocidade de cada eixo Para a realiza o deste tipo de movimento necess rio calcular as componentes de velocidade de cada eixo a partir das coordenadas do ponto final e da velocidade m dia da traject ria O c lculo dessas componentes efectuado atrav s de um algoritmo que al m de calcular as componentes de velocidade para cada eixo verifica se os valores de velocidade excedem o m ximo valor permitido Caso uma das componentes de velocidade ultrapasse o valor m ximo permitido necess rio recalcular novamente todas as componentes de modo a que a traject ria seja executada uniformemente E VV pos_ini_ pos ini w pos
35. Target sendo necess rio para o efeito o uso repeaters e gateways Numa comunica o TCP IP entre o Host e o Target em que ambos devem possuir cartas de rede s o poss veis dois tipos de liga o Uma delas corresponde a uma liga o dos dois PC s por cabo UTP cabo de rede a uma rede local LAN Outra possibilidade estabelecer uma liga o dedicada directa atrav s de um cabo crossover Neste caso cada um dos PC s deve possuir um P est tico 88 Para a realiza o deste trabalho optou se por efectuar uma liga o dedicada cabo crossover uma vez que a liga o a uma rede do tipo LAN acarreta problemas associados ao controlo do sistema global tais como atrasos temporais e perdas de informa o que t m de ser geridas eficazmente pelo controlador do sistema n o sendo esse um dos objectivos deste trabalho Mundo Real Hardware Sistema Fis co I O Board s Liga o Ethernet Crossover l ILiga o Ethernet UTP Host PC l N N N N Lan Figura 2 41 Arquitectura de Controlo do Sistema No processo de configura o do canal de comunica o TCP IP necess ria a indica o do IP est tico e o Port Number do Target PC bem como a indica o da m scara da sub rede LAN em que est inserido o Target PC Em rela o ao endere o de gateway a sua indica o s necess ria se o canal de comunica o n o for dedicado necess rio
36. Target kernel ER TargetPC1 3 Configuration amp Communication Sb Settings BootFloppy Target boot mode amp Appearance ei File System BA PCI devices lt Refresh Enabled Figura 2 42 Gera o da disquete de arranque 90 2 5 3 Arquitectura do Software O sistema de controlo foi constru do com base numa arquitectura Host Target figuras 2 40 e 2 41 explorando as potencialidades da toolbox xPC Target do Matlab Simulink O Host PC funciona como plataforma de desenvolvimento e como terminal de supervis o e de comando do sistema No Host PC foram desenvolvidas a aplica o de controlo algoritmos de controlo e a interface gr fica sendo para isso necess rio a instala o do sistema operativo Windows XP Professional o Matlab Simulink desenvolvimento da aplica o de controlo e o Microsoft Visual Basic desenvolvimento da interface gr fica O Target PC executa em tempo real a aplica o de controlo desenvolvida sendo que o c digo dessa aplica o descarregado a partir do Host PC No Target PC est o instaladas as cartas de interface entre o computador e o sistema f sico rob cartesiano Estas cartas sao do tipo PCI e os device drivers s o disponibilizados pelo xPC Target Atrav s das cartas de I O poss vel monitorizar o estado do sistema f sico bem como enviar ordens de comando para que este realize determinadas ac es figura 2 43 Aplica o Visual Basic is Apli
37. Y Traject ria Real Traject ria Refer ncia a wo no lt E a a TE a q 3 3 Q Q 2 2 a a gt gt Gr fico Velocidade Z Velocidade mm s Figura 2 39 Gr ficos de Velocidade do Movimento Linear Multi ponto V 20 mm s 84 2 5 Arquitectura de Controlo Nesta sec o ser descrita toda a arquitectura de controlo do sistema o software utilizado e a sua interac o com o hardware descrita a configura o Host Target utilizada como modelo de controlo tamb m descrita a m quina de estados Statefow que gere o comportamento global do sistema bem como o modelo Simulink que implementa as ac es correspondentes ao estado em que o sistema se encontra 2 5 1 Software de Controlo Matlab Simulink Um item importante no desenvolvimento da estrat gia de controlo do sistema a escolha apropriada do sistema operativo de tempo real Se a arquitectura de controlo for baseada em PC existe uma variedade de alternativas que passam pela utiliza o de sistemas operativos de tempo real dedicados ex ONX VxWorks VRTX ou pelo uso de m dulos de tempo real ex RTX RTLinux RTAD Kim et al 2004 pr prios para sistemas operativos que n o s o de tempo real como o Windows e o Linux Uma outra alternativa corresponde utiliza o de software que permite desenvolvimento simula o e valida o de estrat gias de controlo e que disp e tamb m de um kernel
38. Zero da M quina ou seja efectuar o reset dos encoders do rob cartesiano Assim que o procedimento Zero da Maquina esteja conclu do ocorre uma sequ ncia de transi es de estado sendo a primeira entre o estado Zero da M quina e o Posicionamento em Zero Quando o procedimento Zero da Maquina conclu do a flag do Simulink que indica o fim deste procedimento activada fazendo com que haja mudan as na interface gr fica nomeadamente o bloqueio e o desbloqueio de certas funcionalidades sendo uma delas o bot o Run ficar activo Uma vez activa a flag de fim do procedimento Zero da Maquina na maquina de estados ocorre uma transi o do estado Posicionamento em Zero para o Est vel A m quina de estados permanece no estado Est vel at que por actua o do bot o Run haja a transi o para o estado Telemanipula o 180 gt Run Ap s a conclus o do procedimento Zero da M quina o utilizador possui condi es para executar a opera o de telemanipula o nesse sentido actua o do bot o Run est o associados procedimentos que possibilitam a entrada no estado de telemanipula o Deste modo ao actuar se o bot o Run inicializado o Haptic Device efectuada a calibra o do mesmo reset dos encoders e iniciado o escalonador processo respons vel pelo escalonamento das tarefas do Haptic Device Depois de efectuado o procedimento associado inicializa o do Haptic Device activada a rotina respon
39. atrav s da leitura dos encoders dos servomotores e os valores de acelera o instant nea atrav s da leitura dos aceler metros de cada eixo Atrav s da carta D A e I O digital poss vel enviar as ac es de controlo produzidas pelos controladores de eixo do rob slave para os drivers de pot ncia E tamb m poss vel alterar o estado do sinal de activa o Run dos drivers de pot ncia bem como alterar o estado dos sinais Overtravel indica o de activa o de um dos fins de curso e Brake trav o do eixo Z 97 E Wi Source Block Parameters PCI DAS1 602 16 dicbpcidas1 60216 mask link FEI DAS 1602 16 Computer oards Digital Input Parameters Channel vector 4 3 Port A Sample tine Ts PCI slot 1 autosearch Figura 2 46 Configuracao de um Bloco Simulink das Cartas de Aquisicao de Dados Todos os sinais utilizados pelo controlador tiveram de ser filtrados por software atrav s de filtros implementados com recurso a blocos do Simulink Esta necessidade deve se ao facto de a maioria destes sinais possuirem um ligeiro ruido que nao sendo importante fisicamente para o sistema provocava situa es conflituosas no que diz respeito s reac es aos eventos produzidas pela m quina de estados do controlador Por exemplo estando o sistema em movimento executando uma traject ria definida se o sinal de um fim de curso mec nico apresentar o estado de actuado quando fisicamente esse
40. combina o dos efeitos das tr s ac es b sicas a mesma Assim o controlador PID implementado uma dessas variantes tal como sugere a configura o da figura 2 14 equa o 2 24 discretizada Integrador Discreto u C pos linear pos angular gt rt C D JA ac o controlo F a vel linear gt vel angular rt num diz den diz Filtro Derivativo Figura 2 14 Modelo em Simulink do Controlador PID de Posi o Como se pode verificar na figura 2 14 o controlador PID possui uma malha de anti satura o Anti Windup para evitar os problemas que o Windup do integrador apresenta O Windup do integrador um efeito que causado pelo aumento do valor do erro Se o valor do erro aumentar ao ponto de o integrador saturar a ac o de controlo a malha de realimenta o fica inoperante uma vez que a ac o de controlo permanecer saturada mesmo que o erro diminua Deste modo a ac o do integrador torna o sistema 52 inst vel uma vez que pode efectuar a integra o de valores muito elevados Quando o valor do erro come a a reduzir o valor do integrador pode ser t o alto ao ponto de demorar um tempo consider vel at atingir um valor normal Para compensar este efeito podem ser utilizados v rios m todos Anti Windup Um deles corresponde a impedir que o integrador efectue a integra o quando o actuador est saturado Outro m todo que foi o escolhido corresponde a efectua
41. concluida a traject ria todas as funcionalidades da interface gr fica ficam operacionais novamente 6 Bot o Exit Este bot o tem como principais funcionalidades o parar da execu o da aplica o de controlo e o fechar da sess o da interface gr fica Quando este bot o accionado todas as tarefas em execu o pelo sistema de controlo s o abortadas e as rotinas de monitoriza o s o inibidas 130 3 2 5 Painel Save Current Point Durante a opera o da interface gr fica o utilizador pode executar in meros tipos de movimentos para diferentes coordenadas do espa o de trabalho do rob cartesiano Os pontos visitados pelo rob durante uma sess o podem ser guardados em ficheiro Para o efeito foi criado o painel Save Current Point que permite ao utilizador gravar os pontos das v rias traject rias executadas ao longo de uma sess o Esses pontos s o gravados em ficheiro no formato txt o que permite ao utilizador a sua posterior utiliza o na execu o de traject rias multi ponto figura 3 8 Sempre que o utilizador pretenda guardar um conjunto de pontos durante a execu o das traject rias em modo de ensino dever em primeiro lugar criar um ficheiro atrav s do bot o Open File indicando o nome do respectivo ficheiro Depois de criado o ficheiro o utilizador dever utilizar o bot o Save Point para gravar os pontos pretendidos Quando tiver todos os pontos desejados gravados em ficheiro o utilizador
42. da aplica o o Reset Deste modo ao ser accionado este bot o ocorre uma transi o no flanco descendente no estado do bloco Simulink associado a esse bot o Esse bloco uma das entradas da m quina de estados constru da no Stateflow sendo o respons vel pela gera o do evento que activa o estado Inicial Emerg ncia da maquina de estados figura 2 56 Este estado por sua vez activa o subsistema do Simulink respons vel por colocar as refer ncias de bin rio dos eixos a zero excepto o eixo Z cuja refer ncia do bin rio a suficiente para equilibrar o efeito da for a gravitica Nesse subsistema os sinais de Run e o sinal do trav o do eixo Z Brake s o activados deste modo os drivers de pot ncia ficam prontos para receber e processar as refer ncias de bin rio enviadas pelo controlador bem como o trav o do eixo do Z fica destravado 127 2 Bot o Stop O accionamento deste bot o provoca a paragem da aplica o o que implica a suspens o do sistema de controlo Neste caso o sistema fica inoperante a qualquer ordem de comando executada pelo utilizador na interface Para retomar a execu o da aplica o necess rio accionar de novo o bot o Start Como ja foi referido este bot o suspende a execu o do controlador n o gerando qualquer evento que implique uma mudan a de estado na m quina de estados do controlador do sistema Desta forma nenhuma ac o executada uma vez que a aplica o de contro
43. de controlo desenvolvida em Simulink e a interface grafica No desenvolvimento desta interface grafica pretendeu se implementar as principais funcionalidades de um rob industrial tal como se poder verificar na descri o efectuada neste cap tulo A interface gr fica possibilita a um utilizador a opera o do sistema rob tico Permite que o utilizador efectue opera es de defini o e execu o de traject rias entre dois ou mais pontos com a possibilidade de escolha de diferentes tipos de movimento Sendo que ap s a conclus o das traject rias poss vel a visualiza o de gr ficos que possuem informa o relativa aos movimentos efectuados A interface gr fica permite tamb m o movimento manual de cada um dos eixos do rob Durante a opera o do sistema rob tico o utilizador pode monitorizar atrav s da interface gr fica o comportamento do mesmo O utilizador pode monitorizar sinais 119 digitais e anal gicos adquiridos pelas cartas I O que efectuam a interface entre o sistema de comando interface gr fica e o sistema f sico sistema rob tico O painel principal da interface gr fica figura 3 1 permite ao utilizador explorar as potencialidades do sistema rob tico em modo de aprendizagem No menu Trajectory o utilizador tem a possibilidade de definir traject rias mais complexas multi ponto que s o executadas de uma forma aut noma pelo sistema de controlo Neste cap tulo ser o descritos os
44. de elasticidade tal como sugere a figura 2 4 Kac T m e e Dac Figura 2 4 Modelo de um Sistema de Transmiss o com Elasticidade Assim as equa es que traduzem a din mica do sistema s o T K tI 23 T Jmm Dmbm Dac m de Kac m amp 2 6 Jc Oe De de Dac de Om Kac c Om 0 Zell Legenda unidades S I Constante el ctrica do motor N m A Corrente el ctrica A Posi o angular do motor rad s Posi o angular da carga rad s In rcia do motor kg m Jc In rcia da carga kg m Dm Atrito din mico no motor N m s rad Dc Atrito din mico na carga N m s rad Atrito din mico no acoplamento N m s rad Rigidez do acoplamento N m rad 40 A partir das equa es 2 6 e 2 7 consegue chegar se fun o de transfer ncia do sistema aplicando a Transformada de Laplace da seguinte forma Um s Dm Dac s Kac n s Dac s Kac 6e s T s 2 8 lic s De Dac s Kac 6 s Dac s Kac m s 0 29 A partir da equa o 2 9 obt m se Gels 7 Dac s Kac 210 Om s Jos Dc Dac s Kac Da manipula o das equa es 2 8 e 2 9 resulta Om s Je s Dc Dac s Kac 211 T s E Jc Jm s Jc Dm Jm De Jm Jc Dac E s Dm De Dac Dm Dc Kac Jm Jc sKac Dm Dc A fun o de transfer ncia final que se pode obter a partir das equa es 2 10 e 2 11 resulta em Ge s Da
45. de gr ficos executados automaticamente em Matlab figura 5 Basta para 1sso carregar no bot o Graphics O processo de execu o dos gr ficos pode ser lento pelo que aconselh vel que o utilizador fa a uma pausa na execu o da tarefa de telemanipula o x Position Graph Slave Trajectory i Master Trajectory Displacement mm Time s Y Position Graph oa a Q Du a PL Q Time s Z Position Graph Displacement mm Time s Figura 5 Gr ficos de Posi o dos Rob s Master e Slave 216 9 Accionamento do bot o Stop Ao accionar este bot o o utilizador p ra a execu o da aplica o sendo que o controlador do sistema deixa de ser executado 217
46. de tempo real xPC Target do Matlab Simulink este m dulo corresponde a um kernel de tempo real Desta forma os recursos do Target PC s o unicamente utilizados para a realiza o das tarefas do controlador sendo que essas tarefas s o executadas com um tempo de ciclo de 1 ms 1 kHz No Host PC instalou se o sistema operativo Windows XP Professional o software de desenvolvimento do controlador do sistema Matlab Simulink e o software de desenvolvimento de ambientes gr ficos Microsoft Visual Studio Os dois computadores comunicam atrav s de um canal de comunica o dedicado 36 Depois de desenvolvida e simulada no Host PC a aplica o de controlo enviada para o Target PC para ser executada em tempo real No Host PC o utilizador possui uma interface que pode utilizar para enviar comandos e observar o estado do rob 37 2 3 Modela o do Sistema F sico e Sintese de Controladores Nesta sec o ser apresentado o modelo do sistema f sico com a obten o da respectiva fun o de transfer ncia Ser ainda descrito o processo de s ntese dos controladores de velocidade e de posi o dos eixos do rob cartesiano Por ltimo ser o apresentados alguns resultados experimentais que demonstram o desempenho dos controladores implementados Cada eixo do rob possui um sistema de transmiss o mec nica fuso f mea de esferas com uma rela o de transmiss o elevada Em geral a utiliza o de transmiss es mec nicas nos ei
47. do Sistema F sico Rs fc a EE A alana neat 53 Figura 2 16 Resposta do Sistema ao D STAU cccccccceee eee eeeeeeeeeeeecceeeeeeeceeee teeta aa aaaaaes 56 xili Figura 2 17 Resposta do Sistema a um Perfil Sinusoidal com Refer ncia de fi fo Teo AG ARRENDAR DDR DR RR E EE 37 Figura 2 18 Resposta do Sistema a um Perfil Sinusoidal de Posi o sem Refer ncia Ge Velocidade bata di e a dp RD a tebe aien 57 Figura 2 19 Resposta do Sistema a um Perfil Sinusoidal de Posi o com Refer ncia de Velocidade AMPiAC O ss sea arca a mean da a aia a Ra a a 58 Figura 2 20 Trajectoria do Eixo X 0 3 mm 20 mm 8 cece eee e eset 60 Figura 2 21 Trajectoria do Eixo X 0 3 mm 200 MM S ccccccccccc cece eeeeeeeeeeeeees 61 Figura 2 22 Trajectoria do Eixo X 0 30 mm 20 MM S oo 62 Figura 2 23 Trajectoria do Eixo X 0 30 mm 200 MM S 63 Figura 2 24 Trajectoria do Eixo X 0 300 mm 20 mm S cciieeeeeeeereems 64 Figura 2 25 Trajectoria do Eixo X 0 300 mm 200 MM S oo 65 Figura 2 26 Sistema de controlo de um rob cartesiano Lopes 1994 66 Figura 2 27 Perfil Sinusoidal de Velocidade eee eeeeeneeaneanananaaananas 68 Figura 2 28 Algoritmo de um Gerador de Traject rias de Interpola o Linear com Perfil Sinusoidal de Velocidade sina ae hatin hone aa q 70 Figura 2 29 Gr ficos de Posi o Velocidade e Acelera o de Ref
48. entre os dois pontos e Depois executada toda a traject ria passando o rob pelos pontos definidos na traject ria e Por ltimo quando a traject ria finalizada o rob regressa automaticamente ao primeiro ponto da traject ria segundo um movimento linear entre os dois pontos Em ambos os sub menus o operador pode escolher o modo de execu o da traject ria sendo que existem duas op es 135 e Step by Step Este modo de execu o de traject ria implica que se efectue sempre um movimento linear entre dois pontos ou seja a traject ria executada tro o a tro o Desta forma numa traject ria multi ponto executada passo a passo implica que o movimento do rob pare em cada ponto da traject ria Este modo de execu o de traject rias foi implementado atrav s do gerador de traject rias linear de 3 eixos o que implica que entre cada tro o que comp e a traject ria o rob descreva um movimento linear uniforme no espa o tridimensional Sempre que o movimento do rob complete um dos tro os da traject ria automaticamente dada a ordem para a execu o do tro o seguinte Quando atingido o ltimo ponto da traject ria o rob recebe uma ordem para regressar ao ponto de origem e Continuous Este modo de execu o de traject ria implementado atrav s de um gerador de trajectorias multi ponto ou seja a traject ria executada em modo continuo sem paragens nos pontos da traject ria
49. estudo da melhor solu o uma vez que a cad ncia atrasos e perdas de informa o caracter sticas de uma comunica o n o dedicada poder o comprometer o objectivo global do sistema rob tico de telemanipula o que corresponde a efectuar um controlo de posi o e for a com a precis o necess ria para o desenvolvimento de tarefas complexas e minuciosas Depois de implementada uma interliga o n o dedicada entre os dois sistemas de controlo torna se necess rio o desenvolvimento de controladores e estrat gias de controlo robustas de forma a atenuar as perturba es associadas ao meio de comunica o utilizado 191 192 Refer ncias Andreu D Fraisse P Segovia De Los Rios J A 2004 Teleoperation over an IP network from control to architectural considerations Control Automation Robotics and Vision Conference ICARCV 2004 8 China Volume 1 pp 765 770 Astr m K J and Wittenmark B 1997 Computer controlled systems theory and design Upper Saddle River NJ Prentice Hall Baumann R and Clavel R 1998 Haptic interface for virtual reality based minimally invasive surgery simulation Proceedings of the 1998 IEEE International Conference on Robotics and Automation Louvain Belgium Volume 1 pp 381 386 Bist k P and Z kov K 2003 Organising Tele Experiments for Control Education 11th Mediterranean Conference on Control and Automation Rhodes Gr cia C
50. ini z LL l O l x 7a 7 a a a I x a Li J x id l J it E l K o Li J it i n posy u gerador xyz y vel gw S Function Builder acel gy ucalow med y e l J it a o it J iz S Function Builder Ls J o x1 yd z1 vmed uv coord vel med z a o u 3 H e id 15 mo E l H g o pi Ce iir t offset Figura 2 52 Gerador de Traject ria Linear 3 Eixos O fluxograma da figura 2 53 descreve a rotina de implementa o de uma traject ria entre dois pontos O primeiro passo a leitura das coordenadas do novo ponto posteriormente executado o ciclo de implementa o da traject ria Durante o ciclo de execu o da traject ria s o geradas as refer ncias de posi o velocidade e acelera o s o obtidas as coordenadas de posi o instant neas do rob e geradas as ac es de controlo de cada controlador de eixo PID No fim da traject ria os resultados s o guardados em ficheiro para posterior an lise 104 Inicio de execu o da traject ria y Leitura das coordenadas introduzidas pelo utilizador na interface gr fica E Gera o da traject ria posi o velocidade e acelera o Y Leitura das coordenadas de posi o e velocidade do rob cartesiano Y Gera o das ac es de controlo PID
51. lise das figuras 2 8 e 2 9 pode verificar se que os resultados de simula o s o bastante satisfat rios De notar que no caso da figura 2 9 foi considerado o efeito do atrito est tico Por essa raz o verifica se uma vibra o inicial na carga stick slip o que 47 n o acontece no resultado da figura 2 8 dado que essa n o linearidade n o foi tida em conta Por raz es pr ticas n o funcional a implementa o do controlador PI de velocidade Este controlador necessita de informa o de velocidade e do seu integral posi o sendo que a informa o de posi o s estar dispon vel ap s o procedimento de inicializa o do rob Assim sendo foi projectado um controlador proporcional que apesar de apresentar desempenho inferior ao controlador PI satisfaz os requisitos que se imp em para este tipo de procedimento ou seja efectuar um movimento suave a uma velocidade razo vel aproximadamente constante n o sendo necess rio garantir erro est tico nulo Controlador Proporcional Como j foi referido n o foi poss vel a utiliza o do controlador PI descrito anteriormente Assim ao inv s foi utilizado um controlador proporcional de velocidade que como se ira verificar nesta sec o apresenta resultados inferiores ao controlador anterior mas que permite executar correctamente o procedimento de inicializa o do rob notar que o controlador de velocidade s executado no procedimento de inicia
52. o utilizador pode movimentar em modo de Jog cada um dos eixos do rob pode definir e executar traject rias entre dois pontos ou entre um n mero arbitr rio de pontos Os dados da execu o de traject rias s o sempre guardados em ficheiros sendo que no final da traject ria podem ser visualizados e analisados em gr ficos executados automaticamente em Matlab Nesta disserta o foram apresentados e comentados alguns resultados experimentais decorrentes da opera o do rob cartesiano de forma aut noma Esses resultados demonstram a implementa o dos geradores de traject ria desenvolvidos e o comportamento dos controladores de posi o de cada eixo do rob cartesiano A utiliza o do m dulo de controlo xPC Target Matlab permitiu o desenvolvimento de uma arquitectura de controlo de tempo real que se verificou implementar com sucesso os algoritmos de controlo e capaz de realizar as tarefas de gera o e execu o de traject rias A estrat gia de controlo proposta permite o f cil desenvolvimento dos algoritmos de controlo num PC Host PC que funciona como plataforma de desenvolvimento e de simula o dos mesmos a interface gr fica de comando tamb m executada neste PC Depois de desenvolvidos os algoritmos a aplica o de controlo compilada e transferida para o Target PC onde executado o controlador de tempo real do sistema de controlo do rob cartesiano Na segunda fase deste trabalho foi desenvol
53. sistema para de imediato As funcionalidades da interface ficam desactivas o utilizador avisado de que o sistema parou devido actua o de um dos fins de curso sendo obrigado a sair da aplica o Ap s sair da aplica o o utilizador deve 204 atrav s dos drivers de pot ncia arm rio el ctrico entrar no modo de Jog e mover o rob cartesiano para que os fins de curso que estejam actuados fiquem desactivados De seguida deve no arm rio el ctrico efectuar o reset ao Overtravel Depois do procedimento descrito anteriormente o utilizador pode iniciar novamente a aplica o 9 Visualiza o de gr ficos No fim da execu o de um movimento linear entre dois pontos relativo ou absoluto o utilizador tem a possibilidade de visualizar os gr ficos de posi o velocidade e ac o de controlo para cada um dos eixos Para visualizar estes gr ficos o utilizador deve aceder ao menu Graphics figura 11 Trajectory DEE tape INS Figura 11 Menu Graphics Quando o utilizador carregar numa das op es que aparecem na figura 11 executado um ficheiro execut vel do Matlab Por esta raz o os gr ficos demorar o algum tempo a aparecer no ecr 205 Position mm File iedala nae OB eS Rasa EF DE Position Graphic Velocity Graphic 400 T 200 i Feal Trajectory Feference Trajectory Feal Trajectory Reference Trajectory Velocity mms EES Figure 4 De
54. tem sempre de carregar no bot o Run Assim quando este bot o accionado o sistema entra no modo de controlo por telemanipula o Antes de carregar no bot o Run para iniciar uma tarefa de telemanipula o o utilizador deve introduzir e confirmar os factores de escala posi o e for a no painel Master Slave Scale Factor figura 3 Deste modo sempre que se inicia uma sess o de telemanipula o os factores de escala est o definidos evitando assim que por esquecimento se utilizem factores de escala desajustados tarefa a realizar 6 Defini o do factor de escala Se o utilizador pretender alterar o factor de escala de posi o deve definir o valor no painel Master Slave Scale Factor figura 3 sendo que de seguida deve confirmar a introdu o desse par metro atrav s do bot o Apply Assim poss vel ajustar o espa o de trabalho do rob slave em rela o ao rob master bem como efectuar tarefas de telemanipula o mais precisas O factor de escala de for a pode ser definido mas n o usado uma vez que ainda n o se encontra implementado o feedback de for a Master Slave Scale Factor Position Force Apply Figura 3 Defini o do Factor de Escala 7 Casos de Emerg ncia Accionamento do bot o Emergency Durante a execu o de um movimento caso o utilizador entenda que est perante uma situa o de emerg ncia e pretenda suspender o movimento tem duas possibilidades de o fazer
55. tende a aproximar se das refer ncias de posi o e velocidade Neste caso o atraso da resposta do controlador praticamente desprez vel Em rela o ao erro em regime permanente pode dizer se tamb m que desprez vel Pode ainda verificar se na figura 2 24 que para baixas velocidades o efeito do atrito est tico do sistema se faz notar com maior intensidade O efeito do atrito est tico provoca uma perturba o na velocidade do eixo em movimento tal como se pode observar na figura 2 24 64 Gr fico Posi o X Gr fico Velocidade X ES eS Traject ria Real Traject ria Refer ncia t a E E eo 3 o o mo gt Gr fico Ac o de Controlo X Ac o de Controlo N m Figura 2 25 Traject ria do Eixo X 0 300 mm 200 mm s Comparando os resultados da figura 2 25 e os resultados da figura 2 24 pode constatar se que o aumento da velocidade implica um ligeiro atraso na resposta do controlador em rela o s refer ncias de posi o e velocidade Outro aspecto que se pode verificar que o aumento da velocidade elimina a perturba o na execu o da traject ria provocada pelo efeito do atrito est tico Pode verificar se ainda que tal como aconteceu nos resultados anteriormente apresentados o erro em regime permanente permanece quase nulo desprez vel 65 2 4 Gera o de Traject rias Trajectoria a sequ ncia temporal de posi es assumidas pelo rob qu
56. ter de o fechar para poder utiliz lo para tal dever accionar o bot o Close File Como j foi referido o utilizador pode utilizar o ficheiro que cont m os pontos gravados na execu o de uma traject ria multi ponto Deste modo o utilizador ter de aceder ao menu Trajectory e escolher a op o Load From File figura 3 12 nesse menu poder carregar o dito ficheiro e executar a traject ria correspondente Essa traject ria ser executada automaticamente de acordo com as op es indicadas pelo utilizador Save Current Position Save Point Close File Save Point Figura 3 8 Grava o de um Ponto da Traject ria 131 3 3 Menus da Interface Gr fica A interface gr fica disp e de menus figura 3 9 que permitem ao utilizador o acesso a determinadas funcionalidades que n o est o dispon veis no painel principal Assim de seguida ser o descritas as funcionalidades de cada menu da interface gr fica m Cartesian Robot Console Load Unload Trajectory Memo Save file About Communications Figura 3 9 Menus da Interface Grafica 1 Menu Communications Este menu possibilita ao utilizador a escolha do protocolo de comunica o entre a interface gr fica Host PC e a aplica o de controlo Target PC Existem dois tipos de protocolo de comunica o suportados pelo software xPC Target s o eles a comunica o via porta s rie e TCP IP A comunica o via porta s rie embora esteja im
57. 01 Integration of visual and haptic feedback for teleoperation PhD Thesis Trinity College University of Oxford Vukobratovic M and Kircanski M 1986 Kinematics and Trajectory Synthesis of Manipulation Robots Berlin Springer Verlag 195 196 Anexo A Manual de Utiliza o do Rob Cartesiano 197 A interface gr fica de comando do rob cartesiano aplica o Visual Basic figura 1 pode ser executada no modo de debbug atrav s do software Microsoft Visual Basic sendo necess rio abrir o ficheiro Consola en vbp C Documents and Settings Mario My Documentsicontrol eixos ou ent o pode ser executada atrav s do execut vel 3DOF Console exe que est no mesmo direct rio Cartesian Robot Console Communications Load Unload Trajectory Graphics Save file About Robot Specifications Working Space Maximum Velocity gt Axle 315 to 315 mm YY Axle 260 to 260 mm Z Axle 150 to 150 mm x Axle 200 mms Y Axle 200 mms Z Axle 200 mms Types of Movement Manual Jog Velocity Monitoring Limit Switch Mechanicals Position Velocity Acceleration Velocity mms Acceleration mms 2 Inductives Bw En Jka Pages Mewes Mama uel mney ee Position mm X sxie S Azle Zasxle x Axle xet 6 x ritgh rleft Yitgh 2 left 6 Z titgh Y Azle Z Axle Digital I O Relative Movement Inputs Status Delta_z Velocity Delta_y x Axle
58. 0x300 mm Sendo que em cada extremidade dos tr s eixos est o instalados batentes met licos de protec o para evitar que a movimenta o dos eixos ultrapasse os limites de seguran a Os passos associados a cada fuso de esferas s o de 20 mm para os eixos X e Y e 10 mm para o eixo Z Quanto s velocidades nominais sendo os motores de 3000 rpm s o de l m s em X e Y e 0 5 m s em Z Por quest es de seguran a optou se por limitar as velocidades m ximas para cada eixo nos 0 2 m s uma vez que nos testes experimentais efectuados verificou se que este valor de velocidade correspondia a movimentos com rapidez consider vel Os elementos actuadores dos eixos lineares de fuso de esferas s o servomotores brushless AC da Omron R88MW75030 com 750 W de pot ncia e 3000 rpm de velocidade nominal Os motores s o id nticos para os tr s eixos tendo o motor do eixo vertical um trav o electromagn tico A estes motores est o associados drivers da Omron R DWTOSHH alimentados a 230V AC podendo ser comandados em velocidade ou bin rio atrav s de uma entrada anal gica 10 10V DC Na realiza o deste trabalho optou se pelo comando em bin rio Cada motor tem um encoder Omron incremental standard para feedback de posi o que se liga com o driver atrav s de uma comunica o s rie definida pelo fabricante Este equipamento gera 2048 impulsos por rota o e funciona a uma velocidade m xima de 5000 rpm O comando do rob cartesiano
59. 11 Exemplo de um Sistema de Telemanipula o via Wireless Filippi 2007 Utilizando a API Wiim que corresponde a um conjunto de classes C foi poss vel criar uma DLL que permite a integra o dessa APJ em Matlab Deste modo poss vel aceder aos par metros e comandos do dispositivo Wiimote O rob slave Lynx 6 efectua a r plica dos movimentos do dispositivo Wiimote Para isso foi implementado um controlo de seguimento de posi o controlo unilateral O sistema de controlo corresponde a um PC onde est instalado o Matlab que obt m as coordenadas do dispositivo Wiimote sendo que estas s o enviadas para os controladores de eixo placa de circuito impresso com um microcontrolador do rob slave via porta s rie 24 1 2 Descri o do Sistema Rob tico do Tipo Master Slave O sistema rob tico de telemanipula o figura 1 12 utilizado na realiza o desta tese composto por dois subsistemas master e slave Tal sistema permite a um operador agindo localmente sobre o rob master Phantom Haptic Device interagir com ambientes remotos por interm dio do rob slave Rob Cartesiano Figura 1 12 Sistema rob tico do tipo master slave O rob master um Phantom Haptic Device figura 1 13 que possui uma estrutura mec nica muito particular com 3 graus de liberdade e feedback de for a O controlador dedicado apresenta uma arquitectura suficientemente aberta podendo ser acedido por device dr
60. 6 Cap tulo 7 Conclusoes e Desenvolvimentos Futuros 7 1 Conclusoes Este trabalho foi desenvolvido com o intuito de criar plataformas de desenvolvimento e aprendizagem na area de controlo dos sistemas roboticos mais concretamente nos sistemas de telemanipulacao Na primeira fase deste trabalho foi desenvolvida uma aplica o de controlo Matlab Simulink xPC Target e uma interface gr fica Microsoft Visual Basic 6 0 que possibilitam a opera o do rob cartesiano de uma forma aut noma A aplica o de controlo composta por algoritmos de controlo geradores de traject ria e uma m quina de estados Os algoritmos de controlo desenvolvidos permitem o controlo de velocidade do rob cartesiano durante o procedimento de posicionamento no ponto de refer ncia do espa o de trabalho zero do rob permitem tamb m o controlo de posi o do rob durante a execu o das diferentes trajectorias definidas pelo utilizador A implementa o das traject rias definidas pelo utilizador efectuada pelos geradores de traject ria desenvolvidos para esse efeito deste modo as refer ncias de posi o e velocidade s o atribu das a cada controlador de eixo respons vel pela execu o das respectivas traject rias 187 A interface gr fica desenvolvida permite a qualquer utilizador a opera o do rob cartesiano de forma aut noma sendo dotada das principais funcionalidades que uma consola de um rob industrial possui ou seja
61. 9 facilitando o trabalho em zonas de dificil acesso de elevada profundidade ou de elevado tempo de execu o O Predator consiste num bra o rob tico de actua o hidr ulica que disp e de feedback de for a sendo controlado por um sistema Human Machine Interface HMI figura 1 8 A HMI mini master utilizada para controlar o Predator corresponde a uma inova o tecnol gica uma vez que disponibiliza ao operador o feedback de for a associado interac o entre o manipulador rob tico e o espa o de trabalho Figura 1 8 Sistema de Telemanipula o utilizando o Manipulador Rob tico Predator e a HMI mini master http krafttelerobotics com products predator htm 22 Figura 1 9 Exemplo de uma Aplica o do Manipulador Rob tico Predator http krafttelerobotics com products predator ht Existem tamb m v rios trabalhos na rea dos sistemas de telemanipula o no mbito de projectos de investiga o De seguida s o apresentados dois exemplos com caracter sticas pr prias que vale a pena referir Em Nufio Ortega e Basafiez 2006 descrito um sistema de telemanipula o h ptico com um controlo de imped ncia O sistema rob tico de telemanipulacao figura 1 10 composto por um Phantom 1 5 6 DOF master e um rob industrial TX 90 Staubli slave com um controlador CS80 C Staubli e um sensor de for a JR3 O sistema de telemanipula o disp e de feedback de
62. C corresponde a um Desktop funcionando como plataforma de desenvolvimento bem como centro de supervis o e comando do sistema de controlo master Enquanto que o Target PC desempenha o papel de controlador do sistema rob tico slave uma vez que a aplica o respons vel pelo controlo e opera o do rob slave rob cartesiano executada no Target PC no kernel de tempo real xPC Target O Host PC comunica com o Target PC atrav s de uma liga o dedicada cabo crossover embora possa optar se pelo uso de uma liga o do tipo LAN cabo UTP Uma liga o do tipo LAN requer especiais cuidados uma vez que este tipo de liga o acarreta problemas associados ao controlo global do sistema tais como atrasos temporais e perdas de informa o que t m de ser geridas eficazmente pelo controlador do sistema n o sendo de momento esse um dos objectivos deste trabalho Assim o tipo de liga o dedicada cabo crossover implementado caracterizado pela sua elevada taxa de transfer ncia de dados na ordem dos 100 Mbps Para que se estabele a a liga o entre o Host PC e o Target PC necess rio que ambos possuam cartas de rede sendo que a carta de rede instalada no Target PC suportada pelos drivers disponibilizados pelo m dulo xPC Target foi a Intel PRO 100 S A comunica o entre o Host PC e o Phantom Haptic Device efectuada atrav s de uma interface porta paralela sendo este tipo de interface caracterizado pela sua alta t
63. Faculdade de Engenharia da Universidade do Porto Faculdade de Engenharia FEUP Concep o e Implementa o de uma Estrat gia de Controlo Aplicada a um Sistema Rob tico do tipo Master Slave M rio Jorge Moreira Cardoso Licenciado em Engenharia Electrot cnica Electr nica e Computadores pelo Instituto Superior de Engenharia do Porto Disserta o submetida para a satisfa o parcial dos requisitos exigidos para a obten o do grau de mestre em Automa o Instrumenta o e Controlo Porto Janeiro de 2009 Disserta o realizada sob a orienta o do Professor Doutor Ant nio Mendes Lopes do Departamento de Engenharia Mec nica e Gest o Industrial da Faculdade de Engenharia da Universidade do Porto Agradecimentos Ao Prof Ant nio Mendes Lopes meu orientador pela sua disponibilidade e ajuda no desenvolvimento desta disserta o Aos meus pais e irm pelo apoio e compreens o que demonstraram durante a execu o desta tese Aos meus amigos em geral destacando o Miguel e o Diego pela sua colabora o Helena pelas correc es na redac o do texto Resumo Os sistemas de telemanipula o surgiram em aplica es como a constru o no espa o e a desactiva o de instala es nucleares para permitir o controlo do movimento de um manipulador rob tico localizado num ambiente remoto Os sistemas de telemanipula o possuem importantes vantagens na execu o de tarefas em ambientes des
64. ITOS DE FUNCIONAMENTO DO SISTEMA ROB TICO MASTER SLAVE 142 4 3 DESCRI O DO PHANTOM HAPTIC DEVICE rr eerer seen ea as encena cancer ren ea nanda 143 4 4 ARQUITECTURA DO SISTEMA ROBOTICO DE TELEMANIPULA O cseecceseccnsscccsscccesesceseceees 144 4 5 CONCEUSODS iai entao ra GE o E o O o ee ee ee EA 147 CAPU O 5 asec petite SRS ist ead pia ist SR pb TD EG cit E are E 149 ARQUITECTURA DO SOFTWARE DE CONTROLO DO SISTEMA ROB TICO DE TELEMANEPOULACA Orisiscssccsssctrcstcccsscncssasbestaccsccscssesbesescctsccossasbesosncsecsssasohesossesccscsasbesbaceseceuesbaceedseses 149 Xi Dsl BRODU O a eR ER ne NE CENCE Rene ae EERE ee on eRe Ene DA MOE ME ER EN me ONE Ay Me EnOED EERE RTT 149 52 AROUITECTURA DO SOFTWARE erata ha a E A E O AENA a 151 5 3 APLICA O DE CONTROLO SIMULINK cccscccsscccssccssccscccsccesccesccesscesseesscesccessseesceescesesees 153 5 3 1 Maquina de Estado Stateflow cccccccccccccccsssssssssscssssccssscsesscescccsecsesseeeseeceeseseseeeeseeseaeeeas 153 J Procedimento Zero da M quina Rob Slave 158 5 3 4 Procedimento Posicionamento em Zero errar 159 o Telemanipuld ed O ae a Sd a RD A RR canada AA DA a 162 5 4 OPENLDAP TICS POOL RUG SC re ss aee add Ga a SD Sd 164 5 5 CONCLOSOE Sa at E T E LR E A o E aa 169 CABRITO 6a E SR OE TERA DNS OS EaD SS AD RS A Ra 171 INTERFACE GR FICA DE COMANDO DO SISTEMA ROB TICO DE TELEMANIFULACA O sa nai lar con a a a 171
65. Source tities Code Examples Haptic Device API HOAP I PHANTOM Device Drivers Foc Figura 5 1 Arquitectura do Software do Sistema Rob tico Master Slave A aplica o de controlo do rob cartesiano composta por quatro componentes distintas mas que interagem umas com as outras figura 5 1 Desta forma uma dessas componentes corresponde a blocos de par metros de entrada e sa da de dados que s o transferidos de e para a aplica o de monitoriza o e comando instalada no Host PC As outras duas componentes ess ncias da aplica o de controlo do rob cartesiano s o os controladores de eixo e m quina de estados do sistema pois s o elas que geram as ordens e ac es de comando atribu das ao rob cartesiano Sendo que essas a ac es s o geradas mediante os par metros enviados pelo controlador do Phantom Haptic Device e os dados obtidos pelos sensores e detectores instalados no rob cartesiano A quarta componente da aplica o de controlo do rob slave corresponde aos drivers das cartas digitais e anal gicas respons veis pela interface entre a aplica o de controlo e o meio f sico que interage com o rob cartesiano 152 5 3 Aplica o de Controlo Simulink Nesta subsec o ser o descritas as componentes da m quina de estados Stateflow bem NX como os procedimentos inerentes activa o dos estados da mesma Ser o tamb m descritos os subsistemas que comp em a aplica o de con
66. a acelera o ao longo de toda a traject ria Deste modo o movimento entre pontos assim definidos pode ser qualquer sendo suficiente interpolar uma fun o que satisfa a as condi es pr estabelecidas As fun es ortogonais tais como fun es polinomiais fun es trigonom tricas polin mios de Chebychev polinomios de Legendre e polin mios de Laguerre podem ser usadas neste tipo de interpola o A segunda 66 abordagem requer a especifica o do caminho geom trico que o rg o terminal deve descrever ex linha recta arco de circunfer ncia Neste caso necess rio gerar uma sequ ncia de pontos que aproxime o caminho desejado Nesta subsec o descrita a implementa o dos geradores de traject rias utilizados no modo de opera o aut noma do rob cartesiano A finalidade da utiliza o dos geradores de traject rias corresponde gera o de refer ncias de posi o velocidade e acelera o que s o fornecidas ao controlador PID de cada eixo 2 4 1 Movimento Linear entre dois Pontos Caso se pretenda efectuar uma traject ria linear segmento de recta entre dois pontos tem de se utilizar um algoritmo de interpola o no espa o operacional Um algoritmo bastante comum para gerar esse tipo de traject ria consiste em efectuar uma interpola o linear entre dois pontos por exemplo x e x de acordo com um dado perfil de velocidade Fu et al 1987 Isto x t x p t x x 0 lt t lt T
67. a I O e target obj GetSignal target obj GetSignalldx pos lin y A fun o anterior permite que atrav s da interface gr fica se possam monitorizar vari veis da aplica o Simulink Neste caso atrav s da fun o target obj GetSignal utilizada na aplica o Visual Basic poss vel adquirir o valor instant neo da vari vel 95 do Simulink pos Im y que corresponde posi o linear do eixo Y do rob cartesiano 96 2 5 4 Aplica o de Controlo Simulink Nesta subsec o descrito na generalidade o processo de desenvolvimento da aplica o de controlo S o descritos os principais modos de opera o implementados e as t cnicas inerentes 1 Cartas I O sinais e vari veis da aplica o de controlo As cartas de aquisi o de dados implementam a interface entre o meio f sico e o controlador do rob slave Sendo que todos os sinais adquiridos pelas cartas de aquisi o e utilizados pelo controlador s o obtidos pelo Simulink atrav s de device drivers disponibilizados de acordo com o modelo e fabricante pela toolbox xPC Target Deste modo para cada sinal pretendido necess rio configurar o bloco driver disponibilizado pelo xPC Target figura 2 46 Deste modo as cartas de aquisi o permitem adquirir os sinais digitais dos fins de curso mec nicos e indutivos os sinais digitais presentes no arm rio el ctrico de controlo do rob slave os valores de posi o angulares de cada eixo
68. a abrir um ficheiro j existente a grava o de novos pontos feita pontos acrescentados no fim desse ficheiro sendo que os restantes continuam armazenados Isto permite dar continuidade a ficheiros de pontos utilizados anteriormente Caso o utilizador pretenda criar um novo ficheiro ter de abrir um ficheiro com um nome que n o exista nesse direct rio Os ficheiros que cont m os pontos visitados podem ser utilizados na execu o de traject rias multi ponto Save Current Position Open File Save Pont Close File Figura 13 Painel para guardar os Pontos Visitados w Insert Velocity Sele Velocity mms Dk Lancel Figura 14 Janela de Defini o de Velocidade 11 Accionar o bot o Stop Ao accionar este bot o o utilizador p ra a execu o da aplica o sendo que o controlador do sistema deixa de ser executado 207 Traject rias multi ponto O utilizador pode aceder atrav s do menu Trajectory figura 1 s funcionalidades que lhe permitem executar um conjunto de traject rias multi ponto Sendo que o utilizador disp e de dois modos de defini o de traject ria multi ponto Insert Points e o Load From File 1 Insert Points Se o utilizador seleccionar esta op o uma nova janela aparece no ecr figura 15 w Insert Points A new trajectory must be defined Point Definition pas Y Z Velocity mM Type of Trajectory E Continuous Repeat Execute Cancel
69. a que pretende para a execu o da traject ria que leva o rob ao ponto definido Depois de preenchidos os campos associados defini o de um dos pontos da traject ria o utilizador deve confirmar esse 134 ponto carregando no bot o Insert isso implica que as coordenadas do ponto inserido sejam verificadas Se estiverem correctamente definidas s o gravadas num ficheiro No caso do sub menu Load From File o utilizador tem a possibilidade de escolher um ficheiro que contenha a defini o de uma traject ria multi ponto sendo que a escolha do ficheiro efectuada atrav s do bot o Load File Esse ficheiro pode ser criado e preenchido manualmente pelo utilizador num editor de texto ou pode ser gerado a partir do painel Save Current Point da interface gr fica Em ambos os sub menus tanto os dados contidos no ficheiro que armazena os pontos para uma traject ria como os pontos inseridos pelo utilizador nas caixas de texto s o verificados em caso de detec o de qualquer incorrec o a traject ria rejeitada ex pontos fora do espa o de trabalho A execu o de uma traject ria multi ponto sempre efectuada cumprindo o seguinte procedimento e A primeira tarefa corresponde ao posicionamento autom tico do rob no primeiro ponto da traject ria definida O rob deslocado da posi o em que se encontra para a posi o correspondente ao primeiro ponto da traject ria definida segundo um movimento linear
70. a transi o do estado Zero da M quina para o Posicionamento em Zero e Posicionamento em Zero Este estado tem associados dois subsistemas Simulink que implementam a ac o do posicionamento do rob cartesiano na posi o 0 0 0 Um dos subsistemas respons vel por calcular as componentes de velocidade m dia de cada eixo para execu o da traject ria O outro subsistema implementa o gerador de trajectorias com perfil smusoidal de velocidade necess rio para fornecer as refer ncias de posi o e velocidade aos controladores de eixo para que seja efectuada a traject ria de modo suave No fim do posicionamento do rob cartesiano em 0 0 0 ocorre um evento associado ao termino deste procedimento o que provoca uma transi o do estado Posicionamento em Zero para o Est vel e Est vel Este estado est associado a um subsistema Simulink que fornece aos controladores de eixo refer ncias fixas de posi o Deste modo o rob cartesiano permanece fixo numa posi o possibilitando ao utilizador efectuar outras tarefas que n o seja a telemanipula o uma vez que neste estado o rob cartesiano permanece sobre controlo de posi o com as refer ncias de posi o que ficaram gravadas no momento da entrada no estado Quando este estado est activo pode dar se uma transi o para o estado Telemanipula o em consequ ncia do evento associado actua o por parte do utilizador do bot o da interface gr f
71. ado o modelo do sistema f sico descrita a sintese dos controladores de eixo e apresentados os algoritmos utilizados pelos geradores de traject ria Neste cap tulo s o tamb m apresentadas as principais funcionalidades de opera o em modo aut nomo do rob cartesiano e descrita a arquitectura de controlo implementada apresentada a interliga o entre as v rias componentes do sistema de controlo do rob dando se especial import ncia descri o da aplica o de controlo desenvolvida No cap tulo 3 descreve se a interface gr fica de comando do rob cartesiano em modo aut nomo Esta possibilita que o utilizador efectue opera es de defini o e execu o de traject rias entre dois ou mais pontos com a possibilidade de escolha de diferentes tipos de movimento Sendo que ap s a conclus o das traject rias poss vel a visualiza o de gr ficos que possuem informa o relativa aos movimentos efectuados A interface gr fica permite tamb m o movimento manual de cada um dos eixos do rob No cap tulo 4 s o descritos os principais requisitos de funcionamento de um sistema master slave E tamb m apresentado e caracterizado o dispositivo Phantom Haptic Device que desempenha as fun es de master no sistema de telemanipula o Por ltimo descrita a arquitectura de hardware do sistema rob tico do tipo master slave A arquitectura do software de controlo do sistema rob tico de telemanipula o apresenta
72. ador de traject ria eixo a eixo figuras 2 60 e 2 51 o que corresponde execu o de um gerador de traject rias associado a cada eixo resultando desta forma na realiza o de um movimento de um eixo de cada vez Ap s a defini o da traject ria o utilizador dever carregar no bot o Execute painel Commands para que o movimento do rob seja executado Durante a movimenta o do rob todas as funcionalidades da interface gr fica encontram se bloqueadas por raz es de seguran a com excep o do bot o Emergency painel Commands figura 3 7 que permite paragem do movimento em caso de emerg ncia 126 3 2 4 Painel Commands Este painel figura 3 7 disponibiliza alguns bot es com comandos espec ficos dentro da interface gr fica A actua o de um destes bot es provoca efeitos na interface gr fica nomeadamente no desbloquear ou bloquear de certas funcionalidades como tamb m produz determinadas ac es do controlador do sistema Em seguida ser o descritas as propriedades de cada um destes bot es de comando bem como as ac es resultantes da sua actua o Commands Cm ee e me e Figura 3 7 Bot es de Comando da Interface Gr fica 1 Bot o Start A activa o deste bot o implica o in cio da aplica o a partir desse momento o sistema est pronto a ser controlado sendo que o primeiro procedimento a ser efectuado o Zero da M quina por esse motivo o nico bot o activo no In cio
73. alha fechada to KK __Tis Jeqs Deq Kp Kt By ja l Kp Kt Ti s Jeq s Deq Kp Kt 2 15 em que Jeq Jm Jc e Deg Dm Dc Legenda unidades S I Jeq Momento de in rcia equivalente kg m Deg Atrito din mico equivalente N m s rad Sabendo que a fun o de transfer ncia de um sistema de segunda ordem 2 w n 2 2 44 Legenda unidades A Frequ ncia natural n Coeficiente de amortecimento Manipulando a equa o 2 15 de forma a obter uma equa o na forma da fun o acima apresentada 2 16 resulta Kp Kt U Jeq Ti Oe 2 Deq Kp Kt Kp Kt Jeq Jeg Ti 217 Da conjuga o das equa es 2 16 e 2 17 obt m se o 2 18 Jeq Ti e CA a a at 2 19 Jeq Uma vez que os valores de Kt Deg e Jeq s o conhecidos escolhendo 80rad s e 1 das equa es 2 18 e 2 19 retiram se os valores dos par metros do controlador neste caso Kpx 0 694 e Tix 0 025 Kpy 0 490 e Tiy 0 025 Kpz 0 279 e Tiz 0 025 Uma vez obtidos os par metros do controlador PI passa se ent o fase de valida o simula o em Simulink dos mesmos Para isso utiliza se o modelo completo do sistema que inclui o acoplamento aplicando um controlador com a configura o que apresentada na figura 2 7 45 ref vel ang aco controlo Discrete Time Integrator pos angular num diz den diz Filtra Derivative Figura 2 7 Modelo em Sim
74. am Yelocity mm s Acceleration Jmm s 2 sal ee x fue rim wry fo Y hyle Dm DU DE left Yig Y Ane 0 0 S Z let Ziitth ZA Zale 7 IE ii E leht E x itg Mo x se Figura 3 3 Monitoriza o de Vari veis e Sinais do Sistema Rob tico 122 Outro painel onde poss vel monitorizar sinais digitais relevantes sobre o estado do sistema o Digital I O Este painel efectua a monitoriza o dos sinais presentes no quadro el ctrico Atrav s dele o utilizador pode detectar uma condi o de alarme ou de emerg ncia sinais Alarm Emergency e Overtravel O utilizador pode tamb m verificar em que condi o se encontra a operacionalidade do sistema atrav s dos sinais Driver On Run e Brake figura 3 4 Digital IlfO Inputs Status S Driver On SS Run E Alarm SS Overtravel S Emergency E Breake Figura 3 4 Painel que replica os Sinalizadores do Arm rio El ctrico do Rob Cartesiano 123 3 2 3 Painel Types of Movement Este painel foi concebido com o intuito de disponibilizar ao utilizador ferramentas que lhe possibilitassem movimentar o rob desde a posi o corrente at uma posi o desejada O utilizador pode movimentar o rob de tr s formas diferentes executando movimentos manuais relativos ou absolutos 1 Movimento manual Para efectuar este tipo de movimento foi constru do um sub pamel em forma de consola que disp e de um conjunto de bot es e scrollbars Esses bot es per
75. ando se movimenta no seu espa o de trabalho A traject ria desejada especificada pelo utilizador e gerada pelo Gerador de Traject rias tendo em conta a informa o fornecida pelo utilizador e as restri es cinem ticas e din micas do rob e do ambiente O controlador do rob recebe a traject ria desejada interpretando a como uma refer ncia que tentar fazer cumprir figura 2 26 Especifica o da traject ria Perturba es COK ORO Planeamento gt Controlador Manipulador ___ Rab Sie de trajectorias x x t X 1 Cinematica e Dinamica do manipulador Sensores Interface Figura 2 26 Sistema de controlo de um rob cartesiano Lopes 1994 O planeamento de traject rias pode ser visto como um bloco que aceita um conjunto de vari veis indicando as condi es a que deve obedecer a traject ria devolvendo em cada instante de amostragem novos valores de posi o velocidade e acelera o para cada eixo do rob Esses valores s o depois usados como refer ncias no bloco de controlo figura 2 26 S o comuns duas abordagens distintas ao planeamento de traject rias A primeira requer apenas a especifica o de um conjunto de pontos onde o rg o terminal do rob deve passar em determinados instantes de tempo e de um conjunto de condi es a serem obedecidas por exemplo continuidade e suavidade na posi o na velocidade e n
76. aplicado a um Satelite NASA COPIII SIN wii Ron ioRAS Upa O O Sa Aa dera 20 Figura 1 4 Bra o Rob tico aplicado numa Esta o Espacial ESA Copyrigth 20 Figura 1 5 Sistema Robotico de Telemanipula o Zeus www space com ZI Figura 1 6 Sistema Robotico de Telemanipula o Da Vinci www nextgenmd org dead Rd cater 21 Figura 1 7 Exemplo de uma Experi ncia com Dispositivos H pticos associados a Opera es Cir rgicas Okamura 2004 sreske 22 Figura I amp Sistema de Telemanipula o utilizando o Manipulador Rob tico Predator e a HMI mini master http krafttelerobotics com products predator htm cccccccccvcevccccccccccccccescssseeees 22 Figura 1 9 Exemplo de uma Aplica o do Manipulador Robotico Predator http krafttelerobotics com products predator ht cccccccccccvcececececsscssceceessseeeees 23 Figura 1 10 Exemplo de uma Arquitectura de um Sistema Rob tico de Telemanipula o Nuno Ortega e Basa ez 2006 cccccccccccceeeeeeeeseescececceseeeeeeeees 23 Figura 1 11 Exemplo de um Sistema de Telemanipula o via Wireless Filippi 2007 pi EE EE EEEE ATE as nea E AENEA AA 24 Figura 1 12 Sistema rob tico do tipo MAStCr SlAVE cccccecccceccccccccccccceeeeeeeeeeeaee as anees 2J Figura 1 13 Phantom Premium 1 5 High Force master 26 Figura 1 14 Rob Cartesiano de 3 Eixos slave cccccccccccsccecccccesc
77. aquina de estados ser um elemento essencial da aplica o de controlo uma vez que atrav s dela que s o produzidas as diversas reac es aos eventos gerados pela opera o do sistema Neste cap tulo foram ainda apresentados e comentados alguns resultados experimentais que ilustram o desempenho dos controladores de eixo do sistema rob tico Da an lise dos resultados verificou se que para maiores amplitudes de movimento os controladores de eixo apresentavam bons desempenhos tanto no regime transit rio como no regime permanente Para movimentos de baixa amplitude os controladores de eixo apresentam um ligeiro atraso na resposta em rela o s refer ncias de posi o e velocidade sendo que o erro em regime permanente quase desprez vel Deste modo um dos principais objectivos da implementa o dos controladores de eixo foi atingido ou seja a precis o no posicionamento 116 Por compara o dos diversos resultados experimentais apresentados pode concluir se que o controlador demonstra melhores desempenhos para traject rias de grande amplitude de movimentos para elevadas velocidades de execu o de traject rias wl 118 Cap tulo 3 Interface Grafica de Comando do Rob Cartesiano 3 1 Introdu o A interface gr fica de comando foi desenvolvida em Microsoft Visual Basic 6 0 uma vez que a toolbox xPC Target disp e de uma API xPC Target COM API que efectua a troca de informa o entre a aplica o
78. aso venha a verificar se alguma situa o an mala ao correcto funcionamento da opera o de telemanipula o existem transi es de seguran a desse estado para o estado Inicial Emerg ncia Durante a perman ncia nos estados que impliquem o movimento do rob cartesiano no caso de ocorrer um evento associado a uma condi o de seguran a nomeadamente a actua o de um fim de curso mec nico a actua o por parte do utilizador do bot o da interface gr fica Emergency ou de uma das botoneiras de emerg ncia ocorre uma transi o na m quina de estados para o estado Inicial Emerge ncia De seguida s o descritos os procedimentos associados aos estados que comp em a m quina de estados figura 5 2 e Inicial Emerg ncia Como j foi referido no cap tulo 2 este estado est associado a um subsistema Simulink que respons vel por fornecer refer ncias nulas aos drivers de pot ncia com excep o do eixo Z que est sujeito influ ncia da for a grav tica necessitando de uma refer ncia suficiente para se manter equilibrado A partir deste estado se o utilizador actuar no bot o Reset da interface gr fica ocorre um evento que origina a transi o para o estado Zero da M quina 155 e Zero da M quina Este estado ja foi descrito no cap tulo 2 sendo utilizado para implementar o procedimento do reset dos encoders do rob slave No fim deste procedimento ocorre um evento associado a uma flag que provoca
79. avusoglu M C et al 2002 Design of bilateral teleoperation controllers for haptic exploration and telemanipulation of soft environments IEEE Transactions on Robotics and Automation Volume 18 pp 641 647 Filippi H 2007 Wireless teleoperation of robotic arms Master Thesis Department of Space Science Kiruna Sweden Gough John 2001 Compiling for the NET Common Language Runtime CLR Prentice Hall PTR Hercog D Gergic B Matko V 2005 Remote Lab for Electric Drives IEEE ISIE 2005 Dubrovnik Croatia Volume 4 pp 1685 1690 193 Hirzinger G et al 1997 Teleoperating space robots Impact for the design of industrial robots IEEE ISIE 1997 Guimaraes Portugal Volume 1 pp 250 256 K S Fu R C Gonzalez C S G Lee 1987 Robotics Control Sensing Vision and Intelligence McGraw Hill International Editions Kim C H Kim S J Kim D K 2004 RTAI Based Real Time Control of Robotic Wheelchair 6th RTL Workshop Lopes A M 1994 An lise cinem tica e planeamento de traject rias para um robot industrial Tese de Mestrado Porto Lopes A M Abreu P Cardoso M 2007 A Master Slave Telemanipulation Robotic System REV Conference Porto Portugal Low K H Wang H Wang M Y 2005 On the development of a real time control system by using xPC Target solution to robotic system control IEEE International
80. axa de transfer ncia de dados No entanto a utiliza o do Phantom Haptic Device com este tipo de interface tr s algumas desvantagens face a interface PCT a implementa o de um controlador de tempo real para um Phantom Haptic Device dotado de uma interface PCT encontra se muito mais facilitada A Quanser Canada uma empresa dedicada ao desenvolvimento entre outros produtos de solu es de controlo em tempo real para Haptic Devices disponibilizando software e hardware adequado Neste momento disp e de uma solu o para o controlo em tempo real do modelo Phantom Haptic 144 Device utilizado neste trabalho sendo que as vers es que disponibiliza de momento possuem interface PCI entre o dispositivo e o PC encontrando se ainda em fase de desenvolvimento uma aplica o para os dispositivos que disp em de uma interface do tipo porta paralela Como ser visto mais adiante por n o ser poss vel aceder ao Phantom Haptic Device em tempo real n o poss vel o envio de refer ncias de posi o do master para o slave a uma taxa constante A escolha do Target PC recaiu sobre um Desktop No Target PC est o instaladas as cartas de aquisi o de dados que disp em de uma interface do tipo PCT Estas cartas s o respons veis pela interface entre o sistema de controlo e o rob cartesiano Hardware I O Board s ee Manipulador Cartesiano Liga o Ethernet Crossover p Host PC gt mw Tar
81. bano dali satin a es 85 2 9 Software de Controlo Matlab Simulinh eeeeeeeeeeereererererererererererererers 65 22 xPC Target Configura o Host Target cccccccccccssscssssssssssssscscscssssessseseccesecsssesesseseeseeesens 47 25 5 PAP UTC CLO SO INE surra testy ha aaa aS eas ese atin nee een ea btn ieee ai 91 2 5 4 plica o de Controlo SiMULINK roeiriem ea a aa aaa aaa a eae ae aaa ae eees 97 DEDO Maquina de Estados Stateflow aeee aeee eae arena r eee rrenan 108 2 6 CONCEUSOL 8 satiate dasa E TATE NEE oia Gia ALIE Ra EEE a IE Sa 116 CAPITULO S eee ta o a o a 119 INTERFACE GR FICA DE COMANDO DO ROB CARTESIANO cececscseseseseseseseseses 119 3 1 INTRODU O pau att tes A N T TI OE SA tel teeta at ul etait A AE E a a T 119 3 2 PAINEL PRINCIPAL DA INTERFACE GR FICA ccsssccssscccsscccssccccsccscsscecsscccssscessscscsscecssseessoses 121 32 1 Painel Robot Speci ean Ons assassinas ad An Ds 121 S22 Painel VA OTL OV IVC gla ra aa ahh cial a ass a T sees al oe nh are le 122 3 2 3 Painel Types Of Movem eni nres i ir dO A T A E 124 3 2 4 Pame O r te tec AN 127 JA POMEL Save Curren Pom paia O AN 131 3 3 MENUS DAINTERFACE OGRAFIA ies aa a a a A N 132 3 4 CONCLUS ES aa a a a a a a a eoneucee ease 139 CAPUL O Aaaa a USOS DEN Cera o pa E O RO dC 2 141 DESCRI O DO SISTEMA ROBOTICO DE TELEMANIPULA O ceccseseeseseeseseesenes 141 4 1 INTRODU O sr ME ia O a a ean SR 141 4 2 REQUIS
82. c s Kac T s E s Jc Jm s Jc Dm Jm Dc Jm Jc Dac s Dm Dc Dac Dm De Kac Jm Je sKac Dm T De 41 Const Binario Inercia w Motor Int De atrito viscoso Coulomb amp Wiscous Friction Figura 2 5 Modelo em Simulink de um eixo linear Da equa o 2 12 pode concluir se que no caso de um acoplamento r gido ideal em que Kac gt 20 e Dac 0 resulta Om s des 1 T s T s sJc Jm s De Dm 2 13 A figura 2 5 mostra o modelo Simulink que implementa as equa es referentes a dinamica dos eixos do robo cartesiano De seguida sao apresentados os valores dos parametros que constituem o modelo Valor unidades S I eixo X e Y 20 mm eixo Z 10 mm fornecido pelo fabricante 0 590 N m A fornecido pelo fabricante 1 672E 4 kgm calculado a partir de valores fornecidos pelo Ea Es a fabricante eixo X 0 0024 kg m eixo Y 0 0016 kg m eixo Z 8 695E 4 a kg m calculado a partir de valores fornecidos pelo fabricante om onorwmsmilhmecdopdotiiamo De oa Naide io do motor la iin Rae RES es pt ame OOOO h Kt Jm Jc Dm De ac Kac 42 2 3 2 Sintese de Controladores Nesta sec o sera abordado o desenvolvimento a implementa o e a valida o dos controladores usados para o controlo de velocidade e de posi o dos eixos Ser o apresentados os resultados obtidos em simula o e nos testes experimentais efe
83. ca o Simulink Interface Grafica a doa da Cartas I O Monitoriza o Sinaliza o Comandos Le Anal gica Digital Stateflow O Bot es Par metros M quina de Estados Digitais poses paguo Sontae fl XPC Target COM API a i ml Entrada Saida O I O Analogicas L l FneCuto Par metros Velocidades l Indutivos Coordenadas go Posi o SUR Geradores de Controladores Acel z Quadro BR i celera es El ctrico Velocidades Trajectoria de Eixo M dias Figura 2 43 Arquitectura do Software A m quina de estados Stateflow respons vel pela recep o dos eventos produzidos pelas entradas digitais actua o de fins de curso pela mudan a de estado dos par metros de entrada accionamento de alguns bot es da interface gr fica ou pelas flags geradas pela aplica o Simulink de fim de traject ria do movimento do rob 91 Mediante a recep o destes eventos um dos estados da m quina de estados ficar activo o que implica a execu o de um subsistema Simulink e a altera o do estado das sa das digitais e anal gicas Na aplica o Simulink foram implementados geradores de traject rias res
84. ccccceceeseeeeeeete es saanees 26 Piourad lobo CAO NOS r E E A 33 Figura 2 2 Arm rio Electrico de COntrolo ccccccccccccccccccceeeeeeeeecscceeececcseseeenaaaaaaaaaanees 36 Figura 2 3 SISTCING de F arafusOscccsnian a a a a R 39 Figura 2 4 Modelo de um Sistema de Transmiss o com Elasticidade 006 40 Figura 2 5 Modelo em Simulink de um eixo linear cccccccceee cece eee 42 Figura 2 6 Diagrama de Blocos do Controlador PI de Velocidade 00000066 dd Figura 2 7 Modelo em Simulink do Controlador PI de Velocidade 46 Figura 2 amp Resposta do Sistema a um Perfil Sinusoidal de Velocidade sem Atrito Est tico azul Refer ncia de Velocidade vermelho Reposta do Sistema 47 Figura 2 9 Resposta do Sistema a um Perfil Sinusoidal de Velocidade com Atrito Est tico azul Refer ncia de Velocidade vermelho Reposta do Sistema 47 Figura 2 10 Diagrama de Blocos do Controlador Proporcional de Velocidade 49 Figura 2 11 Modelo em Simulink do Controlador Proporcional de Velocidade 49 Figura 2 12 Resposta do Sistema a um Perfil Sinusoidal de Velocidade com Atrito E SUA TICO rins a id a deca incase 50 Figura 2 13 Diagrama de Blocos de um Controlador Proporcional Integral DIO sa EE A ete nd 51l Figura 2 14 Modelo em Simulink do Controlador PID de Posi o a2 Figura 2 15 Diagrama de Blocos do Controlador PID de Posi o e
85. componentes que comp em a interface gr fica bem como as funcionalidades da mesma S o tamb m descritas as funcionalidades do sistema rob tico inerentes s opera es efectuadas na interface gr fica Cartesian Robot Console Communications Load Unload Trajectory Graphics Save file About Robot Specifications Monitoring Position Velocity Acceleration Limit Switch Working Space Maximum Velocity FRE TR Position mm Velocity mm s Acceleration mms 2 x Axle S xX left Xtitgh x Axle Y Asle Yet Yritgh YAsle S Ziet Ziitgh ZAsle x Axle 315 to 315 mm x Axle 200 mms Y Axle 260 to 260 mm Y Axle 200 mms Z Bule 150 to 150 mm Z Axle 200 mms Z Axle Types of Movement Digital I O Manual J coe Inputs Status Velocity Relative Movement a qria Ki gt Delta_x Delta_y Delta_z Velocity amp DriverOn E HM vade lt f gt E Run AR 4 gt Alarm Absolute Movement Y zZ Velocity Overtravel E mm Emergency cancel Save Current Position Breake Interpolation EEE oat c Commands Figura 3 1 Interface Gr fica de Comando 120 3 2 Painel Principal da Interface Gr fica O painel principal da interface gr fica figura 3 1 composto por diferentes sub pain is com fun es diversas permitindo ao utilizador explorar as potencialidades do sistema rob tico em modo de aprendizagem 3 2 1 Painel Robot Specificatio
86. conhecidos imposs veis ou dificeis de realizar por um operador humano e onde imposs vel a utiliza o de sistemas rob ticos aut nomos devido s suas limita es na rea da intelig ncia artificial dificil interpreta o de dados dos sensores e dificil modela o do ambiente Um sistema rob tico de telemanipula o composto por dois subsistemas master e slave Tal sistema permite a um operador agindo localmente sobre o rob master interagir com ambientes remotos por interm dio do rob slave Tarefas que podem beneficiar de um tal sistema s o por exemplo a manipula o de ambientes hostis e ou de dif cil acesso espa o meio subaqu tico instala es nucleares e qu micas constru o tarefas de busca e salvamento combate a inc ndios entretenimento e a cirurgia remota telemedicina A presente disserta o descreve o desenvolvimento de um sistema rob tico de telemanipula o Numa primeira fase do trabalho foi necess rio desenvolver e implementar uma arquitectura de controlo de forma a explorar as potencialidades do rob slave rob cartesiano A segunda fase do trabalho foi dedicada ao estudo desenvolvimento e implementa o de uma estrat gia de comando e interliga o dos dois sistemas master e slave Abstract Telemanipulation systems were firstly applied im nuclear decommissioning and constructions in space giving the user direct motion control of a robotic manipulator located in a re
87. ctivados os subsistemas respons veis pela execu o do procedimento de posicionamento do rob cartesiano no ponto 0 0 0 182 gt Exit Este bot o tem como principais funcionalidades o parar da execu o da aplica o de controlo e o fechar da sess o da interface gr fica Quando este bot o accionado todas as tarefas em execu o pelo sistema de controlo s o abortadas e as rotinas de monitoriza o s o inibidas 183 6 3 Menu Communications Este menu disponibiliza dois tipos de comunica es suportadas pelo software de controlo xPC Target que s o a comunica o Porta S rie e TCP IP necess rio o utilizador indicar o endere o de JP e o Port Number do Target PC a que se quer ligar figura 6 6 Neste menu pode ainda fechar se a comunica o estabelecida caso se pretenda estabelecer uma nova Load Unload About Communications Establish Connection TCP IP El TCP IP Configuration IP 10 002 Pott 22229 IP Figura 6 6 Menu Communications e Configura o de Comunica o TCP IP 184 6 4 Conclus es Neste cap tulo foram apresentadas as funcionalidades e as caracter sticas da interface gr fica do sistema rob tico de telemanipula o O desenvolvimento da interface gr fica teve como principal objectivo possibilitar ao utilizador a opera o do sistema de uma forma f cil e intuitiva Atrav s da interface gr fica o utilizador pode operar o sistema de
88. ctuados sendo apresentada a an lise desses resultados Controlador de Velocidade A utiliza o de codificadores incrementais como transdutores de deslocamento obriga a que sempre que iniciada uma sess o o primeiro procedimento a efectuar pelo rob cartestano corresponda ao posicionamento dos eixos em pontos referenciados e inicializa o dos codificadores zero do rob cartesiano Para efectuar o procedimento de zero foi projectado um controlador de velocidade PI Proporcional Integral Para controlo de velocidade o sistema a controlar pode ser visto como um sistema do tipo zero Pelo que a ac o integral garantir erro nulo para uma entrada em velocidade Em simula o este controlador revelou um excelente desempenho Controlador PI Proporcional Integral A equa o 2 14 traduz a din mica de um controlador PI existindo algumas variantes a esta equa o geral ii kof dos i dejar 2 14 Legenda unidades S I Ac o de controlo Ganho proporcional E Ti Constante de tempo integral 43 Para simplifica o do c lculo dos ganhos do controlador utilizado o modelo simplificado do sistema ou seja considerando o acoplamento r gido equa o 2 13 e desprezando a modela o do atrito est tico da carga Figura 2 6 Diagrama de Blocos do Controlador PI de Velocidade A partir do diagrama de blocos do sistema da figura 2 6 resulta a seguinte fun o de transfer ncia em m
89. da o de v rios tipos de controladores tornando se assim uma excelente plataforma de ensino no desenvolvimento de estrat gias de controlo robustas Por ltimo efectuada uma descri o da arquitectura de controlo implementada onde apresentada a interliga o entre as v rias componentes do sistema de controlo do rob cartesiano dando se especial import ncia descri o da aplica o de controlo desenvolvida 32 2 2 Rob Cartesiano O rob cartesiano composto por tr s eixos lineares de fusos de esferas da Rexroth montados como mostra a figura 2 1 Figura 2 1 Rob Cartesiano Os modelos dos fusos de esferas de cada eixo s o respectivamente e Eixo X Rexroth MKK 25 110 com 1400 mm de comprimento e Eixo Y Rexroth MKK 25 210 com 1200 mm de comprimento e Eixo Z Rexroth MKK 25 210 com 800 mm de comprimento O movimento no eixo X realizado atrav s de dois eixos paralelos sendo apenas um deles um eixo motor enquanto que o outro serve apenas para guiamento Estes dois eixos est o fixos na estrutura e os seus patins suportam o eixo Y que por sua vez movimenta o eixo Z atrav s de uma uni o entre os patins dos eixos Y e Z 33 Esta estrutura proporciona uma movimenta o no espa o tridimensional com um volume de trabalho de 1080x1250x720 mm e um atravancamento de 1750x1550x2900 mm No entanto por uma quest o de seguran a o espa o de trabalho definido para este projecto foi de 630x52
90. da no cap tulo 5 S o descritas as v rias aplica es desenvolvidas nomeadamente a aplica o gr fica de comando Visual Studio e a aplica o de controlo Simulink No capitulo 6 sao descritas as varias componentes que compoem a interface grafica de comando do sistema de telemanipula o bem como todas as suas funcionalidades 28 No cap tulo 7 apresentam se as principais conclus es e poss veis desenvolvimentos futuros Finalmente os anexos apresentam muito sucintamente os manuais de opera o do sistema desenvolvido 29 1 5 Conclus es Neste cap tulo foi efectuada uma introdu o aos sistemas de telemanipula o descrevendo se a sua origem o seu significado as reas de aplica o e as tecnologias utilizadas Foram apontados alguns exemplos de trabalhos relacionados com a rea dos sistemas rob ticos de telemanipula o mais concretamente exemplos de trabalhos similares aos desenvolvidos nesta tese Do estudo efectuado dos sistemas de telemanipula o verificou se que existem muitas areas de aplica o tirando proveito das vantagens desses sistemas para a realiza o de tarefas repetitivas perigosas ou volumosas imposs veis de realizar por operadores humanos Existem ainda tarefas que devido elevada dist ncia entre o operador e o sistema a controlar requerem a utiliza o de sistemas rob ticos de telemanipula o Neste cap tulo foi tamb m resumidamente apresentado o sistema rob t
91. de tempo real como o caso do LabVIEW Hercog et al 2005 e do Matlab Simulink Bistak e Z kov 2003 Low et al 2005 Esta solu o apresenta particulares vantagens quando o objectivo principal corresponde ao desenvolvimento de uma arquitectura de controlo aberta onde tanto os controladores como os par metros de controlo podem ser facilmente modificados simulados implementados e validados Para al m disso este tipo de solu o disp e de ambientes de desenvolvimento de f cil utiliza o Outro aspecto positivo a salientar o facto deste tipo de aplica es dispor de device drivers de tempo real que permitem uma interface com uma vasta gama de cartas I O e ainda permitem uma f cil integra o com aplica es gr ficas de interface com o operador desenvolvidas atrav s de ferramentas como Microsoft Visual Studio Visual Basic C ou C 85 A escolha do software de desenvolvimento teste e valida o da estrat gia de controlo bem como a sua implementa o recaiu sobre o Matlab Simulink Sendo poss vel deste modo a modela o e simula o do comportamento do sistema a controlar bem como a simula o e valida o dos controladores de eixo e de toda a estrat gia de controlo isto gra as ferramenta de desenvolvimento Simulink O espa o de trabalho Simulink caracterizado pela sua intuitiva Interface gr fica disponibilizando uma biblioteca de blocos Sendo que na base dos sistemas din micos est o as f
92. do controlador PI contrabalan ado pela ac o derivativa que tende a aumentar a estabilidade relativa do sistema ao mesmo tempo que torna a resposta mais r pida devido ao seu efeito de antecipa o Kp 141 TitstTd s oO Gp gt Figura 2 13 Diagrama de Blocos de um Controlador Proporcional Integral Derivativo PID A sa da do controlador PID dada por u t bojo t fe r dr Td O Puto o oe Td E s 2 23 Ti dt Ti s Legenda unidades S I Ac o de controlo Constante de tempo derivativa Neste tipo de controlador o modo integral usado para eliminar o erro em regime estacion rio causado por grandes varia es de carga O modo derivativo com o seu efeito estabilizador permite um aumento do ganho e reduz a tend ncia para as oscila es o que conduz a uma velocidade de resposta superior quando comparado com um controlador P ou PI No entanto estas propriedades assumem um car cter geral pelo que podem existir excep es em determinados sistemas 51 A fun o de transfer ncia do controlador PID dada por IE apto T E 2 24 G 14 e Es SED Na equa o 2 24 a componente derivativa filtrada por um filtro passa baixo para minimiza o do ru do importante referir que as equa es anteriormente apresentadas constituem a vers o cl ssica do controlador PID Existem outras vers es e variantes mas a filosofia de funcionamento a partir da
93. e o que permite aceder s vari veis e caracteristicas do Phantom Haptic Device A integra o da DLL C na aplica o CH interface gr fica facilita o processo de acesso s vari veis posi o e velocidade do Haptic Device e posteriormente o envio dessas vari veis para a aplica o de controlo do rob slave controladores de eixo O facto de a biblioteca de fun es e os drivers do Haptic Device utilizados n o serem desenvolvidos para sistemas operativos de tempo real tr s alguns problemas O problema mais evidente a cad ncia que se apresenta no seguimento de traject ria entre o rob slave e o rob master Este e os outros problemas associados a esse facto poder o ser resolvidos futuramente com a utiliza o de drivers Phantom Device Driver que possibilitem o uso de sistemas operativos de tempo real Nesse caso ser necess rio o desenvolvimento de uma nova estrat gia de controlo que permita a integra o entre o sistema de controlo de tempo real modulo xPC Target do rob slave cartesiano ja existente e o novo sistema de controlo de tempo real do rob master Haptic Device 169 170 Cap tulo 6 Interface Gr fica de Comando do Sistema Rob tico de Telemanipula o 6 1 Introdu o A interface gr fica figura 6 1 foi desenvolvida em Visual Studio Net na linguagem C sendo que este tipo de linguagem caracterizado pela sintaxe muito parecida com a linguagem C A grande vantagem dest
94. e beneficiaram do uso de sistemas de telemanipula o entre as quais se podem destacar a rea da constru o militar aeroespacial Hirzinger et al 1997 medicina cirurgia remota Baumann and Clavel 1998 trabalhos aqu ticos protec o civil combate a inc ndios busca e salvamento arqueologia entretenimento entre outros Os sistemas rob ticos de telemanipula o t m sido de enorme import ncia na explora o e execu o de trabalhos no espa o S o utilizados na explora o de planetas como o caso do Mars Exploration Rovers MER da NASA e o Exomars da ESA figura 1 2 ambos desenvolvidos para a explora o do planeta Marte Figura 1 2 a MER da NASA b Exomars da ESA NASA e ESA Copyrigth Outras aplica es dos sistemas rob ticos de telemanipula o no espa o correspondem a trabalhos de mspec o manuten o e repara o de esta es espaciais sat lites e space shuttles figuras 1 3 e 1 4 19 Figura 1 3 a Inspec o de um Space Shuttle b Bra o Rob tico aplicado a um Sat lite NASA Copyrigth Figura 1 4 Bra o Rob tico aplicado numa Esta o Espacial ESA Copyrigth Na rea da medicina as aplica es de sistemas rob ticos de telemanipula o t m vindo a aumentar especialmente na tele cirurgia Alguns casos mais conhecidos s o os sistemas rob ticos comerciais Zeus figura 1 5 e Da Vinci figura 1 6 que facilitam o trabalho dos cir
95. e controlador ser o enviadas do Target PC para o Host PC e deste para o Phantom Haptic Device 146 4 5 Conclus es Neste cap tulo foram apresentadas as caracteristicas mais importantes do Phantom Haptic Device Phantom Premium 1 5 High Force da Sensable Inc tais como espa o de trabalho for a m xima suportada rigidez e in rcia Por ltimo foi descrita a arquitectura do sistema rob tico de telemanipula o desenvolvido descrevendo se o tipo de interliga o de todos os componentes do sistema e o fluxo de informa o entre eles O sistema implementado do tipo master slave em que tanto o master como o slave possuem controladores aut nomos que interagem entre si O meio de comunica o entre os dois sistemas controladores corresponde a uma canal de comunica o dedicado Ethernet cabo crossover o que permite a transmiss o de dados de uma forma fi vel e segura 147 148 Cap tulo 5 Arquitectura do Software de Controlo do Sistema Rob tico de Telemanipula o 5 1 Introdu o Neste cap tulo ser descrita a arquitectura de software do sistema de comando e controlo Ser o descritas as v rias aplica es desenvolvidas nomeadamente a aplica o gr fica de comando Visual Studio e a aplica o de controlo Simulink Todo o software foi desenvolvido no Host PC que como j foi mencionado funciona como plataforma de desenvolvimento Deste modo no Host PC foram instalados o sistema operat
96. e linguagem CH em rela o a outro tipo de linguagens como o caso do C deve se ao facto desta se aproximar do NET CLR Common Language Runtime Gough 2001 De salientar ainda a possibilidade de se adicionar como refer ncia ao projecto de desenvolvimento da interface gr fica a xPC Target COM API deste modo poss vel a interac o entre a interface gr fica de comando e a aplica o de controlo Simulink do rob slave figura 5 1 A interface gr fica permite ao utilizador a interac o com o sistema rob tico de telemanipula o Desta forma o utilizador pode monitorizar o estado operacional de ambos os rob s que comp em o sistema rob tico bem como comandar a operacionalidade desse mesmo sistema rob tico 171 Atrav s da interface gr fica o utilizador pode estabelecer a comunica o com o controlador tempo real do rob slave e com o rob master Na interface gr fica o utilizador pode verificar quais os limites do espa o de trabalho de cada rob pode tamb m monitorizar as coordenadas de posi o instant nea de ambos os rob s tamb m poss vel monitorizar a operacionalidade do rob slave nomeadamente atrav s dos sinais digitais dos fins de curso mec nicos e indutivos e dos sinais presentes no arm rio el ctrico de controlo Nas subsec es que se seguem s o descritas os v rios componentes da interface gr fica bem como todas as suas funcionalidades Bat Communications L
97. e posi o final e velocidade m dia s o fornecidos pelo utilizador atrav s da interface gr fica sendo armazenados num vector bloco Constant do Simulink O valor do tempo necess rio para a gera o da traject ria obtido subtraindo o valor do tempo corrente da execu o da aplica o e uma constante armazenada numa vari vel da m quina de estados correspondente ao instante de tempo no in cio da execu o da traject ria 102 Depois de obtidas as vari veis anteriores o algoritmo de gera o de traject rias implementado numa S Function figura 2 50 executado sendo geradas as refer ncias de posi o velocidade e acelera o que s o transmitidas ao controlador de eixo correspondente Para a detec o do fim de traject ria de cada eixo foi desenvolvido um algoritmo de teste de velocidade e do erro de posi o figura 2 51 Este algoritmo consiste em verificar se o valor absoluto da velocidade se mant m abaixo de um determinado patamar neste caso 1E 6 mm s um n mero de vezes estipulado neste caso 1000 amostras em conjuga o com a verifica o se o valor absoluto do erro de posi o se mant m abaixo de 0 01 mm durante o mesmo per odo de tempo Quando estas condi es s o verificadas activada a flag correspondente ao fim de traject ria dr o vel lin A e A wel lin Ep Abs Switch ES Switch 4 te E fl o Logical Data Convert da Operator t4 tf a eo PES agi En emo pos Abs
98. ectuado o procedimento Zero da M quina e antes de se transitar para o estado de Telemanipula o necess rio efectuar se o posicionamento do rob cartesiano na posi o 0 0 0 para que desta forma se garanta que tanto o Haptic Device como o rob cartesiano se encontrem com a mesma refer ncia de posi o quando se inicia a opera o de telemanipula o garantindo que se inicie essa opera o de uma forma segura e sincronizada Desta forma quando terminado o procedimento Zero da M quina a m quina de estados transita para o estado Posicionamento em Zero para que o rob cartesiano fique posicionado na posi o 0 0 0 154 No fim do posicionamento do rob cartesiano ocorre uma transi o do estado Posicionamento em Zero para o Est vel A transi o para o estado Estavel necess ria para assegurar que antes do inicio da opera o de telemanipula o o rob cartesiano se encontra em controlo de posi o sendo que as refer ncias de posi o fornecidas aos controladores de eixo s o 0 0 0 Quando o utilizador ordena o in cio da opera o de telemanipula o ocorre uma transi o do estado Est vel para o Telemanipula o A partir desse momento executada a opera o de telemanipula o sendo que as refer ncias de posi o e velocidade do Haptic Device s o fornecidas com um factor de escala associado aos controladores de eixo do rob cartesiano Durante a perman ncia no estado Telemanipula o c
99. ecu o de um movimento caso o utilizador entenda que est perante uma situa o de emerg ncia e pretenda suspender o movimento tem duas possibilidades de o fazer atrav s do bot o Emergency painel Commands da interface gr fica ou atrav s da botoneira de emerg ncia presente no arm rio el ctrico No caso de o utilizador accionar o bot o Emergency o movimento que estava a ser executado automaticamente cancelado As funcionalidades da interface gr fica ficam desactivas sendo o utilizador avisado que esta perante uma paragem de emerg ncia e que deve solucionar a causa que lhe deu origem Quando o utilizador se certificar que todas as quest es de seguran a est o asseguradas deve accionar o bot o Emergency Out pamel Commands esse bot o surge no lugar do bot o Emergency Ap s a confirma o do estado operacional do sistema actua o do bot o Emergency Out necess rio efectuar o procedimento zero da m quina accionado o bot o Reset o nico bot o activo da interface gr fica No caso de ser accionada a botoneira de emerg ncia as funcionalidades da interface gr fica s o desactivas o utilizador avisado que ocorreu uma situa o de emerg ncia por actua o da botoneira de emerg ncia sendo obrigado a fechar a aplica o e retomar a sua execu o somente quando estiverem asseguradas todas as condi es de seguran a No caso de durante um determinado movimento um dos fins de curso ser actuado o
100. egime permanente nulo X Position Graph Displacement mm Time s Y Position Graph E E D D O amp 2 Ei Time s Z Position Graph Displacement mm Figura 6 5 Gr ficos de Posi o do Rob Master e Slave Factor de Escala Unit rio 177 6 2 5 Painel Commands Este pamel disponibiliza alguns bot es com comandos espec ficos dentro da interface gr fica A actua o de um destes bot es provoca efeitos na interface gr fica nomeadamente no desbloquear ou bloquear de certas funcionalidades como tamb m produz ac es no sistema de controlo do sistema rob tico de telemanipula o Em seguida ser o descritas as propriedades de cada um destes bot es de comando gt Start Este bot o respons vel pelo in cio de uma sess o A partir desse momento o sistema est pronto a ser controlado sendo o Zero da M quina o primeiro procedimento que tem de ser efectuado Por esse motivo o nico bot o que fica activo no inicio da aplica o o bot o Reset Quando accionado este bot o as rotinas de monitoriza o da interface gr fica s o activadas O accionamento deste bot o implica a execu o do mesmo procedimento descrito para o bot o Start da interface gr fica do rob cartesiano ver cap tulo 3 gt Stop O accionamento deste bot o provoca a paragem da aplica o e o sistema retirado de controlo ficando inoperante a qualquer ordem de comando executada p
101. egime permanente o erro de posi o desprez vel o que revela uma elevada precis o de posicionamento 62 Gr fico Posi o X Gr fico Velocidade X EEE Traject ria Real Traject ria Refer ncia wv E a 3 3 o o Eu gt Gr fico Ac o de Controlo X Ac o de Controlo N m Figura 2 23 Traject ria do Eixo X 0 30 mm 200 mm s Os resultados da figura 2 23 mostram que com o aumento de velocidade a resposta do controlador deixa de conseguir acompanhar as refer ncias de posi o e velocidade A ac o de controlo acaba por atingir os valores de satura o ou seja o controlador levado aos limites Verifica se tamb m a ocorr ncia de um pequeno overshoot decorrente da ac o de controlo passar de um valor positivo para um negativo Ainda assim o erro de posi o em regime permanente continua a ser desprez vel e a recupera o da situa o de satura o bastante boa 63 Gr fico Posi o X Gr fico Velocidade X ESSES Traject ria Real T a m oO raject ria Refer ncia Q9 ian mM ho nm a Oo velocidade mm s E E o um a a Gr fico Ac o de Controlo X o in Ac o de Controlo N m Figura 2 24 Traject ria do Eixo X 0 300 mm 20 mm s Da an lise dos resultados da figura 2 24 pode concluir se que com aumento da amplitude do movimento a resposta do controlador
102. elo utilizador atrav s da interface gr fica S o tamb m desactivadas as rotinas de monitoriza o do sistema Para retomar a execu o da aplica o necess rio accionar de novo o bot o Start Este bot o suspende a execu o do controlador n o gera qualquer evento ou seja nenhum estado da m quina de estados fica activo o mesmo acontece com os subsistemas do modelo Simulink uma vez que a aplica o se encontra parada 178 gt Emergency Este bot o tem a mesma funcionalidade do bot o com o mesmo nome da interface gr fica de opera o do rob cartesiano em modo aut nomo ver cap tulo 3 Sendo que a sua principal fun o parar a execu o da aplica o de uma forma segura Sempre que o sistema sai de uma situa o de emerg ncia o utilizador est obrigado a executar o procedimento Zero da M quina accionado para efeito o bot o Reset que o nico bot o que se encontra activo De salientar ainda que a actua o deste bot o implica a paragem da opera o de telemanipula o O accionamento deste bot o implica a execu o dos mesmos procedimentos indicados na descri o do bot o Emergency da interface gr fica do rob cartesiano ver cap tulo 3 179 gt Reset Este bot o tem a mesma funcionalidade do bot o com o mesmo nome da interface gr fica de opera o do rob cartesiano em modo aut nomo ver capitulo 3 A sua principal fun o corresponde a activar o procedimento
103. ento necessita de definir um patamar de velocidade atrav s dos slider bars Vmax 20 mm s e Vmin 5mm s Ap s definir a velocidade o utilizador pode movimentar os eixos em ambas as direc es accionando os bot es ou associados a cada eixo figura 6 201 Manual Jog Velocity xa apo po vide a po za of Figura 6 Painel Movimento Manual 2 Relative Movement O utilizador pode efectuar um movimento linear relativo entre dois pontos Para isso necess rio especificar os incrementos de posi o que v o ser somados posi o efectiva bem como a velocidade m dia com que o rob cartesiano se vai deslocar Para inserir estes dados necess rio carregar no bot o Insert uma vez que por uma quest o de seguran a os seus campos se encontram bloqueados figura 7 Relative Movement Delta Delta y Delta 2 Velocity mm NH Cancel Insert Figura 7 Painel de Defini o de Coordenadas Relativas 3 Absolute Movement Para o rob cartesiano efectuar um movimento linear absoluto entre dois pontos necess rio a especifica o das coordenadas de posi o absoluta e a velocidade com que o rob vai efectuar o movimento Tal como acontece com o painel de movimento relativo necess rio carregar no bot o Insert para que os campos de inser o de dados fiquem activos figura 8 202 Absolute Movement Velocity mm Insert Figura 8 Painel de Defin
104. ento deste bot o a execu o do procedimento Zero da M quina Este procedimento executado sempre que se inicia a aplica o ap s o utilizador accionar o bot o Emergency sempre que um dos fins de curso mec nicos seja actuado ou se uma das botoneiras de emerg ncia for premida entrando o sistema numa situa o de emerg ncia Assim sempre que o sistema recupere de uma situa o de emerg ncia o utilizador obrigado a executar novamente o procedimento Zero da M quina Ao actuar se o bot o Reset ocorre uma transi o no flanco descendente no estado numa das vari veis da aplica o de controlo Simulink o que origina a ocorr ncia de um evento na m quina de estados do controlador Tal evento causa uma transi o do estado Inicial Emerg ncia para o Zero da Maquina figura 2 56 O Zero da Maquina um dos super estados da m quina de estados Stateflow quando este estado fica activo a aplica o de controlo executa o procedimento que implementa o zero dos encoders de cada eixo do rob Assim que o procedimento Zero da Maquina esteja conclu do ocorre uma transi o na maquina de estados do estado Zero da Maquina para o Estabilizado sendo activada a flag que indica o fim deste procedimento A activa o da referida flag implica mudan as na interface gr fica nomeadamente o bloqueio e o desbloqueio de certas funcionalidades da mesma tais como as funcionalidades inerentes execu o de movimentos painel Types o
105. envolvimento que permita utilizar novas t cnicas de programa o e que seja compat vel com as novas tecnologias A actual interface gr fica foi desenvolvida na plataforma Microsoft Visual Basic 6 0 por esta raz o se recomenda a sua reformula o numa plataforma mais actual como por exemplo a Microsoft Visual Studio Cf Na segunda fase do trabalho que consistiu no desenvolvimento de uma arquitectura de controlo de um sistema rob tico do tipo master slave podem ser acrescentadas melhorias e funcionalidades ao sistema tais como e Desenvolvimento de um controlador em tempo real para o Phantom Haptic Device de forma a optimizar as funcionalidades do dispositivo sendo que deste modo melhoraria tamb m as performances determinismo na cad ncia de 190 transfer ncia de dados entre os dois sistemas do sistema rob tico do tipo master slave Integra o do transdutor de for a no sistema rob tico no rg o terminal do rob cartesiano e consequente integra o do driver de tempo real para Matlab no controlador de tempo real do sistema Ap s a integra o do feedback de for a como uma componente do sistema de controlo ser necess rio o desenvolvimento de uma estrat gia de controlo que permita implementar um controlador de for a imped ncia A interliga o dos dois sistemas rob ticos master slave e correspondentes controladores por meio de comunica o n o dedicada ex Internet Essa tarefa implicar o
106. er ncia 71 Figura 2 30 Movimento Linear entre dois Pontos no Espa o Tridimensional V 20 WO SI sa ose SR DEAR OPEN aceasta PO aes RD IRD RESENDE CNS EE 73 Figura 2 31 Graficos de Posi o do Movimento Linear entre dois Pontos V 20 LO Ee coe PETE MOTT REA et DUOC da A A a en eet 74 Figura 2 32 Gr ficos de Velocidade do Movimento Linear entre dois Pontos V 20 TS seriais e a secs pues Aaa a E E O 75 Figura 2 33 Movimento Linear entre dois Pontos no Espa o Tridimensional V 200 K Sct cece cd E A Reatich 76 Figura 2 34 Gr ficos de Posi o do Movimento Linear entre dois Pontos V 200 LS eee E ee or oe re ie Reet einer ee ee eee 77 Figura 2 35 Graficos de Velocidade do Movimento Linear entre dois Pontos V ZO OMI S can aii OR vtech lasik ANE Do SS SA DO A 78 Figura 2 36 Transi o entre dois segmentos Trajectoria Multi ponto 006 79 Figura 2 37 Movimento Linear Multi ponto no Espa o Tridimensional V 20 mm s LEEI DOBRO TEA TAPAE EUA REDOR ee NICE DEE OR RUA ere E E O een 82 Figura 2 38 Gr ficos de Posi o do Movimento Linear Multi ponto V 20 mm s 83 Figura 2 39 Gr ficos de Velocidade do Movimento Linear Multi ponto V 20 EEL RE Oe REE E PE UR ER N AEE SR PROPERTIES 44 Figura 2 40 Configura o da comunica o Host Target 8 amp 8 Figura 2 41 Arquitectura de Controlo do Sistema ccccccccccceeee eee 69 Figura 2 42 Gera
107. er ncia Velocidade mm s Figura 2 35 Gr ficos de Velocidade do Movimento Linear entre dois Pontos V 200 mm s Na figura 2 35 pode observar se que a refer ncia de velocidade apresenta um valor m ximo 10 vezes maior em compara o com a figura 2 32 O per odo de tempo de gera o das refer ncias 10 vezes menor do que a traject ria apresentada na figura 2 32 o que demonstra que algoritmo de gera o de traject rias se adapta para diferentes valores de velocidade 78 2 4 2 Movimento Linear entre um N mero arbitr rio de Pontos Uma traject ria ligando v rios pontos por segmentos de recta pode ser conseguida utilizando uma interpola o linear subsec o 2 4 1 entre cada dois pontos consecutivos No entanto tal procedimento implica que o rg o terminal do rob tenha de parar em cada ponto de transi o entre dois segmentos ou seja passando por esses pontos com velocidade nula Este facto justificado pelas descontinuidades na velocidade nos pontos de transi o entre dois segmentos o que origina acelera es infinitas Uma das solu es para o problema consiste em n o passar pelos pontos de transi o aplicando para o efeito um algoritmo de interpola o capaz de suavizar a traject ria na vizinhan a desses pontos figura 2 36 Paul 1982 Lopes 1994 Considera se ent o que se pretende ligar os pontos x i 1 k pelos quais o rg o terminal do rob deve passar no instantes
108. es traject rias realizadas figura 3 14 137 Graphics BENEM Figura 3 14 Menu Save file 138 3 4 Conclus es Pretendeu se com o desenvolvimento da interface gr fica de comando dotar o sistema rob tico de algumas das funcionalidades encontradas num rob industrial Nesse sentido a Interface gr fica permite ao utilizador efectuar diferentes tipos de movimentos com o rob cartesiano tais como movimento manual movimento relativo e absoluto entre dois pontos bem como o movimento linear multi ponto entre v rios pontos A execu o dos diferentes movimentos pode ser efectuada de diferentes formas No caso da traject ria entre dois pontos pode efectuar se um movimento linear com a movimenta o de todos os eixos do rob ou optar se por um movimento singular de cada eixo No que diz respeito traject ria multi ponto o utilizador pode escolher entre executar o movimento ponto a ponto ou em modo cont nuo Atrav s da interface gr fica o utilizador tem a possibilidade de monitorizar o estado operacional do sistema rob tico bem como visualizar e armazenar os dados referentes as diversas traject rias efectuadas pelo rob cartesiano Neste cap tulo foram descritas na generalidade as funcionalidades da interface gr fica e o modo de opera o da mesma efectuando uma associa o entre as ac es da interface gr fica e as consequentes reac es do sistema de controlo 139 140 Cap tulo 4 D
109. escri o do Sistema Rob tico de Telemanipula o 4 1 Introdu o Um sistema rob tico de telemanipula o composto por dois subsistemas master e slave Tal sistema permite a um operador agindo localmente sobre o rob master interagir com ambientes remotos por interm dio do rob slave Tarefas que podem beneficiar de um tal sistema s o por exemplo a manipula o de ambientes no espa o ambientes hostis e a cirurgia remota telemedicina Neste cap tulo ser o descritos os principais requisitos de funcionamento do sistema master slave E tamb m apresentado e caracterizado o dispositivo Phantom Haptic Device que desempenha as fun es de master no sistema de telemanipula o descrito neste trabalho Por ltimo descrita a arquitectura do sistema rob tico master slave 141 4 2 Requisitos de Funcionamento do Sistema Rob tico Master Slave Tipicamente a arquitectura de controlo de um sistema rob tico do tipo master slave telemanipula o pode apresentar v rias configura es Deste modo as arquitecturas de controlo para sistemas de telemanipula o podem ser classificadas considerando o fluxo de informa o e Unilateral a comunica o efectuada num s sentido em que o movimento e ou a for a do rob master transmitida ao slave seguimento de traject ria e Bilateral a comunica o efectuada em ambos os sentidos sendo o mais usual a transmiss o do movimento do rob master para o
110. f Movement figura 3 1 5 Bot o Execute Sempre que o utilizador pretenda executar qualquer movimento entre dois pontos com excep o do movimento manual deve accionar o bot o Execute Quando este bot o accionado ocorre um evento na aplica o de controlo Simulink o que provoca uma transi o para um dos estados respons veis pela execu o da traject ria O evento gerado bem como o estado que fica activo depende da escolha do utilizador referente ao tipo de traject ria a executar Assim se o utilizador tiver optado 129 pela interpola o linear entre dois pontos ocorre um evento que produz a transi o para o estado Traject ria linear 3 eixos da m quina de estados sendo executado um movimento linear uniforme no espa o tridimensional Caso o utilizador opte por uma interpola o eixo a eixo ocorre um evento que causa a transi o para o estado Trajectoria Eixo a Eixo o que implica a execu o do movimento seja efectuada por um eixo de cada vez Durante a execu o de qualquer movimento as funcionalidades da interface gr fica encontram se bloqueadas com excep o do bot o Emergency No final de cada movimento activada uma flag que origina um evento na m quina de estados Esse evento causa uma transi o do estado que se encontra activo para o estado Estabilizado o que implica que o sistema fique em regime estacion rio e em controlo de posi o no ponto de destino da traject ria Depois de
111. face exe que esta no mesmo direct rio E JE Communications Load Unload MasterSlave WorkSpace Monitoring Master Position Slave Position Master Slave dude 381 to 381 mm s dude 315 to 315 mm Y Asle 267 to 267 mm Y Axle 260 to 260 mm Z Arle 191 to 191 mm Z Aste 150 to 150 mm Painel Monitorning Lirit Switch Digital Input Mechanicals Inductives E Driver On Emergency E Left x Aigh x Ritah Lett Aigh E Y Ritgh Overtravel Let ZAitgh Aitgh Master Slave Scale Factor Data Acquisition Position Force Commands Figura 1 Interface Grafica de Comando do Sistema Rob tico de Telemanipula o Atrav s desta interface gr fica o utilizador pode operar o sistema rob tico de telemanipula o Disp e de um conjunto de bot es para executar comandos um conjunto de sinalizadores com informa o do rob slave cartesiano informa o do espa o de trabalho dos rob s master e slave e um conjunto de caixas de texto onde s o apresentadas as coordenadas de posi o de ambos os rob s De seguida s o apresentados os passos necess rios para a opera o da interface gr fica 212 1 Estabelecer uma liga o Menu Communications Establish Connection TCP IP figura 2 Atrav s deste menu estabelecida a liga o com o Target PC Communications Load Unload About Establish Connection TCP IP El TCP IP Configuration IP
112. filesystem deste PC recolhendo se e convertendo se essa informa o em ficheiros formato txt que s o gravados no Host PC A an lise dos dados recolhidos pode ser efectuada actuando no bot o Graphics Deste modo iniciado um execut vel do Matlab que transforma os dados dos ficheiros em gr ficos Ap s a visualiza o dos gr ficos que cont m a informa o das traject rias executadas o utilizador pode utilizar as ferramentas e funcionalidades dos gr ficos gerados a partir do execut vel do Matlab uma das quais corresponde grava o desses gr ficos em v rios tipos de formatos Data Acquisition Figura 6 4 Painel Data Acquisition Na imagem da figura 6 5 poss vel visualizar um dos gr ficos de posi o gerados ap s a execu o de uma tarefa de telemanipula o Nesse gr fico poss vel analisar o comportamento e o desempenho do sistema de controlo de posi o seguimento de traject ria do rob slave em rela o ao rob master Pode verificar se um pequeno desfasamento entre as posi es do rob master e do slave justificado pela cad ncia na obten o das posi es do rob master uma vez que essa tarefa n o efectuada num sistema de tempo real Apesar do pequeno desfasamento existente entre as posi es de ambos os rob s pode constatar se que o objectivo de seguimento de traject ria foi 176 alcan ado sendo que em regime de repouso ambos os rob s se encontram sincronizados erro em r
113. for a sensor de for a JR3 e de feedback visual duas c maras de v deo CANON VC C5 Uma das caracter sticas do sistema o controlo de for a implementado controlo de imped ncia adaptado uma vez que o algoritmo de controlo est desenvolvido de forma a adaptar se s caracter sticas do canal de comunica o dias ataca DERA a ae a ee loca Command Center Remote Robotic Celi eee o im o Haptic Device MultisThread Application no IP FANTOM L5 lc li ls li o a io mi o o o o RN ae E O TR ri TASSO Figura 1 10 Exemplo de uma Arquitectura de um Sistema Rob tico de Telemanipula o Nu o Ortega e Basa ez 2006 Conforme se pode verificar na figura anterior foi utilizado um canal de comunica o para interligar ambos os sistemas rob ticos Esse canal de comunica o est inserido 23 numa Local Area Network LAN com uma estrutura do tipo cliente servidor que foi implementada atrav s de sockets utilizando os protocolos TCP UDP e IPv6 Em Filippi 2007 foi desenvolvido um sistema de telemanipula o que utiliza o Wiimote Nintendo como dispositivo master sendo que o rob slave corresponde a um bra o rob tico Lynx 6 figura 1 11 A principal caracter stica deste sistema corresponde ao canal de comunica o entre os dois sistemas efectuado atrav s da tecnologia Wireless utilizando o protocolo de comunica o Bluetooth Figura 1
114. get PC orta p Paralela S 7 Liga o Ethernet UTP Lan Phantom Haptic Device Figura 4 1 Arquitectura do Hardware do Sistema Rob tico de Telemanipula o Como pode observar se na figura 4 1 o Phantom Haptic Device transmite as informa es de posi o e velocidade de cada um dos eixos ao Host PC onde s o processadas atrav s de uma aplica o gr fica interface gr fica de comando e posteriormente enviadas para o Target PC O Target PC recebe as coordenadas de 145 posi o e velocidades provenientes do Host PC e atribui as como refer ncias a cada controlador de eixo respectivo gerando se assim as correspondentes ac es de controlo refer ncias de bin rio que s o transmitidas aos drivers de pot ncia Durante a opera o do sistema rob tico as vari veis de posi o velocidade e acelera o e for a futuramente de cada eixo bem como os sinais digitais presentes no quadro el ctrico e os fins de curso mec nicos e indutivos do rob cartesiano s o enviados do Target PC para o Host PC onde s o processados e monitorizados pela interface gr fica de comando Futuramente ser incorporado um transdutor de for a na extremidade do rg o terminal do rob cartesiano slave cujo device driver para Matlab xPC Target j foi desenvolvido no mbito deste trabalho que possibilitar a implementa o de um controlador de for a imped ncia sendo que as vari veis de for a resultantes dess
115. h 10 0 0 2 0 4 0 6 0 8 1 1 2 1 4 1 6 1 8 2 Tempo s Figura 2 12 Resposta do Sistema a um Perfil Sinusoidal de Velocidade com Atrito Est tico Pode concluir se que apesar deste controlador n o apresentar os resultados obtidos pelo controlador PI verifica se que a menos de um erro em regime permanente a velocidade se mant m constante figura 2 12 sendo este o principal objectivo da implementa o deste controlador Controlador de Posi o PID Este controlador foi projectado de modo a que o rob pudesse fazer seguimento de traject ria entre dois ou mais pontos As traject rias s o definidas especificando as coordenadas dos pontos no espa o cartesiano e a velocidade m dia desejada Assim foram desenvolvidos para cada um dos eixos controladores PID independentes Pretendia se com a implementa o de controladores PID a obten o de bons resultados no que diz respeito capacidade de posicionamento Isso foi conseguido como se pode constatar pelos resultados apresentados nesta sec o quer na fase de simula o quer na fase de testes experimentais efectuados O controlador PID resulta da combina o dos modos proporcional integral e derivativo figura 2 13 Pode afirmar se que um compromisso entre as vantagens e desvantagens de um controlador PI e PD A ac o integral est directamente ligada exactid o do 50 sistema sendo respons vel pelo erro nulo em regime permanente O efeito perturbante
116. i o de Coordenadas Absolutas Tipos de Interpola o Na execu o do movimento entre dois pontos tanto no movimento relativo como no absoluto necess ria a indica o de qual o tipo de interpola o que se pretende utilizar figura 9 Antes de dar ordem de execu o de movimento atrav s do bot o Execute painel Commands figura 4 necess rio especificar o tipo de interpola o a ser utilizado na execu o da traject ria caso contr rio ocorrer uma mensagem de erro Interpolation C Linear C Avle byAsle Figura 9 Painel de Defini o do Tipo de Interpola o 1 Interpola o Linear Ao ser seleccionado este tipo de interpola o o movimento resultante ser um movimento rectil neo no espa o tridimensional 3D ou seja ambos os eixos se movem ao mesmo tempo 2 Interpola o Axle by Axle Ao ser seleccionado este tipo de interpola o o movimento resultante ser um movimento rectil neo de cada eixo sendo que neste caso o movimento efectuado por um eixo de cada vez Executar Traject ria Para se executar uma traject ria definida necess rio accionar o bot o Execute painel Commands figura 10 Antes de executar a traject ria o utilizador deve certificar se que especificou correctamente as coordenadas de posi o e velocidade bem como o tipo de interpola o 203 Execute Exit Figura 10 Bot o de Execu o de Traject ria 8 Casos de Emerg ncia Durante a ex
117. ica Run Outro evento que pode originar uma 156 transi o deste estado mas para o estado Posicionamento em Zero o facto do utilizador actuar na interface gr fica o bot o Zero Position e Telemanipulacao Este estado est associado a um subsistema que respons vel pelo fornecimento das refer ncias de posi o e velocidade aos controladores de eixo do rob cartesiano estas refer ncias s o provenientes do Phantom Haptic Device e s o multiplicadas por um factor de escala escolhido pelo utilizador Enquanto este estado permanecer activo implica que a opera o de telemanipula o esteja a ser efectuada Quando por ocorr ncia de um evento que corresponda a uma situa o de emerg ncia tal como o accionar por parte do utilizador do bot o Emergency da interface gr fica ou atrav s do accionamento de uma botoneira de emerg ncia ou no caso de um dos fins de curso mec nicos serem activados d se uma transi o do estado Telemanipula o para o Inicial Emerg ncia Se o utilizador pretender suspender a tarefa de telemanipula o atrav s do bot o da interface gr fica Stop ocorre um evento que provoca a transi o da m quina de estados para o estado Estavel 157 5 3 2 Procedimento Zero da M quina Rob Slave Este procedimento ja foi descrito no cap tulo 2 E id ntico ao utilizado no funcionamento do rob cartesiano em modo aut nomo tendo como objectivo efectuar o reset do encoder de cada eixo
118. ico do tipo master slave utilizado para a realiza o deste trabalho Deste modo foram descritos sucintamente os rob s slave cartesiano e o master Phantom Haptic Device Por ltimo foram enunciados os objectivos e descrita a organiza o desta tese 30 Cap tulo 2 Descri o e Estrat gia de Controlo do Rob Cartesiano 2 1 Introdu o Neste cap tulo ser efectuada a descri o das principais caracter sticas do rob cartesiano slave O seu espa o de trabalho capacidade de carga estrutura e transmiss o mec nica tipo de actuadores sensores e detectores bem como o hardware e o software de controlo utilizados efectuada uma descri o da modela o do sistema f sico e da s ntese dos controladores de eixo bem como o desenvolvimento dos algoritmos utilizados para implementar os geradores de traject ria Neste contexto s o apresentados e devidamente comentados alguns resultados experimentais que comprovam o bom desempenho dos algoritmos de controlo desenvolvidos Neste cap tulo s o tamb m apresentadas as principais funcionalidades de opera o em modo aut nomo do rob cartesiano De salientar que a possibilidade de funcionamento do rob cartesiano em modo aut nomo independentemente da utiliza o deste como slave no sistema de telemanipula o tem como objectivo explorar as funcionalidades t picas de um rob industrial Possibilitando desta forma o desenvolvimento teste e 31 vali
119. ido o modelo comercial Phantom Premium 1 5 High Force da Sensable Inc EUA Este dispositivo possui um espa o de trabalho 381x267x191 mm aproximado ao do antebra o humano girando em torno do cotovelo Possui 3 graus de liberdade de posicionamento x y z com feedback de for a Al m disso o dispositivo disp e de um gimbal encoder que permite a utiliza o de mais 3 graus de liberdade pitch rool yaw sem feedback de for a Este Haptic Device possui uma Interface com o PC atrav s de uma porta paralela Em seguida s o apresentadas as principais caracter sticas t cnicas do Phantom Haptic Device e Resolu o de posi o 0 007 mm e For a m xima exercida 37 5 N e For a continua exercida 6 2 N e Rigidez 3 5 N mm e In rcia massa aparente na extremidade sem o gimbal encoder 150 g A for a motriz dos eixos exercida por tr s servomecanismos cada um composto por um servomotor DC e uma transmiss o mec nica por cabos muito peculiar Nesta fase o Haptic Device utilizado para enviar comandos de posi o ao rob slave n o sendo utilizada a sua capacidade de display de for a para o utilizador Essa capacidade ser importante quando o sistema evoluir para uma comunica o bilateral entre master e slave 143 4 4 Arquitectura do Sistema Rob tico de Telemanipula o A arquitectura de controlo do sistema rob tico baseia se numa configura o Host Target figura 4 4 Lopes et al 2007 O Host P
120. itando uma maior percep o por parte do utilizador das for as exercidas no rob slave uma vez que na aus ncia do feedback visual o feedback de for a se torna extremamente importante Assim o factor de escala pode aumentar a seguran a do trabalho desenvolvido o que se revela de extrema import ncia quando se est a realizar uma tarefa que exija maior sensibilidade por parte do utilizador como o caso de tarefas de telemedicina ou opera o em ambientes hostis A possibilidade de aplicar o factor de escala aos valores de posi o do rob master que s o enviados para o rob slave permite entre outros aspectos ajustar o espa o de trabalho do rob master ao do rob slave Master Slave Scale Factor Position a Force Figura 6 3 Painel Master Slave Factor 175 6 2 4 Painel Data Acquisition Este painel foi criado com o intuito de possibilitar ao utilizador a aquisi o e o log armazenamento dos dados associados opera o de telemanipula o figura 6 4 Os dados como as posi es e as velocidades do Haptic Device e do rob cartesiano bem como as ac es de controlo fornecidas pelos controladores de eixo aos drivers de pot ncia dos motores s o guardados em ficheiro formato txt no Host PC para posterior an lise Durante a execu o do movimento estes dados s o armazenados no disco do Target PC sendo que atrav s de algumas fun es m todos da xPC Target COM API poss vel aceder ao
121. ivers dispon veis para o efeito Na realiza o desta tese este dispositivo parte integrante do sistema rob tico master slave mas a sua utiliza o tamb m pode ser explorada na rea da interac o com ambientes virtuais 25 Figura 1 13 Phantom Premium 1 5 High Force master O rob slave apresenta uma estrutura cartesiana figura 1 14 com elevado espa o de trabalho e capacidade de carga O seu controlador baseado em PC com uma arquitectura totalmente aberta tendo sido desenvolvido no mbito desta tese Este rob pode operar autonomamente ou inserido no sistema rob tico do tipo master slave Figura 1 14 Rob Cartesiano de 3 Eixos slave A arquitectura de controlo do sistema rob tico baseia se numa configura o Host Target O Host PC funciona como plataforma de desenvolvimento bem como centro de supervis o e comando do master O Target PC desempenha o papel de controlador do sistema rob tico slave O Host PC comunica com o Target PC atrav s de uma liga o dedicada cabo crossover 26 1 3 Objectivos da Disserta o Na primeira fase do trabalho pretendia se desenvolver uma arquitectura de controlo aplica o de controlo e interface gr fica de comando que permitisse a opera o do rob cartesiano de forma aut noma sendo que este deveria apresentar as principais funcionalidades de um rob industrial Deste modo em primeiro lugar efectuou se o teste do hardware e o desenvol
122. ivo Windows XP Professional da Microsoft o software de c lculo num rico e de desenvolvimento modela o simula o de sistemas Matlab Simulink da Mathworks e o Microsoft Visual Studio para o desenvolvimento da interface gr fica de comando e de uma DLL em C O uso do Matlab Simulink permitiu explorar as potencialidades dos m dulos xPC Target e Stateflow na implementa o da estrat gia de controlo do sistema rob tico No que diz respeito ao Phantom Haptic Device foi necess rio a instala o dos device drivers fornecidos pelo fabricante no Host PC 149 No Target PC executado o kernel de tempo real do xPC Target que ideal para aplica es de controlo robusto uma vez que executa em exclusivo e em tempo real a aplica o de controlo Para possibilitar a opera o do sistema rob tico de telemanipula o foi necess rio o desenvolvimento de uma aplica o gr fica de comando constru da em Microsoft Visual Studio C que permite a supervis o e controlo do sistema rob tico Atrav s do Microsoft Visual Studio foi tamb m poss vel desenvolver uma DLL em C Essa DLL permite aceder biblioteca de fun es disponibilizada pelo fabricante do Phantom Haptic Device sendo poss vel aceder a todas as funcionalidades deste dispositivo Para se obter a biblioteca de fun es do dispositivo necess ria a instala o do software de desenvolvimento de aplica es gr ficas o OpenHaptics Toolkit sendo que este software
123. lica o de controlo para o Target PC este ltimo respons vel pela execu o em tempo real dessa aplica o de controlo 86 2 5 2 xPC Target Configura o Host Target Como ja foi referido anteriormente o xPC Target representa um ambiente de tempo real que disponibiliza ferramentas como device drivers que permitem a interface entre a aplica o e o hardware de controlo Permite tamb m que o algoritmo de controlo seja executado em exclusividade e em tempo real por interm dio de um kernel de tempo real de 32 bits A aplica o de controlo desenvolvida com o aux lio do Simulink convertida em c digo port til e optimizado utilizando a ferramenta Real Time Workshop RTW O RTW foi configurado de modo a utilizar o compilador Microsoft Visual C C Depois da aplica o de controlo ser compilada o ficheiro resultante da compila o ent o transferido para o Target PC onde executado sobre um kernel de tempo real No in cio o kernel de tempo real carregado no Target PC por interm dio de uma disquete de arranque O processo de gera o dessa disquete de arranque descrito de seguida e Na linha de comandos do Matlab digitar xpcexplr O comando anterior invoca a ferramenta xPC Target Explorer figura 2 40 que permite a configura o do canal de comunica o Host Target e dos par metros do kernel de tempo real bem como a gera o da disquete de arranque e a transfer ncia de aplica es do Hos
124. liza o Em seguida exposta a forma como este controlador foi projectado apresentando os NX passos inerentes a sintese do mesmo bem como os resultados obtidos tanto em simula o como nos testes experimentais efectuados Assim este controlador pode ser representado pela seguinte express o u t Kp e t 221 48 ref 1 1 2 Deq Figura 2 10 Diagrama de Blocos do Controlador Proporcional de Velocidade A partir do diagrama de blocos da figura 2 10 chega se fun o de transfer ncia do sistema em malha fechada 0 Kp Kt n 2 22 Jeq s Kp Kt Deg Oo Com o ganho proporcional obtido Kpx 0 694 Kpy l1 Kpz 0 4 ajustados experimentalmente implementa se um controlador proporcional em Simulink tal como sugere a figura 2 11 ref vel ang aco controlo pos angular wel angular num diz den diz Filtro Derivative Figura 2 11 Modelo em Simulink do Controlador Proporcional de Velocidade Em seguida s o apresentados os resultados obtidos em simula o relativos ao desempenho do controlador proporcional tendo como base o modelo completo da figura 2 5 tal como aconteceu com o controlador PI 49 Grafico Velocidade 50 os 40 f Velocidade Refer ncia ji Velocidade a E 30 E o E O O f D gt 10 H o H
125. lo se encontra suspensa 3 Bot o Emergency Este bot o tem como nica fun o parar a execu o da aplica o de uma forma segura Caso o utilizador entenda que existe necessidade por quest es de seguran a de parar a execu o da aplica o o accionamento deste bot o permite que o sistema entre num estado de seguran a Inicial Emerg ncia figura 2 56 Quando accionado este bot o sugerido ao utilizador que resolva os problemas que levaram ao accionamento do mesmo devendo regressar novamente execu o da aplica o quando verificar que existem condi es para prosseguir Depois de uma paragem de emerg ncia por raz es de seguran a o nico bot o que est activo o Reset o que obriga o utilizador a executar o procedimento Zero da M quina Ao ser accionado o bot o Emergency ocorre uma transi o no flanco descendente numa das vari veis da aplica o de controlo Simulink o que provoca a gera o de um evento na m quina de estados Stateflow do controlador Esse evento origina uma transi o para o estado Inicial Emerg ncia figura 2 56 da m quina de estados Como ja foi referido anteriormente quando o estado Inicial Emerg ncia fica activo s o atribu das refer ncias de bin rio nulas aos controladores de eixo mas neste caso os sinais Run e Brake s o desactivados os drivers de pot ncia ficam inoperacionais e o eixo Z fica travado 128 4 Bot o Reset A ac o inerente ao accionam
126. m de 1E 3 s 1 ms para um valor de velocidade de 20 mm s por exemplo obt m se 2 inc ee inc ee pails mm 2 58 T 1810 s E utilizado um bloco Memory para evitar um loop alg brico que ocorre na soma do valor sinal_inc com o valor do incremento 101 4 Traject ria Eixo a Eixo Este procedimento executado quando o utilizador pretende efectuar uma traject ria linear para um determinado ponto com um movimento singular de cada eixo Para isso foram desenvolvidos tr s geradores de traject ria um para cada eixo Embora o algoritmo desenvolvido seja igual para todos cada um recebe a coordenada correspondente ao seu eixo e respons vel pela gera o da traject ria para o mesmo figura 2 50 pos ini x pos fim x E E x a u gerador tx y pos go x amp Function Builder vel gx acel_g x Figura 2 50 Gerador de Traject rias Linear Eixo a Eixo A descri o e implementa o do algoritmo de gera o de traject rias j foi abordada numa das subsec es anteriores De seguida ser descrito o procedimento implementado para disponibilizar todos os dados necess rios gera o da traject ria Para a gera o de uma traject ria necess rio obter a posi o de partida inicial a posi o final a velocidade m dia e o tempo de execu o da traject ria A posi o inicial armazenada numa vari vel da m quina de estados no momento em que se inicia a execu o da traject ria Os valores d
127. m uma velocidade m dia V a a dist ncia a percorrer dada pela express o que se segue Dist ncia 2 43 sabendo que o per odo de tempo de execu o da traject ria obtido por T Dist ncia 244 V m d obt m se as tr s componentes da velocidade correspondentes aos eixos 71 yy oi Vea yy Yo Yi Vint py _ Bo 2 Vin 2 45 e A e 9 e A e e A e a Dist ncia Dist ncia Dist ncia Caso os valores calculados anteriormente excedam o valor m ximo de velocidade permitido para os eixos t m de ser recalculadas todas as componentes da velocidade Primeiro necess rio identificar qual das componentes tem maior valor Vmax Maximo Vx Vy Vz 2 46 em seguida todas as componentes s o recalculadas Ve Vx Vmax T Vy Vmax yz V V m d _ Vz Vm x V m d 2 47 m d Deste modo n o existe o perigo de se efectuarem movimentos com elevadas velocidades assegurando que a traject ria final corresponde ao que se pretendia Ap s a implementa o do algoritmo de gera o de traject rias lineares entre dois pontos foram efectuados alguns testes experimentais para avaliar os efeitos pr ticos da utiliza o deste tipo de geradores de traject rias na execu o de movimentos lineares De seguida s o apresentados dois exemplos de movimentos lineares entre dois pontos no espa o tridimensional 72 Gr fico Posi o 30 Traject ria Real Trajectoria Refer ncia 100 s0 50 Posi
128. mesmo fim de curso n o se encontra actuado o sistema entra numa situa o de emerg ncia despoletada por um falso evento Pelos testes efectuados tal facto aparentemente n o est associado a problemas ao n vel do hardware Deste modo foi implementado o filtro em software tal como sugere a figura 2 47 fdc filtrado Logical Logical Data Convert Switch Operator Operatori Unit Delay Unit Delay Figura 2 47 Filtro dos Sinais de Entrada Digitais O sinal a ser filtrado atrasado um per odo de amostragem sendo que ambos os sinais s o comparados Se no instante de amostragem anterior o sinal amostrado possu a o mesmo valor que no instante actual ent o a sa da corresponde ao sinal actual caso 98 contr rio a sa da corresponde ao sinal no instante de dois per odos de amostragem anteriores 2 Procedimento Zero do Rob Cartesiano Corresponde a um procedimento que consiste em dar ordem de movimento em direc o aos fins de curso mec nicos de cada eixo respectivamente Quando um dos fins de curso actuado o sentido de rota o do servomotor respectivo invertido Desta maneira o eixo dirige se em direc o ao fim de curso indutivo associado que quando actuado em conjunto com o sinal correspondente ao index do encoder do servomotor efectua o zero do eixo Ap s esta opera o a posi o em que o rob cartesiano se encontra torna se o ponto de refer ncia para as restantes o
129. mitem ao utilizador efectuar um movimento manual individual para cada eixo devendo para 1sso pressionar o bot o correspondente ao eixo que pretende movimentar e o sentido do deslocamento A velocidade do movimento definida no scrollbar correspondente ao eixo a deslocar Quando o utilizador pretender parar o movimento basta deixar de pressionar o bot o Sempre que o utilizador carrega num dos bot es para executar o movimento de um dos eixos gerado um evento correspondente na aplica o de controlo o que origina uma mudan a na m quina de estados Stateflow para o estado associado ao movimento do eixo seleccionado Tal mudan a de estado implica que a aplica o de controlo execute o gerador de traject rias manual do eixo seleccionado figura 3 5 Manual Jog Welocity xa DR vane jH pl zas sf o Figura 3 5 Movimento Manual 124 2 Movimento relativo Para executar este tipo de movimento o utilizador dever introduzir os incrementos de posi o que ser o somados s coordenadas actuais do rob originado o ponto de destino do movimento do rob Al m dos incrementos de posi o o utilizador ter tamb m de indicar a velocidade m dia com que pretende que o movimento seja efectuado Estes par metros dever o ser introduzidos nas respectivas caixas de texto da interface gr fica figura 3 6 s o verificados e validados caso estejam correctos 3 Movimento absoluto Para a execu o deste tip
130. mote environment Telemanipulation can be used to accomplish a great number of tasks that are impossible or hazardous for direct human manipulation It offers particular advantages in unknown environments where is not possible to use completely autonomous robotic systems due to limitation on artificial intelligence sensor data interpretation and environment modeling A telemanipulation robotic system comprises two robotic subsystems a master and slave This type of systems allows the operator to interact with remotely environments through a slave robot by manipulating a master one Telemanipulation has potential benefits in diverse applications such as constructions in space hazardous undersea nuclear chemical and biological environments in construction military archaeology entertainment medical e g Minimally Invasive Surgery and telemedicine areas warehousing fire fighting and lifesaving tasks The present dissertation describes the development of a telemanipulation robotic system In a first stage of the work it was necessary to develop and implement a control architecture that explores all potentialities of the slave robot cartesian robot The second stage of the work was the study development and implementation of a command strategy and interconnection of the master and the slave robotic systems NDICE GERAL INDICE CERA igen te ia o eer aU a a DO dO a DD EY eNO EO XI INDICE DE FIGURAS paien 0000500505 estas ates
131. ng aaan E DE Control Action Graphic Figura 12 Gr ficos Resultantes da Execu o de Traject ria Ap s a visualiza o dos gr ficos figura 12 o utilizador pode gravar em ficheiros de backup a informa o visualizada basta para isso aceder ao menu Save file figura 11 O utilizador deve efectuar este procedimento sempre que pretenda guardar os dados de determinada traject ria caso contr rio quando uma nova traject ria executada os ficheiros que armazenam a informa o s o automaticamente reescritos Os novos ficheiros gerados s o armazenados no direct rio onde se encontra a aplica o na subdirectoria backup files 10 Guardar pontos visitados Durante a execu o em modo de Teach o utilizador pode guardar os pontos visitados Atrav s do painel Save Current Position figura 13 o utilizador pode abrir um ficheiro utilizando o bot o Open File sendo que medida que vai executando determinadas traject rias pode guardar os pontos visitados atrav s do bot o Save Point Sempre que o utilizador pretenda gravar um ponto tem de 206 definir a velocidade que deve ficar associada a esse ponto figura 14 Deste modo quando o utilizador carrega no bot o Save File uma nova janela aparece no ecr onde especificado o valor de velocidade pretendido Quando o utilizador pretende fechar o ficheiro para que este possa ser utilizado tem obrigatoriamente de actuar o bot o Close File Caso o utilizador pretend
132. ns Este painel fornece ao utilizador informa es importantes sobre o sistema rob tico permitindo lhe um n vel de opera o mais seguro e consciente Desta forma s o fornecidos ao utilizador dados sobre a rea de trabalho do rob ou seja os cursos m ximos de cada eixo bem como a indica o da velocidade m xima que cada eixo pode atingir figura 3 2 Robot Specifications Working Space Maxinum velocity e dude 315 to 315 mm es dude 400 ms E le 260 to 260 mm Y Asle 400 mms Z Axle 150 to 150 mm 2 Ale 400 mms Figura 3 2 Especifica es do Rob Cartesiano 121 3 2 2 Painel Monitoring Este painel permite ao utilizador monitorizar a cada instante o estado operacional do sistema rob tico O utilizador pode visualizar a informa o digital e anal gica fornecida atrav s das cartas de aquisi o referente ao estado dos diversos componentes que comp em o sistema rob tico Neste painel o operador pode visualizar os valores instant neos da posi o velocidade e acelera o de cada eixo do rob cartesiano Pode tamb m visualizar sinais digitais referentes ao estado dos fins de curso mec nicos e indutivos figura 3 3 e Fins de curso mec nicos o Eixo X direito o Eixo X esquerdo o Eixo Y direito o Eixo Y esquerdo o Eixo Z direito o Eixo Z esquerdo e Fins de curso indutivos o Fixo X o Fixo Y o Fixo Z Monitoring Position Yelocity Acceleration Limit Switch Position r
133. nto para os restantes eixos id ntico 59 Gr fico Posi o X Gr fico Velocidade X LD Eas SSS LD TI es W Traject ria Real Traject ria Real Traject ria Refer ncia Traject ria Refer ncia o rod a ao Velocidade mm s Gr fico Ac o de Controlo X Ac o de Controlo N m Figura 2 20 Traject ria do Eixo X 0 3 mm 20 mm s Da an lise da figura 2 20 pode verificar se que para movimentos de baixa amplitude e baixa velocidade a traject ria real difere ligeiramente das refer ncias de posi o e velocidade Pode tamb m constatar se que a resposta do sistema apresenta um atraso e um ligeiro overshoot A ac o de controlo n o chega a atingir a satura o mas como se pode observar toma valores negativos durante a execu o da traject ria o que d origem ao ligeiro overshoot O erro em regime permanente praticamente nulo como se pode observar na figura 2 20 o que demonstra que o controlador cumpre um dos requisitos da sua implementa o que corresponde a exactid o no posicionamento 60 Gr fico Posi o X Gr fico Velocidade X EE ES ES EEE ES Ss Traject ria Real Traject ria Real Traject ria Refer ncia Traject ria Refer ncia wo a co 19 o 2 mo gt Gr fico Ac o de Controlo X Ac o de Controlo N m Figura 2 21 Traject ria do Eixo X 0 3 mm 200 mm s Ne
134. o Hardware do Sistema Robotico de Telemanipula o 145 Figura 5 1 Arquitectura do Software do Sistema Robotico Master Slave 152 Figura 5 2 Diagrama da Maquina de Estado do Controlador s 153 Figura 5 3 Subsistema de C lculo das Componentes de Velocidades Medias 160 Figura 5 4 Gerador de Traject rias Posicionamento em Zero 161 Figura 5 5 Subsistema Simulink de Telemanipula o cccccccccccccccceccc cece eee e eee 162 Figura 5 6 Diagrama de Funcionalidades da Haptic Device API HDAPD 166 Figura 5 7 Estrutura da Aplica o Visual Studio Net cccccceeeeeeee eee eeeeeeeeeenes 166 Figura 5 8 Fluxograma T pico de um Programa HDAPL cece cette 168 Figura 6 I Interface Gr fica de Comando CH do Sistema Rob tico de Telleman PIA C O arns EEE da asc nd Rss EET sa Bins 72 Figura 6 2 Painel Master Slave Workspace ccccccccccccccceeeee cece 173 Figura 6 3 Painel Master Slave PFACtOr ccccccccccccsss scene eee eee AL E EO Figura 6 4 Painel Data Acquisition ir rrererereeeeeenerererrrrrrerraaeenaaaaaaaaenas 176 Figura 6 5 Gr ficos de Posi o do Rob Master e Slave Factor de Escala Unit rio SB a ud a 177 Figura 6 6 Menu Communications e Configura o de Comunica o TCP IP 184 XV Cap tulo 1 Introdu o Neste cap tulo efectuada uma introdu o aos sistemas de telemani
135. o Z 4 Eixo Z Estabilizado Bot o Manual Eixo Z y Bot o Manual Eixo Y Bot o Manual Manual ERRO y Eixo Y Figura 2 58 Diagrama do Super Estado Manual 3 Eixos Conforme se pode verificar no diagrama da figura 2 58 o movimento de um eixo executado enquanto o utilizador pressionar na interface gr fica o bot o associado Quando o utilizador deixar de pressionar esse bot o o movimento do eixo p ra uma vez que ocorre um evento flanco descendente que origina a transi o de novo para o estado Estabilizado 3 Traject ria Eixo a Eixo O utilizador ao definir na interface gr fica uma traject ria entre dois pontos disp e de dois tipos de escolha de execu o da mesma Um desses tipos corresponde a traject ria eixo a eixo que consiste no movimento singular de cada eixo ou seja a traject ria executada num espa o tridimensional com o movimento de um eixo de cada vez 114 Estabilizado Fim de Traject ria Bot o Executar Eixo Z Traject ria Trajectoria Trajectoria Trajectoria Linear Linear Linear Eixo X Eixo Y Eixo Z Fim de Traject ria Eixo X Figura 2 59 Diagrama do Super Estado Traject ria Eixo a Eixo Como se pode verificar no diagrama da figura 2 59 quando o utilizador d a ordem de execu o de traject ria bot o da interface gr fica ocorre uma transi o para o estado respons vel pela execu o do movimento do eixo X Quando o movimento do eixo X termina
136. o de movimento o utilizador tem de indicar as coordenadas absolutas do ponto de destino do movimento do rob bem como a velocidade m dia com que esse movimento efectuado Tal como acontece no movimento relativo os par metros inseridos pelo utilizador s o verificados antes da execu o da traject ria figura 3 6 Relative Movement Delta x Delta y Delta z Velocity ES NE NE NH inset _ Cancel Absolute Movement k ii Velocity 100 100 100 AU Insert Cancel Interpolation f Linear Co Asle by dsle Figura 3 6 Defini o de Movimento entre dois Pontos Os par metros introduzidos pelo utilizador referentes defini o da traject ria a ser executada s o guardados num vector da aplica o Simulink para serem usados no processamento da traject ria 125 Em ambos os movimentos relativo e absoluto depois de indicados os par metros necess rios para a defini o da traject ria o utilizador dever indicar qual o tipo de execu o de movimento figura 3 6 que pretende efectuar Existem dois tipos de execu o de movimento escolha s o eles o movimento linear e o movimento eixo a eixo figura 3 6 Na realiza o do movimento linear executado o gerador de traject ria linear 3 eixos figura 2 52 Deste modo o movimento efectuado pelo rob corresponder a uma traject ria linear uniforme no espa o tridimensional No caso do movimento eixo a eixo Ax le by Axle executado o ger
137. o havendo feedback sensorial para o operador ou quando muito existindo apenas feedback visual No caso de um sistema de telemanipula o unilateral o operador movimenta o subsistema master sendo que o slave deve cumprir as traject rias de posi o e de velocidade de refer ncia provenientes do master com ou sem factor de escala Se existir contacto do manipulador remoto com o ambiente acidental ou n o o operador n o se apercebe do n vel de interac o sendo que as for as em jogo podem causar danos no ambiente ou no manipulador Um sistema de telemanipulacao bilateral com feedback de for a para o operador com ou sem factor de escala Thompson et al 2001 Sitti and Hashimoto 2003 assim fundamental n o s por quest es de seguran a mas porque a tarefa a executar assim o exige essencial por exemplo na cirurgia remota Reiley et al 2008 O estudo dos sistemas de telemanipula o teve in cio nos anos 40 sendo que as primeiras aplica es foram desenvolvidas para o manuseamento de material radioactivo Nos finais dos anos 40 e nos anos 50 um grupo de investigadores do ANL Argonne National Laboratory de Chicago do qual se destaca o nome de Raymond Geortz desenvolveu o primeiro sistema servo el ctrico do tipo master slave figura 1 1 Nuno Ortega e Basanez 2006 18 Figura 1 1 Primeiro sistema servo el ctrico do tipo master slave Raymond Geortz At ao presente muitas foram as reas qu
138. o overshoot na ordem dos 0 84 apresentando tamb m um erro em regime permanente na ordem dos 0 5E 3 mm Perante os resultados obtidos conclui se que o controlador implementado satisfaz em grande parte as necessidades do sistema nomeadamente a exactid o de posicionamento Depois de analisada a resposta do sistema a um degrau testou se a sua resposta para uma traject ria linear com um perfil sinusoidal de velocidade uma vez que um dos objectivos finais consistia em implementar um algoritmo de posicionamento entre dois pontos utilizando para o efeito um gerador de traject ria com este tipo de perfil Este tema Gera o de Traject rias ser abordado com mais pormenor na sec o seguinte Desta forma para uma traject ria linear com um perfil sinusoidal de velocidade obteve se a seguinte resposta resultado de simula o 56 Perfil Sinusoidal de Posi o 50 Mf Posi o Refer ncia 40 if Posi o a 30 Posi o mm 20 j 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 Tempo s Figura 2 17 Resposta do Sistema a um Perfil Sinusoidal com Refer ncia de Velocidade Na figura 2 17 poss vel analisar os bons resultados da resposta do controlador a traject rias com perfil sinusoidal de velocidade em que s o utilizadas as refer ncias de posi o e velocidade tal como sugere o modelo do sistema da figura 2 15 Quando a refer ncia de vel
139. o unload do ficheiro de aplica o no Target PC e Fechar a comunica o com o Target PC 94 A partir dos m todos disponibilizados pela API os dados inseridos pelo utilizador na interface gr fica s o armazenados em blocos Simulink Constant denominados de par metros de entrada figura 2 43 As vari veis e os sinais monitorizados na interface s o transferidos da aplica o de controlo para a interface gr fica a partir dos blocos de sa da Gain atrav s de um dos m todos da API Apresenta se de seguida um exemplo figura 2 44 do armazenamento das coordenadas de um ponto de uma traject ria TE SEO Terminator Figura 2 44 Exemplo de Armazenamento das Coordenadas de um Ponto e target obj SetParam target obj GetParamldx vector Value 0 1 0 A fun o anterior utilizada na aplica o Visual Basic interface gr fica e permite escrever um conjunto de valores num bloco do tipo vector da aplica o Simulink sendo obrigat rio indicar o nome identificador desse bloco Neste caso atrav s da fun o target obj SetParam escrito o conjunto de valores 0 1 0 no bloco designado por vector nome ilustrativo da aplica o Simulink O exemplo seguinte ilustra figura 2 45 a aquisi o de um sinal de uma carta de I O FPC QUADOS Comp Boards Count 2 piegon Inc Encoder Terminator pos lin iv PCI OUADO4 2 CON iy Figura 2 45 Exemplo da Aquisi o de um Sinal de uma Cart
140. oadfUnload About MasterSlave WorkSpace Monitoring Master Position Slave Position Master Slave m Asle 301 to 301 mm es Asle 315 to 315 mm Y Arle 267 to 267 mm Y Axle 260 to 260 mm Z Arle 191 to 191 mm Z Aste 150 to 150 mm Painel Monitoring Limit Switch Digital Input Mechanical Inductives E Driver On Emergency Lett x Aigh E x ARitgh E Lett Righ E Fitgh E Overtravel E zlet Z Ritgh 2 Aigh Master Slave Scale Factor Data Acquisition Position Force Commands Figura 6 1 Interface Gr fica de Comando C do Sistema Rob tico de Telemanipula o 172 6 2 Pain is da Interface Gr fica Nas subsec es que se seguem ser o apresentados os pain is que constituem a interface gr fica A interface gr fica est organizada em pain is de maneira a melhorar a interac o do utilizador com o sistema rob tico de telemanipulacao 6 2 1 Painel Master Slave Workspace No painel Master Slave Workspace figura 6 2 o utilizador pode obter informa es importantes sobre o sistema rob tico nomeadamente os espa os de trabalho do rob master Phantom Haptic Device e do rob slave rob cartesiano Master Slave WorkSpace Master s Asle 381 to 381 mm Y Ashe 267 to 26r mm 2 Axle 191 to 191 mm Slave a Asle 315 to 315 mm Y Arle 260 to 260 mm Z Axle 150 to 150 mm Figura 6 2 Painel Master Slave W
141. ob slave em rela o ao rob master Nesse sentido foi desenvolvida uma arquitectura de controlo composta por dois sistemas de controlo PCs o Host PC onde executada atrav s do sistema operativo Windows a interface gr fica de comando e os algoritmos de controlo do Phantom Haptic Device master no Target PC executado em tempo real o controlador do rob cartesiano Sendo que a interliga o entre os dois sistemas de controlo efectuada por um canal de comunica o dedicado Ethernet cabo crossover 189 7 2 Desenvolvimentos Futuros O trabalho desenvolvido tem como objectivos a inova o a aprendizagem e a implementa o de novas tecnologias Nesse sentido v rias s o as melhorias e desenvolvimentos futuros que podem acrescentar valor ao trabalho efectuado at ao momento Assim na primeira fase do trabalho que consistiu em criar um sistema de comando e controlo do rob cartesiano e que tem como objectivo o desenvolvimento o teste e a valida o de algoritmos de controlo podem ser efectuadas algumas melhorias das quais se destacam as seguintes e Desenvolvimento de algoritmos de controlo robustos nomeadamente controladores de ordem fraccion ria ou outro tipo de controladores que permitam melhorar as performances do sistema de controlo existente e que possibilitem o estudo e a compreens o das teorias de controlo a utilizar e A migra o da interface gr fica de comando para uma plataforma de des
142. ocidade do gerador de traject rias n o utilizada verifica se a exist ncia de uma ligeira perturba o em regime permanente tal como se pode visualizar na figura 2 18 Perfil Sinusoidal de Posi o Posi o Refer ncia Posi o 50 1 h 50 ae ee Sk E Posi o mm 49 8 49 7 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 Tempo s Figura 2 18 Resposta do Sistema a um Perfil Sinusoidal de Posi o sem Refer ncia de Velocidade 57 A perturba o verificada na figura 2 18 deve se essencialmente ao efeito que o atrito est tico provoca no sistema tal situa o n o se verifica quando este desprezado ou se al m do uso da refer ncia de posi o tamb m se utilizar a refer ncia de velocidade Desta forma obt m se uma melhor resposta tal como se pode verificar na figura 2 19 0 que n o elimina um ligeiro erro em regime permanente na ordem dos 0 5E 3 mm um valor insignificante uma vez que a resolu o do encoder de 0 77E 3 mm Perfil Sinusoidal de Posi o I I 50 0005 Posi o Refer ncia Posi o 50 E E 49 9995 O S 3 A 49 999 49 9985 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 Tempo s Figura 2 19 Resposta do Sistema a um Perfil Sinusoidal de Posi o com Refer ncia de Velocidade amplia o
143. ocorre uma transi o para o estado respons vel pela execu o do movimento do Y e posteriormente seguir se 4 o eixo Z Quando o movimento dos tr s eixos est completo ou seja a traject ria foi terminada ent o o sistema regressa ao estado Estabilizado 115 2 6 Conclus es Neste cap tulo foi efectuada a descri o do sistema rob tico a controlar sendo tamb m apresentada a estrat gia de controlo implementada Na descri o do sistema rob tico foram apresentados os seus principais componentes e descritas as suas fun es bem como apresentada a modela o do sistema e a respectiva sintese dos controladores de eixo A descri o da estrat gia de controlo incluiu a apresenta o da arquitectura de hardware e software implementadas para realizar as diversas tarefas de controlo O uso da toolbox xPC Target revelou se essencial para a execu o em tempo real dos algoritmos desenvolvidos Salientando o facto de a xPC Target COM API permitir o desenvolvimento de aplica es gr ficas web NET etc que possibilitam em tempo real a interac o com a aplica o de controlo este facto revela se importante quando se pretende implementar o controlo de sistemas remotos O uso do Stateflow na implementa o da m quina de estados do sistema de controlo permitiu um desenvolvimento mais f cil da aplica o de controlo e subsequentemente uma melhor interface com a aplica o gr fica de comando De salientar o facto de a m
144. ode verificar na figura 5 2 o controlador s sai do estado inicial se for dada ordem para se efectuar o procedimento designado Zero da M quina que corresponde ao posicionamento do rob cartesiano num ponto de refer ncia no espa o cartestano a partir desse momento todas os movimentos efectuados t m como refer ncia esse ponto Sempre que se inicia uma nova sess o de trabalho do sistema de telemanipula o o primeiro procedimento a ser efectuado o Zero da Maquina No decorrer deste procedimento caso o utilizador entenda que por medidas de seguran a deva abortar o movimento do rob cartesiano pode faz lo bastando para 1sso accionar o bot o de emerg ncia na interface gr fica de comando ou pressionar uma das botoneiras que fazem parte da estrutura do rob cartesiano Quando o utilizador aborta a execu o do procedimento Zero da M quina ocorre uma transi o na m quina de estados do estado Zero da Maquina para o estado Inicial Emerg ncia Desta forma o controlador regressa ao estado inicial com a diferen a de os drivers de pot ncia ficarem inactivos e o trav o do eixo vertical ficar activado Ap s efectuar se o Zero da M quina o rob cartesiano fica posicionado num determinado ponto no espa o cartesiano que diferente do 0 0 0 uma vez que para garantir que este procedimento efectue o reset dos encoders de cada eixo necess rio que o rob cartesiano ultrapasse ligeiramente a posi o 0 0 0 Assim depois de ef
145. ole Communications Eerie Tr Load Application Cancel Enter Target 4pp Name control elos Figura 3 11 Menu Load Unload e Janela de Load do Ficheiro de Controlo 133 3 Menu Trajectory Este menu permite aceder a dois sub menus Insert Points e Load From File Nesses dois sub menus o utilizador pode definir e executar uma traject ria multi ponto definida pelo pr prio figura 3 12 Robot Console Load Unload MEGa Graphics Insert Points Load From File Figura 3 12 Menu Trajectory Embora ambos os sub menus implementem a defini o e a execu o de uma traject ria multi ponto existe uma diferen a entre eles Essa diferen a reside no facto de no sub menu Insert Points o utilizador inserir as coordenadas dos diversos pontos que comp em a traject ria atrav s de caixas de texto Enquanto que no sub menu Load From File o utilizador define o ficheiro que cont m a traject ria definida por diversos pontos figura 3 13 w Insert Points new trajectory must be defined Point Definition w Load From File pis Y Z Velocity mE ie Type of Trajectory f Step by Step f Continuous Repeat Type of Trajectory E Continuous Execute Cancel Figura 3 13 Sub Menus Insert Points e Load From File Load File Execute Cancel No sub menu Insert Points o utilizador deve inserir as coordenadas de posi o em cada campo respectivo bem como o valor de velocidade m di
146. orkspace 173 6 2 2 Painel Monitoring No painel Monitoring o utilizador pode observar vari veis importantes do sistema f sico como as posi es x y z do rob master e do rob slave Neste painel tamb m poss vel a monitoriza o de sinais que s o parte constituinte do sistema rob tico rob slave atrav s do Painel Monitoring s o eles e Fins de curso mec nicos o Eixo X direito o Eixo X esquerdo o Eixo Y direito o Eixo Y esquerdo o Eixo Z direito o Eixo Z esquerdo e Fins de curso indutivos o Fixo X o Fixo Y o Fixo Z Existem outros sinais que podem ser monitorizados que fornecem importantes informa es sobre o estado operacional do rob slave Assim como forma de representar o painel presente no arm rio el ctrico de controlo do rob slave foram escolhidos os seguintes sinais para monitoriza o e Driver On e Run e Alarm e Overtravel e Emergency e Brake 174 6 2 3 Painel Master Slave Scale Factor Este painel possibilita ao utilizador aplicar um factor de escala no seguimento de traject ria do rob slave em rela o ao rob master figura 6 3 Este factor de escala pode ser aplicado aos valores de posi o e ao feedback de for a a implementar futuramente Deste modo o utilizador pode a qualquer momento efectuar um movimento com uma amplitude maior ou menor conforme a necessidade Em rela o ao feedback de for a este tamb m poder ser amplificado ou atenuado possibil
147. osi o mm Traject ria Real Traject ria Refer ncia 20 25 30 35 40 45 Tempo s Figura 2 31 Gr ficos de Posi o do Movimento Linear entre dois Pontos V 20 mm s Da an lise da figura 2 31 verifica se que para cada eixo foi gerada uma traject ria com um perfil sinusoidal podendo se constatar que todos os eixos terminam a execu o do movimento no mesmo instante de tempo deste modo o resultado final corresponde execu o de uma traject ria rectilinea figura 2 30 74 Gr fico Velocidade X Gr fico Velocidade Y po l l l l Traject ria Real i i i i Traject ria Real Traject ria Refer ncia i i i i i Traject ria Refer ncia oO UI Mm h Q9 mn amp Velocidade mm s Velocidade mm s Dn 25 wn 5 45 i 2 8 323 8 a 4 Tempo s Tempo s Gr fico Velocidade Z Traject ria Real Traject ria Refer ncia Velocidade mm s 20 25 30 35 40 45 Tempo s Figura 2 32 Gr ficos de Velocidade do Movimento Linear entre dois Pontos V 20 mm s Em rela o gera o das refer ncias de velocidade para cada eixo pode verificar se figura 2 32 que correspondem a perfis sinusoidais o que permite a execu o da traject ria de uma forma suave deste modo o desempenho dos controladores torna se mais eficiente Da an lise da figura 2 32 pode constatar se que cada eixo possui uma velocidade m dia que corresponde a metade da velocidade m xima equa
148. pera es Como foi referido anteriormente para a implementa o deste procedimento foi utilizado um controlador proporcional de velocidade Tendo em conta a descontinuidade no valor dos encoders que ocorre na execu o deste procedimento quando o fim de curso indutivo actuado provocando desta forma o reset do encoder foi implementado o seguinte algoritmo atrav s de uma S Function para solucionar o problema figura 2 48 99 Declara o de vari veis sim E nao y Out Imp Imp ant Out Imp Imp p_ant Out_ant Legenda Imp Impulsos do encoder Imp ant impulsos do Fim de Fim de s o coner ne merae de n o Procedimento Procedimento tempo anterior Out Sa da A sim Out ant Sa da anterior Fim Figura 2 48 Algoritmo implementado para suprimir a descontinuidade dos Impulsos do Encoder Atrav s da an lise do fluxograma da figura 2 48 pode verificar se que quando detectado o reset do encoder Imp 0 o valor de impulsos utilizado para obter a posi o instant nea do rob depende dos valores dos impulsos do instante anterior Desta forma evita se a ocorr ncia da descontinuidade do valor da posi o Instant nea do rob Para ser executado este procedimento fornecida inicialmente ao controlador de velocidade uma refer ncia com perfil sinusoidal fazendo com que o movimento de arranque seja suave no sentido negativo do de
149. plementada n o se encontra activa uma vez que a liga o f sica entre o Host PC e o Target PC do tipo TCP IP No caso de se optar por uma liga o por porta s rie a op o desactivada ter de ser desbloqueada no software de desenvolvimento Assim quando o utilizador acede ao menu Communications pode estabelecer uma liga o TCP IP com o Target PC onde corre a aplica o de controlo sendo necess rio a introdu o do endere o de JP e do Port Number nos campos correspondentes figura 3 10 132 m Cartesian Robot Console ieee LoadfUnioad Trajectory Establish Connection f gt LC TCP IP TCPAP Communication Setup Enter Target IF Address And Port Number Edi i 0 0 0 2 Port Number 22222 Cancel Figura 3 10 Menu Communications e Configura o de Comunica o TCP IP 2 Menu Load Unload Este menu permite ao utilizador carregar o ficheiro que foi gerado ap s a compila o da aplica o de controlo no Simulink Real Time Workshop Esse ficheiro depois de ser carregado transferido para o Target PC onde executado pelo kernel de tempo real do xPC Target Se o utilizador pretender executar um ficheiro de uma outra aplica o de controlo n o necessita de sair da aplica o corrente Para isso o utilizador deve aceder ao menu Load Unload e efectuar o unload do presente ficheiro sendo que de seguida dever efectuar o load do novo ficheiro figura 3 11 w Cartesian Robot Cons
150. pons veis por gerar as refer ncias de posi o que s o fornecidas aos controladores de eixo Essas refer ncias s o calculadas a partir das coordenadas do ponto final armazenadas nos par metros de entrada e das coordenadas do ponto inicial armazenadas em vari veis da m quina de estados figura 2 43 A traject ria gerada online Assim os controladores de eixo recebem a refer ncia de posi o e geram a ac o de controlo correspondente que enviada para as sa das anal gicas respons veis pela aplica o da tens o de controlo aos drivers de pot ncia A aplica o de controlo foi desenvolvida no Simulink Matlab utilizando blocos predefinidos atrav s de S Functions bloco do Simulink que permite o desenvolvimento de rotinas de c digo C C e do Stateflow que possibilita o desenvolvimento de uma m quina de estados A aplica o de controlo essencialmente composta por figura 2 43 e Par metros de Entrada Sa da o Vectores onde s o armazenadas as coordenadas de posi o e a velocidade m dia que define uma traject ria introduzida pelo utilizador na interface gr fica o Vectores onde s o armazenadas as coordenadas de posi o velocidade e acelera o instant neas do rob que s o monitorizadas na interface gr fica o Vectores unit rios que armazenam as informa es digitais resultantes da opera o do utilizador da interface gr fica ex a actua o de bot es 92 o Blocos
151. procedimento para cada eixo 111 Ref vel negativa Ref vel positiva Ref vel positiva Ref vel nula fim x Ref vel negativa Ref vel positiva Ind y 4 Ref vel positiva Ref vel nula fim y fim x fim y fim z Ref vel negativa Ref vel positiva Ref vel positiva Ref vel nula Espera3 fim x fim y fim z Figura 2 57 Diagrama do Super Estado Zero da M quina Quando este super estado activado os sub estados que o comp em s o tamb m activados Desta forma a evolu o dos 3 sub estados efectuada em paralelo o que significa que o procedimento Zero da Maquina efectuado com todos os eixos em movimento A cada um dos estados que comp em o super estado Zero da M quina est associado um subsistema Simulink estes subsistemas fornecem refer ncias de velocidade aos controladores de velocidade de cada eixo estas refer ncias alteram se mediante o estado que se encontra activo O procedimento efectuado para cada um dos eixos obedece a uma sequ ncia de opera es A primeira opera o a ser efectuada corresponde a atribuir uma refer ncia constante negativa aos controladores de velocidade o que implica que cada eixo se mova em direc o ao seu fim de curso direito Quando ocorre o evento respectivo mudan a de estado flanco ascendente de um fim de curso sucede se ent o uma transi o para o estado seguinte que implica a atribui o de uma refer ncia positiva ao
152. ptividades encontram se subdivididas em tr s grupos receptividades geradas pelo hardware ex fins de curso receptividades geradas pelo utilizador durante a opera o da interface gr fica receptividades geradas pelo t rmino de determinadas ac es flags do modelo Simulink como por exemplo as associadas conclus o de uma traject ria A m quina de estados implementada al m de possuir como entradas os eventos do sistema possui tamb m vari veis de entrada que s o utilizadas para armazenar dados importantes do sistema tais como o tempo corrente de execu o e as posi es lineares do sistema rob tico As sa das da m quina de estados efectuam a habilita o enable dos subsistemas Simulink e tamb m disponibilizam informa es como o tempo corrente ou as posi es lineares do rob em cada instante figura 2 56 108 Bot o inicio Emerg ncia Fins de Curso Mec nicos esquerdos o R Bot o Reset Inicial Emerg ncia Bot o Emerg ncia Zero da M quina 4 Fins de Curso Fins de Curso Bot o Mec nicos Mec nicos Fins de Curso Emerg ncia ba Mec nicos Fins de Curso J 4 Mec nicos Fins de Curso Traj ect ria Bot o Bot o M c nicos Emerg ncia Emerg ncia Multi Ponto 2 EE Bot o Trajectoria Emerg ncia Eixo a Eixo Fim de Traject ria Bot o Reset Fim de Traject ria Bot o Executar Traject ria Fim de Zero Traject ria N Bot o Executar Linear Traject ria 3 Eixos Estabilizado Bo
153. pula o feita uma breve refer ncia a sistemas rob ticos de telemanipula o existentes com o intuito de divulgar as tecnologias empregues e as potenciais aplica es deste tipo de sistemas revelando as suas caracter sticas t picas e demonstrando as principais vantagens da sua utiliza o nas mais diversas reas Posteriormente efectuada uma breve descri o do sistema rob tico do tipo master slave utilizado na realiza o desta tese dando especial relevo as caracteristicas principais deste como sendo o tipo de estrutura utilizada a sua configura o e a interliga o entre os diversos elementos Neste cap tulo s o tamb m enumerados os objectivos desta tese e apresentada a estrutura organizativa da mesma 17 1 1 Sistemas Roboticos de Telemanipulacao A telemanipula o por defini o corresponde a capacidade de realizar manipula o remota sobre ambientes e ou objectos o que consiste no controlo directo de um operador humano sobre um manipulador rob tico sendo que ambos est o situados em locais distintos Um sistema rob tico de telemanipula o composto por dois subsistemas master e slave que est o separados fisicamente mas que interagem um com o outro atrav s de um canal de comunica o Num sistema rob tico de telemanipula o o n vel de interac o entre o operador e o ambiente remoto pode ser diverso O subsistema local master pode simplesmente comandar o subsistema remoto slave n
154. que armazenam a informa o digital dos sensores fins de curso que comp em o rob cartesiano bem como a informa o de fim de determinadas opera es do sistema de controlo fim de execu o de traject rias Geradores de Traject ria o S Functions codigo C onde foram desenvolvidos os geradores de traject ria para cada eixo o S Functions onde foi desenvolvido o gerador de traject rias multi ponto o Gerador de traject rias incremental que permite o movimento em modo manual de cada eixo Controladores de eixo o Controladores PID com Anti Windup Loop para cada eixo que permitem o controlo em posi o do rob M quina de Estados o M quina de Estados desenvolvida em Stateflow e que possibilita a gest o de eventos decorrentes da opera o do sistema rob tico Drivers das Cartas I O o Drivers para as cartas de entrada sa da digitais que permitem a interface entre a aplica o de controlo e o sistema a controlar o Drivers para as cartas de entrada sa da anal gicas que permitem a interface entre a aplica o de controlo e o sistema a controlar 93 A interface gr fica permite ao utilizador operar o sistema rob tico rob cartesiano disponibilizando informa o relativa ao comportamento do mesmo Atrav s da interface gr fica o operador pode definir uma traject ria entre dois ou mais pontos necessitando para 1sso de preencher os campos associados defini o de traject rias
155. r para os equipamentos 181 O accionamento deste bot o provoca uma transi o no flanco descendente no estado do bloco Simulink o que origina a ocorr ncia do evento Este evento respons vel pela transi o na m quina de estados do estado Telemanipula o para o Est vel Assim o controlador permanece num estado onde s o enviadas refer ncias fixas de posi o para cada um dos controladores de eixo do rob cartesiano Zero Position Este bot o permite ao utilizador executar o procedimento de posicionamento do rob cartesiano no ponto 0 0 0 O utilizador pode efectuar as opera es que pretende executando a tarefa de telemanipula o com amplia o ou atenua o da amplitude de movimento Quando pretender regressar s condi es normais sem factor de escala efectua o posicionamento na posi o 0 0 0 Quando o utilizador estiver a executar a opera o de telemanipula o e pretender efectuar o posicionamento em zero necessita primeiro de parar essa opera o atrav s do bot o Stop Run de seguida accionar o bot o Zero Position para efectuar o posicionamento do rob cartesiano no ponto 0 0 0 O accionamento deste bot o provoca uma transi o no flanco descendente no estado do bloco Simulink que origina a ocorr ncia de um evento na m quina de estados Esse evento respons vel pela transi o do estado Est vel para o Telemanipula o A activa o do estado Telemanipula o faz com que sejam a
156. r uma realimenta o do sinal de erro e figura 2 14 correspondente diferen a entre o sinal de sa da para o actuador u e a sa da do controlador v enviado esse sinal de erro para o integrador atenuado por um ganho Vr T constante tempo que por regra T 7 mas em certos t casos T lt T melhora as performances do controlador Rundqwist 1991 Assim o valor do erro zero enquanto o actuador n o estiver saturado Quando o actuador est saturado a realimenta o tenta fazer com que o erro seja zero isto significa efectuar o reset do integrador para que a sa da do controlador se mantenha no limite da satura o Astrom e Wittenmark 1997 Para a valida o deste controlador foi utilizado o modelo completo da figura 2 5 Deste modo a partir do diagrama da figura 2 15 chegou se fun o de transfer ncia do sistema Figura 2 15 Diagrama de Blocos do Controlador PID de Posi o e do Sistema F sico U 0 l0 0rd s0 9 o lkp 2 25 LS 53 0 0 0 oyra s04 Ox 2 26 0 Jeq s 0 Kp Kt 0 ne 0 O fd Kp Kt s 207 LS 0 Jeq s Tis 0 Kp Kt Ti s 0 0 Kp Kt 0 0 sTd Kp Kt Ti s 2 28 r r 0 s TiTd Kp Kt Kp Kt 0 SJegTi s TiTd Kp Kt s Ti Kp Kt Kp Kt 2 29 Para efeitos de c lculo da fun o de transfer ncia foram desprezados tanto os atritos do sistema como o acoplamento de forma a tornar mais simples a obten o da me
157. ram colocados perto das extremidades de cada eixo Assim quando estes s o actuados enviam um sinal ao driver de pot ncia do respectivo eixo sucedendo se a paragem do mesmo Desta forma os fins de curso mec nicos t m fun es de seguran a ou seja impedem que durante as movimenta es dos eixos do rob estes ultrapassem o espa o de trabalho definido e colidam com os batentes met licos de protec o Os detectores indutivos est o localizados aproximadamente a meio do curso de cada eixo e s o utilizados para definir a origem do referencial da estrutura cartesiana efectuar o zero dos encoders incrementais 35 Figura 2 2 Arm rio El ctrico de Controlo Para o desempenho das fun es de controlador do rob cartesiano optou se pela escolha de um PC Desktop mas podia utilizar se um Laptop ou um PC industrial PC 104 entre outros Neste PC est o instaladas as cartas de aquisi o de dados que possuem uma interface para barramento PCT Estas cartas de aquisi o s o respons veis pela interface entre o computador Target PC e o sistema f sico a controlar rob cartesiano pois atrav s destas que poss vel a monitoriza o e o controlo de vari veis anal gicas e sinais digitais Assim a aplica o de controlo do sistema corre num PC Pentium IV 1 71 GHz Target PC enquanto que a interface de comando do operador est instalada num PC Pentium IV 2 8 GHz Host PC No Target PC foi instalado o m dulo
158. rom File Se o utilizador optar por definir uma traject ria multi ponto atrav s deste m todo uma nova janela aparece no ecr figura 16 w Load From File Tupe of Trajectory E Continuous Load File Cancel Figura 16 Janela de Defini o da Traject ria Multi ponto Load From File Esta funcionalidade permite ao utilizador carregar um ficheiro onde estejam definidos os pontos que comp em a traject ria a ser executada Basta para isso carregar no bot o Load File e escolher o ficheiro pretendido Ap s carregar o ficheiro o utilizador tem de seleccionar o tipo de traject ria que pretende executar Tal como acontecia na op o anterior existem duas op es Step by Step e Continuous O utilizador pode ainda optar por executar a traject ria em modo repetitivo Quando o utilizador fornecer todos os dados necess rios pode executar a traject ria accionado o bot o Execute O procedimento de execu o de traject ria o mesmo que o descrito para op o anterior 209 210 Anexo B Manual de Utiliza o do Sistema Rob tico de Telemanipula o 211 A interface gr fica de comando do sistema rob tico de telemanipula o figura 1 pode ser executado em modo de debbug atrav s do software Microsoft Visual Studio CH sendo necess rio abrir o ficheiro Phantom Interface sln C Documents and Settings Owner My Documents C Phantom Interface ou ent o pode ser executada atrav s do execut vel Phantom Inter
159. rs e HDCallbackCode HDCALLBACK DevicePositionCallback void pUserData Callback que retorna as coordenadas de posi o x y z do Haptic Device e HDCallbackCode HDCALLBACK DeviceVelocityCallback void pUserData Callback que retorna os valores de velocidade x y z do Haptic Device e HDCallbackCode HDCALLBACK DeviceForceCallback void pUserData Callback que imp e os valores de for a ao Haptic Device e hdGetDoublev HD CURRENT POSITION pPosition Fun o que permite obter as coordenadas de posi o x y z do Haptic Device e hdGetFloatv HD CURRENT VELOCITY pVelocity Fun o que permite obter o valor de velocidade x y z do Haptic Device e hdSetDoublev HD CURRENT FORCE pForce Fun o que permite impor o valores de for a ao Haptic Device e hdStopScheduler Fun o que permite parar a execu o do escalonador saindo se desta forma do ciclo servo loop e hdDisableDevice hHD Fun o que permite desactivar o Haptic Device De seguida s o apresentadas as estruturas de dados criadas para permitir a troca de informa o entre a interface gr fica C e a DLL C 167 Dev State Estutura de dados que permite o armazenamento dos valores de a d posi o e velocidade x y z do Haptic Device que fornecida pela DLL C interface gr fica CF force3D Estrututra de dados que permite o armazenamento dos valores de for a que s o fornecidos pela interface gr fica C a
160. s vel pelo envio das coordenadas de posi o e velocidade x y z do Haptic Device para o controlador do rob cartesiano O accionamento deste bot o provoca tamb m o bloqueio e o desbloqueio de certas funcionalidades da interface gr fica O accionamento deste bot o origina uma transi o no flanco descendente no estado do bloco Simulink que respons vel a ocorr ncia do evento na m quina de estados Stateflow desta forma d se uma transi o do estado Est vel para o Telemanipula o A activa o do estado Telemanipula o implica a execu o do subsistema Simulink respons vel por fornecer as refer ncias de posi o e velocidade do Phantom Haptic Device aos controladores de eixo correspondentes do rob cartesiano gt Stop Run Este bot o permite ao utilizador suspender a tarefa de telemanipula o Assim o utilizador tem mais liberdade para executar outras opera es que impliquem menor aten o na execu o da opera o de telemanipula o Tal facto sucede quando o utilizador se encontra analisar os dados sobre uma opera o efectuada ou se estiver a examinar as condi es em que o rob cartesiano se encontra ou ainda se estiver a analisar o resultado da opera o de telemanipula o Todas essas situa es implicam uma menor aten o por parte do utilizador em rela o tarefa de telemanipula o o que por descuido do utilizador pode levar a uma condi o cr tica quer para os utilizadores que
161. s esses estados que implicam a movimenta o do rob cartesiano est o contempladas as transi es para o estado Inicial Emerg ncia se ocorrerem os seguintes eventos actua o de um dos fins de curso mec nicos actua o do bot o de emerg ncia da interface gr fica ou actua o de uma das botoneiras de emerg ncia que comp em o sistema rob tico No fim de cada execu o de traject ria ocorre uma transi o na maquina de estados para o estado Estabilizado 110 A identifica o do fim de traject ria foi implementada atrav s de um conjunto de blocos Simulink figura 2 51 que testam a condi o de conjun o das velocidades e dos erros de posi o de cada eixo permanecerem abaixo de um determinado valor 10E 6 mm s para a velocidade e 0 01 mm para o erro durante s ao fim desse tempo activada uma flag Sempre que detectado o evento associado flag de fim de traject ria ocorre uma transi o na m quina de estados para o estado Estabilizado De seguida s o descritos os procedimentos inerentes aos super estados representados no diagrama de estados da figura 2 56 sao eles Zero da Maquina Manual 3 Eixos e Trajectoria Eixo a Eixo 1 Zero da Maquina Este super estado esta associado ao procedimento Zero da Maquina que foi descrito na subsec o anterior Como se pode observar no diagrama da figura 2 57 este super estado composto essencialmente por 3 sub estados sendo que cada um deles implementa o
162. slave seguimento de traject ria havendo o feedback de for a do slave para o master Nesta fase pretende se com o desenvolvimento e implementa o do sistema rob tico master slave que este permita um tipo de controlo unilateral sendo o principal objectivo a implementa o de seguimento de traject rias o rob slave deve seguir a traject ria do rob master com ou sem factor de escala No futuro a pretens o avan ar para um controlo do tipo bilateral Cavusoglu et al 2002 com feedback de for a o que implicar o desenvolvimento de um controlo do tipo for a imped ncia Outra caracter stica de funcionamento deste sistema rob tico o tipo de liga o entre os controladores do rob master e do rob slave A liga o entre os dois sistemas de controlo corresponde a uma comunica o dedicada do tipo UTP cabo crossover o que permite a troca de informa o de uma forma segura e com elevada cad ncia Um pr ximo passo nesta rea ser a transi o para um tipo de comunica o partilhada ex Internet Andreu et al 2008 isso implicar o desenvolvimento de algoritmos de controlo que sejam suficientemente robustos para poderem gerir eventuais perdas de informa o e problemas de cad ncia que a utiliza o desse meio de comunica o acarreta 142 4 3 Descri o do Phantom Haptic Device No sistema rob tico master slave implementado o rob master corresponde a um Haptic Device sendo que foi escolh
163. slocamento O perfil sinusoidal de velocidade obtido atrav s de uma S Function Assim que o fim de curso mec nico actuado o sinal de refer ncia de velocidade fornecido ao controlador invertido atrav s de um bloco Constant com um valor de velocidade contr rio ao anterior Quando o fim de curso indutivo actuado fornecida uma refer ncia de velocidade nula ao controlador 100 3 Movimento Manual O movimento manual foi implementado com o uso de um gerador de traject rias incremental sendo que a refer ncia de posi o gerada por este fornecida ao controlador de posi o PID Constanti Enable Miem ornd aae DN a AD 5 sinal ine Logical Switch a Unit Delay Operator pos ack inc x Figura 2 49 Gerador de Traject rias Incremental Como se pode verificar na figura 2 49 sempre que o modo manual activado no primeiro instante de amostragem o valor da vari vel de refer ncia de posi o sinal inc igual soma da posi o inicial pos actx e do valor do incremento inc x Nos restantes instantes de amostragem o valor de sa da igual a soma da posi o actual com o incremento de posi o O valor do incremento de posi o depende da velocidade pretendida pelo utilizador se o utilizador pretender uma velocidade maior consequentemente o valor do incremento inc x tamb m aumentado Desta maneira chega se rela o entre os dois valores Sabendo que o per odo de amostrage
164. sma Depois de obtida a fun o de transfer ncia equa o 2 29 utilizando o Prot tipo de Bessel Ogata 1997 chegou se aos valores dos par metros do controlador da seguinte forma B s s 5 0093 s 3 9668 3 7845 2 30 2 2 ae 50088 pa E di ts ts ts 12 9429s 69 7997 5 150 5693 TO ee ee 232 tS ts ts 0 s TiTd Kp Kt Kp Kt 233 TT oo a a a RO Ox 34 Td Kp Kt _ SKp kt Kp Kt Jeq Jeq Jeg Ti 54 Td Kp Kt 12 9429 Jeq ts Kp Kt _ 69 7997 Jeq E ts Kp Kt _ 150 5693 Jeg Ti ts De seguida sao apresentados os ganhos de cada controlador de e1xo obtidos a partir do sistema de equa es anterior Com os valores dos ganhos do controlador obtidos a partir do sistema de equa es anterior e atrav s do modelo em Simulink simulou se a reposta do sistema a um degrau utilizando o modelo da figura 2 5 o qual j contempla os efeitos dos atritos e do acoplamento que tinham sido desprezados no c lculo dos par metros do controlador obtendo o seguinte desempenho na resposta ao degrau 55 Resposta ao Degrau 50 f Refer ncia Degrau 40 FosI o E E 30 E E rq O 8 20 a 10 0 0 0 5 1 1 5 2 2 5 3 3 5 4 4 5 5 Tempo s Figura 2 16 Resposta do Sistema ao Degrau Da an lise do gr fico da figura anterior pode verificar se que o sistema apresenta um ligeir
165. ste caso figura 2 21 com o aumento da velocidade verifica se um aumento no atraso da resposta do controlador em rela o as refer ncias de posi o e velocidade Pode tamb m constatar se que a ac o de controlo aumentou em rela o ao resultado anterior figura 2 20 mas verifica se que a mesma n o atingiu a satura o Tal como aconteceu para a velocidade de 20 mm s para os 200 mm s ocorreu um ligeiro overshoot devido ac o de controlo tomar valores negativos durante a execu o da traject ria O valor do overshoot aumentou com o aumento de velocidade Em rela o ao erro em regime permanente constata se que o seu valor aumenta com o aumento de velocidade embora permane a muito baixo 61 Gr fico Posi o X Gr fico Velocidade X EIS Traject ria Real T raject ria Refer ncia wo a E E a a 3 o o a gt Gr fico Ac o de Controlo X Ac o de Controlo N m Figura 2 22 Traject ria do Eixo X 0 30 mm 20 mm s Da an lise da figura 2 22 e por compara o com os resultados da figura 2 20 verifica se que o aumento da amplitude de movimento para o mesmo valor de velocidade a resposta do controlador mais pr xima das refer ncias de posi o e velocidade Sendo que a ac o de controlo n o passa de valores positivos para negativos ou seja n o ocorre overshoot Nota se um ligeiro atraso na resposta do controlador mas pode verificar se que em r
166. strar Em seguida apresentado um fluxograma figura 2 28 que ilustra a implementa o de um algoritmo de interpola o linear com perfil de velocidade sinusoidal equa es 2 36 2 37 e 2 38 69 Defini o de Vari veis V gt Vm x n o V V V Vmax vy qo XX E 27 vel i cos X X 27 27 acel sen X X 2 pos X x sen sim pos X vel 0 acel Figura 2 28 Algoritmo de um Gerador de Traject rias de Interpola o Linear com Perfil Sinusoidal de Velocidade O algoritmo apresentado foi implementado com o recurso a um bloco do Simulink S Function Builder em linguagem C Um exemplo do resultado da implementa o deste algoritmo s o as refer ncias de posi o velocidade e acelera o da figura 2 29 70 Figura 2 29 Gr ficos de Posi o Velocidade e Acelera o de Refer ncia Para se efectuar uma traject ria linear com os tr s eixos em movimento produzindo um segmento de recta no espa o tridimensional necess rio decompor o valor da velocidade m dia definida para a execu o da traject ria em tr s componentes Assim para a execu o da traject ria entre os pontos P XYZ e P x Y 5Z co
167. t por segmentos de recta no espa o cartesiano A traject ria gerada deve ainda ser cont nua na posi o e nas suas duas primeiras derivadas para qualquer instante t 0 T A x t Figura 2 36 Transi o entre dois segmentos Traject ria Multi ponto 19 Para isso necess rio come ar a preparar a transi o um tempo ft ponto B antes do acc fim do segmento corrente e completa la um tempo t ponto B depois de come ar o acc novo segmento Na figura 2 36 representa se parte de uma traject ria em que o rob acabou de passar no ponto B a caminho do ponto B No instante come a a dar se a transi o para o segmento BC O tempo de dura o da transi o entre os dois segmentos 2t que permite caso necess rio acelerar desde a m xima velocidade negativa at a m xima velocidade positiva ou vice versa Para se poder interpolar uma fun o polinomial na vizinhan a do ponto de transi o entre os instantes t lt t lt t seria acc necess rio um polin mio de quinta ordem uma vez que se verifica que existem seis condi es de fronteira posi o velocidade e acelera o nos pontos B e B No entanto devido simetria da regi o de transi o suficiente interpolar um polin mio de quarta ordem Assim para o intervalo t lt t lt t a posi o velocidade e a acelera o s o dadas por Paul
168. t o Executar Traject ria Largar Manual Bot o Manual 3 Eixos Pressionar Bot o Manual Figura 2 56 Diagrama da M quina de Estado do Controlador Conforme poss vel observar no diagrama de estado figura 2 56 existe um estado inicial Inicial Emerg ncia que o ponto de partida Quando o sistema se encontra no estado inicial sao activados os sinais digitais Run e Brake sendo fornecidas refer ncias nulas aos drivers de pot ncia Deste modo o controlador do sistema fica preparado para qualquer ordem de movimento Tal como se pode verificar no diagrama da figura 2 56 o sistema s sai do estado inicial se for dada ordem para se efectuar o procedimento designado Zero da M quina Este procedimento corresponde ao posicionamento do rob num ponto de refer ncia no espa o cartesiano sendo que todos os movimentos efectuados ap s este procedimento s o referenciados a esse mesmo ponto Por isso a nica transi o poss vel do estado inicial para o estado Zero da M quina esta transi o ocorre quando o utilizador acciona este procedimento na interface gr fica bot o Reset 109 Durante a execu o do procedimento Zero da M quina o utilizador pode em caso de emerg ncia parar a execu o do mesmo Para 1sso o utilizador deve actuar o bot o Emergency na Interface gr fica Sempre que o bot o Emergency actuado na m quina de estados ocorre uma transi o para o estado Inicial Emerg ncia Es
169. t PC para o Target PC 87 xPC Target Explorer File Target Tools Help p em 4 x yi xP Target Hierarchy TargetPli Communication Component Host PL Root Sea Compilers Configi a DLHM C Docurr Host target communication TCP IP control Elos targeta Target PC TCPAP configuration ey Configuration i Communicati Target PC IF address Settings 10 002 TCP IP target driver 182559 a Appearance El File Systern TCP IF target port Be PCI devices 22222 TCPIP target bus PCI LAN subnet mask address 255 0 0 0 TCPVIP target 5 4 memo TCPVIP gateway address TCPVIF target 15 4 IRG number Communication protocol Host port Baud rate gt Refresh Enabled Figura 2 40 Configura o da comunica o Host Target A comunica o entre o Host PC e o Target PC pode ser efectuada via porta s rie RS232 ou utilizando o protocolo TCP IP figura 2 41 Para a realiza o deste trabalho foi escolhida a comunica o TCP IP uma vez que esta apresenta velocidades de comunica o muito superiores relativamente comunica o RS232 podendo atingir velocidades de transfer ncia entre 10 100 Mbps 1 Mbps 1048576 bps dependendo das caracter sticas rede Numa comunica o R 232 a velocidade m xima permitida de 115200 bps Uma outra vantagem do uso de uma comunica o TCP IP em rela o ao RS232 deve se ao facto de possibilitar maiores dist ncias entre o Host e o
170. t tee dfEadfo Ss tei aoe sanada ecra tc XIII CAPTO O eenaa a a 17 INTRODUC O a R A RY 17 1 1 SISTEMAS ROB TICOS DE TELEMANIPULA O csscccssecccsecccsecccsscecescccusecceseccessceeescceueceusesenss 18 1 2 DESCRI O DO SISTEMA ROBOTICO DO TIPO MASTER SLAVE c ccccssscccessccccsscccceessceseeccsueecees 25 1 3 BIECTIVOS DA DISSERTA O Cues a a 2 1 4 ESTRUTURA DA DISSERTA O R a G 28 1 5 CONCEUSOLSA si A te aa A See fo aan ada 30 CAPUL 6 J CEP RIRE RD een trey a tae ONY BS Pe WU RSET AR RE 31 DESCRI O E ESTRAT GIA DE CONTROLO DO ROBO CARTESIANO ccscssssescssssesssseseees 31 2 1 INTRODU O sa ssi tesa a np Gras soc dl COD ao tse a dp o sation luoene E a 31 22 ROBO CAR TES ANO erine ea iea a a A T E a 33 2 3 MODELA O DO SISTEMA F SICO E S NTESE DE CONTROLADORES csseccccssescceesssceeseccceenecess 38 2 3 Modelacad do Sistema LISI COR pas ensaia is ss accident entices Sis au ds comet lado 39 Do Smee CCC OM IFOLA GOI eS suas ni ta seach nes ens ac cade es we a creado parcels armen OA 43 Dis i Avalia o Experimental dos Controladores cas Fosiscn edwin de hubun seenadens denenannbelawintesialenezenwe 59 2 4 GERAGCAO DE PRAIEC TORING ias ast sacenttallaladaarateeiatela tease va a A RA 66 2 4 1 Movimento Linear entre dois PONtOS ccccccccccecccueccuscccscccusccsecuscenseccusecuecenseeneceuscenseeees 67 ee PA Movimento Linear entre um Numero arbitr rio de Pontos 79 25 ARQUITECTURA DE CON TROLO a a Al
171. te estado tem a mesma fun o do estado Inicial com a diferen a de que os sinais Run e Brake n o se encontram activados Ainda durante a execu o do procedimento Zero da M quina se um dos fins de curso mec nicos esquerdos for actuado o procedimento abortado e na m quina de estados ocorre uma transi o para o estado Inicial Emerg ncia Depois de executado o procedimento Zero da Maquina a m quina de estados transita para o estado Estabilizado Este estado faz activar o subsistema dos controladores de posi o PID atribuindo refer ncias de posi o fixas aos mesmos Refer ncias essas que correspondem as coordenadas de posi o do rob cartesiano no momento em que ocorre a transi o para o estado Estabilizado Encontrando se activo o estado Estabilizado o sistema s evolui para outro estado por ac o do utilizador quer pela opera o da interface gr fica ou pela actua o de um dos componentes do sistema f sico por exemplo a actua o de uma botoneira de emerg ncia A partir do estado Estabilizado o sistema pode transitar para um dos estados de execu o de traject rias sendo que essa transi o s ocorre quando o operador actuar na Interface gr fica o evento bot o associado execu o do tipo de traject ria pretendido Existem quatro estados associados execu o de trajectorias Manual 3 Eixos Trajectoria Eixo a Eixo Trajectoria Linear 3 Eixos e Traject ria Multi ponto Em todo
172. teca de fun es disponibilizadas pela OpenHaptics Toolkit o que permite obter os dados de posi o e velocidade de cada eixo do Phantom Haptic Device Os dados obtidos a partir da DLL s o transferidos com ou sem factor de escala para o controlador do rob cartesiano Target PC sendo que esses dados s o utilizados como refer ncias dos controladores de eixo do rob cartesiano A aplica o de controlo do rob cartesiano tal como ja foi referido recebe da aplica o instalada no Host PC os valores instant neos de posi o e velocidade provenientes da leitura dos sensores do Phantom Haptic Device E atrav s dessa informa o que em conjunto com a informa o obtida pelos sensores e detectores instalados no rob cartesiano o controlador do mesmo gera as correspondentes ac es de controlo bem como executa os procedimentos adequados para a realiza o das tarefas de telemanipula o 151 Aplica o Visual Studio Aplica o Simulink Le Blocos I O Interface xPC Target Maquina de Estados is Parametros Statefl I O Digitai DLL C Grafica COM API E ateflow igitais CH Saida I O Analogicas N E OR ES UU Lt Controladores The OpenHaptics Toolkit de Eixo Haptic Library API HLAPI N
173. trolo e que implementam as diversas ac es decorrentes da interac o entre o rob master e o rob slave bem como a interac o entre o rob slave e o meio ambiente 5 3 1 M quina de Estado Stateflow De seguida s o descritos os estados mais importantes que comp em a m quina de estados para cada um deles descrito o procedimento inerente a uma dada ac o do utilizador ou em resposta ocorr ncia de um evento Fins de Curso Mec nicos sa dr opie esquerdos Inicial Emerg ncia Bot o Bot o Reset Emerg ncia Bot o Fins de Curso Eos Emerg ncia Mec nicos 7 Bot o E Fins de Curso Zero da Telemanipula o Emerg ncia Bot o Mec nicos Fins de Curso Emerg ncia Maquina Bot o Mec nicos Stop Run Bot o Run Fim zero Posicionamento Estav l em Zero Fim posicionameto Bot o Zero Position Figura 5 2 Diagrama da M quina de Estado do Controlador O diagrama de estados da figura 5 2 representa a m quina de estados implementada na constru o do controlador do rob cartesiano Conforme poss vel observar no 153 diagrama de estado existe um estado inicial Inicial Emerg ncia correspondente ao ponto de partida onde os drivers de pot ncia s o activados sendo lhes fornecidas referencias nulas neste estado tamb m desactivado o trav o do eixo vertical do rob cartesiano desta forma o controlador est preparado para qualquer ordem de movimento Tal como se p
174. ulink do Controlador PI de Velocidade Como se pode verificar na figura 2 7 trata se de uma implementa o digital do controlador PI projectado utilizando um integrador discretizado pelo m todo de Tustin Discrete Time Integrator com o per odo de amostragem de Ts Ims Uma vez que n o se disp e directamente do sinal de velocidade aplica se ao sinal de posi o um filtro derivativo de primeira ordem discretizado com frequ ncia de corte de 100 Hz cuja fun o de transfer ncia o 2 20 s 4 com 4 27x 100 Aplicando uma refer ncia de velocidade que evolui no tempo de 0 a 50 mm s segundo um perfil smusoidal obt m se um arranque suave do eixo tal como se pode verificar nos resultados obtidos por simula o 46 Grafico Velocidade 50 ir fy 40 E E gt 30 O 4 O O S 20 10 i 0 0 02 04 06 08 1 12 14 16 18 2 Tempo s Figura 2 8 Resposta do Sistema a um Perfil Sinusoidal de Velocidade sem Atrito Est tico azul Refer ncia de Velocidade vermelho Reposta do Sistema Grafico Velocidade 60 50 40 30 Velocidade mm s O a 0 8 1 hz 1 4 1 6 1 8 2 0 0 2 0 4 0 6 Tempo s Figura 2 9 Resposta do Sistema a um Perfil Sinusoidal de Velocidade com Atrito Estatico azul Refer ncia de Velocidade vermelho Reposta do Sistema Da an
175. un es de transfer ncia estas podem facilmente ser implementadas com o recurso a diagramas de blocos blocos estes que na maioria j existem na biblioteca de blocos do Simulink Outra vantagem consiste na possibilidade de implementa o por parte do utilizador dos seus pr prios blocos com as especifica es pretendidas com o recurso a programa o quer em linguagem M pr pria do Matlab ou em linguagem C Uma das aplica es do Matlab Simulink bastante importante no desenvolvimento da estrat gia de controlo foi o Stateflow que representa uma ferramenta poderosa no desenvolvimento e simula o de sistemas comandados por eventos O Stateflow disponibiliza uma interface gr fica muito intuitiva para o utilizador o seu conceito baseia se numa m quina de estados O utilizador tem a possibilidade de criar um diagrama com v rios estados em que cada estado executa uma determinada ac o definir as transi es entre os v rios estados bem como os eventos que podem levar a mudan as dos mesmos Outra mais valia da solu o Matlab Simulink a possibilidade de utiliza o de aplica es de tempo real como o caso do Real Time Windows Target ou xPC Target Sendo que o xPC Target como uma solu o stand alone apresenta mais vantagens do que o Real Time Windows Target A utiliza o do xPC Target permite ao utilizador o desenvolvimento de toda a estrat gia num PC ao qual se da nome de Host PC e posteriormente descarregar a ap
176. urgi es 20 zeuz Robot Arms Figura 1 5 Sistema Rob tico de Telemanipula o Zeus www space com gt j Figura 1 6 Sistema Rob tico de Telemanipula o Da Vinci www nextgenmd org Estes sistemas rob ticos comerciais embora permitam movimentos de elevada precis o com um factor de escala em rela o ao movimento manual do operador humano Da Vinci 5 1 e Zeus 10 1 ainda n o disp em de feedback h ptico sensa o ao toque essencial para o cirurgi o Tavakoli et al 2008 Nesse sentido v rios s o os trabalhos de investiga o em curso na rea da cirurgia assistida por sistemas rob ticos mais concretamente dos sistemas com feedback h ptico Em Okamura 2004 pode verificar se que foram efectuadas algumas experi ncias com dispositivos h pticos no mbito da cirurgia assistida por sistemas rob ticos Neste caso nas experi ncias efectuadas foram utilizados dois dispositivos h pticos Phantom da empresa Sensable Inc EUA figura 1 7 21 Figura 1 7 Exemplo de uma Experi ncia com Dispositivos Hapticos associados a Opera es Cir rgicas Okamura 2004 Os trabalhos aqu ticos s o tamb m uma das reas onde se podem encontrar exemplos de aplica o de sistemas rob ticos de telemanipula o Um desses exemplos corresponde ao sistema comercial Predator figura 1 8 que pode ser aplicado a sistemas de locomo o aqu tica ROV figura 1
177. vem inclu do o Phantom Device Driver Em seguida s o enumeradas algumas das principais caracter sticas e funcionalidades da HDAPI figura 5 6 Caracteristicas e Uma interface optimizada com o dispositivo Phantom Haptic Device e Independente da plataforma do Sistema Operativo utilizado e Controlo por software de o Acesso directo aos valores dos encoders e controlo da tens o aplicada aos motores o Defini o da taxa servo loop para obten o de melhores performances o Fun es de tratamento de erros e imposi o de limites de seguran a e A API inclui utilidades e exemplos de c digo fonte Funcionalidades e Monitoriza o do estado do dispositivo 164 o Posi o e Velocidade o 3 coordenadas no espa o Cartesiano e das juntas Aquisi o das caracter sticas do dispositivo o Dimens es do espa o de trabalho o Temperatura dos motores o Velocidades e For as m ximas Impor ao dispositivo o For as Momentos no espa o cartesiano o Refer ncias de tens o aplicadas aos motores Escalonador o Defini o pelo utilizador de Callbacks Assincronas e Sincronas o Escalonamento dessas Callbacks o Defini o pelo utilizador da taxa de servo loop Enable Disable o For as Sa da fixa o e rampas o Notifica o de erros Interface de calibra o reset dos encoders do dispositivo o Calibra o Autom tica o Calibra o Manual Utilidades o Wrapper para C 165
178. vida uma arquitectura de controlo para o sistema rob tico de telemanipula o master slave composto por um Phantom Haptic Device master e pelo rob cartesiano slave Para o efeito foi desenvolvida uma aplica o de controlo Matlab Simulink xPC Target que composta por controladores de eixo posi o respons veis pela execu o das traject rias e por uma m quina de estado respons vel pela gest o do sistema de eventos Foi tamb m desenvolvida uma interface gr fica de comando Microsoft Visual Studio CH que permite ao utilizador a opera o do sistema rob tico de telemanipula o Atrav s da interface gr fica o utilizador pode efectuar o posicionamento de ambos os sistemas nos pontos de refer ncia do espa o de trabalho pode tamb m efectuar tarefas de telemanipula o 188 cujas traject rias s o gravadas em ficheiro e que podem ser visualizadas e analisadas em gr ficos A interface gr fica faz parte de uma aplica o desenvolvida em Microsoft Visual Studio que tamb m composta por uma DLL correspondente a uma estrutura de dados que permite a utiliza o de algumas fun es da biblioteca de fun es do Phantom Haptic Device possibilitando desta forma o acesso a par metros como a posi o e velocidade de cada eixo De momento o sistema rob tico de telemanipula o desenvolvido apresenta uma estrat gia de controlo unilateral cujo principal objectivo corresponde ao seguimento de traject ria do r
179. vimento de controladores de eixo robustos para o rob cartesiano sendo necess rio a simula o din mica do rob cartesiano e o desenvolvimento de algoritmos de controlo e sua implementa o cumprindo as seguintes etapas e Modela o do sistema f sico e sua valida o e Desenvolvimento de controladores robustos e Concep o de uma interface gr fica de comando e Testes implementa o e avalia o de desempenho Na segunda fase do trabalho pretendia se implementar um sistema de telemanipulacao constitu do por um rob master dispon vel comercialmente e por um rob slave rob cartesiano de 3 eixos existente Para o efeito foi necess rio efectuar a interliga o dos controladores dos dois subsistemas master e slave Posteriormente foi desenvolvida uma estrutura de controlo para o sistema de telemanipula o Desta forma esta segunda fase do trabalho compreendeu as seguintes etapas e Implementa o da liga o f sica e Concep o da Interface gr fica de comando e Concep o da arquitectura de controlo e Implementa o da arquitectura de controlo e Avalia o experimental 21 1 4 Estrutura da Disserta o Tendo em vista os objectivos enunciados na sec o anterior o trabalho desenvolvido reportado neste documento que se encontra organizado em sete cap tulos e dois anexos No cap tulo 2 s o apresentadas as principais caracter sticas do rob cartesiano slave E apresent
180. xos dos rob s leva a que as varia es in rcias causadas por altera es da configura o da estrutura ou da carga manipulada quando referidas aos motores surjam divididas pelo quadrado do factor de redu o O efeito dessas varia es para factores de redu o elevados assim desprez vel abrindo caminho utiliza o de controladores de ganhos fixos lineares e descentralizados ex PID s Cada eixo pode possuir o seu pr prio subsistema de controlo onde eventuais acoplamentos din micos s o tratados como perturba es 38 2 3 1 Modela o do Sistema F sico O modelo f sico simplificado de cada eixo corresponde a um Sistema de Parafuso figura 2 3 uma vez que em sistemas de controlo de movimento frequente a necessidade de converter movimento rotacional em movimento de transla o Ogata 1997 As equa es que descrevem a din mica deste sistema s o as seguintes ae A 2m h Fx T 22 F M Bx 29 Legenda unidades S I E Posi o angular rad s Posi o linear m Fo Binario N m rise Bo Atrito din mico N m Resultando oN a E r u sa 6 T J D 24 20 2m 39 Legenda unidades S I J Momento de in rcia kg m ee Atrito din mico rota o N m s rad Partindo deste exemplo passa se ent o modela o de um dos eixos lineares que caracterizado por um sistema de transmiss o de fuso de esferas com um acoplamento composto por uma componente
Download Pdf Manuals
Related Search
Related Contents
Frigidaire 318200805 Range User Manual manuale del Toorx TRX 90s LOREX Technology L3104 User's Manual Installation Manual Profile PDR200 Video File Server Philips F5349/NV/ Copyright © All rights reserved.
Failed to retrieve file