Brazo robot

Descrición

industrial-robots
[By ISAPUT CC By-SA from wikimedia]
Din que o 95% dos robots que existen no mundo son robots industriais, así que se queremos aprender robótica non está de máis traballar o control dun brazo robot que simule os que hai na industria.

O primeiro que temos que facer e facernos cun brazo robot. Os orzamentos dos centros non dan para moito, pero hai opcións económicas e ben accesibles para os centros de secundaria e que se poden controlar con Arduíno. Se tes impresora 3D ou máquina de corte láser (ou algún sitio no que che fagan o corte) podes fabricarte un.

Estes son algúns exemplos:

MeArm [Mime Industries]
web oficial e kit    – instrucións
mearm
LittleArm [littlearmrobot.com]
web oficial e kitInstrucións
littlearm
Pedro Robot [hackaday.io]
Descarga e instrucións
Servo-Arm [Heartman]
Descarga e instrucións
EEZYbotARM [daGHIZmo CC-By_NC]
EEZYbotARM MK1 EEZYbotARM MK2
eezybotarm
BrazoRobot  [Antonio Gómez]
Pezas e Instrucións
agomezgar_conjuntogeneral

Hai outras opcións máis con 6 graos de liberdade, pero xa son máis caros. Depende do orzamento que teñas.

Nós imos traballar cun MeArm e Pedro Robot. Son pequenos, doados de montar e funcionan de forma aceptable. Tamén temos un de 6DOF chinés.

Conexión

1. Básica

Os servos debemos conectalos con alimentación externa de 6V (non facelo coa alimentación que proporciona a placa Arduíno) e deben conectarse en pins dixitais PWM.

mearm_wiring

Despois, segundo o que uses para controlar o brazo robot, engade novos elementos ao circuíto.

2. Controlador PCA9685

Se podes dispoñer dun controlador PCA9685, é mellor opción cá anterior. SCL (A5) SDA (A4). Alimentación externa para os servos: 6V

Programa

Antes de programar os movementos do brazo robot cómpre coñecer cales son os ángulos mínimos e máximos e situar a posición de repouso para cada un dos servos. Se poñemos os ángulos 0 e 180 pode ser que os servos queden atascados, pois dependendo do modelo a a posición poden non facer todo o movemento. Vai movendo cada servo, un a un, e apuntando os valores máximo, mínimo e central.

Por exemplo, para o brazo robot de 6 servos que temos, as posicións obtidas apuntámolas nestes arrays:

int ang_inicial[6]={100,100,120,105,95,60};
int ang_min[6]={0,40,75,0,0,38};
int ang_max[6]={180,150,160,180,180,102};

Despois, utilizando un controlador de servos, facemos que se movan ata a posición que queiramos. Por exemplo, neste caso movemos o servo “2” desde a posición inicial ata o ángulo máximo:

for (int i=ang_inicial[2]; i<ang_max[2]; i++)  {
    controladorServo.setPWM(2, 0, angulo(i));
    delay(t);
}

Unha vez identificados estes valores programa o teu brazo robot para o que necesites.

Propostas

  • Control manual. Elixe potenciómetros ou joysticks segundo o material do que dispoñas.
    • con potenciómetros: A posición de cada servo contrólase cun potenciómetro. Cada posición do cursor do potenciómetro ten a súa equivalencia en graos de xiro do servo que controla.
    • con joysticks: O movemento dos servos contrólase mediante dous joysticks, con dous potenciómetros cada un. Como o joystick volve sempre á posición central de repouso o movemento do cursor de cada potenciómetro do joystick provocará un aumento o diminución do ángulo de xiro e na posición central non fai nada.
  • Movemento automático: Cada vez que detecta a presenza dun obxecto nunha posición determinada cólleo e deposítao nunha caixa. Na posición na que se colocan as pezas debes introducir algún sensor que detecte a presenza, que pode ser un simple microinterruptor final de carreira. Debes programar os movementos precisos para que o brazo sexa quen de coller a peza e introducila unha pequena caixa.
  • Clasificación de pezas: Cada vez que detecta a presenza dunha peza branca ou negra nunha posición determinada, distingue a súa cor e deposítaa na caixa correspondente. Pode ser a ampliación da proposta anterior, á que se lle engade un sensor óptico capaz de distinguir entre branco e negro.
    Se queres ir máis alá e clasificar pezas de diferentes cores (vermello, azul, verde) podes utilizar un sensor de cor.
  • Visualizadores: Engade unha pantalla LCD que mostre a posición do brazo, o número de pezas clasificadas, ou o que queiras.
  • Control mediante unha app para Android: Utiliza App inventor para deseñar unha app que controle o movemento dos servos. Utiliza un módulo bluetooth para a comunicación co Arduíno.

Exemplos:

Pedro Robot

Este é o resultado do traballo de Samuel e Javier na materia de tecnoloxía Industrial I no curso 2017-2018. Noa deseñou as pezas de cores e o soporte do sensor. O robot é quen de detectar unha peza na posición e clasificala na caixa correspondente segundo a súa cor.


[BrazoRobot from María L on Vimeo.]

MeArm

Neste proxecto do curso 2016-2017 o brazo robot nun inicio funcionaba ben: o robot era capaz de clasificar entre pezas brancas e negras (usamos un sensor CMY70) e introducilas na caixa correspondente. Despois fallou o servo que permitía ao brazo elevarse verticalmente, e decidiuse levantar a base e realizar uns buratos para introducir as pezas. Haberá que cambiar o servo que falla e o curso que vén a ver se o poñemos a andar de novo.

As caixas foron deseñadas por Lara e Lucía e o soporte da LCD e montaxe por Brais. Manuel e Iago encargáronse da programación.

 


Deixa un comentario