Comunicacion Robot - PC
Comunicacion Robot - PC
Comunicacion Robot - PC
Conexión robot-PC
Calderón cabrera Esmeralda Yazmin, Leyva Perez Oscar, Merchán Veytia André, Ramírez Rosales
Ángel Eduardo, Vásquez Romero Kenia
USB de Arduino.
Resumen—El presente documento aborda temas como la
conexión y transmisión de datos, los objetivos de implementar una Para establecer la comunicación serial entre MATLAB y
conexión, la configuración de la comunicación serial, los Arduino, se utiliza el paquete "MATLAB Support Package for
componentes del diagrama a bloques, la instalación de bibliotecas,
Arduino". Este paquete proporciona funciones y herramientas
las referencias adicionales y las conclusiones sobre la
comunicación Simulink-Arduino para controlar un robot específicas para interactuar con Arduino desde MATLAB, lo
antropomórfico. que facilita la transferencia de datos entre los dos entornos.
Abstract--This document covered topics such as data connection La comunicación serial entre MATLAB y Arduino se basa
and transmission, the goals of implementing a connection, serial en la transmisión de datos en forma de bytes. MATLAB envía
communication setup, block diagram components, library comandos o datos a Arduino utilizando la función "write" y
installation, additional references, and conclusions about
Arduino recibe y procesa estos datos utilizando la función
Simulink- Arduino to control an anthropomorphic robot.
"read". Esto permite enviar instrucciones de control, como
encender o apagar un LED, leer datos de sensores conectados a
I. OBJETIVOS Arduino o incluso controlar motores y actuadores más
complejos.
Utilizar MATLAB para enviar comandos de control al robot
a través de Arduino. Esto puede implicar enviar instrucciones
Las aplicaciones de la comunicación serial entre MATLAB
de movimiento, como avanzar, girar, detenerse, entre otros, y
y Arduino son diversas y van desde proyectos educativos y de
permitir el control preciso del robot desde la PC.
aprendizaje hasta aplicaciones industriales. Algunas de las
aplicaciones más comunes incluyen:
Utilizar Arduino para leer datos de sensores del robot, como
información sobre la posición, orientación, sensores de
Adquisición de datos: MATLAB se utiliza para enviar
proximidad, temperatura, entre otros. MATLAB puede recibir
comandos a Arduino y recibir datos de sensores conectados a
y procesar estos datos para análisis, visualización o toma de
Arduino. Esto permite realizar mediciones en tiempo real,
decisiones.
como temperatura, humedad, presión, etc., y visualizar y
analizar los datos adquiridos utilizando las capacidades de
Procesar datos en tiempo real, la conexión entre MATLAB y
procesamiento y visualización de MATLAB.
Arduino permite el procesamiento y análisis de datos en tiempo
real provenientes del robot. Esto es especialmente útil en esta
Control y monitoreo de dispositivos: MATLAB puede
aplicación robótica donde se requiere tomar decisiones en
enviar comandos a Arduino para controlar dispositivos
tiempo real basadas en los datos adquiridos por el robot.
externos, como luces, motores, válvulas, etc. Esto es útil en
aplicaciones de automatización y domótica, donde se requiere
II. MARCO TEORICO
el control y monitoreo de dispositivos físicos.
La comunicación serial entre MATLAB y Arduino es una
técnica ampliamente utilizada en el campo de la electrónica y la Proyectos de robótica: La comunicación serial entre
automatización. MATLAB es un entorno de programación y MATLAB y Arduino es fundamental en proyectos de robótica,
análisis numérico que permite realizar cálculos avanzados y donde MATLAB se utiliza para controlar los movimientos del
procesamiento de datos, mientras que Arduino es una robot y recibir datos de los sensores para tomar decisiones en
plataforma de hardware de código abierto que se utiliza para tiempo real.
controlar dispositivos electrónicos y realizar tareas de entrada y
salida. Procesamiento de señales y control: MATLAB proporciona
potentes herramientas para el procesamiento de señales y el
La comunicación serial se refiere a la transferencia de datos diseño de algoritmos de control. La comunicación serial con
bit a bit entre dos dispositivos mediante una conexión física, Arduino permite enviar y recibir señales analógicas o digitales,
generalmente a través de un cable. En el caso de MATLAB y lo que facilita la implementación y prueba de algoritmos de
Arduino, esta comunicación se logra utilizando el puerto serial procesamiento de señales y control en tiempo real.
*
2
En resumen, la comunicación serial entre MATLAB y proporciona información valiosa sobre la viabilidad del diseño,
Arduino ofrece una forma eficiente de transferir datos entre la optimización de parámetros y la evaluación del
estos dos entornos, lo que permite la adquisición de datos en comportamiento del robot antes de su implementación física.
tiempo real, el control de dispositivos externos y la
implementación de algoritmos de procesamiento de señales y III. DESARROLLO
control. Esta integración entre MATLAB y Arduino amplía las MATLAB-Arduino
capacidades de ambos entornos y abre un mundo de
posibilidades en el campo de la electrónica, la automatización y Para establecer una conexión y transmisión de datos de
la robótica. entrada y salida entre MATLAB y Arduino, puedes seguir los
La robótica es una disciplina en constante crecimiento que siguientes pasos:
combina la ingeniería mecánica, electrónica y de control para
diseñar y desarrollar sistemas autónomos capaces de interactuar 1. Conexión física: Asegúrate de tener tu Arduino
con el entorno de manera inteligente. MATLAB y Simulink son conectado correctamente al ordenador mediante un
dos herramientas ampliamente utilizadas en el campo de la cable USB.
robótica debido a su potencia y flexibilidad en el diseño, 2. Instalar el paquete MATLAB Support Package for
simulación y control de sistemas. Arduino: Abre MATLAB y ve a la opción "Add-
Ons" en la pestaña "APPS". Busca "MATLAB
Análisis y Diseño de Robots: Support Package for Arduino" e instálalo.
MATLAB y Simulink proporcionan un entorno de 3. Configurar la placa Arduino en MATLAB: En la
ventana principal de MATLAB, escribe arduino y
desarrollo completo para el análisis y diseño de robots. Estas
presiona Enter. Esto abrirá la ventana de
herramientas permiten modelar y simular sistemas mecánicos
configuración de la placa Arduino. Selecciona el
complejos, como manipuladores robóticos, permitiendo evaluar
puerto COM correspondiente al Arduino y haz clic
su comportamiento antes de la implementación física. Además, en "OK".
MATLAB ofrece una amplia gama de funciones y algoritmos 4. Escribir el código MATLAB: Crea un nuevo script
matemáticos que facilitan la cinemática, dinámica y control de en MATLAB y escribe el código para establecer la
robots. comunicación con Arduino. A continuación,
mostramos un ejemplo básico:
Control de Robots:
El control de robots es un aspecto esencial en la robótica. a = arduino('COM3'); % Reemplaza 'COM3' con el puerto COM
MATLAB y Simulink brindan herramientas para el diseño y la correcto
implementación de algoritmos de control avanzados. Los % Configura el pin de entrada/salida
bloques de Simulink permiten la simulación y el ajuste de pin = 'D13'; % Elige el pin correspondiente en tu Arduino
controladores PID, controladores de retroalimentación lineal y configurePin(a, pin, 'Digital');
no lineal, controladores adaptativos y otros enfoques de
control. Además, MATLAB proporciona algoritmos de % Leer y escribir datos
optimización y aprendizaje automático para el desarrollo de while true
controladores más sofisticados. % Leer estado del pin
data = readDigitalPin(a, pin);
Visión por Computadora: disp(['Estado del pin ' pin ' : ' num2str(data)]);
La visión por computadora desempeña un papel crucial en la
percepción y la interacción de los robots con su entorno. % Escribir datos en el pin
MATLAB ofrece bibliotecas y herramientas especializadas writeDigitalPin(a, pin, ~data);
para el procesamiento de imágenes y visión por computadora.
Estas herramientas permiten la detección y seguimiento de pause(1); % Esperar 1 segundo
objetos, reconocimiento de patrones, calibración de cámaras y end
análisis de imágenes en tiempo real. Estas capacidades son
fundamentales en aplicaciones robóticas como la navegación % Limpieza
autónoma, la manipulación de objetos y la interacción con clear a;
humanos. 5. Ejecutar el código MATLAB: Guardamos el script y
ejecútamos. MATLAB establecerá la conexión con
Arduino y podrás leer y escribir datos.
Simulación de Sistemas Robóticos:
La simulación es una parte integral del desarrollo de
Simulink-Arduino
sistemas robóticos. MATLAB y Simulink permiten la creación
de modelos precisos y detallados de sistemas robóticos, lo que Para establecer una comunicación serial entre Simulink y
facilita la evaluación de su desempeño en diferentes escenarios Arduino, se deben seguir los siguientes pasos:
y condiciones. La simulación de sistemas robóticos
3
Preparación del hardware: Asegúrate de tener tu conectar los bloques de lectura y escritura serial a las
Arduino correctamente conectado al ordenador señales de entrada y salida correspondientes de
mediante un cable USB. Arduino.
Configuración de Arduino en Simulink: Abre Simulink Conexiones: Conectamos los bloques apropiadamente
y crea un nuevo modelo. Ve a la pestaña "Hardware" y para establecer el flujo de datos dentro del diagrama.
selecciona "Configuration Parameters". En la ventana Asegurándonos de conectar el bloque de
de configuración, elige "Arduino" como la plataforma configuración serial a los bloques de lectura y
de hardware y selecciona el puerto COM escritura serial, y de conectar los bloques de lectura y
correspondiente al Arduino. Haz clic en "Apply" y escritura serial al bloque de E/S de Arduino.
luego en "OK".
Bloques de comunicación serial: En el modelo de
Simulink, busca y añade los bloques de comunicación
serial para establecer la conexión con Arduino. Los
bloques necesarios son "Serial Configuration", "Serial
Read" y "Serial Write". IV. RESULTADOS
Configuración del bloque "Serial Configuration": Haz
doble clic en el bloque "Serial Configuration" y
establece los parámetros de comunicación, como el
baud rate y el tamaño de los datos. Asegúrate de que
los parámetros coincidan con la configuración en el
código de Arduino.
Configuración de los bloques "Serial Read" y "Serial
Write": Conecta el bloque "Serial Read" al bloque
"Serial Configuration" y establece los parámetros
necesarios para la lectura de datos desde Arduino. De
manera similar, conecta el bloque "Serial Write" al
bloque "Serial Configuration" y establece los
parámetros para la escritura de datos hacia Arduino.
Programación de Arduino: Abre el entorno de
desarrollo de Arduino y escribe el código necesario Ilustración 1 Esquema de la electrónica de potencia y
para recibir y enviar datos a través de la comunicación conexionado de los encoders
serial. Asegúrate de que el código en Arduino
coincida con la configuración de comunicación serial
en Simulink.
Ejecución del modelo de Simulink: Ejecuta el modelo
de Simulink y la comunicación serial se establecerá
entre Simulink y Arduino. Podrás enviar y recibir
datos a través de los bloques de comunicación serial.
REFERENCIAS
[1] MATLAB Support Package for Arduino:
https://www.mathworks.com/hardware-support/arduino-matlab.html