RASTREAMENTO DE UM OBJETO EM TRAJETÓRIA PENDULAR POR
UM MANIPULADOR ROBÓTICO
Mauricio Dias e Silva
Projeto de Graduação apresentado ao Curso
de Engenharia de Controle e Automação da
Escola Politécnica, Universidade Federal do
Rio de Janeiro, como parte dos requisitos
necessários à obtenção do tı́tulo de Engenheiro
em Engenharia de Controle e Automação.
Orientador: Fernando Cesar Lizarralde
Rio de Janeiro
Agosto de 2015
RASTREAMENTO DE UM OBJETO EM TRAJETÓRIA PENDULAR POR
UM MANIPULADOR ROBÓTICO
Mauricio Dias e Silva
PROJETO
SUBMETIDO
AO
CORPO
DOCENTE
DO
CURSO
DE
ENGENHARIA DE CONTROLE E AUTOMAÇÃO DA ESCOLA POLITÉCNICA
DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE
DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO GRAU DE
ENGENHEIRO EM ENGENHARIA DE CONTROLE E AUTOMAÇÃO.
Examinado por:
Prof. Fernando Cesar Lizarralde, D.Sc.
Prof. Alessandro Jacoud Peixoto, D.Sc.
Prof. Antônio Candela Leite, D.Sc.
RIO DE JANEIRO, RJ – BRASIL
AGOSTO DE 2015
e Silva, Mauricio Dias
Rastreamento de um objeto em trajetória pendular por
um manipulador robótico/Mauricio Dias e Silva. – Rio de
Janeiro: UFRJ/ Escola Politécnica, 2015.
VII, 25 p.: il.; 29, 7cm.
Orientador: Fernando Cesar Lizarralde
Projeto (graduação) – UFRJ/Escola Politécnica/Curso
de Engenharia de Controle e Automação, 2015.
Referências Bibliográficas: p. 96 – 102.
I. Lizarralde, Fernando Cesar. II. Universidade Federal
do Rio de Janeiro, Escola Politécnica, Curso de Engenharia
de Controle e Automação. III. Tı́tulo.
iii
Agradecimentos
Agradeço aos meus pais, Mauro e Maria Cristina, pelo apoio e paciência durante
o curso. Ao meu orientador, Fernando Cesar Lizarralde que, além de me orientar
durante esse projeto me ajudou com diversos problemas. Agradeço aos professores
Afonso e Maurı́cio, que tanto me ajudaram durante a graduação. Ao Fernando, ao
Alex, ao Matheus e a todos do laboratório pela ajuda técnica e pelo convivio pessoal
no ambiente de trabalho. Obrigado.
iv
Sumário
Lista de Figuras
vi
Lista de Tabelas
vii
1 Introdução
1
1.1
Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . .
3
2 Predição da trajetória
5
2.1
Identificação do objeto . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Transformada da câmera . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3
Cálculo da trajetória . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4
Adaptative Notch Filter . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Descrição do Sistema Robótico
5
14
3.1
Cinemática Direta
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2
Controle Cinemático . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.1
Controle de posição . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2
Controle de orientação . . . . . . . . . . . . . . . . . . . . . . 18
4 Resultados
20
5 Conclusão
23
5.1
Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
v
Lista de Figuras
1.1
Estrutura do futebol de robôs. . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Drible de uma bola de basquete. . . . . . . . . . . . . . . . . . . . . .
2
1.3
Tênis de mesa de um manipulador robótico. . . . . . . . . . . . . . .
3
1.4
Motoman DIA 10 NX100. . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1
Imagem capturada sem tratamento. . . . . . . . . . . . . . . . . . . .
6
2.2
Imagem capturada em escalas de cinza. . . . . . . . . . . . . . . . . .
6
2.3
Imagem em escalas de cinza após a retirada da cor verde. . . . . . . .
7
2.4
Imagem filtrada.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.5
Imagem binária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.6
Imagem tratada completamente. . . . . . . . . . . . . . . . . . . . . .
9
2.7
Gráfico posição x tempo. . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.8
Diagrama da configuração entre a câmera e o espaço de trabalho . . . 11
2.9
Equação ajustada do pendulo. . . . . . . . . . . . . . . . . . . . . . . 11
2.10 Equação ajustada do pendulo. . . . . . . . . . . . . . . . . . . . . . . 12
2.11 Resultados do ANF. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1
Transformações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2
Diagrama de blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1
Sinal de controle e angulos das juntas com controle de posição . . . . 20
4.2
Posição e erro de posição do braço com controle de posição
4.3
Sinal de controle e angulos das juntas com controle de posição e orientação 21
4.4
Posição e erro de posição do braço com controle de posição e orientação 21
4.5
Orientação e erro de orientação do braço com controle de posição e orientação. 22
vi
. . . . . 21
Lista de Tabelas
2.1
Tabela de Variáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
7
Capı́tulo 1
Introdução
Fazer com que manipuladores robóticos atuem de maneira natural em tarefas que
são realizadas de maneiras simples por humanos apresenta diversos desafios, como
o desenvolvimento de sensoriamento avançado e habilidades motoras. Para tais
tarefas, o manipulador tem que agir em um perı́odo de tempo curto, comparável
ao de humanos. Uma tarefa que apresenta essas dificuldades é a interação com um
objeto em movimento. Para isso, é necessário que se identifique o objeto e que seja
feita a predição de seu movimento em tempo real.
Uma aplicação da identificação e predição dos movimentos em tempo real é
em atividades esportivas realizadas por manipuladores robóticos. Já existem estudos e aplicações em diversos esportes, como futebol (WANG et al., 2011), basquete
(METTIN et al., 2010)e tênis de mesa (WANG et al., 2012).
Para realizar a tarefa de jogar futebol, é necessário que diversos robos cooperem
para realizar a tarefa de conduzir a bola até o gol do adversário. Deve ser feita a
identificação da bola e de todos os robôs participantes para definir a trajetória de
todos os agentes. Como os robôs do time adversário tem trajetórias que não podem
ser previstas, é necessário colher dados e analisar as jogadas em tempo real.
No caso do basquete, um dos maiores desafios é fazer com que o robô realize o
movimento de drible. Esse movimento apresenta complexidade, já que é necessário
prever a trajetória da bola e projetar a bola em direção ao chão para que ela quique
e volte para o alcance do manipulador.
‘ O tênis de mesa apresenta desafios similares aos do movimento de drible do
basquete. É preciso detectar a bola em tempo real e prever sua trajetória em um
1
Figura 1.1: Estrutura do futebol de robôs.
Figura 1.2: Drible de uma bola de basquete.
curto perı́odo de tempo, para poder posicionar a raquete e realizar um movimento
que projete a bola na direção do mesa adversária.
1.1
Objetivo
O objetivo deste trabalho é utilizar um manipulador robótico para acompanhar um
objeto em trajetória pendular utilizando servovisão. O manipulador usado será o
robô industrial Motoman DIA 10 NX100. Cada um dos seus braços é um manipulador robótico de cadeia aberta com sete juntas de revolução. Nesse trabalho
2
Figura 1.3: Tênis de mesa de um manipulador robótico.
será utilizado um dos braços em conjunto com a base, totalizando oito juntas de
revolução.
Para realizar o objetivo proposto, primeiramente é realizada a identificação
do objeto. Essa tarefa já foi bem estudada e pode ser vista em artigos como
KIM et al., 2012 e TAKYI et al., 2014. O objeto a ser identificado nesse trabalho será uma bola verde. A escolha de uma bola como objeto é interessante, pois
identificar bolas é necessário para a prática de diversos esportes robóticos. Após a
identificação do objeto, a etapa seguinte é a modelagem da trajetória descrita. Com
um número suficiente de pontos capturados, é possı́vel ajustar uma curva conhecida
(como uma senóide) para a trajetória descrita. Com a curva ajustada, é possı́vel prever qual será a trajetória do objeto. A trajetória senoidal será identificada e ajustada
com o uso de um Adaptative Notch Filter como proposto em HSU et al., 1999.
Com todos os dados da trajetória do objeto, será feito o controle do manipulador
por controle cinemático. Com isso, é possivel realizar o movimento sı́ncrono do
manipulador com o objeto em trajetória pendular.
1.2
Organização do trabalho
No capı́tulo 2, é explicado como é feita a predição da trajetória do objeto. É apresentado o conceito de transformada de uma câmera e a definição e explanação de
um Adaptative Notch Filter (ANF).
No capı́tulo 3, são apresentados conceitos de cinemática direta referentes ao
Motoman DIA10 NX100.
3
Figura 1.4: Motoman DIA 10 NX100.
No capı́tulo 4, são apresentados os resultados práticos e simulados.
No capı́tulo 5, são feitas as conclusões finais sobre o trabalho e a proposta para
projetos futuros.
4
Capı́tulo 2
Predição da trajetória
Nesse trabalho será realizada a predição da trajetória de uma bola verde em trajetória pendular planar, perpendicular a câmera que será usada para capturar as
imagens. Será feita a identificação da bola usando um tratamento de imagens na
ferramenta computacional Matlab. Após a identificação, será feito um ajuste de uma
senóide amortecida para os pontos detectados e com isso será realizada a predição
do movimento da bola.
2.1
Identificação do objeto
O primeiro passo na identificação do objeto é a captura da imagem. Para isso, foi
usada a câmera RGB de um Microsoft Kinect. A imagem é salva como uma matriz
de dados no Matlab e é realizado um tratamento para identificar apenas a bola. As
imagens capturadas podem ser vistas na Figura 2.1 e na Figura 2.2. As variáveis
utilizadas no tratamento da imagem podem ser vistas na tabela 2.1.
A primeira etapa no tratamento da imagem é extrair o componente verde da
imagem. Isso faz com que todos os objetos verdes apareçam mais claros na imagem.
O código utilizado pode ser visto abaixo . A imagem resultante pode ser vista na
Figura 2.3.
1
imagem = i m s u b t r a c t ( data (max( Xc−L , 1 ) : min ( Xc+L , 4 8 0 ) , . . .
2
max( Yc−L , 1 ) : min ( Yc+L , 6 4 0 ) , c o l o r ) , . . .
3
r g b 2 g r a y ( data (max( Xc−L , 1 ) : min ( Xc+L , 4 8 0 ) , . . .
4
max( Yc−L , 1 ) : min ( Yc+L , 6 4 0 ) , : ) ) ) ;
5
50
100
150
200
250
300
350
400
450
100
200
300
400
500
600
Figura 2.1: Imagem capturada sem tratamento.
50
100
150
200
250
300
350
400
450
100
200
300
400
500
Figura 2.2: Imagem capturada em escalas de cinza.
6
600
Tabela 2.1: Tabela de Variáveis
imagem
Matriz de imagem
Xc
Posição no eixo X em pixels.
Yc
Posição no eixo Y em pixels.
L
Raio da busca em pixels.
Data
Matriz de imagem.
Color
Cor identificada
50
100
150
200
250
300
350
400
450
100
200
300
400
500
600
Figura 2.3: Imagem em escalas de cinza após a retirada da cor verde.
Nessa nova imagem é utilizado um filtro de medianas para remover os ruı́dos. A
imagem resultante pode ser vista na Figura 2.4.
1
imagem = m e d f i l t 2 ( imagem , [ 4 4 ] )
A imagem é então convertida em uma imagem binária. É atribuido um valor de
1 (branco) a todos os pontos que estiverem acima de um limiar e 0 (preto) a todos
os demais. A imagem resultante pode ser vista na Figura 2.5.
1
imagem = im2bw ( imagem , 0 . 0 4 )
7
50
100
150
200
250
300
350
400
450
100
200
300
400
500
600
500
600
Figura 2.4: Imagem filtrada.
50
100
150
200
250
300
350
400
450
100
200
300
400
Figura 2.5: Imagem binária.
8
São removidos todos os objetos menores que o limite inferior de tamanho desejado. A imagem resultante pode ser vista na Figura 2.6.
1
imagem = bwareaopen ( imagem , 1 4 0 )
50
100
150
200
250
300
350
400
450
100
200
300
400
500
600
Figura 2.6: Imagem tratada completamente.
Da figura resultante, são identificados os objetos em formato de cı́rculo com o
uso da função ”imfindcircles” disponı́vel no Toolbox de processamento de imagens.
Essa função fornece as coordenadas do centro de todos os circulos encontrados e
seus raios. O
Como o custo computacional do tratamento da imagem completa é muito grande,
depois que o objeto é identificado todo o tratamento subsequente é realizado apenas
em uma pequena região em volta do objeto. Essa região é definida com o uso
das coordenadas do centro do objeto identificado e seu raio. Para o tempo, foram
utilizadas as funções tic e toc do Matlab, o que geral um periodo de amostragem
variável de aproximadamente 100 milissegundos. Os dados obtidos da posição do
centro da bola em pixels pode ser visto na Figura 2.7 .
Como o custo computacional do processamento da imagem completa é alto, após
a primeira iteração são alterados os parâmetros Xc, Y c e L para reduzir a área da
9
400
x (pixels)
350
300
250
200
0
1
2
3
4
t(s)
5
6
7
8
Figura 2.7: Gráfico posição x tempo.
imagem a ser analizada. Aos parâmetros Xc e Y c são atribuidos os valores das
coordenadas do centro do objeto e ao parâmetro L é atribuido um valor igual a 10
vezes o raio do objeto.
1
Yc = round ( c e n t e r s ( 1 )+max( Yc−L , 1 ) −1) ;
2
Xc = round ( c e n t e r s ( 2 )+max( Xc−L , 1 ) −1) ;
3
L = round ( r a d i i ∗10) ;
2.2
Transformada da câmera
Considerando uma câmera perpendicular ao ambiente de trabalho em R2 . Com base
na Figura 2.8, a transformada entre um objeto no plano de trabalho real e o mesmo
objeto no plano de trabalho da imagem pode ser obtida através de conceitos básicos
de geometria e rotação, como mostra a equação (2.1).
λ
po = α RT (~p − p~c )
z
(2.1)
onde p~ é a posição do objeto no espaço real, p~c é a posição da câmera no espaço
real, α é o ganho de transformação de metros para pixels, z é a distância entre a
câmera e o espaço de trabalho, λ é a distância focal e R é a matriz de rotação entre
o plano xy da imagem e o plano xy real.

R=
cos(φ) −sen(φ)
sen(φ)
10
cos(φ)

,
(2.2)
p
~c
λ
xy Imagem
p
~o
xy Imagem
yc
xc
z
p
~c
p
~o
p
~
y
p
~
xy Real
x
xy Real
Figura 2.8: Diagrama da configuração entre a câmera e o espaço de trabalho
onde φ é o ângulo entre o plano xy da imagem e o plano xy real.
2.3
Cálculo da trajetória
A trajetória da bola projetada no eixo horizontal pode ser descrita por uma senóide
amortecida, como mostrado na equação 2.3.
x = Ae(γ.t) sin(wt + φ) + x0
(2.3)
Onde A representa a Amplitude da senóide, γ representa o fator de amortecimento, w representa a frequência do movimento, φ representa a diferença de fase e
x0 o deslocamento da senóide em relação a origem. Todas essas variáveis são estimadas no ajuste da curva. A curva ajustada pode ser observada na Figura 2.9 e na
Figura 2.10.
A parcela vertical do movimento será calculada a partir da horizontal, já que
para pendulos de pequena amplitude o movimento vertical é muito pequeno e, por
isso, muito afetado por ruı́dos. Através de geometria básica temos que:
R2 = (x − x0 )2 + (y − y0 )2
y=±
q
R2 − (x − x20 ) + y0
11
(2.4)
(2.5)
400
x (pixels)
350
300
250
200
0
1
2
3
4
t(s)
5
6
7
8
Figura 2.9: Equação ajustada do pendulo.
450
x(pixels)
400
350
300
250
200
2
4
6
8
10
t(s)
12
14
16
18
Figura 2.10: Equação ajustada do pendulo.
Como o movimento do pêndulo se restringe a baixas amplitudes e ficará restrito
na parte inferior temos que:
y=−
q
R2 − (x − x20 ) + y0
(2.6)
Com isso temos todos os dados que são necessários para rastrear e prever o
movimento de um pêndulo.
2.4
Adaptative Notch Filter
Para melhor ajustar a trajetória em uma senóide de amplitude variável será utilizado um Adaptative Notch Filter (ANF). Esse filtro tem como saidas o valor da
senóide, sua derivada e sua frequência adaptada. Foram utilizados os dados coleta-
12
dos, repetidos para manter a amplitude da senóide em um nivel elevado para que os
resultados pudessem ser bem observados. A entrada e as saidas do ANF podem ser
vistos na Figura 2.11.
As equações do ANF podem ser vistas em (2.7) e (2.8)
ẍ + 2ζθẋ + θ2 x = n
(2.7)
θ̇ = −γx(n − 2ζθẋ)
(2.8)
onde θ representa a frequência estimada, ζ é o coeficiente de amortecimento e γ
determina a velocidade de adaptação.
x(m)
1
0
−1
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
10
12
14
16
18
20
0
2
4
6
8
10
t(s)
12
14
16
18
20
xANF(m)
1
0
2
0
−2
theta(1/s)
dxANF(m)
−1
4
3
2
Figura 2.11: Resultados do ANF.
13
Capı́tulo 3
Descrição do Sistema Robótico
Manipuladores robóticos podem ser representados como uma cadeia cinemática de
corpos rı́gidos conectados por meio de juntas. O movimento do manipulador como
um todo é uma composição dos movimentos de cada elo. Para interagir com um
objeto no espaço é necessário descrever a posição e orientação do efetuador em
relação a um sistema de coordenadas de referência.
3.1
Cinemática Direta
A cinemática direta de um manipulador determina a posição e orientação do efetuador em função da configuração de suas juntas. A relação entre posição e orientação
de dois pontos pode ser representada na forma de uma transformação homogênea,
que é uma matriz composta por um vetor de posição p(θ) e uma matriz de rotação
R(θ), onde θ é o vetor composto pela posição angular de cada junta. A transformação
homogênea é descrita na equação 3.1:

T =
‘R(θ) p(θ)
0
1


(3.1)
Considere uma cadeia cinemática composta por n+1 elos, sendo o elo 0 a base e
o elo n o efetuador.
Esses elos são ligados por n juntas e cada uma dessas juntas possui um grau de
mobilidade associado ao seu ângulo. Temos que:
T0n (θ) = T01 (θ1 ) · T12 (θ2 )...Tn−1,n (θn )
14
(3.2)
Figura 3.1: Transformações
Logo, a transformação homogênea que relaciona a posição e orientação do efetuador e sua base é dada por:
Tbe (θ) = Tbe · T0n (θ) · Tne
(3.3)
Nesse projeto, o estudo será restringido a manipuladores com uma única cadeia
aberta e que cada par de elos é conectado apenas por juntas de revolução, já que o
manipulador utilizado apresenta essas caracterı́sticas.
3.2
Controle Cinemático
Considere o problema de controle cinemático para um robô manipulador com n
graus de mobilidade. Neste contexto, as seguintes hipóteses são assumidas:
(H1) A cinemática do robô é conhecida;
(H2) O efeito da dinâmica do robô é desprezı́vel.
Essa abordagem é válida para robôs manipuladores que apresentam elevados fatores de redução nas engrenagens ou quando baixas velocidades são utilizadas para
realizar a tarefa de interesse. Em geral, a maioria dos robôs industriais disponı́veis
comercialmente possui uma malha de controle de velocidade interna para acionamento direto das juntas. A Figura 4.1 apresenta um esquema ilustrativo de uma
15
Figura 3.2: Diagrama de blocos
tı́pica malha de controle de velocidade, onde x representa o vetor de posição e orientação do robô, ẋ é o vetor de velocidade de translação e rotação do robõ e τ denota
o vetor de torques aplicado nas juntas do robô e Ja (θ) é o Jacobiano analı́tico. O
bloco Drive fornece a potência necessária para o acionamento dos atuadores do robô
a partir de um sinal de controle v de entrada.
O sinal de controle v é gerado pelo controlador proporcional com ganho K que
amplifica o sinal do erro e, medido entre o vetor de velocidades das juntas do robô
θ̇ e o sinal externo de referência θ̇d . Então, para uma entrada u = θ̇d e uma malha
de controle de alto ganho (K elevado), tem-se que e tende a 0 e consequentemente
u é aproximadamente θ̇.
Portanto, considerando a abordagem de controle cinemático o movimento do
manipulador pode ser descrito por
θ̇i = ui ,
i = 1, . . . , n
(3.4)
onde θ̇i é a velocidade angular da i-ésima junta e ui é um sinal de controle de
velocidade aplicado ao drive do motor da i-ésima junta. A partir da modelagem
cinemática, as variáveis no espaço das juntas são relacionadas com as variáveis no
espaço operacional por meio dos seguintes mapeamentos de cinemática direta e
cinemática diferencial:
p = k(θ),
ṗ = Jp (θ)θ̇
onde k(θ) é uma função m-dimensional, em geral, não-linear, e Jp =
(3.5)
∂k
∂θ
∈ Rm×n é o
Jacobiano analı́tico de posição. Note que p, ṗ ∈ Rm denotam a posição e a velocidade
linear do efetuador do robô, expressos no sistema de coordenadas da base, e θ, θ̇ ∈ Rn
denotam a posição e a velocidade angular das juntas do manipulador.
Considere que a orientação do sistema de coordenadas do efetuador com respeito
ao sistema de coordenadas da base é representada pela matriz de rotação R ∈ SO(3).
Neste contexto, a orientação do efetuador do robô pode ser descrita também pela
16
representação de quaternion unitário dada por um vetor de dimensão 4 × 1 q =
qs , qv ∈ H1 , onde qs ∈ R é a parte escalar e qv ∈ R3 é a parte vetorial, sujeitas a
restrição da norma unitária qs2 + qvT qv = 1.
A equação de propagação do quaternion relaciona a derivada temporal do quaternion unitário q̇ ∈ H com a velocidade angular do efetuador do robô ω ∈ R3
como:

−qvT

1

q̇ = B(q) = 
2
qs I − Q(qv )
(3.6)
onde Q()˙ : R3 → SO(3) denota o operador matriz anti-simétrica e Jr (φ) = 2B T (q) ∈
R3×4 é Jacobiano de representação.
A equação de cinemática diferencial fornece a relação entre o vetor de velocidades
nas juntas e a correspondente velocidade linear e angular do efetuador do robô como:
  

ṗ
J (θ)
  =  p  θ̇ = J(θ)θ̇
(3.7)
ω
Jo (θ)
′
onde J(θ) ∈ Rm ×n é o Jacobiano geométrico do manipulador.
Então, a partir de 3.7 e considerando a abordagem de controle cinemático 3.4,
obtém-se o seguinte sistema de controle:
 
ṗ
  = J(θ)u
ω
(3.8)
Para o caso onde a matriz Jacobiana é retangular (m ¡ n), o sinal de controle de
velocidade u ∈ Rn é dado por
u(t) = J † (q)v,
 
vp
v= 
vo
(3.9)
onde J † = J T (JJ T )−1 é a pseudo-inversa a direita de J e v ∈ Rm é o sinal de
controle cartesiano a ser projetado. Note que, vp e vo são os sinais de controle de
posição e de orientação, projetados para comandar a configuração do efetuador do
robô simultaneamente.
O sinal de controle 3.9 minimiza localmente a norma das velocidades das juntas,
desde que a cinemática do robô seja conhecida e v(t) não conduza o robô para
configurações singulares, onde a matriz Jacobiana possui posto deficiente.
17
3.2.1
Controle de posição
Considere que o objetivo do controle para uma determinada tarefa é seguir uma
posição desejada variante no tempo pd (t) a partir de uma posição inicial p, isto é:
p → pd (t),
ep = pd (t) − p → 0
(3.10)
onde ep ∈ R3 é o erro de posição. A partir de (3.7) e (3.9) chega-se a ṗ = vp
obtendo-se a seguinte equação de erro:
ėp = ṗd − vp
(3.11)
Usando uma lei de controle baseada em uma ação proporcional e um termo
feedforward dada por
vp = Kp ep + ṗd
(3.12)
onde Kp = kp I é a matriz de ganho de posição, a dinâmica do erro de posição é
governada por:
ėp + Kp ep = 0
(3.13)
Então, escolhendo kp como uma constante positiva, o sistema de controle em malha
fechada é exponencialmente estável e, consequentemente limt→∞ ep (t) = 0.
3.2.2
Controle de orientação
Considere que o objetivo de controle para uma determinada tarefa é alcançar uma
orientação desejada variante no tempo Rd (t) a partir de uma orientação inicial R,
isto é:
R → Rd (t), Rq = RT Rd → I
(3.14)
onde Rq ∈ SO(3) é a matriz de erro de orientação. A representação em quaternion unitário de Rq é dada por eq = [eqs eTqv ]T , com eq = q −1 ∗ qd (t), onde q = (qs , qv )
e qd = (qds , qdv ) são as representações em quaternion unitário de R e Rd respectivamente e ”∗” é o operador produto de quaternion.
Note que, eq = [1 0]T se e somente se R e Rd estão alinhados. Portanto, pode-se
definir o erro de orientação como:
eo = eqv = qs qvd − qsd qv + Q(qvd )qv
18
(3.15)
Entretanto, verifica-se que o cálculo explı́cito de qs e qv a partir das variáveis
das juntas não é possı́vel, e requer o cálculo da matriz R fornecida pela cinemática
direta do manipulador (SICILIANO et al. 2010).
A partir de 3.7 e 3.9 chega-se a ω = vo . Então, usando uma lei de controle
baseada em uma ação proporcional e um termo feedforward dada por
vo = ωd + Ko eqv
(3.16)
onde Ko ∈ R3×3 é a matriz de ganho de orientação e ωd ∈ R3 é a velocidade
angular desejada, obtêm-se a seguinte dinâmica para o erro de orientação:
ω̃ + Ko eo = 0
onde ω̃ = ωd − ω ∈ R3 é o erro de velocidade angular do efetuador.
19
(3.17)
Capı́tulo 4
Resultados
Neste capı́tulo são apresentados resultados de simulação . O sistema robótico original
consiste de um robô Motoman DIA10 de dois braços com 15 graus de mobilidade
sendo 7 por braço mais 1 na base. Nos experimentos apenas um braço será utilizado
e a tarefa de interesse consiste em acompanhar uma trajetória desejada.
As referências foram geradas pelo Adaptative Notch Filter descrito no capı́tulo
2, com base nos dados colhidos experimentalmente. Os parâmetros de controle
ajustados empiricamente são: Kp = 5Is−1 , Ko = 1Irads−1
Foram simulados dois experimentos, ambos seguindo a mesma trajetória. No
primeiro experimento, foi utilizado apenas um controle de posição, e no segundo foi
feito um controle de posição e orientação. Os resultados podem ser observados nas
figuras abaixo.
Sinal de Controle do Braço R1 (Esquerdo)
4
u
1
[rad/s]
2
u
2
u
u
3
4
u
5
u
u
6
7
u
8
0
−2
−4
0
2
4
6
0
2
4
6
8
10
12
[s]
Ângulos das juntas do Braço R1 (Esquerdo)
14
16
18
20
1
[rad]
0
−1
q
1
−2
8
10
[s]
q
2
12
q
q
3
4
14
q
5
16
q
6
q
7
q
8
18
Figura 4.1: Sinal de controle e angulos das juntas com controle de posição
20
20
Posição do Braço R1 (Esquerdo)
2
x
d
x
yd
[m]
1
y
z
0
d
z
−1
0
2
4
6
8
10
12
[s]
Erro de Posição do Braço R1 (Esquerdo)
14
16
18
20
0.6
e
px
0.4
e
py
[m]
e
pz
0.2
0
−0.2
0
2
4
6
8
10
[s]
12
14
16
18
20
Figura 4.2: Posição e erro de posição do braço com controle de posição
Sinal de Controle do Braço R1 (Esquerdo)
10
u
u
[rad/s]
1
u
2
u
3
u
4
u
5
u
6
7
u
8
5
0
−5
0
2
4
6
8
10
12
[s]
Ângulos das juntas do Braço R1 (Esquerdo)
14
16
18
20
2
[rad]
0
−2
q
1
−4
0
2
4
6
8
10
[s]
q
2
12
q
q
3
4
14
q
5
16
q
q
6
7
q
8
18
20
Figura 4.3: Sinal de controle e angulos das juntas com controle de posição e orientação
Posição do Braço R1 (Esquerdo)
2
x
[m]
y
z
0
−1
d
x
yd
1
d
z
0
2
4
6
8
10
12
[s]
Erro de Posição do Braço R1 (Esquerdo)
14
16
18
20
0.6
e
px
0.4
e
py
[m]
e
pz
0.2
0
−0.2
0
2
4
6
8
10
[s]
12
14
16
18
20
Figura 4.4: Posição e erro de posição do braço com controle de posição e orientação
21
Orientação do Braço R1 (Esquerdo)
1
e
xd
[rad]
0.5
e
x
e
yd
0
e
y
e
zd
−0.5
e
z
−1
0
2
4
6
0
2
4
6
8
10
12
[s]
Erro de Orientação do Braço R1 (Esquerdo)
14
16
18
20
14
16
18
20
0.03
0.02
0.01
0
8
10
[s]
12
Figura 4.5: Orientação e erro de orientação do braço com controle de posição e
orientação.
22
Capı́tulo 5
Conclusão
Nesse trabalho foi realizado o rastreamento do movimento de um objeto em trajetória pendular planar, realizado por um manipulador robótico. Para chegar no
objetivo final, foram realizadas diversas tarefas intermediárias. Foi realizada o tratamento de uma imagem capturada com uma câmera RGB, de modo que se pudesse
identificar um objeto especı́fico.
Com o objeto identificado, foi feita a previsão de sua trajetória. A trajetória
prevista foi então filtrada por um Adaptive Notch Filter para gerar a referência de
trajetória. Foi então feito o controle cinemático do manipulador para que ele fosse
capaz de seguir a trajetória prevista.
5.1
Trabalhos futuros
Como não foi possı́vel realizar o movimento sı́ncrono do pendulo real com o manipulador, uma continuação natural para projetos futuros seria a implementação do
trabalho no manipulador real. Outro ponto importante seria o estudo do caso de
um movimento de um pêndulo no R3 . Também seria interessante enviar uma trajetória para um dos braços e fazer com que o outro repetisse o movimento através
das técnicas utilizadas nesse trabalho.
23
Referências Bibliográficas
[1] WANG, Z., LAMPERT, C. H., MULLING, K., etal. “Learning anticipation
policies for robot table tennis”. In: Intelligent Robots and Systems (IROS), 2011
IEEE/RSJ International Conference on, pp. 332–337, Sept 2011. doi: 10.1109/
IROS.2011.6094892.
[2] METTIN, U., SHIRIAEV, A., BATZ, G., etal.
“Ball dribbling with an
underactuated continuous-time control phase”. In: Robotics and Automation
(ICRA), 2010 IEEE International Conference on, pp. 4669–4674, May 2010.
doi: 10.1109/ROBOT.2010.5509901.
[3] WANG, Q., ZHANG, X., XU, D. “Human behavior imitation for a robot to play
table tennis”. In: Control and Decision Conference (CCDC), 2012 24th Chinese,
pp. 1482–1487, May 2012. doi: 10.1109/CCDC.2012.6243007.
[4] KIM, K., KIM, J., KANG, S., etal. “Object recognition for cell manufacturing
system”. In: Ubiquitous Robots and Ambient Intelligence (URAI), 2012 9th International Conference on, pp. 512–514, Nov 2012. doi: 10.1109/URAI.2012.
6463056.
[5] TAKYI, A., DAMOAH, D., ANSONG, E., etal. “The colour-based Autonomous
File Extraction Rover”. In: Computer Communication and Systems, 2014 International Conference on, pp. 102–106, Feb 2014. doi: 10.1109/ICCCS.2014.
7068176.
[6] HSU, L., ORTEGA, R., DAMM, G. “A globally convergent frequency estimator”, Automatic Control, IEEE Transactions on, v. 44, n. 4, pp. 698–713, Apr
1999. ISSN: 0018-9286. doi: 10.1109/9.754808.
24
[7] SICILIANO, B., SCIAVICCO, L., VILLANI, L., etal.
ling, Planning and Control.
Robotics:
Model-
Advanced Textbooks in Control and Signal
Processing. Springer London, 2010.
ISBN: 9781849966344.
<https://books.google.com.br/books?id=vNpdewAACAAJ>.
25
Disponı́vel em:
Download

Rastreamento de um objeto em trajetória pendular por um