UNIDAD I de Sistemas en MatLab UNIDAD I Objetivo Describir las propiedades de modelos físicos...

37
Modelado de Sistemas en MatLab UNIDAD I Objetivo Describir las propiedades de modelos físicos mediante el uso de técnicas matemáticas para observar su comportamiento en espacios orto normales.

Transcript of UNIDAD I de Sistemas en MatLab UNIDAD I Objetivo Describir las propiedades de modelos físicos...

Modelado de Sistemas en MatLab

UNIDAD I

Objetivo

Describir las propiedades de modelos físicos mediante el uso de técnicas matemáticas para observar su comportamiento en espacios orto normales.

UNIDAD I

Modelado de Sistemas en MatLab

TEMA No. 1

Fundamentos del modelado Matemático

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

Que es un modelo?

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

Que es un modelo?

Un Modelo es una abstracción de la realidad que se hace para interpretarla. Ejemplos de modelos: Lenguaje, escritura, artes, matemáticas, etc.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Existen tres formas de modelados:

- Icónico: Versión a escala del objeto real y con sus propiedades relevantes más o menos representadas.

- Analógico: Modelo con apariencia física distinta al original, pero con comportamiento representativo.

- Analítico: Relaciones matemáticas o lógicas que representen leyes físicas que se cree gobiernan el comportamiento de la situación bajo investigación.

Fundamentos del modelado matemático

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

Que es el modelado matemático?

• El modelado es la habilidad para describir una situación problemática que confronta un analista. Genéricamente la modelación implica crear una representación explícita de la idea que una persona tiene sobre una situación.

• El modelado matemático es una descripción en lenguaje matemático de

un objeto que existe en un universo no matemático. • Un buen modelado matemática involucra el establecimiento de

relaciones entre el mundo real y el mundo matemático y la habilidad para moverse entre cada uno de ellos.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

El modelo matemático

Un modelo matemático describe teóricamente un objeto que existe fuera del campo de las Matemáticas. El éxito o fracaso de un modelo matemático depende de la precisión con la que se construya esta representación numérica, la fidelidad con la que se concreticen hechos y el efecto de variables relacionadas entre sí. Ejemplos: - Las previsiones del tiempo - Los pronósticos económicos - Los movimientos de un robot

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

Factores que permiten optimizar un modelo matemático.

a) Exactitud de los datos iniciales.

b) Considerar el tipo de fenómeno a estudiar.

c) Exactitud de las ecuaciones que rigen el fenómeno.

d) Aproximar las ecuaciones.

e) Evolución del modelado. Puede ocurrir que durante los cálculos los errores que se producen se vayan transmitiendo o acumulando.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Ventajas

1. El proceso de modelado es en si una experiencia de aprendizaje. 2.- La rapidez del proceso de modelado permite considerar un mayor número de alternativas.

3.- Los modelos proporcionan una capacidad de predicción.

4.- La aplicación de un modelo permite evitar costos por experimentación de ensayo y error.

Desventajas

1.- Podrían no tenerse contempladas todas las influencias sobre el objeto del estudio. 2.- Se requiere un alto grado de habilidad matemática para crear modelos más complejos e interpretar correctamente las salidas 0.

Ventajas y desventajas del modelado como método lógico

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

Ejemplo 1:

• Desarrolle un modelo matemático para determinar el incremento de volumen de gas en un globo esférico a partir del incremento de su radio.

Volumen de la esfera de referencia:

𝑉 = ( 4

3 )𝜋𝑟3 =

4

3 3𝜋𝑟2

𝑑𝑉/𝑑𝑟 = 4𝜋𝑟2

Suponiendo que r=10cm y dr=0.5cm dV = (4)(3.1416) 10𝑐𝑚 2(0.5cm)

𝑽𝒐𝒍𝒖𝒎𝒆𝒏 = 628𝒄𝒎𝟑

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Fundamentos del modelado matemático

Tarea:

• Desarrolle un modelo matemático que muestre un fenómeno físico y que permita determinar la forma en que varía una variable dependiente respecto a una variable independiente.

1) Describa el fenómeno. 2) Determine la ecuación que describe matemáticamente al

fenómeno seleccionado.

3) Ingrese el modelos matemático a Matlab y muestre gráficamente la dependencia entre una de las variables independientes respecto a la variable dependiente.

4) Anexe el programa en Lenguaje M.

UNIDAD I

Modelado de Sistemas en MatLab

TEMA No. 2 Matemáticas avanzadas para la localización espacial

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Matemáticas avanzadas para la localización espacial

Que es MatLab?

MATLAB (MATrix LABoratory, "laboratorio de matrices") es una herramienta de software matemático que ofrece un IDE (Entorno de Desarrollo Integrado) con un lenguaje de programación propio (lenguaje M). Hoy en día, MatLab es un programa muy potente, con un entorno agradable, que incluye herramientas de cálculo científico y técnico y de visualización gráfica, así como un lenguaje de programación de alto nivel.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Matemáticas avanzadas para la localización espacial

Matlab es un programa command-driven, es decir, que se introducen las órdenes escribiéndolas una a una a continuación del símbolo » (prompt) que aparece en una interfaz de usuario.

Ejemplo:

»2+2 ans = 4

» x=2+3 x = 5

» x x = 5

»clc [Limpiar pantalla] »quit [Salir]

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Comandos de MatLab

Operadores aritméticos:

x + y Suma x - y Resta x * y Multiplicación x / y División x \ y División inversa x^n Potencia exp(x ) Exponencial (e) log(x) Logaritmo natural base e Log10 Logaritmo decimal sqrt(x) Raíz cuadrada

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Comandos de MatLab

Operadores trigonométricos:

sin Seno asin Arcoseno cos Coseno acos Arcocoseno tan Tangente atan Arcotangente abs Valor absoluto

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Comandos de MatLab

Operadores relacionales

> Mayor que < Menor que == Igual a ~= Diferente a >= Mayor o igual <= Menor o igual

Operadores booleanos

| Or & And

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Comandos de MatLab

Programación Condicion if

r = 2; if r==2, volumen=(4/3)*pi*r^3; end >>

r = 2; if r ~= 3, volumen=(4/3)*pi*r^3; end

a=3,b=3,c=8; if a<5 & c>5, b=10; end b >>

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Comandos de MatLab

Programación Condicion if

r=2;

If r >3 b=1;

elseif r==3 b=2;

else b=0;

end

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Matemáticas avanzadas para la localización espacial

Abrir MatLab e ingresar a la ventana de commandos (Command Window)

>> radio=0.5; ENTER

>> volumen=(4/3)*pi*radio^3; ENTER

>> volumen ENTER

volumen =

0.523598

>>

Ejemplo: Ingresando una función en MatLab

𝑽𝒐𝒍𝒖𝒎𝒆𝒏 = 𝟒

𝟑 𝝅𝒓𝟑, 𝒓 = 𝟎. 𝟓

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Gráficas en MatLab

>>x=0:0.05:10; % crear una serie de datos de 0 a 10 con incrementos de 0.05

>>y=sin(x).*exp(-0.4*x);

>> plot(x,y)

>>

0 1 2 3 4 5 6 7 8 9 10-0.2

-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

𝐲 = 𝐬𝐢𝐧 (𝒙)𝒆−𝟎.𝟒𝒙

Matemáticas avanzadas para la localización espacial

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Gráficas en MatLab

y = sen(x)

Matemáticas avanzadas para la localización espacial

%Grafica de una función simple %Función Seno x=linspace(0,2*pi,200); y=sin(x); grid on hold on plot(x,y,'r')

0 1 2 3 4 5 6 7-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Gráficas en MatLab

𝐲 = 𝐜𝐨 𝐬 𝟒𝒙 /𝒆(𝟏−𝟎.𝟓𝒙)

Matemáticas avanzadas para la localización espacial

%Grafica de un producto de funciones %RESORTE x=linspace(0,2*pi,500); y=cos(4*x)./exp(1-x/2); grid on hold on plot(x,y,'b','linewidth',4) title('ESPIRAL','fontsize',18) xlabel('eje OX','fontsize',14) ylabel('eje OY','fontsize',14)

0 1 2 3 4 5 6 7-6

-4

-2

0

2

4

6

8

10

ESPIRAL

eje OX

eje

OY

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Gráficas en MatLab

y=sin(8*x).*(exp(-.5*x)) 0 a 2pi

Matemáticas avanzadas para la localización espacial

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Modelado mediante Gráficas

Estilos de gráficas

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Análisis de localización espacial

L1 =50; L2 =50; teta1 =30; teta2 =60; th1 =teta1*pi/180; th2 =teta2*pi/180; px =L1*cos(th1)+L2*cos(th1+th2); py =L1*sin(th1)+L2*sin(th1+th2);

Ejemplo 1: Determine la posición del efector final de un brazo robótico del tipo RR, con enlaces de longitud L1=L2= 50cm cuando los ángulos de sus articulaciones θ1 y θ2 son de 30 y 60 grados respectivamente.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Análisis cinemática

L1 =50; L2 =50; teta1 =30; teta2 =60; th1 =teta1*pi/180; th2 =teta2*pi/180; px =L1*cos(th1)+L2*cos(th1+th2); py =L1*sin(th1)+L2*sin(th1+th2); plot(px,py,r.) xlabel('eje X','fontsize',12) ylabel('eje Y','fontsize',12)

Ejemplo 2: Muestre la posición del efector final de un brazo robótico del tipo RR, con enlaces de longitud L1=L2= 50cm cuando los ángulos de sus articulaciones θ1 y θ2 son de 30 y 60 grados respectivamente.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Modelado para la localización espacial

Ejemplo 2: Muestre los eslabones de un manipulador robótico RR mediante graficas de vectores en MatLab para un brazo con enlaces de longitud L1=L2= 50cm cuando los ángulos de sus articulaciones θ1 y θ2 son de 30 y 60 grados respectivamente.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Modelado para la localización espacial %Asignar valor a una variable L1=50; L2=50; teta1=30; teta2=60; %Convertir grados a radianes th1=teta1*pi/180; th2=teta2*pi/180; %Declarar formulas px=L1*cos(th1)+L2*cos(th1+th2); py=L1*sin(th1)+L2*sin(th1+th2); hold on grid on %Graficar punto plot(px,py,'r.') xlabel('eje X', 'fontsize',12); ylabel('eje Y', 'fontsize',12); %Graficar vectores v1x=[0,L1*cos(th1)]; v1y=[0,L1*sin(th1)]; plot(v1x,v1y,'g','linewidth',2); v2x=[L1*cos(th1),L1*cos(th1)+L2*cos(th1+th2)]; v2y=[L1*sin(th1),L1*sin(th1)+L2*sin(th1+th2)]; plot(v2x,v2y,'g','linewidth',2);

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Modelado para la localización espacial

Ejemplo. Localización espacial y representación de vectores

% PRIMERO SE ESTABLECE UN MARCO DE REFERNCIA FIJO (X, Y, Z). XO=[-10,10]; XYO=[0,0]; XZO=[0,0]; YO=[-10,10]; YXO=[0,0]; YZO=[0,0]; ZXO=[0,0]; ZYO=[0,0]; ZO=[-10,10]; axis([-10,10,-10,10,-10,10]) grid on hold on %% comando para mantener xlabel('X') ylabel('Y') zlabel('Z') plot3(XO,XYO,XZO,'b') plot3(ZXO,ZYO,ZO,'b') plot3(YXO,YO,YZO,'b')

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Modelado para la localización espacial

Ejemplo. Localización espacial y representación de vectores

% PROCEDIMIENTO PARA GENERAR UN VECTOR, CON COORDENADAS INICIALES EN EL % ORIGEN % Se determinan las coordenadas iniciales y finales del % vector, respecto a cada uno de sus ejes. CROX=[0,5]; CROY=[0,6]; CROZ=[0,3]; % Se grafica de la siguiente manera plot3(CROX,CROY,CROZ,'r')

-10-5

05

10

-10

-5

0

5

10

-10

-5

0

5

10

X

Y

Z

UNIDAD I

Modelado de Sistemas en MatLab

TEMA No. 3

Análisis cinemático

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Análisis cinemático

Problema cinemático directo de un robot El problema cinemático directo consiste en determinar la posición y orientación final del extremo de un robot a partir de las articulaciones y parámetros geométricos del robot. MatLab es una herramienta apropiada para el análisis y simulación de problemas en robótica.

Un manipulador RR plano es un mecanismo articulado formado por una base fija, que representamos por un punto O, y dos segmentos rectos, de longitudes L1 y L2, respectivamente, cada uno de los cuales tiene en su origen un motor de tipo rotacional.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Análisis cinemática

L1=1; L2=1; th1=0:(pi/2)/20:pi/2; th2=0:(pi/2)/20:pi/2; px=L1*cos(th1)+L2*cos(th1+th2); py=L1*sin(th1)+L2*sin(th1+th2); plot(px,py) xlabel('eje X','fontsize',12) ylabel('eje Y','fontsize',12)

Ejemplo 1: Defina la trayectoria que recorre el Efector Final de un manipulador RR (con enlaces de longitud L1=L2= 1) cuando las dos variables rotacionales θ1 y θ2 varían uniformemente de 0 a π/2.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Análisis cinemático

-1 -0.5 0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

eje X

eje

Y

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Análisis cinemático

Practica No. 1: a) Defina la trayectoria que recorre el Efector Final de un manipulador RR con 3GDL formados por los enlaces: L1=30cm, L2=20cm y L3=10cm. Las variables rotacionales son θ1, θ2 y θ3, las cuales varían uniformemente de 0 a 60 grados . b) Determine la trayectoria si incorpora un motor que haga girar la base en el plano z desde 0 hasta 60 grados.

c) Grafique el vector resultante para la posición en la que todos los motores llegan a su máximo ángulo.

UNIDAD 1. Modelado de sistemas en MatLab PROCESAMIENTO Y CONTROL VIRTUAL

Gráficas 3D

Ejemplo. Grafica de una espiral 3D

x = tCos(t), y = tSin(t) z = t

clf

t=linspace(0,8*pi,200); plot3(t.*cos(t),t.*sin(t),t,'r-','linewidth',2) grid on %dibujo de la rejilla title('Curva espiral') xlabel('eje OX','fontsize',14) ylabel('eje OY','fontsize',14) zlabel('eje OZ','fontsize',14) -40

-20

0

20

40

-40

-20

0

20

400

5

10

15

20

25

30

eje OX

Curva espiral

eje OY

eje

OZ