Вы находитесь на странице: 1из 8

Benemérita Universidad Autónoma de

Puebla

Facultad de Ciencias de la Electrónica


Licenciatura Ingeniería Mecatrónica

Reporte: Práctica 1
Estimación de la velocidad de
movimiento de un péndulo

Profesor: Dr. Fernando Reyes Cortés

Materia: Robótica

Alumna: Hernández de la Luz Dana

Fecha de Entrega: 15/Febrero/2017


Introducción
Los métodos empleados para la resolución del problema en esta
práctica fueron métodos numéricos conocidos como el método de
Euler y el método de filtrado.
Los métodos numéricos son técnicas que nos ayudan a resolver
problemas de tal manera que solo se utilicen operaciones aritméticas
y las soluciones emitidas siempre son aproximaciones.
En la robótica y en la mecatrónica se utiliza muy a menudo el método
de Euler que sirve para estimar la velocidad derivando la posición
previamente conocida. Como en casi todos los métodos numéricos,
en el método de Euler no se genera una aproximación continua si no
que se generan aproximaciones a la solución en varios valores,
llamados puntos de red. Una vez obtenida la aproximación en los
puntos podemos obtener por interpolación la solución aproximada en
otros puntos del intervalo. La siguiente expresión se conoce como el
método de Euler.
𝐼(𝑡𝑘 )−𝐼(𝑡𝑘−1 ) 𝐼(𝑡𝑘 )−𝐼(𝑡𝑘−1 )
𝐼 (̇ 𝑡𝑘 ) = = = 𝑓(𝑡𝑘 ) (1)
𝑡𝑘 −𝑡𝑘−1 ℎ

Esta última expresión es mucho más fácil de aplicar en algoritmos de


programación. Cabe mencionar que la distancia entre los puntos ℎ,
recibe el nombre de tamaño de paso y entre más pequeñas sea,
serás mejor nuestra aproximación.
El otro método que se utilizará es el método de filtrado, que consiste
en obtener la señal o solución de una ecuación diferencial ordinaria
por medio de filtros. La siguiente expresión nos mostrara la señal
filtrada de nuestra entrada.
𝐹𝑢 (𝑡𝑘 ) = 𝑒 −𝜆ℎ 𝐹𝑢 (𝑡𝑘−1 ) + (1 − 𝑒 −𝜆ℎ )𝑢(𝑡𝑘−1 ) (2)
Ahora para conseguir la derivada de la señal filtrada utilizamos la
siguiente expresión. Hay que recordar que lo que queremos obtener
es la velocidad de la cual su expresión es:
𝐹𝑝 (𝑡𝑘 ) = 𝜆𝐹𝑢 (𝑡𝑘 ) + 𝜆𝑢(𝑡𝑘 ) (3)

Objetivo General
El propósito de esta primera práctica fue reproducir la señal de
velocidad de un brazo robótico a partir de una serie de puntos
previamente proporcionados que indicaban la posición del brazo
robótico en un determinado tiempo.
Objetivos Particulares
 Aproximar la velocidad del brazo robótico utilizando el método
de diferenciación numérica conocido como método de Euler
haciendo uso de MATLAB
 Aproximar la velocidad del brazo robótico utilizando el método
de filtrado haciendo uso de MATLAB
 Elegir el método más cercano a los datos reales registrado por
el sensor del robot.

Planteamiento del Problema


El problema a resolver en esta práctica fue reproducir lo más
adecuadamente posible la velocidad a partir de una serie de puntos
obtenidos que indicaban la posición del péndulo.
Solución del Problema
Como se mencionó la solución a nuestra problemática se llevará
acabo con dos métodos.
El primero de estos es el método de Euler en donde la velocidad la
viene definido por la siguiente expresión.
𝐼(𝑡𝑘 )−𝐼(𝑡𝑘−1 )
(1)

Donde el tamaño de paso h fue de 0.0025.


En cuanto al método de filtrado se hizo uso de las siguientes
expresiones:
𝐹𝑢 (𝑡𝑘 ) = 𝑒 −𝜆ℎ 𝐹𝑢 (𝑡𝑘−1 ) + (1 − 𝑒 −𝜆ℎ )𝑢(𝑡𝑘−1 ) (2)
Y para obtener la velocidad a partir de la señal ya filtrada:
𝐹𝑝 (𝑡𝑘 ) = 𝜆𝐹𝑢 (𝑡𝑘 ) + 𝜆𝑢(𝑡𝑘 ) (3)
A continuación se muestran los códigos elaborados en MATLAB de
cada uno de los métodos.
Método Euler
%Practica 1
clc;
clear all;
close all;
h=0.0025;
ti=0; tf =5; h=0.0025;
ts=ti:h:tf;

%Posicion q
posicion=load('Q.DAT.txt');
[Filas,Columnas]=size(posicion)
x=posicion(:,1);
y=posicion(:,2);

%Velocidad q punto
velocidad=load('QP.DAT.txt');
[Filasqp,Columnasqp]=size(velocidad)
xqp=velocidad(:,1);
yqp=velocidad(:,2);

%Metodo de Euler
for k=2:Filas
vel(k)=(y(k)-y(k-1))/(h);
end

%Resultados
% roja euler-azul sensor
plot(xqp,yqp,'b',x,vel,'r')
xlabel ('segundos')

Al principio del código se determina el periodo de muestreo, el cual


fue de 0 a 5 segundos con un intervalo de 0.0025 segundos. Después
mandamos a cargar en la memoria los datos de posición en una
matriz y asignamos a la variable ‘x’ los valores del tiempo (0-5
segundos) y a la variable ‘y’ los datos de la posición. De manera
similar se cargó a la memoria los datos de la velocidad donde en ‘xqp’
fue nuevamente el tiempo y en ‘yqp’ la velocidad registrada por el
sensor del brazo robot.
Se utilizo un ciclo for para realizar las iteraciones que fueron 2000
debido a la cantidad de filas existentes y se guardaron los resultados
en un vector llamado vel y finalmente se graficó.
Método de filtrado.
%Practica 1
clc;
clear all;
close all;
format short
qdat=load('Q.DAT.txt');%Se llaman los datos
qpdat=load('QP.DAT.txt');%Se llaman los datos
t=qdat(:,1);
q=qdat(:,2);
qp=qpdat(:,2);
lambda=30;%Valor de lambda
h=0.0025;%intervalo de tiempo
Fu=0;%Fu valor inicial
u=0;%u valor inicial

for k=1:2001

Fu=exp(-h*lambda)*Fu+(1-exp(-h*lambda))*u;% Método de filtrado


vel= -lambda*Fu+lambda*q(k); %velocidad
y(k)=vel;
u=q(k); %q(k-1)
end

%Resultados
hold on
plot(t,qp,'b',t,y,'r')
xlabel ('segundos')

De manera muy similar al método de Euler se cargan a la memoria


los datos de posición y de velocidad, se define el intervalo de tiempo
y después se aplica el método de filtrado en un ciclo for para una
cantidad de 2000 iteraciones y se guardan los datos en un vector ‘y’
y se grafica.

Resultados

Figura 1. Método Euler


En la Figura 1 se puede observar la comparación de la velocidad
experimental y la velocidad aproximada mediante el método de Euler
sin embargo la similitud es tal que en la Figura 2 se realizo un
acercamiento para mostrar que la aproximación es muy buena,
donde la diferencia es mucho más pequeña que las unidades
millonésimas.

Figura 2. Acercamiento de Método de Euler

En la Figura 3 se puede observar la comparación del método de


filtrada versus el valor experimental de la velocidad. Y nos podemos
dar cuenta que es mucho más notorio la diferencia. En la figura 5
podemos ver más que la diferencia entre el método de filtrado y la
experimental ronda las unidades de los centésimos.
Figura 3. Método de Filtrado

Figura 4. Acercamiento Método de Filtrado


Conclusiones
En conclusión podemos observar que el método más efectivo y
aproximado es el método de Euler ya que el error era mucha pequeña
que en el método de filtrado. Por el otro lado con el método de filtrado
podemos observar la señal sin ruido y picos pero con un desfase. Es
también importante destacar que el uso y conocimiento de
programación en software como MATLAB facilitó mucho una tarea
que podría ser muy tediosa de realizar a mano, pero que ya hoy en
día existen con la ayuda de sensores.
Referencias
[1] R. Burden y J. Douglas, Análisis Numérico, 7a ed., Thomson
Editors, Cuidad de México, 2002, pp 257.
[2] F. Reyes, Preliminares matemáticos, Puebla, BUAP, FCE
(Diapositivas). (2016)

Вам также может понравиться