Você está na página 1de 10

Protótipo de Braço Robótico para Robô Humanoide

Controlado por Arduíno


Rick Jones M. Ferreira 1 , Francisco Januário1 , Davi C. M. Barreto1, Antônio
Ralyson de S. Ferreira1

Laboratório de Robótica Aplicada – Fundação Centro de Análise, Pesquisa e Inovação


Tecnológica (FUCAPI)
Manaus – AM – Brasil
rickjones.rf@gmail.com, francisco.januario@fucapi.br,
davi.cmbarreto@gmail.com,ralyson_astec@hotmail.com

Abstract. The article discusses the analysis and construction of a humanoid


robotic arm with similar human characteristics. The robotic arm structure was
built using 3D printer. The control is performed through a controller board
equipped with a Nano Arduino, H-bridge, regulator and voltage doublers. The
obtained results showed that the humanoid robotic arm performed
satisfactorily movements similar to the human arm.

Resumo. O artigo aborda a análise e construção de um braço robótico


humanoide com características semelhantes as humanas. A estrutura do braço
robótico foi construída usando impressora 3D. O controle é realizado através
de uma placa controladora equipada com um Arduíno Nano, ponte H,
regulador e dobradores de tensão. Os resultados obtidos realizados
mostraram que o braço robótico humanoide executou de forma satisfatória
movimentos semelhante ao braço humano.

1. Introdução
Os recentes desenvolvimentos de protótipos robóticos humanoide com interfaces com o
usuário, mostram que há um crescente interesse em robôs assistentes e até mesmo robôs
pessoais. As áreas de aplicação atingem desde o atendimento a pessoas idosas, auxílio à
área médica, até executam trabalhos domésticos entre outras utilidades. Em comparação
com as áreas de aplicação citadas, o projeto do braço robótico humanoide leva a
requisitos que se diferem em comparação aos robôs tradicionais e industriais, um
exemplo seria os graus de liberdade que o membro humano é capaz de alcançar.
Atualmente, os robôs executam vários trabalhos diferentes em vários campos e a
quantidade de tarefas delegada aos robôs está aumentando exponencialmente. Na
primeira aparição dos robôs industriais durante a década de 1960, os conceitos para o
uso dos robôs eram apenas para executar comandos pré-definidos [BERNS, 1998].
À medida que a tecnologia e a interface física dos robôs melhoram, os seres
humanos passaram a se relacionar com os robôs e com isso surgiu à necessidade de criar
equipamentos mais parecidos com os humanos.
Há uma grande dificuldade em modelar os movimentos do braço humano devido
à alta complexidade das tarefas que ele executa, o projeto do braço robótico terá
habilidades para que o mesmo possa ter um comportamento e executar alguns
movimentos e tarefas semelhantes ao braço humano.
Este trabalho apresenta o desenvolvimento de um braço robótico servo
controlado, sendo capaz de executar tarefas como segurar objetos e executar
movimentos na direção frontal com grau de liberdade limitado a 27° para a região do
ombro e 90° para a região do cotovelo, estes movimentos citados são semelhantes aos
graus de liberdade executados pelos humanos.
Este artigo está organizado da seguinte forma: a Seção 2 apresenta os diagramas
de funcionamento do braço robótico humanoide e seus componentes utilizados no
projeto. A Seção 3 apresenta trabalhos relacionados com o projeto. A Seção 4 apresenta
modelagem 3D e a estrutura de funcionamento do braço robótico e seus respectivos
componentes. Na Seção 5 é apresentado o software de controle dos atuadores do braço
robótico. Na Seção 6 são apresentados os testes realizados e os resultados obtidos. Na
Seção 7 são apresentados a conclusão e os trabalhos futuros.

2. Metodologia
O protótipo do braço robótico humanoide foi desenvolvido e construído através da
técnica de impressão 3D. Entre os itens utilizados para controle do sistema estão o
arduíno nano, servomotores para controle de todos os dedos da mão e dois motores DC
que se comportam como motores servocontrolados. O protótipo é controlado pelo
Arduíno Nano, codificado na linguagem C, para executar os movimentos do braço
robótico.
O software de controle foi desenvolvido na linguagem C, e tem como objetivo
manipular os graus de liberdade do braço robótico humanoide para que o mesmo
execute todos os movimentos pré-determinados no firmware, podendo executar
movimentos de forma autônoma, quando os outros módulos do projeto robô humanoide
estiverem concluídos.

Computador Servo
Motores

Comunicação Arduíno
Serial

Motores DC

Figura 1. Diagrama de funcionamento do braço robô humanoide [Fonte: O próprio


autor]
No primeiro bloco, da Figura 1, foram predefinidos os comandos que serão
executados dentro do arduíno para que o mesmo possa realizar os movimentos com grau
de liberdade semelhante aos humanos, sendo assim capaz de, por exemplo, segurar
objetos sólidos. No bloco comunicação serial é realizado o processo de enviar e receber
informação um bit de cada vez. Após receber os dados da comunicação serial o Arduíno
nano processa a informação e envia os dados necessários para os respectivos
componentes, servomotores e motores DC.
2.1 Modelagem 3D
O braço robótico foi modelado em 3D, utilizando a ferramenta SOLIDWORKS,
permitindo acelerar o processo de designer, economizando tempo e custos no
desenvolvimento do produto, tornando-o mais produtivo.
A impressão 3D permite criar objetos sólidos tridimensionais a partir de um
arquivo digital, através sucessivas camadas de material até o objeto ser criado
[BARRETO,2017]. A impressão 3D permite a produção de peças complexas usando um
material chamado PLA (do inglês, Polylactic Acid ), esse tipo de material é considerado
termoplástico, o que significa que ele entra em estado moldável quando aquecido e
depois retorna a um estado sólido quando resfriado. Através do processo de
aquecimento o material é derretido e em seguida é extrudado através de um bico
iniciando o processo de criação da peça.
2.2 Driver de potência Ponte H
Em geral a ponte H, mostrada na Figura 2, é um circuito bastante simples, contendo
quatro elementos de comutação, com carga no centro, uma configuração semelhante à
letra H [Barreto, 2017).

Figura 2. Ponte H [Fonte: O próprio autor]

Os elementos de comutação Q1 a Q4 são geralmente transistores bipolares ou


FET, sendo em algumas situações de alta potência. Os diodos D1 a D4 são chamados de
diodos de captura e são geralmente do tipo Schottky.
Para inverter um motor de corrente contínua é necessário reverter a direção da
corrente do motor, e o componente responsável por este procedimento é a ponte H.
O modo de operação de uma ponte H é bastante simples, se Q1 e Q4 estiverem
saturados, o fio esquerdo do motor será ligado a fonte de alimentação e o fio direito será
conectado ao terra. Se Q2 e Q3 estiverem ligados, o reverso acontecerá, o motor fica
energizado e gira no sentido inverso.
2.2.1 Ponte H controlada por pulsos PWM
O PWM (do inglês, pulse width modulation) consiste em um método de saída digital
com uma tensão equivalente variável, tomando como média um sinal ao longo do tempo
ele tem um nível analógico variável, sendo assim em um curto espaço de tempo o sinal é
digital.
Conforme a Figura 3, o controle de uma ponte H se dá através de quatro sinais
para controlar os quatro transistores, e para controla-lo com pulsos PWM você precisa
de dois sinais PWM e dois sinais digitais simples.

Figura 3. Sinais de Funcionamento ponte H [DUMONT, 2013]

2.2.3 Arduíno Nano


O Arduíno é uma plataforma de código aberto usado para a construção de projetos
eletrônicos. O Arduíno consiste em uma placa de circuito programável física
(microcontrolador), mostrada na Figura 4, e uma IDE (Integrated Development
Environment) que é executado em um computador e permite carregar uma sequência de
instruções que são escritas na linguagem de programação C++ podendo ser carregado
em uma placa física [SPARKFUN, 2016]. A estrutura do Arduíno nano possui um
micro controlador ATMega328P, 2 kB de memória SRAM (do inglês, Static Random
Access Memory), 16 kB de memória Flash e um clock de 16 MHz. O Arduíno nano
pode ser alimentado através da conexão USB (Universal Serial Bus) mini, fonte de
alimentação externa ajustável que não ultrapasse os limites de 7V a 12V ou fonte de
alimentação externa regulada para 5V.

Figura 4. Arduíno Nano [ARDUÍNO, 2014]


Neste trabalho, o Arduíno é responsável pelo controle dos servomotores que
compõem a mão robótica, enviando comandos aos servomotores que compõem as
articulações do cotovelo e ombro.
2.2.4 Servomotor
Os servos são motores que devem ser usados quando o movimento requerido requer um
alto grau de controle e precisão. Seu funcionamento consiste em um dispositivo
codificador, em forma de disco, que informa a posição atual e a velocidade na qual o
motor se encontra.
O Servomotor SG90, da Figura 5, e utilizado neste projeto, possui um grau de
liberdade de 180° e uma um torque de 1,8 Kgf/cm, podendo ser alimentado e operado na
faixa de 3 V até 7,2 V [FILIPEFLOP, 2013].

Figura 5. Servomotor SG90 [FILIPEFLOP, 2013]

Neste trabalho, utilizamos os servomotores como atuadores responsáveis por


receber uma série de pulsos e logo em seguida transformá-los em seus respectivos
movimentos programados.
3. Trabalhos Relacionados
Houdges (2012) descreve a abordagem para dimensionar o movimento humano e
capturar dados para descrever a capacidade de movimento do robô humanoide, sendo
que os limites de velocidade foram incorporados no movimento usando algoritmos de
escala, segundo ela a maior limitação dessa abordagem é que ampliar os graus de
liberdade torna o produto instável. Virgala (2013), aborda o estudo da cinemática do
braço humano, e uma das variáveis de impacto foi a transmissão dos dados para o
software Matlab através das matrizes de rotação onde a integridade de cada dado
influenciava no resultado final do projeto.
4. Desenvolvimento do protótipo
4.1 Seleção do Material
A seleção do material foi uma das partes importantes na construção de cada componente
do braço robótico humanoide. O objetivo foi coletar materiais de produtos não
utilizados, como motores e componentes de equipamentos eletrônicos descartados.
Uma das características importantes observadas foi a necessidade de utilizar
materiais que agregassem no peso final do produto. Logo o peso total do braço teria que
ser compatível com o peso do braço humano. A ideia foi utilizar impressões 3D para
fabricação das peças do braço utilizando uma resina chamada PLA. Uma característica
importante foi a utilização de materiais de baixo custo como madeira e tubos PVC>
Estes materiais foram utilizados para dar uma melhor sustentação ao ombro e auxiliar,
reduzindo o peso final do produto. A utilização de motores DC, de vidro elétrico de
carro, foi necessário para conseguir torque suficiente para levantar o braço e o ante-
braço. O comportamento do motor DC foi adaptado para funcionar como um
servomotor controlado.

4.2 Modelagem 3D
4.2.1 Braço Robótico Humanoide
A estrutura de cada componente do protótipo foi desenvolvida com o auxílio do
software SOLIDWORKS, capaz de dimensionar cada componente separadamente em 2
e 3 dimensões. O software também proporciona a montagem de todos os componentes
em um único produto final. A modelagem final do braço robótico humanoide é
demonstrada na Figura 6.

Local dos Servos Motor DC Motor DC


da Mão Controlado Controlado

Figura 6. Vista Isométrica da Modelagem 3D do Braço Robótico Humanoide [Fonte:


O próprio autor]

A estrutura do antebraço é composta por seis servomotores ligados a cabos que


simulam os tendões humanos e são acionados por pulsos PWM que são enviados através
do Arduíno nano, sendo responsáveis por dar movimento à mão robótica. A estrutura da
articulação do cotovelo e do ombro é composta por motores DC, com comportamento
adaptado para funcionar como um motor servocontrolado> O motor DC é responsável
por dar movimentos de 0 a 90° na direção frontal. Seu acionamento ocorre na medida
em que recebe sinais de comando da placa controladora composta por um Arduíno nano.

4.3 Esquemático do protótipo


4.3.1 Hardware
O diagrama elétrico da Figura 7 representa o módulo de funcionamento e de
controle dos graus de liberdade do braço robótico. Este esquema recebe os sinais
oriundos do Arduíno e os envia até a placa controladora composta por duas
pontes H, regulador e dobradores de tensão. A ponte H se encarrega de realizar o
controle de rotação do motor DC.

Figura 7. Circuito esquemático montado no Proteus [Fonte: O próprio autor]

O circuito, da Figura 7, é constituído por duas pontes H que realizam o


controle de rotação dos motores DC da estrutura correspondente às juntas do
cotovelo e do ombro do braço robótico. Os transistores FET que compõem a
ponte H necessitam de uma alimentação de 24V no dreno, de forma que supere a
alimentação recebida no gate, sendo necessário implementar um circuito
dobrador de tensão para que os transistores saturem e funcionem no modo
normal.
O layout do circuito foi elaborado com o auxílio do software Proteus
Professional 8, permitindo a confecção do circuito impresso e a visualização em
3D da placa, como mostrado na Figura 8.
Figura 8. Placa de circuito impresso do Braço robótica [Fonte: O próprio autor]

5. Software de Controle

O software desenvolvido para o Arduíno Nano é responsável pelo comportamento e


funcionamento dos motores servocontrolado do motor DC.

1 #include <ControleMotorDC.h>
2
3 ControleMotorDC ombro(8, 9, 10, A0, 0, 270);
4 void setup() {
5 Serial.begin(115200);
6 }
7
8 void loop() {
9 ombro.atualizarLeitura();
10 if(Serial.available()){
11 int angulo = Serial.readString().toInt();
12 ombro.moverMotor(angulo);
13 }
14 }
Figura 9. Trecho de código do controle do Motor DC [Fonte: O próprio autor]

O código, da Figura 9, permite que o motor DC consiga se comportar como um


servomotor. A linha 1 declara a biblioteca do controle do motor DC, que foi
desenvolvida neste trabalho. Na linha 2 é criado o objeto com os parâmetros de controle
do motor. Na linha 4 é inicializada a comunicação serial a uma velocidade de 115200
BPS (do inglês, Baud Per Rate), e por meio desta que serão recebidas as posições que o
motor deverá ficar. Na linha 7 o valor da posição do potenciômetro é atualizado e
também será checado caso esteja fora da posição desejada. Na linha 8 será checado se há
algum dado na entrada da comunicação serial. Na linha 9 o dado que estiver na
comunicação serial é lido, convertido para um número inteiro e guardado em uma
variável. E na linha 10, o dado recebido será um parâmetro para movimentar o motor.
6.1 Ambiente de Teste

Este protótipo foi testado em ambiente laboratorial, obtendo os resultados desejados


dentro do esperado. Foi utilizado a fonte de alimentação externa 1672 Precision, que
fornece duas saídas variáveis e uma saída fixa com tensão variável de 0 a 12V e uma
corrente de 0 a 3A. Estes valores foram suficientes para suprir a necessidade de
consumo do protótipo.

6.2 Testes e Resultados


O protótipo do braço robótico foi testado em dois cenários diferentes. O primeiro
cenário de teste realizado foi para movimentar os motores do cotovelo e do ombro,
sendo que o objetivo foi determinar a quantidade força que cada motor exercia em seu
eixo. Na Figura 10 (a), é mostrado o comportamento da rotação do ante-braço em
ângulo de 90°. A Figura 10 (b), demonstra o comportamento do ante-braço segurando o
objeto em um ângulo de 0°. A Figura 10 (c), demonstra o comportamento do ante-braço
segurando um objeto em um ângulo de 75°.

(a) (b) (c)

Figura 10. Protótipo do Braço Robô Humanoide [Fonte: O próprio autor]

Os testes detectaram que o torque do motor DC é insuficiente para uma abertura


superior ao ângulo de 27° no dispositivo, uma solução viável foi a implantação de
engrenagens multiplicadoras de torque na região.
Tabela 1. Tabela de Forças, Tensões e Correntes Aplicadas [Fonte: O próprio
autor]

Motor Motor
do do Tensão Corrente
Ombro Cotovelo
Situação 1 1,09 Kgf 1,8 Kgf 3V 0A
Situação 2 1,09 Kgf 1,8 Kgf 3V 3A
Como mostrado na Tabela 1, na primeira situação o braço robótico está
alimentado, mas permanece em repouso e não há consumo de corrente na fonte de
alimentação. Na segunda situação (Figura 9.a) houve um deslocamento de 27° na região
do ombro ocasionando um consumo máximo de corrente. As Figuras 9.b e 9.c mostram
o protótipo foi submetido à força de agarrar e segurar um objeto entre às mãos, até
receber o comando para soltar o objeto.
Os resultados experimentais mostram que o braço robótico pode agarrar e
manter um objeto, desde que não ultrapasse o torque máximo do motor, que é de 93Kgf.

7. Conclusões e Trabalhos Futuros


Neste artigo foi apresentado a implementação e o desempenho de um braço robótico
humanoide com funcionamento baseado em servos motores e motor DC controlado por
Arduíno. Para trabalho futuro, este braço robótico será acoplado ao humanoide
completo que já está em desenvolvimento.

8. Bibliografia

BERNS, K. et al. Design and Control Architecture of an Anthropomorphic Robot Arm.


The 3rd International Conference on Advanced Mechatronics, v. 35, p. 945–962,
1998.

BARRETO, D. C. M.; JANUÁRIO, F.; FAÇANHA, E. Protótipo de uma Mão Robótica


Controlada Remotamente por Luva Sensorial.

DESIGN, M.; THE, I. Conceptual Design of Humanoid Robots. Automotive


Engineering.

F, E. G. N. F.; JANUÁRIO, F. A. P.; BARRETO, D. C. M. Modelagem da Mão


Humana para Aplicação na Mão Robótica.
AZAD, A.; RASHID, T. Design an Arm Robot through Prolog Programming Language.
Adv Robot Autom, v. 1, n. 4, p. 2–7, 2013.

BIOFABRIS. PLA: O plástico utilizado para impressões 3D. Biofabris, 2014.


Disponível em: <https://goo.gl/fpqGXy>. Acesso em: 15 Outubro 2017.

SILVEIRA, Cristiano Bertulucci. Servo Motor: Veja como funciona e quais os tipos.
Citisystems, 2016. Disponível em: <https://goo.gl/mrO74U>. Acesso em: 29 Setembro
2017.

SPARKFUN. Flex Sensor 4.5'' - SEN-08606 - SparkFun Electronics. Sparkfun, 2015.


Disponível em: <https://goo.gl/Zv7em2>. Acesso em: 29 Setembro 2017.

FILIPEFLOP. Micro servo motor 9G SG90 com arduino uno. Filipeflop, 2013.
Disponível em: <https://goo.gl/jOEhh1>. Acesso em: 7 Outubro 2017.

Você também pode gostar