11
Universidade Federal do Cear ´ a Engenharia de Computac ¸ ˜ ao Programa de Educac ¸ ˜ ao Tutorial Projeto SobrArm Alunos: Raimundo Farrapo Pinto unior Abner Sousa Nascimento Orientador: alis Cavalcante de Paula unior SOBRAL - CE 17 de fevereiro de 2016

Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Embed Size (px)

Citation preview

Page 1: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Universidade Federal do Ceara

Engenharia de Computacao

Programa de Educacao Tutorial

Projeto SobrArm

Alunos:Raimundo Farrapo PintoJuniorAbner SousaNascimento

Orientador:Ialis Cavalcante de Paula

Junior

SOBRAL - CE17 de fevereiro de 2016

Page 2: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Sumario

1 Introducao 2

2 Material Utilizado 2

3 Desenvolvimento 43.1 Modelo e impressao . . . . . . . . . . . . . . . . . . . . . . . . . . 43.2 Arduino, mecanica e controle manual . . . . . . . . . . . . . . . . 63.3 Reconhecimento de Gestos . . . . . . . . . . . . . . . . . . . . . . 8

4 Procedimento 8

5 Resultados e Discussoes 10

6 Conclusoes 10

1

Page 3: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

1 Introducao

O projeto SobrArm objetiva empregar diferentes plataformas de desenvolvi-mento open-source, componentes eletronicos e impressao 3D para a construcaode um braco robotico, tendo em vista maximo custo-benefıcio e consciencia am-biental. O braco e capaz de movimentar 5 dedos com o auxılio de servo-motorese pode ser controlado por linha de comando, interface grafica ou captura devıdeo em tempo real, via reconhecimento de imagens.

2 Material Utilizado

• Fonte de PC;

Figura 1: Fonte de PC.

• 1 Kg - Filamento plastico PLA 3 mm;

2

Page 4: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Figura 2: Filamento PLA 3 mm.

• 5 - Servos-motores MG995 Tower Pro;

Figura 3: Servo-motor.

• Arduino UNO;

3

Page 5: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Figura 4: Arduino UNO.

• Fio de Nylon 0.7 mm;

Figura 5: Fio de Nylon.

3 Desenvolvimento

3.1 Modelo e impressao

O braco robotico utilizado no SobrArm baseia-se no projeto open-sourcefrances InMoov [2], que consiste em um robo humanoide, impresso em 3D, cons-tituıdo da metade superior do tronco, cabeca e bracos. Modificamos algumas

4

Page 6: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

de suas pecas originais para reduzir o consumo de material e limitar a movi-mentacao apenas aos graus de liberdade estritamente necessarios a execucao doprojeto.

O material de impressao, poliacido lactico ou PLA [3], e um polımero pro-duzido a partir de recursos naturais, como amido de milho e cana-de-acucar.Por isso e biodegradavel e completamente atoxico. Este material se liquefaz a150 ℃, o que o torna uma das opcoes mais utilizadas na impressao 3D. Paraa confeccao das pecas na impressora definimos a temperatura do hotend em180 ℃e aquecemos a mesa a 70 ℃. A tabela abaixo apresenta o tempo medioaproximado de impressao das pecas:

Tabela 1: Tempo estimado de impressao das pecas

Peca Tempo2 Pecas da mao 3h cada

5 Dedos 2h cada5 Pecas do braco 8h cadaTotal aproximado 56h

O tempo pode variar conforme o modelo de impressora utlizado. Aplicamosfita dupla-face de papel sobre a mesa para garantir a aderencia do material eum cooler para ajudar no resfriamento das partes ja impressas. Isso garantiuque todas as pecas possuıssem boa qualidade de impressao. As figuras 6, 7 e 8mostram as pecas inicialmente confeccionadas e a impressora utilizada.

Figura 6: Pecas da mao. Figura 7: Pecas do braco.

5

Page 7: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Figura 8: Impressora 3D.

3.2 Arduino, mecanica e controle manual

Cada dedo esta conectado atraves de dois fios de nylon a um servo-motor,controlado pelo Arduino. Dessa maneira, e possıvel movimentar os dedos damao. A tensao no fio para a movimentacao dos dedos e exigente em termosde quilogramas-forca. Em decorrencia disso, fez-se necessaria a utilizacao demotores e fios fortes. A figura 9, a seguir, mostra a montagem final do braco,com o Arduino e a fonte de alimentacao. A variacao dos angulos aplicadosaos motores para movimentar os dedos pode mudar conforme a montagem.Em nosso primeiro prototipo, utilizamos os valores da tabela abaixo, obtidosempiricamente:

Tabela 2: Angulos utilizados para rotacionar os dedos

Angulo Dedo40 - 130 Mınimo15 - 140 Anelar0 - 120 Medio0 - 120 Indicador15 - 120 Polegar

6

Page 8: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Figura 9: Braco montado.

Os angulos sao transmitidos aos dedos via codigo utilizado no Arduino. De-finimos uma string padrao, a ser enviada para a porta de comunicacao serial naforma "d1:XX d2:XX d3:XX d4:XX d5:XX", na qual:

• "XX" e o angulo para que o motor deve ser alterado;

• "d1" representa o dedo mınimo;

• "d2" o dedo anelar;

• "d3" o dedo medio;

• "d4" o dedo indicador;

• "d5" o dedo polegar.

Assim, com uma unica string e possıvel alterar a posicao de todos os dedos.Desenvolvemos um software em Python que oferece um controle manual

sobre todos os dedos do braco. Nele ha uma conexao direta com o Arduino,sem necessidade de processamento de dados. Atraves dele, e possıvel variar emuma escala de 0 a 100 o grau de abertura de cada dedo, bem como realizarmovimentos pre-definidos.

7

Page 9: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

3.3 Reconhecimento de Gestos

Para capturar e reconhecer gestos do usuario, aplicamos tecnicas de visaocomputacional [5], em conjunto com uma fonte de captura. O algoritmo quedesenvolvemos e capaz de reconhecer gestos em tempo real ou gravados emvıdeo, desde que as condicoes de iluminacao do ambiente sejam estaveis. Eleconsiste em 3 etapas:

• Captura de amostra visual do ambiente;

• Extracao do cenario e deteccao dos dados;

• Transmissao dos dados.

O processo de captura da amostra consiste, inicialmente, na extracao de umaimagem fixa, chamada de background ou cenario, que sera usada para subtrairos elementos visuais sobrepostos.

Na fase seguinte, o unico objeto com caracterısticas visuais diferente dobackground deve ser o braco do usuario. A cada frame, os pixels sao comparadoscom os dados armazenados. Assim, produzimos uma imagem binaria e combase nela obtermos um polıgono cujos vertices estao sobre as pontas dos dedos.Utilizamos o dedo medio como referencia para identificar os demais dedos. Paraisto, calculamos o angulo de cada vertice com o dedo medio e compararemoscom valores de angulos que obtivemos empiricamente.

Por fim, a distancia entre o dedo e o centro sera utilizada para calcular oquao aberto ou fechado este dedo se encontra e a informacao sera enviada aoArduino.

4 Procedimento

A configuracao final dos equipamentos e simples. Estabelecemos a comu-nicacao de um computador com o Arduino atraves de um cabo USB A-B (mesmoutilizado na maioria das impressoras), conectamos a fonte de alimentacao e exe-cutamos os softwares desenvolvidos.

Os motores do braco estao dispostos conforme a imagem 10. Para nos refe-rirmos a eles, utilizamos a nomenclatura descrita a seguir:

• M1, M2 e M3, parte superior, da esquerda para a direita, respectivamente;

• M4 e M5, parte inferior, tambem sob a mesma ordem.

O torque dos motores e elevado, 13 Kg.cm, o mesmo aplicado em projetos deaeromodelismo. Por conseguinte, em virtude da consideravel corrente necessariapara o funcionamento dos motores, optamos por empregar uma fonte externade computador.

8

Page 10: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

Figura 10: Disposicao dos motores.

Os fios de alimentacao dos motores sao conectados a fonte e o fio de PWMas portas digitais do Arduino, conforme a ordem:

• M1 na porta 6, controlando o dedo anelar

• M2 na porta 10, controlando o dedo medio

• M3 na porta 11, controlando o dedo indicador

• M4 na porta 5, controlando o dedo mınimo

• M5 na porta 12, controlando o dedo polegar

A imagem 11 esquematiza as ligacoes dos motores com o Arduino.

Figura 11: Ligacoes dos motores e Arduino.

9

Page 11: Projeto SobrArm - PET - Engenharia da computação UFC · Figura 8: Impressora 3D. 3.2 Arduino, mec^anica e controle manual Cada dedo est a conectado atrav es de dois os de nylon

5 Resultados e Discussoes

O funcionamento do braco mecanico ocorreu de forma adequada. Emborasua capacidade de movimentacao seja substancialmente inferior a um bracoorganico, ou mesmo a proteses roboticas mais avancadas, o produto final e ade-quado a margem de custo a que se propoe. Futuros aprimoramentos quanto aomaterial e tecnologia de impressao utilizados abrirao novas possibilidades, comoa implementacao de partes flexıveis, reducao do atrito e melhoria do design.

Obtivemos resultados satisfatorios quanto ao reconhecimento de imagens. Osoftware foi capaz de detectar a posicao e grau de abertura dos dedos com rela-tiva precisao, desde que observada a qualidade do material capturado, condicoesde luz e resolucao da filmagem. Devido a alta demanda computacional do pro-cessamento de imagens, e necessario observar as configuracoes de hardware doaparelho que ira executar o software, porem, a maioria dos laptops domesticosdotados de webcam deve ser capaz de executa-lo com fluidez. Futuramentea aplicacao de tecnicas para a previsao de dados e eliminacao de ruıdos devemelhorar consideravelmente a precisao dos dados obtidos.

6 Conclusoes

Construımos um braco mecanico de baixo custo utilizando uma impressora3D e material plastico biodegradavel. Desenvolvemos uma interface grafica parao controle do braco, bem como um software capaz de detectar gestos manuaisem tempo real e transmiti-los ao robo. Futuros testes com novos materiais etecnicas de processamento serao realizados, para evoluir o prototipo atual eampliar sua eficiencia.

Referencias

[1] The BSD 3-Clause License. Open Source Initiative. Disponıvel em https:

//opensource.org/licenses/BSD-3-Clause, Acesso em: 8 fev. 2016.

[2] Open source 3d printed life-size robot. InMoov. Disponıvel em http://

inmoov.fr, Acesso em: 15 fev. 2016.

[3] PLA monomere (Polylactic Acid). Matbase. Disponıvel em http://

tinyurl.com/material-imp3d-PLA, Acesso em: 15 fev. 2016.

[4] Gary Bradski and Adrian Kaehler. Learning OpenCV: Computer vision withthe OpenCV library. O’Reilly Media, Inc., 2008.

[5] Rafael C. Gonzalez and Richard E. Woods. Digital Image Processing (3rdEdition). Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 2006.

10