Uniciclo
Uniciclo
Uniciclo
, [email protected]
ESTUDIANTE, ESPOCH, EIECR
1. INTRODUCCIÒN
La Robótica móvil es un área de investigación activa donde investigadores de todo el mundo
encuentran nuevas tecnologías para mejorar la inteligencia de los robots móviles y las áreas de
aplicación. Entre las distintas estructuras de robots, el tipo uniciclo es el más utilizado en varias
tareas debido a su buena movilidad y configuración simple. Esta estructura del robot se ha
utilizado en varias aplicaciones como vigilancia, limpieza de pisos y el transporte de carga
industrial que utiliza los vehículos autónomos guiados [1].
Los Robots Móviles tipo uniciclo, están constituidos básicamente por una estructura mecánica
que consta de dos ruedas fijas convencionales sobre el mismo eje, controladas de manera
independiente y una rueda local que le confiere estabilidad, permitiéndole navegar a través de
un determinado ambiente de trabajo de forma autónoma. Dicha autonomía se refiere a la
capacidad de percibir, planificar y actuar sin la intervención del operador humano para alcanzar
determinados objetivos, tomando en cuenta que para ejecutar tareas que requieren altas
velocidades o transporte de cargas, es fundamental considerar la dinámica del robot, además de
su cinemática. Los robots móviles se utilizan en áreas que son demasiado peligrosas para los
seres humanos o las misiones que con llevan demasiado tiempo. Esta inteligencia es
suministrada por el sistema de control del vehículo [2].
2. OBJETIVO GENERAL
3. OBJETIVOS ESPECÍFICOS:
B. Modelo Dinámico Basado en los aportes del trabajo de Zhang et al., (1998) se obtiene un
modelo con diferentes entradas a las usadas por Zhang y con ligeras modificaciones que
permiten anular el vector de incertidumbres cuando las variables medidas son despreciables.
La Fig. 2, muestra las variables consideras en la modelación dinámica
Modelo Dinámico Basado en los aportes del trabajo de Zhang et al., (1998) se obtiene un
modelo con diferentes entradas a las usadas por Zhang y con ligeras modificaciones que
permiten anular el vector de incertidumbres cuando las variables medidas son despreciables. La
Fig. 2, muestra las variables consideras en la modelación dinámica [4].
6. DESARROLLO
Código Matlab
A continuación, se escribe el código utilizado para el control de la plataforma una vez terminada
la comunicación:
clc
close all
clear all
delete(instrfind({'Port'},{'COM7'})) %limpias el puerto del arduino
a=arduino('COM7'); % abre el puerto
a.pinMode(6,'output') % defines salidas
a.pinMode(9,'output')
a.pinMode(10,'output')
a.pinMode(11,'output')
a.digitalWrite(6,0); % inicia en 0 todo
a.digitalWrite(9,0);
a.digitalWrite(10,0);
a.digitalWrite(11,0);
tm=0.1
t=0:tm:dist
if (dist > 0)
d1= 0;
d2 = dist;
end
%velocidades lineales
if (movrob == 1)
d1= -dist;
d2= 0;
w1=0;
u1=-0.5;
end
if (movrob == 2)
w1=0;
u1=0.5;
end
if (movrob == 3)
d1= -10;
d2=10;
w1=-0.5;
u1=-0.5;
end
if (movrob == 4)
d1= -10;
d2=10;
w1=0.5;
u1=-0.5;
end
u=u1*ones(1,length(t));
w=w1*ones(1,length(t));
%p iniciales
xr(1)=0;
yr(1)=0;
phi(1)=0;
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=10; fig=figure;
set(fig, 'position',[10 60 980 600]);
axis square; cameratoolbar
axis([d1 d2 -6 6 0 1]); grid on
MobileRobot;
M1=MobilePlot(xr(1),yr(1),phi(1));
hold on; plot(xr, yr);
end
if(u<0)
%giro atras der
a.analogWrite(6,v);
a.analogWrite(9,0);
a.analogWrite(10,0);
a.analogWrite(11,50);
end
else
if(u>0)
% giro adelante der
a.analogWrite(6,0);
a.analogWrite(9,50);
a.analogWrite(10,v);
a.analogWrite(11,0);
end
if(u<0)
%giro atras izq
a.analogWrite(6,50);
a.analogWrite(9,0);
a.analogWrite(10,0);
a.analogWrite(11,v);
end
end
end
pause(0.3)
end
a.analogWrite(6,0);
a.analogWrite(9,0);
a.analogWrite(10,0);
a.analogWrite(11,0);
delete(instrfind({'Port'},{'COM7'}))
7. CONCLUSIÓN