Vous êtes sur la page 1sur 12

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 ControleMotorDC ombro(8, 9, 10, A0, 0, 270);
3 void setup() {
4 Serial.begin(115200);
5 }
6 void loop() {
7 ombro.atualizarLeitura();
8 if(Serial.available()){
9 int angulo = Serial.readString().toInt();
10 ombro.moverMotor(angulo);
11 }
12 }
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 3 V 0 A
Situação 2 1,09 Kgf 1,8 Kgf 3 V 3 A
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.

Vous aimerez peut-être aussi