Está en la página 1de 102

Robótica Industrial

Unidad I “Sistemas Robóticos”

Dr. Sergio Javier Torres Méndez


1
Programación del curso
• Unidad 1: Sistemas Robóticos

• Unidad 2: Cinetoestática

• Unidad 3: Dinámica

• Unidad 4: Control

Dr. Sergio Javier Torres Méndez 2


Unidad I “Sistemas Robóticos”

Dr. Sergio Javier Torres Méndez 3


1. Sistemas Robóticos

1.1 Preliminares matemáticos


1.2 Cronología de la robótica
1.3 Definiciones
1.4 Componentes de un sistema robótico
1.5 Clasificación
1.6 Espacio de trabajo
1.7 Aplicaciones prácticas
1.8 Aplicaciones computacionales

Dr. Sergio Javier Torres Méndez 4


1.1 Preliminares matemáticos

• Simbología
• Trigonometría
• Álgebra vectorial
• Álgebra matricial

Dr. Sergio Javier Torres Méndez 5


1.2 Cronología de la robótica
• 1954: George Devol diseña el primer robot programable
comercial. Que se comercializaría a partir de 1961
en “Unimation” la primera empresa productora de robots de
la historia.

• 1959: Se funda el Artificial Intelligence Laboratory en el MIT


(siglas en inglés del Instituto Tecnológico de Massachussets),
piedra angular de la robótica universitaria del siglo XX.

• 1960: se introdujo el primer robot "Unimate'', basada en la


transferencia de artículos.

Dr. Sergio Javier Torres Méndez 6


• 1961: Un robot Unimate se instaló en la Ford Motors
Company para atender una máquina de fundición de troquel.

• 1965: Se funda el Robotics Institute en la “Carnegie Melon


University”. Hoy es como un "supermercado tecnológico",
donde se desarrollan cientos de robots.

• 1966: Trallfa, una firma noruega, construyó e instaló un robot


de pintura por pulverización.

• 1971: El "Standford Arm'', un pequeño brazo de robot de


accionamiento eléctrico, se desarrolló en la Standford
University.

Dr. Sergio Javier Torres Méndez 7


• 1973: Aparece el primer robot controlado por un mini-ordenador,
el robot es el “T3”.

• 1976: El robot de la NASA “Vinking II” aterriza en Marte. Que


dispone de un brazo robótico articulado, para obtener muestras
de roca de la superficie marciana.

• 1978: Empiezan a surgir numerosas empresas dedicadas a la


fabricación de robots para la industria. Solo en la década de los 80,
en EEUU surgen más de 10 empresas de gran capital social,
fundadas desde sus respectivas matrices del sector industrial.

• 1997: HONDA presento P3 un enorme robot humanoide, que


tardo más de 10 años en desarrollar, causando un gran impacto
mundial por los enormes adelantos mostrados por este, respecto
de sus competidores internacionales.

Dr. Sergio Javier Torres Méndez 8


• 1999: SONY lanza "Aibo" un perro-robot. Que le traen grandes
resultados en publicidad gratuita a nivel mundial por su invento,
acentuando la competencia con su rival comercial Honda.

• 2000: SONY presenta un pequeño humanoide en la “Robodex


2000”. Mientras los americanos miran a sus robots en Marte, Japón
mira a sus robots a la cara. Cada uno en su terreno son los reyes de
la robótica.

• 2003: El robot de SONY, Qrio, se convierte en el primer humanoide


comercial completamente autónomo capaz de correr. HONDA sería
el primero en caminar, pero SONY fue el primero en correr. La
carrera estaba abierta y otras empresas anunciaban su propósito de
unirse.

• 2005: Investigadores de la Universidad de Cornell (EE.UU)


construyen un robot que se replica a si mismo.
Dr. Sergio Javier Torres Méndez 9
Primera Generación:

Este tipo de robots dispone de


sistemas de control en lazo
abierto, por lo que no tienen en
cuenta las variaciones que
puedan producirse en su
entorno.
Adquiere Información muy
limitada de acuerdo a su entorno
y de acorde a esta actúa, repite
tareas programadas y actúa en
consecuencia a los sucesos.

Dr. Sergio Javier Torres Méndez 10


Segunda Generación:

Disponen de sistemas de control


en lazo cerrado, con sensores
que les permiten adquirir
información del medio en que se
encuentran y adaptar su
actuación a las mismas.
Adquieren también información
limitada de su entorno y el
movimiento lo controla a través
de una secuencia numérica
almacenada en disco; se utilizan
en la industria automotriz y son
de gran tamaño.
Dr. Sergio Javier Torres Méndez 11
Tercera Generación:

Poseen capacidad para la


planificación automática de tareas;
son robots adaptables a distintos
entornos, capaces de reprogramarse
de forma automática, en función de
los datos proporcionados por los
sensores.
Utilizan las computadoras para su
control y tienen cierta percepción
de su entorno a través del uso de
sensores.
Con ellos se inicia la era de los
robots inteligentes

Dr. Sergio Javier Torres Méndez 12


Cuarta Generación:

Son altamente inteligentes con


mejores sistemas sensoriales, para
entender sus acciones y captar el
mundo que los rodea o entorno.
Incorporan conceptos “modélicos”
de conducta para ser capaces de
actuar ante circunstancias
determinadas

Dr. Sergio Javier Torres Méndez 13


Quinta generación:

Esta actualmente en desarrollo,


pero dando pasos gigantescos en
este tipo de generación de robots
que serán los que nos acompañen
en el futuro en todas nuestras
actividades cotidianas y darán paso
a una nueva era.

Dr. Sergio Javier Torres Méndez 14


1.3 Definiciones
• Robótica: Es la colección de conocimiento para el
diseño, análisis, y control de robots. Se considera
una parte importante de la mecatrónica.

Dr. Sergio Javier Torres Méndez 15


• Robot industrial: Es un mecanismo multifuncional
y reprogramable diseñado para mover piezas,
herramientas o dispositivos especializados.
También es llamado robot manipulador.

Dr. Sergio Javier Torres Méndez 16


1.4 Componentes de un sistema
robótico
• Consiste en una serie de segmentos móviles
(eslabones) uno con respecto a otro por medio de
articulaciones y conectados a una base fija (cadena
cinemática abierta).

Dr. Sergio Javier Torres Méndez 17


Sistema robótico
• Sistema mecánico
• Sistema de actuación
Visión
• Sistema sensorial Robot
• Sistema de control Motores

Computadora Encoders
Pieza

Motor
control
Comando
Controlador
Dr. Sergio Javier Torres Méndez 18
Sistema sensorial

Captan la información
Sensores internos relacionada con el
estado del robot

Sensores

Captan la información
Sensores externos relacionada con el
entorno del robot

Dr. Sergio Javier Torres Méndez 19


Sensores internos
Encoder incremental
Lineal
Encoder absoluto

Posición Potenciómetro
LVDT (transformador
Rotativo diferencial de variación lineal)
Resolver

Sensores de posición
Velocidad Tacómetros
Efecto Hall
Galgas extensiométricas
Aceleración
y Interruptores de efecto Hall
fuerza Interruptores piezoeléctricos

Dr. Sergio Javier Torres Méndez 20


Sensores externos
Interruptores de límite
Interruptores neumáticos
De contacto
Sensores piezoeléctricos
Transductores de presión

De proximidad (inductivos, capacitivos, ópticos)


De efecto Hall
De microondas
Sin contacto
Ultrasónicos
De láser
De visión

Dr. Sergio Javier Torres Méndez 21


Eslabón (elemento): Es un cuerpo rígido que posee al
menos dos nodos, que son puntos de unión con otros
eslabones.
Fijo Binario

Ternario Cuaternario

Dr. Sergio Javier Torres Méndez 22


• Articulación (unión): Es la conexión para proveer
movimiento relativo entre dos eslabones.

• Pueden simplificarse en dos tipos:

Dr. Sergio Javier Torres Méndez 23


Articulación de revolución (R) en el plano:

Articulación prismática (P) en el plano:

Dr. Sergio Javier Torres Méndez 24


Grado de libertad o movilidad
• Grado de libertad o movilidad: Es el número de
parámetros independientes requeridos para
definir la posición instantánea del mecanismo.
Movilidad es el número de entradas que se
necesitan para proporcionar una salida predecible.

• Este número n (gdl) puede ser calculado para un


único eslabón en el plano o en el espacio como:
𝑛 =𝜆−𝑟
𝜆 = Número de grados de libertad máximos: 3 planar y 6 espacial
𝑟 = Número de restricciones impuestas por el tipo de articulación
Dr. Sergio Javier Torres Méndez 25
• Las articulaciones proveen de un número de restricciones
físicas en el movimiento relativo entre dos eslabones.
𝑟 = número de restricciones
𝑟 =6−𝑓 =3 𝑓 = número de movimientos libres
Esférica

𝑟 =6−3=3 3 traslaciones

Cilíndrica 2 traslaciones
𝑟 =6−2=4
2 rotaciones

Dr. Sergio Javier Torres Méndez 26


Grados de Libertad para 𝐿 eslabones
• Es el número total de variables independientes que
pueden identificar completamente la configuración
de un robot manipulador. Este número n puede ser
calculado como:
𝐽

𝑛 = 𝜆 𝐿 − ෍ 𝜆 − 𝑓𝑖
𝑖=1
Donde:
𝑛 = Número de grados de libertad
𝜆 = Número de grados de libertad máximos: 3 planar y 6 espacial
𝐿 = Número de eslabones móviles
𝐽 = Número de articulaciones
𝑓𝑖 = Número de grados de libertad de la articulación i
Dr. Sergio Javier Torres Méndez 27
Ejemplo
Determine el número de grados de libertad del
mecanismo mostrado abajo:

Dr. Sergio Javier Torres Méndez 28


Solución

Dr. Sergio Javier Torres Méndez 29


1.5 Clasificación
• Tipo de movimiento: planar, esférico, espacial
• Número de grados de libertad: De propósito general
(𝑛 = 𝜆), redundante (𝑛 > 𝜆), deficiente (𝑛 < 𝜆)
• Tipo de estructura cinemática: serial (cadena
abierta), paralelo (cadena cerrada), híbrido
• Tipo de actuación: Eléctrico, hidráulico, neumático.
• Tipo de transmisión: Directa, convencional.
• Geometría del espacio de trabajo: Cartesiano,
cilíndrico, esférico y articulado.

Dr. Sergio Javier Torres Méndez 30


Coordenadas cartesianas Coordenadas esféricas

Coordenadas cilíndricas Coordenadas articulares


Dr. Sergio Javier Torres Méndez 31
cartesiano esférico cilíndrico

articulado

Dr. Sergio Javier Torres Méndez 32


Robots industriales
• Robot cartesiano
Diagrama esquemático?

ProLine PL60
(HAHN Automation Plastics)

Dr. Sergio Javier Torres Méndez 33


• Robot esférico

Diagrama esquemático?

Robot Stanford

Dr. Sergio Javier Torres Méndez 34


• Robot cilíndrico

Diagrama esquemático?

RT33 (SEIKO Instruments)

Dr. Sergio Javier Torres Méndez 35


• Robot articulado

Diagrama esquemático?

FANUC S900W
articulado
Dr. Sergio Javier Torres Méndez 36
1.6 Espacio de trabajo
• Es el conjunto de todos las poses (posiciones y
orientaciones) del efector final que pueden ser
alcanzadas correspondientes a los rangos físicos
admisibles de sus articulaciones y eslabones

Dr. Sergio Javier Torres Méndez 37


• Método gráfico

Dibujar rangos
máximos y mínimos
de las articulaciones

Dr. Sergio Javier Torres Méndez 38


• Método analítico
Definir las ecuaciones de las curvas
Calcular el área bajo las curvas (integrales)
𝑌
𝑟
ℎ 𝑉 = 𝜋𝑟 2 ℎ
𝑍
𝑋
𝑌 𝑑𝑉 = 𝜋𝑟 2 𝑑𝑦
𝑑𝑦 𝑑𝑉 = 𝜋 𝑓(𝑦) 2 𝑑𝑦 (360o)
𝑟 = 𝑓(𝑦)
𝑋
Dr. Sergio Javier Torres Méndez 39
Ejemplo
Para el robot Mitsubishi RV-M1, determine lo siguiente:
a) Una expresión analítica para
𝜃3 calcular el espacio de trabajo.
b) El valor del espacio de trabajo
𝑙2 𝑙3
asumiendo los parámetros
𝜃2 mostrados en la tabla de abajo.

Articulaciones Eslabones
(rad) (mm)
𝑙1 𝜋 𝜋 𝑙1 = 300
− ≤ 𝜃1 ≤
2 2
𝜃1 𝜋 𝜋
− ≤ 𝜃2 ≤ 𝑙2 = 250
2 2
𝜋 𝜋 𝑙3 = 160
− ≤ 𝜃3 ≤
2 2

Dr. Sergio Javier Torres Méndez 40


Solución

Dr. Sergio Javier Torres Méndez 41


1.7 Aplicaciones prácticas
El sistema robótico Mitsubishi movemaster consta de los siguientes
elementos:
- Robot
- Unidad de control
- Computadora personal
- Caja de enseñanza

Dr. Sergio Javier Torres Méndez 42


El robot consta de 5 articulaciones rotatorias: cintura, hombro,
codo, flexión (pitch) y giro (roll) de la muñeca.

Dr. Sergio Javier Torres Méndez 43


El nombre de cada articulación corresponde a una parte del
cuerpo humano

Dr. Sergio Javier Torres Méndez 44


El sentido de giro positivo y negativo de cada una de las
articulaciones es el siguiente:

Dr. Sergio Javier Torres Méndez 45


Rango de operación de las articulaciones:
1) Waist : +150o, -150º 2) Shoulder : +10o, -120º
3) Elbow : +0o, -110º 4) Pitch : +90o, -90o
5) Roll : +180o, -180o

Dr. Sergio Javier Torres Méndez 46


Las siguientes son medidas de los elementos o eslabones del
robot:
1) Longitud de la base = 300 mm.
2) Longitud del antebrazo = 250 mm.
3) Longitud del brazo = 160 mm.
4) Longitud de la mano = 351 mm

Dr. Sergio Javier Torres Méndez 47


Valor de las articulaciones en el origen del robot (HOME):
1) Cintura : +150º
2) Hombro : +10º
3) Codo : +0o
4) Flexión de muñeca (pitch) : +10º
5) Giro de muñeca (roll) : +180o

Dr. Sergio Javier Torres Méndez 48


El sentido positivo o negativo de los movimiento en el sistema
cartesiano(lineales) del robot son los siguientes:

Dr. Sergio Javier Torres Méndez 49


1.8 Aplicaciones computacionales
MATLAB tutorial
• Introducción
• Entorno
• Programación
• Visualización
• Ejemplos
• Simulink
• SimMechanics
• Ejemplos
Dr. Sergio Javier Torres Méndez 50
• MATLAB es el nombre abreviado de “MATrix LABoratory”.

• MATLAB es un programa para realizar cálculos numéricos con


vectores y matrices.

• Una de las capacidades más atractivas es la de realizar una


amplia variedad de gráficos en dos y tres dimensiones.

• MATLAB tiene también un lenguaje de programación


propio.

Dr. Sergio Javier Torres Méndez 51


• MATLAB NO es una hoja de calculo

• MATLAB, aunque contiene una librería para realizar cálculo


simbólico, NO es adecuado para operaciones simbólicas como
MAPLE

• MATLAB NO es la solución a todos nuestros problemas

• MATLAB NO es gratis. La versión libre y gratuita del lenguaje


de MATLAB es OCTAVE: http://www.octave.org

Dr. Sergio Javier Torres Méndez 52


• El lenguaje de programación de MATLAB es una magnífica
herramienta de alto nivel para desarrollar aplicaciones
técnicas.

MATLAB

Herramientas
Lenguaje de alto nivel Gráficos 2D y 3D matemáticas

Conexión externa

Dr. Sergio Javier Torres Méndez 53


• Características de MATLAB

Matlab
Comandos
Matlab

m-archivos Linea de mat-archivos


comandos

funciones Manejo
scripts
Definidas por de datos
el usuario
Anónimas

Dr. Sergio Javier Torres Méndez 54


MATLAB entorno

Menús Espacio de trabajo

Directorio actual

Ventana de comandos

Historial de comandos

Dr. Sergio Javier Torres Méndez 55


MATLAB preferencias

Dr. Sergio Javier Torres Méndez 56


MATLAB variables

• No se necesita declaración del tipo de variable; todas son creadas


como doble precisión.

• La variable x es una
matriz de 1x1 con
doble precisión.

• El formato de las variables son:

short (por omisión),


long

Dr. Sergio Javier Torres Méndez 57


MATLAB vectores y matrices

• Un vector renglón • Un vector columna

• Una matriz
• Su transpuesta

Dr. Sergio Javier Torres Méndez 58


• El operador ‘:’

• Elementos de una matriz

Dr. Sergio Javier Torres Méndez 59


• MATLAB operadores aritméticos
◼ + Adición
◼ - Sustracción
◼ * Multiplicación
◼ / División
◼ \ División por la izquierda
◼ ^ Potencia
◼ ‘ Transpuesta • MATLAB generadores de matrices
◼ eye Matriz unitaria
• MATLAB constantes ◼ meshgrid Matriz equiespaciada 2D
◼ pi 3.14159265… ◼ zeros Todos ceros
◼ i Unidad imaginaria ◼ ones Todos unos
◼ Inf Infinito ◼ rand Uniformemente Aleatorios
◼ Nan No es un número ◼ randn Normalmente aleatorios

Dr. Sergio Javier Torres Méndez 60


• MATLAB operaciones matriciales (algebra lineal)

Dr. Sergio Javier Torres Méndez 61


• MATLAB operaciones por elemento ‘.’

◼ + Adición
◼ - Sustracción
◼ .* Multiplicación elemento por elemento
◼ ./ División elemento por elemento
◼ .\ División por la izq. elemento por elemento
◼ .^ Potencia elemento por elemento

Dr. Sergio Javier Torres Méndez 62


MATLAB gráficos

Dr. Sergio Javier Torres Méndez 63


MATLAB gráficos 2D

Dr. Sergio Javier Torres Méndez 64


MATLAB gráficos 2D
• Trazado de la función sin 𝑥 , 0 ≤ 𝑥 ≤ 4𝜋
Barra de
herramientas
Menú

Ventana de la figura

Ejes del sistema


coordenado

Line del trazo


Dr. Sergio Javier Torres Méndez 65
Dr. Sergio Javier Torres Méndez 66
• Múltiples trazados de la función sin 𝑥 , cos 𝑥 , 0 ≤ 𝑥 ≤ 4𝜋

Dr. Sergio Javier Torres Méndez 67


2 renglones por 1 columna

Dr. Sergio Javier Torres Méndez 68


4 renglones por 2 columnas

subplot(4,2,3)
plot(rand(10,2))

Dr. Sergio Javier Torres Méndez 69


Edición de
gráficos

Dr. Sergio Javier Torres Méndez 70


MATLAB gráficos 3D
3D surfaces Volumetric Vector fields Contour Analytic

Dr. Sergio Javier Torres Méndez 71


MATLAB gráficos 3D
• Trazado de una hélice tridimensional

Ejes del sistema


coordenado 3D

Línea del trazo 3D

Dr. Sergio Javier Torres Méndez 72


Ejes del sistema
coordenado 3D

Superficie

Dr. Sergio Javier Torres Méndez 73


MATLAB operadores lógicos relacionales

◼ == Igual a
◼ ~= No igual a
◼ < Menor que
◼ > Mayor que
◼ <= Menor igual que
◼ >= Mayor igual que
◼ & Operador “y”
◼ | Operator “o”

Dr. Sergio Javier Torres Méndez 74


if MATLAB operadores de control de flujo while
for
n
n

s s

switch-case

s
continue break

n
s

Dr. Sergio Javier Torres Méndez 75


MATLAB estructuras de control

◼ If Ejemplo:

if (Condicion_1)
Comandos MATLAB

elseif (Condicion_2)
Comandos MATLAB

else
Comandos MATLAB
end

Dr. Sergio Javier Torres Méndez 76


◼ For
Ejemplo:
for i=Indeces_Arreglo
Comandos MATLAB

end

Dr. Sergio Javier Torres Méndez 77


Ejemplo:

◼ While

while (condicion)
Comandos MATLAB

end

Dr. Sergio Javier Torres Méndez 78


MATLAB m-archivos (*.m)
Nuevo programa
Correr programa

Escritura del
programa

Dr. Sergio Javier Torres Méndez 79


• Cambio de directorio de m-archivos

Dr. Sergio Javier Torres Méndez 80


• “%” es para añadir comentarios, esto es, la línea del código
del programa es saltada por el compilador de MATLAB.

• Algunas veces es necesario alentar la ejecución de un


programa en forma deliberada para realizar una mejor
observación de los resultados. “pause” es el comando
para ese propósito.

pause %espera hasta el toque de cualquier tecla


pause(3) %espera 3 seconds

Dr. Sergio Javier Torres Méndez 81


• Uso de un m-archivo (programa script)

Se ejecuta escribiendo su nombre:


Guardar archivo como >> ejem_traza
ejem_traza.m O presionando el botón “run”

Un script (guion)
es una secuencia
de instrucciones
de Matlab
guardada en un
archivo con
extensión *.m

Dr. Sergio Javier Torres Méndez 82


MATLAB funciones
• Las funciones pueden recibir varios valores y devolver uno o
varios resultados.
• MATLAB provee con un gran número de funciones localizadas
en toolbox\matlab

Código de la
función
trace()

Dr. Sergio Javier Torres Méndez 83


• Uso de un m-archivo (función propia de MATLAB)
Código de programa: ejem_trace.m

Resultado

Dr. Sergio Javier Torres Méndez 84


• Funciones propias de MATLAB
Funciones matemáticas
elementales

Funciones matriciales
elementales

Dr. Sergio Javier Torres Méndez 85


MATLAB funciones “handles” (alias)

Son capaces de pasar una función a otra función

Utilizar @ para construir


una función alias

Dr. Sergio Javier Torres Méndez 86


MATLAB funciones anónimas
• Una función “handle” (alias) permite invocar una
función anónima

• Una función anónima es una función de una sola línea


que no requiere un archivo de programa

Crea una función anónima que calcula


el seno de su argumento de entrada x

El operador @ hace que prue1 sea una


función alias

Dr. Sergio Javier Torres Méndez 87


Crea una función anónima que calcula
x^2+y^2 de sus dos argumentos de
entrada x, y

El operador @ hace que prue2 sea una


función alias

Dr. Sergio Javier Torres Méndez 88


MATLAB funciones definidas por el usuario
• Las funciones se escriben en archivos *.m que deben
encontrarse en el directorio actual (o en un directorio
definido en el path).

• El código para definir que un m-archivo es una función es

function out1=functionname(in1)
function out1=functionname(in1,in2,in3)
function [out1,out2]=functionname(in1,in2)

• Se debe escribir al principio del m-archivo y guardar el


archivo con el mismo nombre que el del nombre de la
función

Dr. Sergio Javier Torres Méndez 89


• Uso de un m-archivo (función personalizada)
Función que calcula traza de una matriz cuadrada Guardar archivo como
ejem_funcion_traza.m

Código de la función
ejem_funcion_traza(A)

Se ejecuta llamando la función:


>> ejem_funcion_traza
Verificar que el archivo este en el “path”
Dr. Sergio Javier Torres Méndez 90
MATLAB variables simbólicas

Las funciones de la
herramienta simbólica de
MATLAB

Dr. Sergio Javier Torres Méndez 91


• Ejemplo de diferenciación simbólica
Declaración de variables
simbólicas

Expresión simbólica

Diferenciación con
respecto a la variable
“y”

Diferenciación con
respecto a la variable
“v”

Dr. Sergio Javier Torres Méndez 92


• Ejemplos de la librería simbólica

Dr. Sergio Javier Torres Méndez 93


MATLAB Raíces de un polinomio

Los coeficientes de un desarrollo en serie son un vector


x2 + x es 1x2 + 1x + 0, es decir [1 1 0]

Dr. Sergio Javier Torres Méndez 94


MATLAB Resolución de sistemas de ecuaciones lineales

Para resolver sistemas de ecuaciones lineales contamos con un


operador universal

Dr. Sergio Javier Torres Méndez 95


MATLAB Solución de ecuaciones diferenciales
• Es una de las aplicaciones más importantes del cálculo
numérico de MATLAB utilizando varios “solvers” (métodos)

• Lo más importante es saber si nuestro problema es “stiff”


(consistente)

• Un problema es “stiff” (consistente) cuando el paso temporal


viene determinado por la estabilidad del esquema

• Problemas no consistentes “no-stiff” suelen relacionarse con


problemas no lineales o condiciones de contorno muy
exigentes

• Requieren esquemas de integración temporal implícitos


Dr. Sergio Javier Torres Méndez 96
MATLAB “solvers” (métodos)
ode23 No-stiff , Runge-Kutta, bajo orden, un paso
ode23s Stiff, Rosenbrock, bajo orden, un paso
ode23t Moderadamente stiff, regla del trapecio,
ode23tb Stiff, regla del trapecio y diferenciación hacia atrás, bajo orden
ode45 No-stiff , Runge-Kutta orden 4-5, paso variable
ode15i Implicit, variable orden
ode15s Stiff, NDFs, variable orden, multipaso
ode113 No-stiff , Adams, multipaso

MATLAB sintaxis

[T,Y] = solver(odefun,tspan,y0)
[T,Y] = solver(odefun,tspan,y0,options)
[T,Y,TE,YE,IE] = solver(odefun,tspan,y0,options)
sol = solver(odefun,[t0 tf],y0...)

Dr. Sergio Javier Torres Méndez 97


Un caso típico es la ecuación del oscilador de Van der Pol

𝑥ሷ + 𝑥 + 𝜇 𝑥ሶ 2 − 1 𝑥 = 0 Es un oscilador con
amortiguamiento no
En variables de estado: lineal
𝑥1 = 𝑥
𝑥2 = 𝑥ሶ1
𝑥ሶ 2 = 𝑥ሷ = −𝑥 − 𝜇 𝑥ሶ 2 − 1 𝑥

Condiciones iniciales:

𝑥1 (0) = 𝑥(0) = 2
𝑥2 0 = 𝑥ሶ 1 0 = 𝑥ሶ 0 = 0

Dr. Sergio Javier Torres Méndez 98


no consistente “no-stiff” método

1 >> [tout,xout]=ode45(@vdp1,[0 20],[2 0]);


2 >> plot(tout,xout(:,1))

𝜇= 1
𝑡=20

Dr. Sergio Javier Torres Méndez 99


no consistente “no-stiff” método
1 >> [tout,xout]=ode45(@vdp1000,[0 1000],[2 0]);
2 >> plot(tout,xout(:,1))

𝜇= 1000
𝑡=1000

Lento!

Dr. Sergio Javier Torres Méndez 100


consistente “stiff”
1 >> [tout,xout]=ode23s(@vdp1000,[0 3000],[2 0]);
2 >> plot(tout,xout(:,1))

𝜇= 1000
𝑡=3000

Dr. Sergio Javier Torres Méndez 101


Robótica Industrial

Fin Unidad I

Dr. Sergio Javier Torres Méndez 102

También podría gustarte