CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS...

18
Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio Candea Leite Introdução Na área de robótica existem tarefas que são impossíveis de serem executadas por um sistema robótico simples. Alguns exemplos são: manipulação de cargas muito pesadas e manipulação de objetos flexíveis. Com isso, quando é implementado um sistema robótico cooperativo [1], essas tarefas se tornam fáceis de serem executadas. Esses sistemas consistem em dois robôs manipuladores que atuam de forma conjunta e síncrona para a realização de uma determinada tarefa. Esse sistema robótico, é constituído por uma cadeia cinemática fechada, onde todas as juntas são ativas (é possível atuar em todas elas) e é considerado que há contato continuo do efetuador com o objeto manipulado. Em geral, esses sistemas são redundantes, ou seja, possuem mais graus de liberdade do que é necessário para a realização de uma determinada tarefa. Esse acréscimo de graus de liberdade, acrescenta maior destreza, evita situações de singularidade, evita obstáculos do espaço de trabalho, minimiza o consumo de energia, entre outras vantagens. Para a implementação de sistemas robóticos cooperativos, foram estudadas algumas metodologias de modelagem e controle clássicas desenvolvidas para robôs manipuladores simples e avaliou-se como elas podem ser aplicadas para robôs cooperativos, capazes de executar tarefas de manipulação bi-manual de objetos [1]. Para isso, utilizaram-se os conceitos de cinemática direta e cinemática diferencial, para obter respectivamente a pose e a velocidade do objeto manipulado em relação à base do robô, bem como as matrizes Jacobianas de cada manipulador para realizar o controle do sistema robótico completo [2]. A estratégia de controle cooperativo que foi investigada é baseada em um algoritmo de controle cinemático com restrições de velocidade e na separação do espaço das juntas em juntas ativas (ou atuadas) e passivas (não atuadas) [3]. Além disso, utilizou-se o ambiente de programação Matlab/Simulink para realizar simulações numéricas do algoritmo de controle cinemático de posição e orientação de 2 (dois) robôs manipuladores de 3-DoF (degrees of freedom) movendo um objeto. A verificação e validação da solução proposta para um robô manipulador simples foi realizada em um robô PhantomX Pincher de 4-DoF, para tarefas de rastreamento de trajetórias, utilizando o Matlab e o ROS (Robot Operating System) como ambiente de programação. Metodologia Para realizar a manipulação de um objeto utilizando um sistema robótico cooperativo, utilizou-se alguns conceitos de robótica, como cinemática direta, cinemática diferencial e controle cinemático. O primeiro conceito, o de cinemática direta, serve para encontrar a posição do efetuador (ferramenta) em relação a um referencial que será chamado de base, em função dos ângulos de cada junta. Para isso, usa-se a convenção de Denavit- Hartenberg, que cria uma transformação homogênea entre as coordenadas do efetuador do robô e a sua base [2]. Será feito o cálculo de cinemática direta de um sistema robótico nas sessões posteriores com dois manipuladores 3-DoF (degrees of freendom). Depois do cálculo da cinemática direta, será utilizado o segundo conceito dito acima, que é o da cinemática diferencial. Esse conceito, serve para achar a correspondência das velocidades dos efetuador em relação as velocidades das juntas. Essa correspondência é feita por meio de uma matriz chamada de Jacobiana. Essa matriz, é possível ser calculada de duas formas, como será visto nas outras sessões. Essas maneiras, são chamadas de geométrica e analítica. O jacobiano também serve para

Transcript of CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS...

Page 1: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS

Aluno: Gustavo Bertagna Peixoto Barbosa

Orientador: Antonio Candea Leite

Introdução

Na área de robótica existem tarefas que são impossíveis de serem executadas por

um sistema robótico simples. Alguns exemplos são: manipulação de cargas muito pesadas

e manipulação de objetos flexíveis. Com isso, quando é implementado um sistema

robótico cooperativo [1], essas tarefas se tornam fáceis de serem executadas. Esses

sistemas consistem em dois robôs manipuladores que atuam de forma conjunta e síncrona

para a realização de uma determinada tarefa. Esse sistema robótico, é constituído por uma

cadeia cinemática fechada, onde todas as juntas são ativas (é possível atuar em todas elas)

e é considerado que há contato continuo do efetuador com o objeto manipulado. Em geral,

esses sistemas são redundantes, ou seja, possuem mais graus de liberdade do que é

necessário para a realização de uma determinada tarefa. Esse acréscimo de graus de

liberdade, acrescenta maior destreza, evita situações de singularidade, evita obstáculos do

espaço de trabalho, minimiza o consumo de energia, entre outras vantagens.

Para a implementação de sistemas robóticos cooperativos, foram estudadas algumas

metodologias de modelagem e controle clássicas desenvolvidas para robôs manipuladores

simples e avaliou-se como elas podem ser aplicadas para robôs cooperativos, capazes de

executar tarefas de manipulação bi-manual de objetos [1]. Para isso, utilizaram-se os

conceitos de cinemática direta e cinemática diferencial, para obter respectivamente a pose

e a velocidade do objeto manipulado em relação à base do robô, bem como as matrizes

Jacobianas de cada manipulador para realizar o controle do sistema robótico completo

[2]. A estratégia de controle cooperativo que foi investigada é baseada em um algoritmo

de controle cinemático com restrições de velocidade e na separação do espaço das juntas

em juntas ativas (ou atuadas) e passivas (não atuadas) [3]. Além disso, utilizou-se o

ambiente de programação Matlab/Simulink para realizar simulações numéricas do

algoritmo de controle cinemático de posição e orientação de 2 (dois) robôs manipuladores

de 3-DoF (degrees of freedom) movendo um objeto. A verificação e validação da solução

proposta para um robô manipulador simples foi realizada em um robô PhantomX Pincher

de 4-DoF, para tarefas de rastreamento de trajetórias, utilizando o Matlab e o ROS (Robot

Operating System) como ambiente de programação.

Metodologia

Para realizar a manipulação de um objeto utilizando um sistema robótico

cooperativo, utilizou-se alguns conceitos de robótica, como cinemática direta, cinemática

diferencial e controle cinemático. O primeiro conceito, o de cinemática direta, serve para

encontrar a posição do efetuador (ferramenta) em relação a um referencial que será

chamado de base, em função dos ângulos de cada junta. Para isso, usa-se a convenção de

Denavit- Hartenberg, que cria uma transformação homogênea entre as coordenadas do

efetuador do robô e a sua base [2]. Será feito o cálculo de cinemática direta de um sistema

robótico nas sessões posteriores com dois manipuladores 3-DoF (degrees of freendom).

Depois do cálculo da cinemática direta, será utilizado o segundo conceito dito

acima, que é o da cinemática diferencial. Esse conceito, serve para achar a

correspondência das velocidades dos efetuador em relação as velocidades das juntas.

Essa correspondência é feita por meio de uma matriz chamada de Jacobiana. Essa matriz,

é possível ser calculada de duas formas, como será visto nas outras sessões. Essas

maneiras, são chamadas de geométrica e analítica. O jacobiano também serve para

Page 2: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

calcular a manipulabilidade do robô. Esse conceito, serve para dizer se um robô está em

uma região de singularidade ou não. Caso ele esteja, o robô se torna não controlável.

Por último, tem-se o conceito de controle cinemático. Dessa maneira, é projetado

um sinal de controle de posição e orientação em função das velocidades das juntas de

ambos os robôs . Nessa abordagem, será assumido que os robôs possuem alta taxa de

redução nas engrenagens das juntas, e que as tarefas podem ser executadas com

velocdades baixas e acelerações lentas. Com isso, é possível desprezar os efeitos

dinâmicos do robô durante a execução da tarefa. Dessa maneira, também é assumido que

existe uma malha interna de controle de velocidade que possui alto ganho. Desse jeito, é

possível projetar um sinal de controle que seja aproximadamente igual as velocidades das

juntas.

Após calcular todas as equações necessárias, será feito uma simulação do controle

cinemático [3]. Para realizar essa simulação, foram utilizados os ambientes de

programação Matlab/Simulink. Esse algoritmo simula o controle cinemático de dois

robôs manipuladores planares 3-DoF (degrees of freedom) movendo um objeto. O

programa é divido em diversas funções, que são a inicialização dos parâmetros dos

manipuladores, o cálculo da cinemática direta, o cálculo de cinemática diferencial e o

controle cinemático, que é feito por meio do Simulink. Após rodar o algoritmo de

controle, são mostrados gráficos que dizem se os robôs estão conseguindo manipular o

objeto de forma cooperativa seguindo uma trajetória especificada. Dessa maneira, serão

explicadas cada parte mencionada acima, detalhadamente, para um maior entendimento

delas.

Após a simulação, foi verificado a validação da solução proposta para um robô

manipulador simples, que é o PhantomX Pincher de 4-DoF. Utilizou-se esse robô para

fazer o rastreamento de uma trajetória. Dessa maneira, como ambiente de programação,

utilizou-se novamente o Matlab/Simulink, aliado com ROS (Robot Operating System).

Com isso, os conceitos de robótica listados acima: cinemática direta, cinemática

diferencial e de controle cinemático foram ampliados para manipuladores de 4-DoF. Após

a realização do controle, foram feitas análises de gráficos gerados pelo Matlab. Dessa

maneira, foi possível verificar o desempenho e a eficácia da estratégia de controle.

Hardware

Como dito acima, foi utilizado um robô PhantomX Pincher. Esse robô possui 5-

DoF, contudo, um grau de liberdade está na ferramenta, então para uma abordagem

cinemática ele possui 4-DoF. É possível verificar uma imagem desse robô a seguir:

Figura 1 – PhantomX Pincher AX-12 com eixos na base e no efetuador

Page 3: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

As características mecânicas do PhantomX Pincher podem ser vistas na tabela a

seguir:

Peso 550 g

Alcance Vertical 350 mm

Alcance Horizontal 310 mm

Capacidade de carga para 150 mm 100 g

Capacidade de carga para 200 mm 70 g

Capacidade de carga para 250 mm 40 g

Os atuadores contidos no robô são servomotores do modelo AX-12A da

Dynamixel. Eles são mecanismo poderosos e rápidos que possuem 300 graus de

movimento. Esses motores possuem um microcontrolador embutido que faz o controle

de posição angular. Eles também possuem somente 3 fios para conexão, que faz com que

reduza bastante a fiação do robô. As principais características desses motores são:

Tensão de operação 12 V

Torque de travamento 15,3 Kg.cm

Velocidade sem carga 59 RPM

Peso 55 g

Dimensões 32 x 50 x 40 mm

Resolução 0,29º

Taxa de redução 1/254

Ângulo de operação 300º Corrente Máxima 900 mA

Corrente de Standby 50 mA

Temperatura de Operação Interna -5ºC a 70º C

Protocolo de Operação TTL Half Duplex Async Serial

Velocidade de comunicação 7343bps ~ 1Mbps

No kit que contém o PhantomX Pincher, também se tem um microcontrolador

ArbotiX, que é similar a um microcontrolador Arduino ATMEGA644P de 16 MHz. Ele

pode ser programado em uma linguagem “wiring” e em um ambiente de programação

que roda no Windows, Linux e no MacOS. Para se comunicar ao controlador utiliza-se

uma interface USB que aparece como uma porta serial para o computador conectado. O

ArbotiX possui 64k de memória ROM e uma memória RAM de 4k. Essas placas são

alimentadas por uma tensão de 12 VDC.

ROS (Robot Operating System)

O ROS é um sistema operativo para robôs como é descrito pelo seu nome. Ele

possui um framework muito flexível e possui diversas ferramentas, bibliotecas e

convenções que facilitam as tarefas na programação de um robô. Esse sistema é baseado

em Linux Ubuntu, onde pode ser programado em C, C++ e em Python. Ele é importante

para robôs que possuem diversos módulos como câmeras, sensores, atuadores que

precisam se comunicar entre si. Dessa maneira, por meio do ROS, é possível ter uma

arquitetura de processamento de dados em paralelo para controlar o robô. Um exemplo

dessa aplicação, é caso o computador embarcado ao robô precise fazer cálculos pesados

de processamento de imagem mas não tem configuração suficiente para isso. Dessa

Page 4: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

maneira, é possível criar um nó no ROS em um computador mais poderoso que se

comunicará através do protocolo TCP/IP com o robô.

Em uma rede com máquinas que estão rodando o ROS, sempre existirá uma

máquina chamada de mestre. Essa máquina deverá sempre estar rodando o comando

ROSCORE que irá inicializar todos os serviços necessários para que os nós do ROS

comuniquem entre si. Um nó no ROS é basicamente um executável, portanto é possível

ter um nó executando em qualquer máquina da rede. A comunicação entre nós, é feito

através do protocolo TCP/IP. Cada nó, pode publicar e subscrever em tópicos. Em outras

palavras, um nó pode tanto escrever valores nessa variável ou ler os valores dessa

variável. Dessa forma, é que diversos nós podem se comunicar um com o outro.

Os tópicos podem ser publicados ou subscritos pelos nós. A ação de publicar, é

similar a ação de escrita em uma variável e a ação de subscrever é similar a ação de leitura

de uma variável. Além dos conceitos de tópicos e de nós, também há o conceito de

mensagem no ROS. As mensagens são os próprios dados lidos e escritos pelos nós nos

tópicos. Ao publicar ou subscrever em um tópico, é preciso especificar qual tipo de

mensagem será utilizado, ou seja, é preciso especificar qual é o tipo de dados que serão

escritos ou lidos.

Cinemática Direta

O objetivo da cinemática direta, é calcular a posição e a orientação do centro de

massa do objeto em função das variáveis das juntas. Já que inicialmente, é feito uma

simulação com manipuladores planares 3-DoF, é possível utilizar conceitos básicos de

geometria e álgebra para o cálculo da cinemática direta. Contudo, já que para

manipuladores mais complexos, como o PhantomX Pincher, é muito difícil utilizar esses

conceitos, também será usado a convenção de Denavit- Hartenberg para fazer o cálculo

da cinemática direta. Antes de fazer o cálculo da cinemática direta, serão estabelecidas

algumas equações de restrição, que são [1]:

𝑝𝑐 = 𝑝01 + 𝑝1𝑐⏟ 𝑅𝑜𝑏ô 1

= 𝑝02 + 𝑝2𝑐⏟ 𝑅𝑜𝑏ô 2

(1)

𝜑𝑐 = 𝜑01 +𝜑1𝑐⏟ 𝑅𝑜𝑏ô 1

= 𝜑02 +𝜑2𝑐⏟ 𝑅𝑜𝑏ô 2

(2)

Sendo:

𝑝0𝑖 є 𝑅3: Vetor posição do efetuador no sistema de coordenadas do efetuador do i-

ésimo manipulador 𝐸�̅� em relação ao sistema de coordenadas da base 𝐸0̅̅ ̅.

𝑝𝑖𝑐 є 𝑅3: Vetor posição do objeto manipulado nas coordenadas 𝐸𝑐̅̅ ̅ em relação as

coordenadas do efetuador do i-ésimo manipulador 𝐸�̅�.

𝜑0𝑖 є 𝑅3: Orientação do efetuador no sistema de coordenadas do efetuador do i-

ésimo manipulador 𝐸�̅� em relação ao sistema de coordenadas da base 𝐸0̅̅ ̅.

𝜑𝑖𝑐 є 𝑅3: Orientação do objeto manipulado nas coordenadas 𝐸𝑐̅̅ ̅ em relação as

coordenadas do efetuador do i-ésimo manipulador 𝐸�̅�.

É possível ver uma ilustração de um sistema robótico cooperativo com dois

manipuladores planares com 3-DoF a seguir:

Page 5: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

Figura 2 – Sistema robótico cooperativo com robôs planares com 3DoF

Dessa maneira, tem-se que:

𝑥𝑗𝑖: Coordenada x do sistema de coordenadas do eixo da i-ésima junta do j-ésimo

manipulador robótico.

𝑦𝑗𝑖:Coordenada y do sistema de coordenadas do eixo da i-ésima junta do j-ésimo

manipulador robótico.

𝜃𝑗𝑖:Ângulo da i-ésima junta do j-ésimo manipulador robótico.

𝑙𝑗𝑖:Comprimento do i-ésimo elo do j-ésimo manipulador robótico.

𝐸0:Sistema de coordenadas da base.

𝐸𝑐 :Sistema de coordenadas do objeto manipulado.

𝑣𝑖+: Velocidade do i-ésimo efetuador em relação as velocidades das juntas.

𝑣𝑖−: Velocidade dos pontos de contato do objeto com o i-ésimo efetuador.

Agora, será calculada a posição do centro de massa do objeto manipulado que está

no sistema de coordenadas 𝐸𝑐 em relação ao sistemas de coordenadas da base 𝐸0.

Primeiramente, serão utilizados conceitos de geometria e álgebra para a realização deste

cálculo. Primeiramente, será feita a cinemática direta para o manipulador robótico 1 e

esse conceito poderá ser estendido para o manipulador robótico 2, de acordo com as

equações (1) e (2). Dessa maneira, começa-se definindo um vetor posição entre a base e

a primeira junta:

𝑝𝑏⃗⃗⃗⃗ = −𝑙0𝑥0⃗⃗⃗⃗ (3)

Sendo l0 a distância entre a base e o manipulador robótico. Depois calcula-se o

vetor posição da segunda junta em relação a base. Com isso, tem-se que:

Page 6: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

𝑝01⃗⃗⃗⃗ ⃗⃗ = 𝑝𝑏⃗⃗⃗⃗ + 𝑙11𝑅01𝑥 ⃗⃗⃗ (4) Onde:

𝑅𝑖−1𝑖 : É a matriz de rotação no eixo z da junta i em relação a junta i-1. Lembrando

que a matriz do rotação no eixo z é dada pela matriz:

[𝑐𝑜𝑠𝜃 −𝑠𝑒𝑛𝜃 0𝑠𝑒𝑛𝜃 𝑐𝑜𝑠𝜃 00 0 1

] (5)

Depois, calcula-se o vetor posição da terceira junta em relação ao eixo de

coordenadas da base. Dessa maneira, tem-se que:

𝑝02⃗⃗⃗⃗ ⃗⃗ = 𝑝01⃗⃗⃗⃗ ⃗⃗ + 𝑙12𝑅02𝑥 = 𝑝01⃗⃗⃗⃗ ⃗⃗ + 𝑙12𝑅12𝑅01𝑥 (6) Lembrando que:

𝑅𝑖𝑗 = 𝑅𝑖𝑖+1 ∗ 𝑅𝑖+1𝑗 (7)

Após calcular o vetor posição acima, é possível calcular o vetor da posição do

efetuador em relação elação ao eixo de coordenadas da base. Com isso, tem-se que:

𝑝03⃗⃗⃗⃗ ⃗⃗ = 𝑝02⃗⃗⃗⃗ ⃗⃗ + 𝑙13𝑅03𝑥 = 𝑝02⃗⃗⃗⃗ ⃗⃗ + 𝑙13𝑅23𝑅12𝑅01𝑥 (8)

Dessa forma, finalmente é possível calcular o vetor posição do centro de massa do

objeto manipulado em relação ao eixo de coordenadas da base. Esse vetor é dado pela

seguinte equação:

𝑝0𝑐1⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ = 𝑝03⃗⃗⃗⃗ ⃗⃗ + 𝑙𝑐2𝑅0𝑐1𝑥 = 𝑝03⃗⃗⃗⃗ ⃗⃗ +

𝑙𝑐2𝑅3𝑐1𝑅23𝑅12𝑅01𝑥 (9)

Para o cálculo do vetor posição do centro de base em relação ao eixo de coordenadas

da base para o segundo manipulador robótico, utiliza-se as mesmas equações acima.

Contudo, há uma mudança no sentido do vetor posição da junta da primeira junta. Esse

vetor fica da seguinte forma:

𝑝𝑏2⃗⃗ ⃗⃗⃗⃗ = 𝑙0𝑥0⃗⃗⃗⃗ (10)

Essa mudança é devido ao vetor posição estar no mesmo sentido do eixo 𝑥 do

sistemas de coordenadas da base. Dessa maneira, tem-se as seguintes equações:

𝑝04⃗⃗⃗⃗ ⃗⃗ = 𝑝𝑏2⃗⃗ ⃗⃗⃗⃗ + 𝑙21𝑅04𝑥 (11)

𝑝05⃗⃗⃗⃗ ⃗⃗ = 𝑝04⃗⃗⃗⃗ ⃗⃗ + 𝑙22𝑅05𝑥 = 𝑝04⃗⃗⃗⃗ ⃗⃗ + 𝑙22𝑅45𝑅04𝑥 (12)

𝑝06⃗⃗⃗⃗ ⃗⃗ = 𝑝05⃗⃗⃗⃗ ⃗⃗ + 𝑙23𝑅06𝑥 = 𝑝05⃗⃗⃗⃗ ⃗⃗ + 𝑙23𝑅56𝑅45𝑅04𝑥 (13)

𝑝0𝑐2⃗⃗ ⃗⃗ ⃗⃗ ⃗⃗ = 𝑝06⃗⃗⃗⃗ ⃗⃗ + 𝑙𝑐2𝑅0𝑐2𝑥 = 𝑝06⃗⃗⃗⃗ ⃗⃗ +

𝑙𝑐2𝑅6𝑐1𝑅56𝑅45𝑅04𝑥 (14)

Page 7: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

A orientação do centro de massa do objeto para os manipuladores robóticos, pode

ser obtida da seguinte forma:

𝜃𝑐1 = 𝜃11 + 𝜃12 + 𝜃13 + 𝜃14 (15)

𝜃𝑐2 = 𝜃21 + 𝜃22 + 𝜃23 + 𝜃24 (16)

Sendo os ângulos 𝜃14 e 𝜃24 , as orientações dos efetuadores dos manipuladores 1 e

2 respectivamente. Com isso, o vetor posição do centro de massa do objeto em relação as

coordenadas da base, será dada pela posição absoluta. Essa posição é dada por:

𝑝𝑎 =

[ 𝑝0𝑐1_𝑥 + 𝑝0𝑐2_𝑥

2𝑝0𝑐1_𝑦 + 𝑝0𝑐2_𝑦

2𝜃𝑐1 + 𝜃𝑐2

2 ]

(17)

Além de utilizar conceitos de álgebra e geometria, também é possível calcular a

cinemática direta utilizando a convenção de Denavit-Hartenberg [2]. Esse método criará

uma transformação homogênea de coordenadas entre o efetuador e a base dos

manipuladores robóticos. A convenção de Denavit-Hartenberg utiliza quatro parâmetros

para computar a matriz de transformação homogênea entre o sistema de coordenadas de

uma junta e o sistema de coordenadas da junta anterior. Esses parâmetros são: distância

entre as juntas no eixo 𝑥 (a), distância entre as juntas no eixo 𝑧 (d), ângulos de rotação

das juntas em torno do eixo 𝑥 (α), e ângulos de rotação das juntas em torno do eixo 𝑧 (θ).

Dessa maneira, é possível obter a transformação homogênea das coordenadas do

efetuador em relação a base do robô manipulador, multiplicando as matrizes de

transformação homogênea de todas as juntas. Essa matriz de rotação homogênea 𝑇, é

composta pela matriz de rotação 𝑅 e pelo vetor de posição 𝑝 que descrevem

respectivamente a orientação e a posição do efetuador com respeito a base do robô.

Quando a orientação do efetuador é descrita por um vetor de rotação 𝑞 de 3 dimensões,

ao invés de da matriz de rotação 𝑅, essa representação é denominada de mapeamento de

cinemática direta. Com isso, de acordo com Denavit-Hartenberg é possível achar uma

transformação geométrica por meio das quatro operações elementares, que são:

Rotação 𝜃𝑖em torno do eixo da junta (𝑧𝑖−1)

Translação ao longo do eixo do elo (𝑥𝑖) do seu próprio comprimento (𝑎𝑖) Translação ao longo do eixo da junta (𝑧𝑖) do afastamento entre juntas (𝑑𝑖) Rotação 𝛼𝑖 do eixo da junta (𝑧𝑖) em torno do eixo longitudinal (𝑥𝑖) do elo

Dessa maneira, tem-se que a parte rotacional pode ser decomposta em 2 rotações

elementares ao redor do sistema de coordenadas correntes:

𝑅𝑖−1,𝑖 = 𝑅𝑧(𝜃𝑖)𝑅𝑥(𝛼𝑖) (18)

𝑅𝑖−1,𝑖 = [𝑐𝑜𝑠𝜃𝑖 −𝑠𝑒𝑛𝜃𝑖 0𝑠𝑒𝑛𝜃𝑖 𝑐𝑜𝑠𝜃𝑖 00 0 1

] [1 −0 00 𝑐𝑜𝑠𝛼𝑖 −𝑠𝑒𝑛𝛼𝑖0 𝑠𝑒𝑛𝛼𝑖 𝑐𝑜𝑠𝛼𝑖

] (19)

Page 8: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

𝑅𝑖−1,𝑖 = [𝑐𝑜𝑠𝜃𝑖 −𝑠𝑒𝑛𝜃𝑖𝑐𝑜𝑠𝛼𝑖 𝑠𝑒𝑛𝜃𝑖𝑠𝑒𝑛𝛼𝑖𝑠𝑒𝑛𝜃𝑖 𝑐𝑜𝑠𝜃𝑖𝑐𝑜𝑠𝛼𝑖 −𝑐𝑜𝑠𝜃𝑖𝑠𝑒𝑛𝛼𝑖0 𝑠𝑒𝑛𝛼𝑖 𝑐𝑜𝑠𝛼𝑖

] (20)

Por outro lado, a parte translacional é dada por :

�⃗� 𝑖−1,𝑖 = 𝑑𝑖𝑧 𝑖−1 + 𝑎𝑖𝑥 𝑖 (21)

(�⃗� 𝑖−1,𝑖)𝑖−1 = 𝑑𝑖(𝑧 𝑖−1)𝑖−1 + 𝑎𝑖𝑅𝑖−1,𝑖(𝑥 𝑖)𝑖 (22)

(�⃗� 𝑖−1,𝑖)𝑖−1 = 𝑑𝑖 [001] + 𝑎𝑖𝑅𝑖−1,𝑖 [

100] (23)

(�⃗� 𝑖−1,𝑖)𝑖−1 = [𝑎𝑖𝑐𝑜𝑠𝜃𝑖𝑎𝑖𝑠𝑒𝑛𝜃𝑖𝑑𝑖

] (24)

Dessa forma, a transformação homogênea é dada por:

𝑇𝑖−1,𝑖 = [

𝑐𝑜𝑠𝜃𝑖𝑠𝑒𝑛𝜃𝑖00

−𝑠𝑒𝑛𝜃𝑖𝑐𝑜𝑠𝛼𝑖𝑐𝑜𝑠𝜃𝑖𝑐𝑜𝑠𝛼𝑖𝑠𝑒𝑛𝛼𝑖0

𝑠𝑒𝑛𝜃𝑖𝑠𝑒𝑛𝛼𝑖−𝑐𝑜𝑠𝜃𝑖𝑠𝑒𝑛𝛼𝑖

𝑐𝑜𝑠𝛼𝑖0

𝑎𝑖𝑐𝑜𝑠𝜃𝑖𝑎𝑖𝑠𝑒𝑛𝜃𝑖𝑑𝑖1

] (25)

A seguir, segue uma foto de um manipulador planar 3-DoF com os eixos escolhidos

de acordo com a convenção de Denavit- Hartenberg:

Figura 3 – Robô planar com os eixos escolhidos seguindo a convenção de

Denavit- Hartenberg.

Page 9: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

Dessa forma, todos os eixos de revolução são paralelos. Com isso, a escolha mais

simples para todos os eixos 𝑥 𝑖, é na direção dos elos, sendo a direção 𝑥 0 escolhida de

forma arbitrária. É possível ver que todos os sistemas de coordenadas �⃗� 𝑖 estão no plano

do sistema de coordenadas da base �⃗� 0. Desse jeito, todos os parâmetros 𝑑𝑖 são nulos e os

ângulos entre os eixos 𝑥 𝑖 fornecem indiretamente os parâmetros 𝜃𝑖 . Dessa forma, temos

otod os parâmetros de Denavit- Hartenberg especificados na tabela abaixo [2]:

Elos 𝑎𝑖 𝛼𝑖 𝑑𝑖 𝜃𝑖 1 𝑎1 0 0 𝜃1

2 𝑎2 0 0 𝜃2

3 𝑎2 0 0 𝜃3

Com isso, pode-se substituir os parâmetros acima, com os valores que estão na

figura 1 para os dois manipuladores robóticos:

𝑇123 = [

𝑐𝑜𝑠𝜃123𝑠𝑒𝑛𝜃12300

−𝑠𝑒𝑛𝜃123𝑐𝑜𝑠𝜃12300

0 010

𝑎1𝑐𝑜𝑠𝜃1 + 𝑎2𝑐𝑜𝑠𝜃12 + 𝑎3𝑐𝑜𝑠𝜃123𝑎1𝑠𝑖𝑛𝜃1 + 𝑎2𝑠𝑖𝑛𝜃12 + 𝑎3𝑠𝑖𝑛𝜃123

01

] (26)

Sendo para o manipulador 1:

𝜃𝑖 = 𝜃1𝑖 𝑖 = 1,2,3 (27)

𝑎𝑖 = 𝑙1𝑖 𝑖 = 1,2,3 (28)

𝜃𝑖𝑗..𝑘 = 𝜃1𝑖 + 𝜃1𝑗+. . 𝜃1𝑘 (28)

Para o manipulador 2:

𝜃𝑖 = 𝜃2𝑖 𝑖 = 1,2,3 (29)

𝑎𝑖 = 𝑙2𝑖 𝑖 = 1,2,3 (30)

𝜃𝑖𝑗..𝑘 = 𝜃2𝑖 + 𝜃2𝑗+. . 𝜃2𝑘 (31)

Com isso, tem-se:

𝑇1231 : Transformação homogênea do efetuador em relação a base do primeiro

manipulador robótico

𝑇1232 : Transformação homogênea do efetuador em relação a base do segundo

manipulador robótico

Depois de achada a matriz 𝑇123 para ambos os manipuladores, acha-se a

transformação de coordenadas do efetuador em relação ao sistemas de coordenadas da

Page 10: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

base. Supondo que tenha-se um vetor 𝑝 que representa o vetor com as coordenadas do

efetuador em relação ao eixo de coordenadas da junta anterior. Para representar esse vetor

no sistema de coordenadas da base, basta fazer:

Para o primeiro manipulador:

𝑝03 = 𝑇1231 𝑝23 (32)

Para o segundo manipulador:

𝑝06 = 𝑇1232 𝑝56 (33)

Contudo, o que se tem é as coordenadas do efetuador em relação a base, e o que se

quer é a posição do centro de massa do objeto manipulado em relação a base. Para isso,

pode-se utilizar as equações (12) e (7), ou supor que a distância entre o centro de massa

do objeto e o efetuador é um elo. Com isso, achar os parâmetros de Denavit-Hartenberg

deste novo elo e recalcular a matriz de transformação homogênea.

Cinemática Diferencial

Depois de obter a posição do objeto manipulado em relação as coordenadas da base

dos manipuladores, acha-se a velocidade do objeto. Para isso, utiliza-se a cinemática

diferencial para obter, primeiro, a velocidade do efetuadores. Desta forma, é preciso obter

o Jacobiano dos manipuladores robóticos. É possível obter a matriz Jacobiana por meio

de duas abordagens, que são por meio de uma abordagem geométrica ou analítica. Na

abordagem analítica, o Jacobiano é obtida por meio da derivada temporal da cinemática

direta. Nesse trabalho, será utilizada a abordagem geométrica, que depende da geometria

das juntas, para obter o Jacobiano. Já que todas as juntas dos manipuladores são de

rotação, Os Jacobianos dos manipuladores são [1]:

𝐽1 = [𝑧 0𝑥(𝑝 03)0 𝑧 0𝑥(𝑝 13)0 𝑧 0𝑥(𝑝 23)0

𝑧 0 𝑧 0 𝑧 0] (34)

Sendo:

(𝑝 23)0 = 𝑙13𝑅03 (35)

(𝑝 13)0 = (𝑝 23)0 + 𝑙12𝑅02 (36)

(𝑝 03)0 = (𝑝 13)0 + 𝑙11𝑅01 (37)

Jacobiano do segundo manipulador

𝐽2 = [𝑧 0𝑥(𝑝 06)0 𝑧 0𝑥(𝑝 46)0 𝑧 0𝑥(𝑝 56)0

𝑧 0 𝑧 0 𝑧 0] (38)

Sendo:

(𝑝 56)0 = 𝑙23𝑅06 (38)

Page 11: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

(𝑝 46)0 = (𝑝 56)0 + 𝑙22𝑅05 (39)

(𝑝 06)0 = (𝑝 46)0 + 𝑙21𝑅04 (40)

Dessa forma, as velocidades dos efetuadores podem ser escritas como:

𝑣1+ = 𝐽1𝜃 ̇ (41)

𝑣2+ = 𝐽2�̇� (42)

Juntando as duas equações em uma só, fica-se com:

[𝑣1+𝑣2+

] = [ 𝐽1 00 𝐽2

]⏟

𝐽

�̇� (43)

Agora, depois te obter a velocidade do efetuador, é preciso obter a velocidade do

objeto manipulado. Para isso, primeiro calcula-se a matriz de transformação adjunta dos

manipuladores. Essa matriz relaciona a velocidade do eixo de coordenadas do objeto

manipulado �̅�𝑐 com a velocidade do eixo de coordenadas do efetuador �̅�𝐸 . Essa matriz

adjunta é dada por:

𝐴𝑖 = [𝐼 −𝑝𝑖𝑐𝑥0 𝐼

] (44)

Sendo −𝑝𝑖𝑐𝑥 os produtos vetoriais entre a posição do centro de massa do objeto e

os vetores que representam os eixos de coordenadas x,y,z. Dessa maneira , tem-se que

para os manipuladores 1 e 2:

𝑝𝑖𝑐𝑥1 =

[

0 0 0

0 0 −𝑙𝑐

2

0𝑙𝑐

20 ]

(45)

𝑝𝑖𝑐𝑥1 =

[

0 0 0

0 0𝑙𝑐

2

0 −𝑙𝑐

20 ]

(46)

Com isso, as matrizes de transformação adjunta para ambos manipuladores

robóticos são:

𝐴1 = [𝐼 −𝑝𝑖𝑐𝑥

1

0 𝐼] (47)

𝐴2 = [𝐼 −𝑝𝑖𝑐𝑥

2

0 𝐼] (48)

Page 12: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

A matriz de transformação adjunta total é dada por:

𝐴 = [𝐴1𝐴2] (49)

Após obter as matrizes Jacobianas e matrizes de transformação adjunta para ambos

os manipuladores, é possível obter agora o Jacobiano de restrição 𝐽𝑐 e o Jacobiano dos

manipuladores 𝐽𝑚. Eles são dados por:

𝐽𝑐 = �̃�[𝐽 𝐻𝑇] (50)

𝐽𝑚 = 𝐴ϯ[𝐽 𝐻𝑇] (51)

Aonde:

�̃�: É a matriz anaquiladora, tal que �̃�𝐴 = 0

𝐴ϯ: É matriz pseudo-inversa da matriz 𝐴, tal que 𝐴ϯ𝐴 = 𝐼

𝐻𝑇 : Suas coluna representam as direções para movimentos livres nos pontos

de contato do objeto e o efetuador. Será escolhida uma matriz com dimensão 12𝑥2

Para isso, forma escolhidas as seguintes matrizes:

�̃� = [𝐴2−𝐴1

] (52)

𝐻𝑇 =

[ 0 0⋮ ⋮1⋮0

0⋮1]

(53)

𝐴ϯ é calculada por meio da equação da pseudo-inversa.

Depois de calcular esses Jacobianos, tem-se as seguintes equações em função das

juntas passivas e ativas [1]:

𝐽𝑐 [�̇�𝑎�̇�𝑝] = 0 (54)

𝐽𝑚 [�̇�𝑎�̇�𝑝] = 𝑣𝑐 (55)

Aonde:

𝑣𝑐: Velocidade do sistemas de coordenadas do objeto manipulado.

Page 13: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

�̇�𝑎:Derivada temporal das juntas ativas.

�̇�𝑝:Derivada temporal das juntas passivas.

Fazendo algumas manipulações algébricas, é possível achar a velocidade do eixo

de coordenadas do objeto em função da derivada das juntas ativas. Dessa maneira, fica-

se com a seguinte equação:

𝐽�̇̅�𝑎 = 𝑣𝑐 (56)

Sendo:

𝐽 ̅ = 𝐽𝑚𝑎 − 𝐽𝑚𝑝𝐽𝑐𝑝−1𝐽𝑐𝑎 (57)

Aonde:

𝐽𝑚𝑎: Jacobiano do manipulador associado as juntas ativas.

𝐽𝑚𝑝: Jacobiano do manipulador associado as juntas passivas.

𝐽𝑐𝑎: Jacobiano de restrição associado as juntas ativas.

𝐽𝑐𝑝: Jacobiano de restrição associado as juntas passivas.

Controle Cinemático

Depois de calcular os Jacobianos dos manipuladores, é possível projetar uma lei de

controle para os dois robôs baseada na separação do espaço das juntas em juntas ativas

(atuadas) e passivas (não atuadas). Também é considerado nessa lei de controle, as

restrições de velocidade na estrutura cinemática do robô. Dessa maneira, é possível

utilizar um ganho para modificar a postura dos manipuladores robóticos. Nessa

abordagem, o controle tem o objetivo de alterar a postura original do objeto manipulado

𝑥𝑐 = [𝑝𝑐 𝛷𝑐] para uma postura desejada variante no tempo 𝑥𝑐𝑑(𝑡) = [𝑝𝑐𝑑 (𝑡) 𝛷𝑐(𝑡)]. Com isso, o controle faz com que [1]:

𝑥𝑐 → 𝑥𝑐𝑑(𝑡) (58)

𝑒𝑐 = 𝑥𝑐𝑑(𝑡) − 𝑥𝑐 → 0 (59)

Onde 𝑒𝑐 é o erro de postura do objeto.

O esquema do controle projetado deve comandar a velocidade do objeto para chegar

na postura desejada. Dessa maneira, para comandar essa velocidade, atua-se nas

velocidades das juntas. É possível obter a relação dessas duas velocidades por meio da

equação obtida acima. Com isso, utiliza-se uma lei de controle proporcional com

feedfoward que pode ser expressa pela seguinte equação:

Page 14: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

𝑢 = �̇�𝑎 = 𝐽(̅𝜃𝑎)𝑃ϯ [𝐾(𝑥𝑐𝑑(𝑡) − 𝑥𝑐 ) + �̇�𝑐] (60)

Onde:

𝐾: É um ganho positivo definido de controle.

𝐽�̅�ϯ: É a partição de 𝐽 ̅referente as juntas ativas 𝜃𝑎.

Simulação e discussão:

Após calcular a cinemática direta, a cinemática diferencial e projetar uma lei de

controle cinemático, foram implementadas as equações encontradas acima em um

ambiente de programação Matlab/Simulink para simular o sistema robótico cooperativo.

Esse programa simula o controle de dois robôs que manipulam um objeto. Dessa maneira,

é fornecida uma trajetória para os manipuladores seguirem e é verificado se o robô

consegue segui-la com o objeto. São dados alguns parâmetros para os manipuladores

robóticos afim de realizar uma simulação próxima a realidade. O primeiro desses

parâmetros a ser discutido, são os comprimentos dos elos dos robôs. Desse jeito, foram

estipulados os seguintes tamanhos para os elos:

𝑙1 = 𝑙4 = 0.39 ∗ 103 𝑚𝑚

𝑙2 = 𝑙5 = 0.33 ∗ 103 𝑚𝑚 𝑙3 = 𝑙6 = 0.21 ∗ 103 𝑚𝑚

Sendo os elos l1,l2 e l3 pertencentes ao primeiro manipulador e os elos l4, l5 e l6

pertencentes ao segundo manipulador. Também são definidas as distâncias dos robôs em

relação a um referencial, que será chamado de base. Essas distâncias são:

𝑙0 = −0.38 ∗ 103 𝑚𝑚 𝑙𝑏 = 0.38 ∗ 103𝑚𝑚

Dessa maneira, l0 é a distância da base até o primeiro manipulador. Esse vetor

possui um valor negativo, pois o seu sentido, é oposto ao sentido do eixo fixado na base.

Com o mesmo raciocínio, lb é a distância da base até o segundo manipulador.

Após definir os comprimentos dos elos, são declarados os ganhos para realização

do controle cinemático. Os ganhos são dados por:

𝐾𝑝 = 20 𝐾𝑜 = 5

Sendo Kp o ganho de posição e Ko o ganho de orientação.

Depois disso, serão definidos os ângulos iniciais das juntas passivas e das juntas

ativas. Esses ângulos são:

Page 15: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

𝜃𝑎 =

[

13𝜋

18𝑟𝑎𝑑

−𝜋

2𝑟𝑎𝑑

−5𝜋

18𝑟𝑎𝑑

5𝜋

18𝑟𝑎𝑑

𝜋

2𝑟𝑎𝑑

5𝜋

18𝑟𝑎𝑑 ]

As juntas passivas foram inicializadas como um vetor nulo. Dessa maneira é

possível definir esse vetor da seguinte forma:

𝜃𝑝 = [0 𝑟𝑎𝑑0 𝑟𝑎𝑑

]

Com isso, é formado um vetor composto pelos dois vetores acima. Esse vetor é da

seguinte maneira:

𝜃 = [𝜃𝑎𝜃𝑝]

Depois da inicialização dos parâmetros, o algoritmo de controle foi executado para

verificar se o sistema robótico cooperativo consegue manipular o objeto seguindo uma

trajetória especificada. Dada a trajetória os resultados obtidos foram:

Figura 4 – Ângulos das juntas dos robôs em função do tempo

Page 16: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

Figura 5 – Velocidades das juntas ativas dos robôs em função do tempo

Figura 6 – Velocidades das juntas passivas dos robôs em função do tempo e sinal

de controle cartesiano.

Page 17: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

Figura 7– Posição do objeto e erro de posição e de orientação ao longo do tempo

É possível verificar que com a abordagem de controle cinemático utilizada, os

manipuladores robóticos conseguiram seguir a trajetória especificada após algumas

amostragens na simulação. Também é possível verificar que o erro de postura tende a

zero ao longo do tempo. Com isso, conclui-se, por meio da simulação, que essa

abordagem de controle, para manipuladores simples, consegue ser estendida para

sistemas robóticos cooperativos e fazer com que eles consigam manipular um objeto

seguindo uma trajetória especificada. Outro resultado que garante a eficácia dessa

abordagem de controle, é que os sinais encontrados são limitados, como esperado, visto

que isso mostra que o algoritmo de controle faz com o que o sistema seja estável

Após as simulações numéricas computacionais, utilizou-se o PhantomX Pincher 4-

DoF para a implementação prática dos conceitos estudados. Dessa maneira, utilizou-se

os conhecimentos de cinemática direta, cinemática diferencial e de controle cinemático

aliados ao conhecimento de ROS para fazer o manipulador robótico seguir uma trajetória.

Dessa forma, utilizou-se o conceito de subscrever em tópicos para fazer a leitura dos

sensores e o conceito de publicar em um tópico para mandar o sinal de entrada para os

atuadores. Com isso, através dos resultados práticos, foi possível verificar a validade e a

eficácia da estratégia de controle cinemático proposta.

Conclusões

Nesse trabalho estudou-se metodologias de controle clássicas que foram

desenvolvidas para manipuladores robóticos simples e as estendeu para sistemas

robóticos cooperativos capazes de executar manipulação bi-manual de objetos. Foi

discutido na maior parte do trabalho a implementação desses conceitos em dois

manipuladores robóticos planares 3-DoF, devido a praticidade desses manipuladores.

Com isso, foi projetada uma lei de controle baseada nas restrições cinemáticas de

velocidades na estrutura cinemática dos robôs. Contudo, a solução analisada é válida para

qualquer par de manipuladores robóticos, basta adaptar as equações encontradas na

Page 18: CONTROLE DE SISTEMAS ROBÓTICOS …...Departamento de Engenharia Elétrica CONTROLE DE SISTEMAS ROBÓTICOS COOPERATIVOS Aluno: Gustavo Bertagna Peixoto Barbosa Orientador: Antonio

Departamento de Engenharia Elétrica

cinemática diferencial, utilizando o conceito de Denavit-Hartenberg para o robô desejado

e em seguida calcular as equações de cinemática diferencial também.

Com isso, por meio da utilização do PhantomX Pincher e do ambiente de

programação Matlab/Simulink aliado com o ROS, foi possível verificar a implementação

dos conceitos estudados na prática. Dessa maneira, em trabalhos futuros será feita a

implementação prática da solução estudada, que é o controle cinemático em um sistema

de manipuladores robóticos cooperativos. Assim, serão utilizados dois robôs PhantomX

Pincher para a validação dessa solução.

Referências

1 - Caccavale F. and Uchiyama M., “Cooperative Manipulation”, Springer

Handbook of Robotics, Ed. Siciliano, B. and Khatib, O., Pags. 989-1006, 2008.

2 - Siciliano, B., Sciavicco L., Villani, L. and Oriollo, G., “Robotics:

Modelling, Planning and Control ”,Springer-Verlag London Ltd., 2009.

3 - Freitas, G. M., Leite, A. C. and Lizarralde, F.,“Kinematic Control of

Constrained Robotic System ”, SBA Revista Controle & Automação, Vol. 22,

No. 6, Pags. 559-572, 2011