Diseño y montaje de brazo robótico móvil: Diseño electrónico para el control de motores basado en Arduino by José Tomás Mora

Mano Robótica

Mano Robótica

El presente artículo completo lo puedes encontrar en el siguiente link: Diseño y montaje de brazo robótico móvil: Diseño electrónico para el control de motores basado en Arduino

Algunos de los materiales que utilizarán los puedes encontrar en nuestra tiena online Ferrustronix:

RESUMEN
El objetivo principal de este trabajo, de ámbito académico, es conseguir controlar un robot real mediante su homólogo virtual simulado en un entorno virtual, replicando el primero los movimientos que se le ordenan al segundo.

Partimos de una simulación de una representación virtual de nuestro robot. En dicha simulación se dispondrá de unos sliders donde se ajustará la posición de cada uno de los servos del brazo, y otro par de sliders para ajustar las velocidades de los motores que mueven las ruedas de la base.

La simulación reproducirá el movimiento y posiciones que se le piden al robot a través de la interfaz, pudiendo ver su comportamiento gracias a que se está ejecutando la misma en tiempo real.

El siguiente paso sería desarrollar un plugin con el que podamos tratar la información de parte del código que se está ejecutando durante la simulación y poder enviarla.

Una vez definido esto, se necesita establecer una comunicación entre el software encargado de la simulación y el robot real. Para ello se define un protocolo de comunicaciones, tanto el camino que seguirá la información como los cambios que sufrirá la misma para poder obtener una intercomunicación óptima entre las partes.

La última parte del trabajo sería trasladar la información recibida al brazo, procesarla e interpretarla para poder ordenarle un movimiento y posicionamiento correcto. De manera que al final de su trayecto, la información final que ejecuta el microprocesador que controla el brazo sea equivalente a la que se le pide al robot virtual.

El propósito último del trabajo es obtener un método de control fácil e intuitivo para un robot (en este caso un brazo robot con una base móvil) y además poder aprovechar su integración en un entorno de simulación virtual. Con unos simples cambios también podríamos realizar la comunicación haciendo el camino inverso, partiendo de un objeto físico real que podemos controlar para simular un movimiento en el entorno virtual al que podríamos añadir todos aquellos objetos que quisiéramos.

Soluciones propuestas

Para realizar la simulación se propone usar el software Coppelia Robotics V-REP (Virtual Robot Experimentation Platform), en su versión de licencia de estudiante, V-REP Pro Edu de la que disponen los estudiantes para su libre descarga en la UPV

V-REP es el software ideal para lo que se pretende, que es realizar una simulación en tiempo real del robot. Contiene una gran cantidad de opciones a la hora de establecer propiedades físicas del robot, así como para su control (extensa capacidad de APIs) y visualización de información.

Entre otras cosas, permite la simulación de sistemas de fabricación automatizados, monitorización remota, control de hardware, monitorización de seguridad, presentación de productos, etc.

Además, cualquiera de las maneras que se elijan para controlar los objetos de la simulación, es compatible con los lenguajes de programación más extendidos actualmente, como por ejemplo C/C++, Python, Java, Matlab, etc.

Cuenta además con otra ventaja importante, que es la gran cantidad de información que aporta el propio programa mediante ejemplos, tutoriales y archivos de los cuales uno mismo se puede servir para configurar lo que se desee. En V-REP podemos consultar una extensa guía de usuario de los cuales obtener todos los comandos para desarrollar el plugin que se necesita y obtener toda la información que se necesite. Para el desarrollo del plugin que se integre en V-REP, se ha optado por usar la plataforma Microsoft Visual Studio. Visual Studio es de pago, pero dispone de versiones de prueba durante un periodo de tiempo, que es por lo que se opta en este trabajo. El plugin será escrito en lenguaje de programación C++ dentro del IDE Visual C++.

V-REP contiene dentro de sus archivos un archivo que sirve como esquema de un plugin desarrollado en Visual C++, el cual hay que configurar para que obtengamos de él lo que queramos, pero que ya está configurado desde un principio para que funcione como tal dentro del propio V-REP.

Elegimos el protocolo de comunicación puerto serie dentro del sistema operativo Windows. Dentro del propio plugin se configurará la comunicación que se realizará mediante este tipo de protocolo, y de ello también nos serviremos en la recepción de datos pues está implementado este tipo de comunicación en el software Arduino que usaremos. Con lo cual es el camino probablemente más sencillo, o simplemente directo, para realizar este intercomunicación entre programas.

Se decide elegir Arduino Mini como microcontrolador del robot. Ello se debe a que cuenta con un tamaño reducido que facilita el diseño e integración del mismo en el robot, cuenta con un precio reducido pudiendo realizar todo aquello que se desea en el robot, es decir que no es necesario un microcontrolador mayor y con mayores prestaciones.

También se tienen en cuenta las facilidades para programar la placa, que cuenta con un software propio que lleva el mismo nombre, Arduino.

Partiendo de la información enviada por el puerto serie, usaremos el software de Arduino, con las librerías oportunas, para tomar esa información, descifrarla y usarla. La plataforma software de Arduino es gratuito, de código abierto, y está originalmente escrito en Java. Gracias a este software enviaremos a los servos y motores la información recibida (y posteriormente tratada) desde la simulación, y el robot realizará esos mismos movimientos.

Cabe destacar también las facilidades que supone usar el software Arduino para el control de los servos, para los que dispone de su librería propia y también para el control de potencia, pues también dispone de comunicación I2C gracias a otra de sus librerías. Es decir que es una solución ideal para el problema que nos ocupa.

Elementos constituyentes del robot, Brazo robot y base móvil, Diseño y software

Los diseños del brazo robot corresponden al Proyecto Fin de Carrera de Antonio Castro Gómez y no se pretende hacer pasar por diseño propio. Se trabaja sobre dicho diseño, al cual se le añaden dos ruedas en su base con sus correspondientes motores y una rueda loca para obtener una configuración diferencial. De esta manera pasamos de tener un brazo robótico fijo a uno sobre una base móvil.

Una vez se tienen los diseños en el programa SolidWorks en formato STL se utiliza el software Slic3r para convertir dicho formato en un Gcode, con el que el software que usa la impresora 3D, Repetier-Host, pueda trabajar.

Impresión, montaje y hardware

La impresora 3D extruye un polímero termoplástico a alta temperatura mientras la superficie de trabajo, que es una base móvil, se mueve y el cabezal permanece fijo (en algunos casos es el cabezal el que se mueve sobre la superficie de trabajo de la impresora), generando capas de este polímero.

El polímero termoplástico utilizado es el acrilonitrilo butadieno estireno (ABS), que una vez que se enfría adquiere rigidez y dureza, proporcionan piezas solidas con las que poder ensamblar el robot. Cabe destacar además la facilidad de mecanizado de las piezas impresas en este material.

Microcontrolador Arduino Mini, Características de Arduino Mini

Para controlar los servos y los motores se utiliza la placa Arduino Mini. Esta placa tiene como microprocesador el ATmega168, y cuenta como principal ventaja respecto a otros productos de la marca Arduino, con su reducido tamaño y su bajo precio.

La alimentación y la comunicación de la placa Arduino con el PC se realiza a través del adaptador mini USB, o en este caso, un conector USB genérico que cumple la misma función. Se usa un adaptador puerto USB serie JY-MCU.

BIBLIOGRAFÍA

TOMÁS MORA, J. O. S. É. (2015). Diseño y montaje de brazo robótico móvil: Diseño electrónico para el control de motores basado en Arduino (Doctoral dissertation).

 

You may also like...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *