CAPÍTULO 3. CONTROLADORES DE ROBÔS MANIPULADORES
3.2 CONTROLADORES DE ARQUITETURA ABERTA
3.2.4 Arquiteturas
Recentemente Lippiello, Villani de controle para robôs industriais vem s
controladores e pelos laboratórios de pesquisa. diferenciados e expressivos são resumidos na breve visão crítica, ressaltando os pontos posi
Hong, Kim et al., (2001
para robôs baseado em uma computador pessoal, denominado de Robot Control), fundamentado no mode
for Controls within Automation Systems Assim utilizou a orientação
lógicos. O foco de desenvolvi
concepção do sistema utilizou o sistema operacional
explorar sua estabilidade em computadores pessoais. Porém devido a não ser um sistema com operações em tempo real, torna
Plataforma para um sistema de controle aberto do modelo de referência OSACA (Sperling e Lutz, 1997
As plataformas modulares encapsulam os métodos específicos dos sistemas absorvendo as características de hardware, sistema operacional e Promovendo um intercâmbio de dados em alto nível, tal forma
módulo de mediação de informações entre softwares, denominado de
Estes pontos de concatenação de dados incrementam a portabilidade e a interoperabilidade das aplicações distribuídas em ambientes heterogêneos (Prischow, 2001).
Lippiello, Villani et al., (2007) resumem que varias arquiteturas abertas de controle para robôs industriais vem sendo desenvolvidas pelos fabricantes de robôs e controladores e pelos laboratórios de pesquisa. Assim, os projetos mais recentes, diferenciados e expressivos são resumidos na seqüência, sobre os quais é apresentada uma breve visão crítica, ressaltando os pontos positivos e negativos.
2001) relata o desenvolvimento de um sistema de controle aberto para robôs baseado em uma computador pessoal, denominado de PC-ORC (
), fundamentado no modelo de referencia OSACA (Open System Architecture for Controls within Automation Systems). O sistema preza pela modularidade e reusabilidade. a objetos como ferramenta para obtenção destes requisitos lógicos. O foco de desenvolvimento foi um manipulador de topologia clássica
concepção do sistema utilizou o sistema operacional Windows NT, com a justificativa de explorar sua estabilidade em computadores pessoais. Porém devido a não ser um sistema com real, torna-se difícil garantir o processamento de um ciclo de tarefas em
Sperling e Lutz, 1997).
As plataformas modulares encapsulam os métodos específicos dos sistemas , sistema operacional e forma de abstração denominado de middleware. Estes pontos de concatenação de dados incrementam a portabilidade e a interoperabilidade
que varias arquiteturas abertas volvidas pelos fabricantes de robôs e Assim, os projetos mais recentes, , sobre os quais é apresentada uma
relata o desenvolvimento de um sistema de controle aberto (PC-based Open Open System Architecture la modularidade e reusabilidade. a objetos como ferramenta para obtenção destes requisitos mento foi um manipulador de topologia clássica, um SCARA. A , com a justificativa de explorar sua estabilidade em computadores pessoais. Porém devido a não ser um sistema com processamento de um ciclo de tarefas em
pequenas frações de tempo (e.g., milisegundos). Desta forma, fora utilizado um hardware dedicado para este processamento e o PC opera nas tarefas que não possuem esse requisito, i.e., tarefas de planejamento e geração do movimento. Não são disponibilizadas muitas informações sobre o hardware, denominado de PMAC, apenas, que é composto por memórias do tipo RAM, para armazenar até 2000 pontos de trajetória recebidos pelo PC e sua capacidade pode ser expandida.
A modularidade e reusabilidade adotadas para o software são características fundamentais para uma rápida prototipagem de sistemas de controle. Porém a falta de informações do hardware levanta algumas duvidas sobre o projeto, não permitindo muitas conclusões. O ponto mais importante é o desenvolvimento de um conjunto de instruções aberto para robôs, denominado de ORIS (Open Robot Instruction Set), composto por quatro bibliotecas de controle: de movimento, de configuração, de programação e para a expansão do sistema.
Bona, Indri et al., (2001) propõem uma arquitetura em tempo real para o desenvolvimento de sistemas de controle robótico. O sistema foi criado para a utilização com um manipulador planar de 2 elos de juntas rotacionais e foi desenvolvido com o intuito de reduzir e simplificar o ciclo de projeto. Assim, baseou sua arquitetura em um computador pessoal, que através de uma comunicação via interface paralela se conecta ao hardware de gerenciamento, denominado de OpenDSP. Este é composto com um processador de sinais digitais (DSP), que rege o sistema, seus sinais de entrada e saída passam por dois dispositivos de lógica programável (PLDs) e opera com um sistema operacional em tempo real para sistemas embarcados, o RTOS (Real Time Operating Systems).
A simplicidade do sistema deu-se pela baixa quantidade de juntas. Para um sistema mais complexo, grandes alterações tornam-se necessárias. A interface de comunicação utilizada é extremamente lenta e obsoleta, e extinta em computadores modernos. Porém o controle é centralizado em um dispositivo de alto processamento, um DSP, que é a tendência para sistemas embarcados que necessitam de alto desempenho. Outro beneficio de sistema, é a integração com um ambiente matemático (MATLAB) para simplificar o desenvolvimento das leis de controle.
Donald e Dunlop, (2001), apresentam um retrofitting de um sistema de controle de trajetória para um robô hidráulico de 6 eixos, o Unimate 2000B, o intuito dessa operação era promover um controlador para um controle de trajeto, diferentemente do original que realizava um controle ponto a ponto. O controlador foi realizado com a utilização de uma
placa de desenvolvimento da Xilinx In., composta por um FPGA(Field Programmable Gate Array) 9 e conectada a um computador pessoal pelo barramento ISA (Industry Standard Architecture) de 16 bits. O hardware possui um sistema operacional embarcado o RTSS (Real-Time Sub-System). O computador é regido pelo sistema operacional Windows NT operando com a Extensão para Tempo Real (RTX) da VenturCom. O sistema de controle foi implementado utilizando uma IDE de alto nível o Microsoft Visual C++.
A solução adotada diminui o “grau de abertura” do sistema, pois o hardware é proprietário. Porém, promove uma alta flexibilidade de implementações pela reconfigurabilidade do FPGA, mas requer um alto nível de especialização para essa tarefa.
Macchelli e Melchiorri, (2002), apresentam um sistema de controle em tempo real baseado no RTAI-Linux (RealTime Application Interface for Linux) para um robô industrial de seis graus de liberdade, o Comau SMART 3-S. O controlador de robôs C3G-9000 é “aberto” em algumas camadas, para a inclusão de um efetuador final avançado (i.e., três graus de liberdade e realimentação por visão). Em Lippiello, Villani et al., 2007 e Caccavale, Lippiello et al., 2005 são apresentadas a expansão desse projeto, para um sistema de controle completo para dois manipuladores, possibilitando a cooperação robótica.
O retrofitting é realizado apenas nas camadas mais superiores, visto que a maior parte do controle encontra-se no PC. Dessa forma, o “grau de abertura” do sistema é muito limitado, sendo que existe apenas uma abertura lógica das informações. As interfaces utilizadas nesta parte aberta do controlador são muito limitadas e obsoletas (e.g., interface paralela e serial e barramentos ISA e VME).
Regenstein e Dillmann, (2003), apresentam o projeto de uma arquitetura de hardware para um robô humanóide ARMAR. Através de uma ótima documentação do projeto, é vista uma arquitetura baseada em PC, porém uma modalidade geralmente utilizada para aplicações móveis o PC/104, operando com a plataforma RT-Linux (Real Time Linux). Assim, um PC ou um PC/104 se conectam através de um barramento de comunicação (e.g., Firewire), com uma camada intermediária (i.e., middleware), com a função de multiplexar a informação proveniente dos hardwares de controle, cuja troca de informações utiliza o barramento
9 Denominado de Arranjo de Portas Programável em Campo, um dispositivo lógico programável que permite
que seu hardware seja configurável. Sua mutação interna é realizada com linguagens de programação Verilog e VHDL (VHSIC Hardware Description Language).
industrial CAN (Controller Area Network). O hardware é composto por um processador de sinais digitais (DSP) conectado com um dispositivo de lógica programável (PLD) para incrementar a flexibilidade do sistema. Cada hardware é responsável pelo controle de duas juntas, i.e., uma arquitetura modular.
A utilização de interfaces de comunicação de alto desempenho (e.g., CAN e Firewire) demonstra a preocupação com a velocidade de transferência de dados, não permitindo que a comunicação torne-se o “gargalo” limitante do sistema. Novamente, são utilizados artifícios para fornecer uma flexibilidade de implementação de hardware. A modularidade provê ao sistema facilidade de manutenção e expansão.
Lages, Henriques et al., (2003) relatam a experiência de um retrofitting de um robô industrial ASEA IRB6 ocorrido no Brasil. A parte do processo referente ao controlador, composta por etapas de software e hardware, apresenta o desenvolvimento de um sistema de controle com um enfoque de distribuição do processamento. Uma arquitetura de controle aberto e modular e descentralizado, onde cada junta possui seu processamento e todas estão ligadas a um computador pessoal, uma rede com topologia de estrela. O computador opera com o sistema operacional Linux e sua variante para o processamento em tempo real RTAI. A comunicação dos módulos é realizada pelos barramentos CAN e Ethernet, com funções de transferências dos dados de controle e supervisão, respectivamente.
A arquitetura selecionada nesse projeto é a tendência para o desenvolvimento de um sistema de controle de alto desempenho. Porém, o hardware não fora totalmente desenvolvido pela universidade foi utilizado um módulo de processamento TINI da Dallas Semiconductor Corporation, o que acarreta uma dependência com o fabricante, aumento no custo do projeto e restringe a “abertura” do sistema. Impossibilitando pequenas alterações nesta unidade de processamento, caso haja necessidade, está deverá ser substituída.
Sumarizando as características das arquiteturas apresentadas, que são igualmente vistas em outros projetos, nota-se que o desenvolvimento de controladores robóticos de arquitetura aberta segue alguns padrões como: sistemas baseados em computadores pessoais (para facilitar a expansão, manutenção e manuseio), utilização de sistemas operacionais para operações em tempo real, alto grau de modularidade, reaproveitamento de código, hardwares e comunicações de alto desempenho e o desenvolvimento integral do sistema (para promover uma abertura total do sistema de controle, minimizar os custos e possuir uma solução personalizada que cumpra todos os requisitos do projeto).