Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Comunicacion Robot - PC

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

1

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.

El diagrama a bloques constaría de los siguientes componentes


principales:

 Bloque "Serial Configuration": Este bloque se encarga


de configurar la comunicación serial con Arduino.
Aquí estableceremos los parámetros como el puerto Ilustración 2 Esquema Control de Posición
COM, el baud rate, el número de bits de datos, el bit .
de paridad, etc.
 Bloque "Serial Read": Este bloque se utiliza para leer
datos desde Arduino a través de la comunicación V. CONCLUSIONES
serial. Podemos especificar el tamaño de los datos que En conclusión, la implementación de una comunicación entre
deseas leer (por ejemplo, un byte, una matriz de bytes, Simulink y Arduino para controlar un robot antropomórfico
etc.). ofrece numerosas ventajas y posibilidades en el campo de la
 Bloque "Serial Write": Este bloque se utiliza para robótica. Esta conexión permite utilizar la potencia de Simulink
enviar datos a Arduino a través de la comunicación para el diseño y la simulación de algoritmos de control
serial. Podemos proporcionar los datos deseados (por avanzados, mientras que Arduino proporciona la interfaz física
ejemplo, un byte, una matriz de bytes, etc.). necesaria para interactuar con los actuadores y sensores del
 Bloque "Arduino IO": Este bloque se utiliza para robot.
especificar las señales de entrada y salida de Arduino
que se desean utilizar en el diagrama. Podemos
4

Al establecer esta comunicación serial, es posible enviar


comandos de control precisos desde Simulink hacia Arduino,
permitiendo un control detallado y preciso de los movimientos
y acciones del robot. Esto abre la puerta a aplicaciones en áreas
como la investigación, la educación y la industria, donde se
requiere un control preciso y adaptable de los robots
antropomórficos.

Además, la conexión entre Simulink y Arduino permite la


adquisición de datos en tiempo real desde los sensores del
robot, lo que permite monitorear el entorno y retroalimentar
información para tomar decisiones basadas en datos en tiempo
real. Esto es especialmente útil en aplicaciones donde se
requiere una respuesta rápida y adaptativa del robot a su
entorno.

En resumen, la comunicación Simulink-Arduino para controlar


un robot antropomórfico proporciona una plataforma versátil y
flexible para el desarrollo de algoritmos de control, la
simulación de movimientos y comportamientos, y la
adquisición y procesamiento de datos en tiempo real. Con esta
conexión, es posible explorar y experimentar con diferentes
estrategias de control y aplicaciones robóticas, abriendo un
amplio abanico de posibilidades para la investigación y el
desarrollo de la robótica avanzada.

REFERENCIAS
[1] MATLAB Support Package for Arduino:
https://www.mathworks.com/hardware-support/arduino-matlab.html

[2] Getting Started with MATLAB Support Package for Arduino:


https://www.mathworks.com/help/supportpkg/arduinoio/getting-started-with-
matlab-support-package-for-arduino-hardware.html

[3] Arduino and Simulink Examples:


https://www.mathworks.com/help/supportpkg/arduinoio/examples.html

También podría gustarte