Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTEGRANTES: CÓDIGOS:
SANTIAGO REMACHE 725
VALERIA MESTANZA 875
GEOVANNA LUNA 879
CURSO: SÉPTIMO PARALELO: “A”
FECHA: 2019-05-20
TEMA: COMUNICACIÓN ENTRE ARDUINO Y MATLAB
FUNDAMENTOS DE ROBÓTICA
TEMA: SIMULACIÓN MODELO CINEMÁTICO ROBOT UNICICLO MATLAB Y ARDUINO
I. INTRODUCCIÓN
En este trabajo se dará a conocer la comunicación entre un arduino y Matlab para la simulación y ejecución
en tiempo real de un robot omnidireccional. Antes de nada MATLAB es un lenguaje de alto desempeño
diseñado para realizar cálculos técnicos. MATLAB integra el cálculo, la visualización y la programación en
un ambiente fácil de utilizar donde los problemas y las soluciones se expresan en una notación matemática.
MATLAB es un sistema interactivo cuyo elemento básico de datos es el arreglo que no requiere de
dimensionamiento previo. Esto permite resolver muchos problemas computacionales, específicamente
aquellos que involucren vectores y matrices, en un tiempo mucho menor al requerido para escribir un
programa en un lenguaje escalar no interactivo tal como C o Fortran.[ CITATION MCE02 \l 3082 ]
Es un sistema microcontrolador mono placa, de hardware libre, de fácil uso y bajo coste, desarrollado
inicialmente para facilitar el uso de electrónica en diseños artísticos e interactivos y la aplicación de ésta,
por personas no expertas.[ CITATION Her15 \l 3082 ]
El robot tipo uniciclo es, en general, el elegido por los investigadores a la hora de probar nuevas estrategias
de control por tener una cinemática sencilla. Es una estructura que consta de dos ruedas fijas
convencionales sobre el mismo eje, controladas de manera independiente y una rueda loca que le confiere
estabilidad.[ CITATION Car19 \l 3082 ]
IV.3. CÓDIGO
Pasos a seguir:
1. Instalar versión MATLAB 2017b o superiores a esta.
2. Descargar paquete arduino desde MATLAB.
3. Conectar arduino a MATLAB.
4. Realizar el código:
clc
clear all
close all
clear all port
a = arduino('com5','uno')
tm =0.1;
t=0:tm:20;
%velocisdades lineales
u=100*ones(1,length(t));
w=-50*ones(1,length(t));
%posiciones iniciales
xr(1)=0;
yr(1)=0;
phi(1)=0;
for k=1:length(t)
xrp(k)=u(k)*cos(phi(k));
yrp(k)=u(k)*sin(phi(k));
xr(k+1)=xr(k)+tm*xrp(k);
yr(k+1)=yr(k)+tm*yrp(k);
phi(k+1)=phi(k)+tm*w(k);
end
pasos=20;
fig=figure;
set(fig,'position',[10 60 980 600]);
axis square; cameratoolbar
axis([-8 10 -6 6 0 1]);
grid on
MobileRobot;
M1=MobilePlot(xr(1),yr(1),phi(1));
hold on;
plot(xr,yr);
for i=1: pasos :length(t);
if (w==0)
writeDigitalPin (a,'D5',0);
writeDigitalPin (a,'D3',1);
writeDigitalPin (a,'D6',0);
writeDigitalPin (a,'D9',1);
end
if (w>0)
dc=1-(w(i)/360);
writeDigitalPin(a,'D6',0);
writePWMDutyCycle(a,'D9',dc);
writeDigitalPin (a,'D5',0);
writeDigitalPin (a,'D3',1);
end
if (w<0)
dc=1-(abs(w(i))/360);
writeDigitalPin(a,'D5',0);
writePWMDutyCycle(a,'D3',dc);
writeDigitalPin (a,'D6',0);
writeDigitalPin (a,'D9',1);
end
delete(M1);
MobileRobot;
M1=MobilePlot(xr(i),yr(i),phi(i));
hold on
pause(0.5);
end
V. RESULTADOS
Al ejecutar el código, se obtuvieron los resultados deseados; es decir el robot móvil uniciclo
simulado su trayectoria en MATLAB se veía reflejada en el prototipo de robot realizado.
VI. CONCLUSIONES
El uso de Matlab y Arduino permite la realización de prácticas basadas en proyectos para
asignaturas de robótica de manera eficiente. En concreto se han encontrado los siguientes
beneficios:
Diversidad del tipo de prácticas posibles dentro del campo de la robótica (control,
cinemática, planificación, etc.).
Interactuar de manera eficiente MATLAB con la plataforma Arduino para la simulación de
proyectos basados en edometría en el área de la robótica.
Bajo coste de los quipos de prácticas.
Provee de una herramienta de diseño y desarrollo de sistemas relacionados a la robótica que
puede ser replicada en casa por su bajo coste.
El aprendizaje basado en proyectos, desarrolla la competencia de trabajo autónomo.
Asimismo se ha estudiado la conexión de MATLAB y arduino para comprobar el correcto
funcionamiento del robot móvil uniciclo de acuerdo a su modelo cinemático.
[2] J. Herrero y J. Sánchez, «UNA MIRADA AL MUNDO ARDUINO,» Revista Tecnologí@ y desarrollo , Madrid,
2015.