Escolar Documentos
Profissional Documentos
Cultura Documentos
MARCELO DE LIMA
ROBSON LUIZ HORSTMANN
JOINVILLE, 2013
2
3
JOINVILLE, 2013
4
Banca Examinadora:
__________________________________
Prof. Michael Klug, Mestre
Orientador
__________________________________
Prof. Luiz Sérgio Barros Marques, Doutor
Avaliador
__________________________________
Prof. Cláudio José Weber, Mestre
Avaliador
6
7
AGRADECIMENTOS
RESUMO
ABSTRACT
LISTA DE FIGURAS
..................................................................................................... 52
Figura 21 - Perfis de Alumínio e seus elementos de fixação. .... 53
Figura 22 - Estrutura de Sustentação Montada - Modelada no
SolidWorks (E) e Imagem Real (D)............................................. 54
Figura 23 - Base Fixa onde serão montados os servomotores do
manipulador - Modelada no SolidWorks (E) e Imagem Real (D).
..................................................................................................... 55
Figura 24 - Base móvel onde será montada a garra - Modelada
no SolidWorks (E) e Imagem Real (D)........................................ 56
Figura 25 - Braço - Modelado no SolidWorks (C) e Imagem Real
(B). ............................................................................................... 56
Figura 26 - Antebraço - Modelado no SolidWorks (C) e Imagem
Real (B). ...................................................................................... 56
Figura 27 - Garra - Modelada no SolidWorks (E) e Imagem Real
(D). ............................................................................................... 57
Figura 28 - Servomotor para acionamento dos braços –
Modelado no SolidWorks (E) e Imagem Real (D)....................... 58
Figura 29 - Modelagem do Protótipo Finalizado. ........................ 59
Figura 30 - Representação do diagrama de ligação do Arduino. 60
Figura 31 - Placa para Conexão dos Servomotores ao Arduino. 61
Figura 32 - Tela do Software....................................................... 63
Figura 33 - Exemplo de PPM. ..................................................... 65
Figura 34 - Posicionamento dos Eixos. ...................................... 67
Figura 35 - Botões para Visualização de Imagens. .................... 68
Figura 36 - Telas e Programa para Captura de Imagens. .......... 69
Figura 37 - Gatilho de Imagens. ................................................. 70
Figura 38 - Estrutura Funcional – Visão global........................... 82
17
LISTA DE TABELAS
kg kilograma ---
kg/cm kilograma por centímetro ---
Lante Comprimento do Ante ---
Lbase Comprimento do Base ---
Lbraço Comprimento do Braço ---
LED Light Emitter Diode Diodo Emissor de luz
Lmancal Comprimento do Mancal ---
Lmesa Comprimento do Mesa ---
m/s Metros por segundo ---
Metros por segundo ao
m/s² ---
quadrado
m² Metro quadrado ---
Rosca métrica com
M8 ---
diâmetro de 8mm
miliampere, unidade de
mA ---
corrente elétrica
Matlab MATrix LABoratory
Medium Density Placa de Fibra de
MDF
Fiberboard Média Dendidade
Megahert, unidade de
MHz ---
frequência
mm Milímetro ---
ms Milisegundos ---
PA Ponto do antebraço ---
Ponto do antebraço da
PA1 ---
1ª cadeia cinemática
PB Ponto do braço ---
Ponto do braço da 1ª
PB1 ---
cadeia cinemática
PC Personal Computer Computador Pessoal
Ponto de Referência dos
PE ---
eixos
Ponto de Referência dos
P'E ---
eixos defasado em 120º
Ponto de Referência dos
P''E ---
eixos defasado em 240º
PM Ponto do mancal ---
21
Ponto do mancal da 1ª
PM1 ---
cadeia cinemática
Ponto de Origem do
PO ---
Robô
Pulse Proportional Modulação Parcial de
PPM
Modulation Pulsos
Modulação por
PWM Pulse Width Modulation
Largura de Pulso
R Juntas Rotativas ---
r Raio da circunferência ---
R$ Real, moeda Brasileira ---
RAW Formato de Vídeo Cru
Robotic Industries Associação das
RIA
Association Indústrias Robóticas
Robôs Universais de
RUR ---
Rossum
RZ Matriz de rotação ---
sen Seno ---
Static Random Access Memória Estática de
SRAM
Memory Acesso Aleatório
Barramento Serial
USB Universal Serial Bus
Universal
Volt, unidade de tensão
V ---
elétrica
Volts em corrente
Vca ---
alternada
Volts em corrente
Vcc ---
contínua
Valor do eixo x para o
XA1 antebraço da 1ª cadeia ---
cinemática
Valor do eixo x para o
XB1 braço da 1ª cadeia ---
cinemática
Valor de x no centro da
Xcentro ---
circunferência = XM1
Valor de Referência do
XE ---
eixo x
22
Valor de Referência do
X'E ---
eixo x defasado em 120º
Valor de Referência do
X''E ---
eixo x defasado em 240º
Valor do eixo x para o
XM1 mancal da 1ª cadeia ---
cinemática
Xponto XB1 ---
Valor do eixo y para o
YA1 antebraço da 1ª cadeia ---
cinemática
Valor do eixo y para o
YB1 braço da 1ª cadeia ---
cinemática
Valor de y no centro da
Ycentro ---
circunferência = YM1
Valor de Referência do
YE ---
eixo y
Valor de Referência do
Y'E ---
eixo y defasado em 120º
Valor de Referência do
Y''E ---
eixo y defasado em 240º
Valor do eixo y para o
YM1 mancal da 1ª cadeia ---
cinemática
Yponto YB1 ---
Plano Cartesiano entre
YZ ---
os eixos Y e Z
Valor do eixo z para o
ZA1 antebraço da 1ª cadeia ---
cinemática
Valor do eixo z para o
ZB1 braço da 1ª cadeia ---
cinemática
Valor de z no centro da
Zcentro ---
circunferência = ZM1
Valor de Referência do
ZE ---
eixo z
23
Valor de Referência do
Z'E ---
eixo z defasado em 120º
Valor de Referência do
Z''E ---
eixo z defasado em 240º
Valor do eixo z para o
ZM1 mancal da 1ª cadeia ---
cinemática
Zponto ZB1 ---
Ângulo das Juntas
θ ---
Ativas
Ângulo da Juntas Ativa
θ1 ---
da 1ª cadeia cinemática
Ângulo da Juntas Ativa
θ2 ---
da 2ª cadeia cinemática
Ângulo da Juntas Ativa
θ3 ---
da 3ª cadeia cinemática
MP Megapixels ---
15
1. INTRODUÇÃO
1.3. Justificativa
2. REVISÃO BIBLIOGRÁFICA
Manipuladores
Nível Características
Serial Paralelo
Inércia Grande Pequena
Volume de Trabalho Grande Pequeno
Mecanismo Base
Aparência Antropomórfica
Estrutural
Fabricação Difícil Fácil
Controle de Posição
no Espaço de Difícil Fácil
Trabalho
Controle de Forças
no Espaço de Fácil Difícil
Trabalho
Detecção de Forças Difícil Fácil
Erro de Posição Acumulado Média
Erro de Controle de
Média Acumulado
Forças
Controle
Diminuição
Degeneração de Exatidão
no controle de no
Perto de Pontos força Posicionam
Singulares ento
Grande Grande
movimento no Força no
atuador Atuador
Muito
Dinâmica Complicada
Complicada
Tabela 1 - Comparação entre manipuladores seriais e paralelos.
Fonte: MOLINA, 2008.
30
2.8.1. Servomotor
Movimento dos
Movimento da Garra
Braços
Quantidade
3 2
Utilizada
Turnigy TGY-
Modelo SO5NF STD
1270HV
Tensão de
6V 6V
Operação
Peso 170 g 20 g
59.5 X 29.5 X 54.3
Dimensões 28.8 X 13.8 X 30.8 mm
mm
Torque 35 Kg.cm 3.2 Kg.cm
Velocidade 0.2 seg/60° 0.18 seg/60°
Tabela 2 - Características dos Servomotores do Projeto
Microcontrolador ATmega328P
Tensão de Operação 5V
Tensão de Entrada
7-12V
(Recomendada)
Tensão de Entrada (Limite) 6-20V
I/O Digitais 14 (6 fornecem PWM de saída)
Entradas Analógicas 6
Corrente DC por I/O 40 mA
Corrente DC por Pino (3.3V) 50 mA
32 KB (ATmega328) no qual 0.5
Memória Flash
KB são usadas para bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Velocidade de Clock 16 MHz
Tabela 3 - Características do Arduino Uno.
Fonte: www.arduino.cc. Acesso em: 14/06/2013.
2.8.4.1.GUIDE
3. ANÁLISE CINEMÁTICA
L = 85mm
base
L = 15mm
mancal
L = 240.5mm
braço (3.1)
Lante = 400mm
Lmesa = 72.5mm
x 0
M1
P y L
M1 M1 base (3.2)
z L
M1
mancal
A1 x E
x
P y y Lmesa
A1 A1 E (3.3)
z z
A1 E
L 2 ( y y )2 ( z z )2
braço B1 M1 B1 M1 (3.5)
L 2 (y L )2 ( z L )2
braço B1 base B1 mancal (3.6)
42
Lante2 ( x 0 x )2 ( y y )2 ( z z )2
B1 A1 B1 A1 B1 A1
(3.8)
2
Lante 2 ( x )2 y ( y Lmesa) ( z z )2
E B1 E B1 E (3.9)
2 (y L
L )2 ( z L )2
braço B1 base B1 mancal
2
2 2
Lante ( xE ) yB1 ( yE Lmesa) ( zB1 zE )
2 (3.10)
43
z z
arctan B1 M 1
1 y y
B1 M 1 (3.11)
1 3 0
2 2
cos sen 0 cos120 sen120 0
3 1
R sen cos 0 sen120 cos120 0 0
Z 2 2
0 0 1 0 0 1 0 0
1 (3.12)
x 3 .y
1 x' E E
2 3 0 E 2
2
x
E 3 .x y
P' 3 1 0. y P' y' E E
E 2 2 E E E 2
1 zE
(3.13)
0 0 z' z
E E
x 3 .y
1 x'' E E
2 3 0 E 2
2 '
xE
3 .x y
P'' 3 1 0. y' P'' y'' E E
E 2 2 E E E 2 (3.14)
0 0 1 z ' z '' z
E E E
4. DESENVOLVIMENTO
4.2. Arquitetura
4.4. Construção
4.4.2.2.Base Móvel
4.4.2.3. Braços
4.4.2.4. Antebraços
4.4.2.5.Garra
4.5.1. Servomotores
5. CONTROLE DE MOVIMENTO
eixo do servomotor irá girar até 0º. Se o pulso for maior que
1,5ms o eixo do servomotor irá girar até 180º.
A Figura 33 explica graficamente o que foi comentado.
5.1.4.1. Inicialização
5.1.4.2.Ciclo de Scan
5.1.4.3.Sliders
5.1.4.6. Threshold
6. CONSIDERAÇÕES FINAIS
6.1. Conclusão
REFERÊNCIAS
BONEV I. A., RYU, J., A new Method for Solving the Direct
Kinematics of General 6-6 Stewart Platforms using three
Linear extra Sensors, Mechanism and Machine Theory,
Elsevier Science, 1999. 14 p.
74
a) Público Alvo
b) Requisitos
c) Especificações
d) Soluções
Leve, custo
Estrutura de
médio, alta
alumínio
disponibilidade
Estrutura de Leve, Custo elevado,
policarbonato disponibilidade transparência
Baixo peso
Custo muito
Estrutura de titânio Leve elevado, difícil
usinagem
Estrutura de Leve, Aspecto
madeira disponibilidade incompatível
Programação
média, sem
Pouca
Arduino necessidade de
versatilidade
construção de
circuitos
Alto consumo de
Programação energia, custo
CLP
simples muito elevado,
Processamento tamanho grande
Custo e tamanho Saída serial muito
reduzido, limitada, rotinas
Microcontrolador
facilidade de matemáticas
modificação muito extensas
Necessidade de
Microprocessador Programação construção de
(PIC) media circuitos e difícil
programação
Boa resolução Webcam Médio custo Alcance limitado
no sistema de Acesso remoto
reconhecimento Alto custo, requer
Câmera IP mais fácil, boa
por imagem banda larga
recepção wireless
Melhor aspecto
externo, menor
Perfis de Alumínio massa estrutural, Alto custo
facilidade de
montagem
Bom aspecto Facilidade na
externo Estrutura Tubular montagem, médio Pintura
preço
Dificuldade na
Boa rigidez, preço
Estrutura Soldada montagem,
acessível
pintura
82
Programação Necessidade de
MatLab (GUIDE) média, grande aquisição de
Fácil interface de
versatilidade licenças
comando.
Programação Pouca
Elipse Scada
média versatilidade
Tabela 5 - Soluções para o Projeto.
e) Estrutura Funcional
ENERGIA ENERGIA
FORNECIDA CONSUMIDA
ROBÔ DELTA
INTERFACE
MOVIMENTO
(GUIDE)
WEBCAM PC BRAÇOS
Alimentação
MICROCONTROLADOR
SERVOMOTORES
ARDUINO UNO
INTERFACE
GARRA
(MATLAB -GUIDE)
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
%% Configuração Arduino
global a lim
lim=50;
a=arduino('COM11');
a.servoAttach(9); a.servoAttach(10); a.servoAttach(11);
a.servoWrite(9,lim); a.servoWrite(10,lim); a.servoWrite(11,lim);
%% Configuração Gráficos
% Desliga Eixos dos Graficos
global hImage1 hImage2
hImage1 = image(zeros(480, 640, 3), 'parent', handles.camera);
hImage2 = image(zeros(480, 640, 3), 'parent', handles.camera2);
84
% Atualiza a Figura
axis(handles.grafico,[-400 400 -600 600 -100 600]);
hold(handles.grafico);
axes(handles.grafico); axis off; %grid on;
%% Configuração Camera
global gatilho vid
gatilho=0.25;
if connect==1
set(handles.camconect,'String','Camera Conectada');
set(handles.ativar,'Enable','on'); % Habilita Preview
else
set(handles.camconect,'String','Camera Não Conectada');
end
%Condição Inicial
vlrx=0; vlry=0; vlrz=235;
% Cinematica Inversa
[Taux yB zB] = CalculaInversa(vlrx,vlry,vlrz);
% Verifica Limite de Angulo
if ((Taux(1)<=lim)&&(Taux(1)>=-
lim)&&(Taux(2)<=lim)&&(Taux(2)>=-
lim)&&(Taux(3)<=lim)&&(Taux(3)>=-lim))
T=Taux;
set(handles.espaco,'String','');
else
set(handles.espaco,'String','Fora do Range');
end
% Desenha Robo
desenha(hObject, eventdata, handles);
set(handles.ang1,'String',num2str(T(1)));
set(handles.ang2,'String',num2str(T(2)));
set(handles.ang3,'String',num2str(T(3)));
% --- Outputs from this function are returned to the command line.
function varargout = delta_OutputFcn(hObject, eventdata,
handles)
% Cinematica Inversa
[Taux yB zB] = CalculaInversa(vlrx,vlry,vlrz);
% Verifica Limite de Angulo
if ((Taux(1)<=lim)&&(Taux(1)>=-
lim)&&(Taux(2)<=lim)&&(Taux(2)>=-
lim)&&(Taux(3)<=lim)&&(Taux(3)>=-lim))
T=Taux;
set(handles.espaco,'String','');
else
set(handles.espaco,'String','Fora do Range');
end
% Desenha Robo
desenha(hObject, eventdata, handles);
87
set(handles.ang1,'String',num2str(T(1)));
set(handles.ang2,'String',num2str(T(2)));
set(handles.ang3,'String',num2str(T(3)));
% Cinematica Inversa
[Taux yB zB] = CalculaInversa(vlrx,vlry,vlrz);
% Verifica Limite de Angulo
if ((Taux(1)<=lim)&&(Taux(1)>=-
lim)&&(Taux(2)<=lim)&&(Taux(2)>=-
lim)&&(Taux(3)<=lim)&&(Taux(3)>=-lim))
T=Taux;
set(handles.espaco,'String','');
else
set(handles.espaco,'String','Fora do Range');
end
% Desenha Robo
desenha(hObject, eventdata, handles);
set(handles.ang1,'String',num2str(T(1)));
set(handles.ang2,'String',num2str(T(2)));
set(handles.ang3,'String',num2str(T(3)));
% Cinematica Inversa
[Taux yB zB] = CalculaInversa(vlrx,vlry,vlrz);
% Verifica Limite de Angulo
if ((Taux(1)<=lim)&&(Taux(1)>=-
lim)&&(Taux(2)<=lim)&&(Taux(2)>=-
lim)&&(Taux(3)<=lim)&&(Taux(3)>=-lim))
88
T=Taux;
set(handles.espaco,'String','');
else
set(handles.espaco,'String','Fora do Range');
end
% Desenha Robo
desenha(hObject, eventdata, handles);
set(handles.ang1,'String',num2str(T(1)));
set(handles.ang2,'String',num2str(T(2)));
set(handles.ang3,'String',num2str(T(3)));
plot(graindata(i).Centroid(1),graindata(i).Centroid(2),'r+','MarkerSi
ze',20);
text(graindata(i).Centroid(1)+15,graindata(i).Centroid(2)+20,num2
str(objeto));
aux=strcat('Pto ',num2str(objeto),':
x=',num2str(graindata(i).Centroid(1)),' ,
y=',num2str(graindata(i).Centroid(2)));
ptos=strvcat(ptos,aux);
end
end
end
set(handles.qtdpecas,'String',num2str(objeto));
set(handles.list_ptos,'String',ptos);