Está en la página 1de 116

Robtica Industrial

Unidad I Sistemas Robticos

Dr. Sergio Javier Torres Mndez


1
Programacin del curso
Unidad 1: Sistemas Robticos

Unidad 2: Cinetoesttica

Unidad 3: Dinmica

Unidad 4: Control

Dr. Sergio Javier Torres Mndez 2


Unidad I Sistemas Robticos

Dr. Sergio Javier Torres Mndez 3


1. Sistemas Robticos
1.1 Preliminares matemticos
1.2 Cronologa de la robtica
1.3 Definiciones
1.4 Componentes de un sistema robtico
1.5 Clasificacin
1.6 Espacio de trabajo
1.7 Aplicaciones prcticas
1.8 Programacin
1.9 Aplicaciones computacionales

Dr. Sergio Javier Torres Mndez 4


1.1 Preliminares matemticos

Simbologa
Trigonometra
lgebra vectorial
lgebra matricial

Dr. Sergio Javier Torres Mndez 5


1.2 Cronologa de la robtica
1954: George Devol disea el primer robot programable
comercial. Que se comercializara 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 ingls del Instituto Tecnolgico de Massachussets),
piedra angular de la robtica universitaria del siglo XX.

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


transferencia de artculos.

Dr. Sergio Javier Torres Mndez 6


1961: Un robot Unimate se instal en la Ford Motors
Company para atender una mquina de fundicin de troquel.

1965: Se funda el Robotics Institute en la Carnegie Melon


University. Hoy es como un "supermercado tecnolgico",
donde se desarrollan cientos de robots.

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


de pintura por pulverizacin.

1971: El "Standford Arm'', un pequeo brazo de robot de


accionamiento elctrico, se desarroll en la Standford
University.

Dr. Sergio Javier Torres Mndez 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 robtico articulado, para obtener muestras
de roca de la superficie marciana.

1978: Empiezan a surgir numerosas empresas dedicadas a la


fabricacin de robots para la industria. Solo en la dcada de los 80,
en EEUU surgen ms 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 ms de 10 aos en desarrollar, causando un gran impacto
mundial por los enormes adelantos mostrados por este, respecto
de sus competidores internacionales.

Dr. Sergio Javier Torres Mndez 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 pequeo humanoide en la Robodex


2000. Mientras los americanos miran a sus robots en Marte, Japn
mira a sus robots a la cara. Cada uno en su terreno son los reyes de
la robtica.

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


comercial completamente autnomo capaz de correr. HONDA sera
el primero en caminar, pero SONY fue el primero en correr. La
carrera estaba abierta y otras empresas anunciaban su propsito de
unirse.

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


construyen un robot que se replica a si mismo.
Dr. Sergio Javier Torres Mndez 9
Primera Generacin:

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 Informacin muy
limitada de acuerdo a su entorno
y de acorde a esta acta, repite
tareas programadas y acta en
consecuencia a los sucesos.

Dr. Sergio Javier Torres Mndez 10


Segunda Generacin:

Disponen de sistemas de control


en lazo cerrado, con sensores
que les permiten adquirir
informacin del medio en que se
encuentran y adaptar su
actuacin a las mismas.
Adquieren tambin informacin
limitada de su entorno y el
movimiento lo controla a travs
de una secuencia numrica
almacenada en disco; se utilizan
en la industria automotriz y son
de gran tamao.
Dr. Sergio Javier Torres Mndez 11
Tercera Generacin:

Poseen capacidad para la


planificacin automtica de tareas;
son robots adaptables a distintos
entornos, capaces de reprogramarse
de forma automtica, en funcin de
los datos proporcionados por los
sensores.
Utilizan las computadoras para su
control y tienen cierta percepcin
de su entorno a travs del uso de
sensores.
Con ellos se inicia la era de los
robots inteligentes

Dr. Sergio Javier Torres Mndez 12


Cuarta Generacin:

Son altamente inteligentes con


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

Dr. Sergio Javier Torres Mndez 13


Quinta generacin:

Esta actualmente en desarrollo,


pero dando pasos gigantescos en
este tipo de generacin de robots
que sern los que nos acompaen
en el futuro en todas nuestras
actividades cotidianas y darn paso
a una nueva era.

Dr. Sergio Javier Torres Mndez 14


1.3 Definiciones
Robtica: Es la coleccin de conocimiento para el
diseo, anlisis, y control de robots. Se considera
una parte importante de la mecatrnica.

Dr. Sergio Javier Torres Mndez 15


Robot industrial: Es un mecanismo multifuncional
y reprogramable diseado para mover piezas,
herramientas o dispositivos especializados.
Tambin es llamado robot manipulador.

Dr. Sergio Javier Torres Mndez 16


Videos

17
1.4 Componentes de un sistema
robtico
Consiste en una serie de segmentos mviles
(eslabones) uno con respecto a otro por medio de
articulaciones y conectados a una base fija (cadena
cinemtica abierta).

Dr. Sergio Javier Torres Mndez 18


Sistema robtico
Sistema mecnico
Sistema de actuacin
Visin
Sistema sensorial Robot
Sistema de control Motores

Computadora Encoders
Pieza

Motor
control
Comando
Controlador
Dr. Sergio Javier Torres Mndez 19
Sistema sensorial

Captan la informacin
Sensores internos relacionada con el
estado del robot

Sensores

Captan la informacin
Sensores externos relacionada con el
entorno del robot

Dr. Sergio Javier Torres Mndez 20


Sensores internos
Encoder incremental
Lineal
Encoder absoluto

Posicin Potencimetro
LVDT (transformador
Rotativo diferencial de variacin lineal)
Resolver

Sensores de posicin
Velocidad Tacmetros
Efecto Hall
Galgas extensiomtricas
Aceleracin
y Interruptores de efecto Hall
fuerza Interruptores piezoelctricos

Dr. Sergio Javier Torres Mndez 21


Sensores externos
Interruptores de lmite
Interruptores neumticos
De contacto
Sensores piezoelctricos
Transductores de presin

De proximidad (inductivos, capacitivos, pticos)


De efecto Hall
De microondas
Sin contacto
Ultrasnicos
De lser
De visin

Dr. Sergio Javier Torres Mndez 22


Estructura
Eslabn (elemento): Pueden rgidos o elsticos.
Asumiendo solamente eslabones rgidos y segn el
nmero de nodos:
Binario

Cuaternario
Ternario

Dr. Sergio Javier Torres Mndez 23


Articulacin (unin): Es la conexin para proveer
movimiento relativo entre dos eslabones.

Pueden simplificarse en dos tipos:

Dr. Sergio Javier Torres Mndez 24


Las articulaciones proveen de un nmero de restricciones
fsicas en el movimiento relativo entre dos eslabones.
= nmero de restricciones
=6 =3 = nmero de movimientos libres
Esfrica

=63=3 3 traslaciones

Cilndrica 2 traslaciones
=62=4
2 rotaciones

Dr. Sergio Javier Torres Mndez 25


Grados de Libertad
Es el nmero total de variables independientes que
pueden identificar completamente la configuracin
de un robot manipulador. Este nmero n puede ser
calculado como:

=
=1
Donde:
= Nmero de grados de libertad
= Nmero de grados de libertad mximos: 3 planar y 6 espacial
= Nmero de eslabones mviles
= Nmero de articulaciones
= Nmero de grados de libertad de la articulacin i
Dr. Sergio Javier Torres Mndez 26
Ejemplo
Determine el nmero de grados de libertad del
mecanismo mostrado abajo:

Dr. Sergio Javier Torres Mndez 27


Solucin

Dr. Sergio Javier Torres Mndez 28


1.5 Clasificacin
Tipo de movimiento: planar, esfrico, espacial
Nmero de grados de libertad: De propsito general
( = ), redundante ( > ), deficiente ( < )
Tipo de estructura cinemtica: serial (cadena
abierta), paralelo (cadena cerrada), hbrido
Tipo de actuacin: Elctrico, hidrulico, neumtico.
Tipo de transmisin: Directa, convencional.
Geometra del espacio de trabajo: Cartesiano,
cilndrico, esfrico y articulado.

Dr. Sergio Javier Torres Mndez 29


Coordenadas cartesianas Coordenadas esfricas

Coordenadas cilndricas Coordenadas articulares


Dr. Sergio Javier Torres Mndez 30
cartesiano esfrico cilndrico

articulado

Dr. Sergio Javier Torres Mndez 31


Robots industriales
Robot cartesiano
Diagrama esquemtico?

ProLine PL60
(HAHN Automation Plastics)

Dr. Sergio Javier Torres Mndez 32


Robot esfrico

Diagrama esquemtico?

Robot Stanford

Dr. Sergio Javier Torres Mndez 33


Robot cilndrico

Diagrama esquemtico?

RT33 (SEIKO Instruments)

Dr. Sergio Javier Torres Mndez 34


Robot articulado

Diagrama esquemtico?

FANUC S900W
articulado
Dr. Sergio Javier Torres Mndez 35
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 fsicos
admisibles de sus articulaciones y eslabones

Dr. Sergio Javier Torres Mndez 36


Mtodo grfico

Dibujar rangos
mximos y mnimos
de las articulaciones

Dr. Sergio Javier Torres Mndez 37


Mtodo analtico
Definir las ecuaciones de las curvas
Calcular el rea bajo las curvas (integrales)


= 2


= 2
= () 2 (360o)
= ()

Dr. Sergio Javier Torres Mndez 38
Ejemplo
Para el robot Mitsubishi RV-M1, determine lo siguiente:
a) Una expresin analtica para
3 calcular el espacio de trabajo.
b) El valor del espacio de trabajo
2 3
asumiendo los parmetros
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 Mndez 39


Solucin

Dr. Sergio Javier Torres Mndez 40


SolidWorks (verificacin)

41
1.7 Aplicaciones prcticas
El sistema robtico Mitsubishi movemaster consta de los siguientes
elementos:
- Robot
- Unidad de control
- Computadora personal
- Caja de enseanza

Dr. Sergio Javier Torres Mndez 42


El robot consta de 5 articulaciones rotatorias: cintura, hombro,
codo, flexin (pitch) y giro (roll) de la mueca.

Dr. Sergio Javier Torres Mndez 43


El nombre de cada articulacin corresponde a una parte del
cuerpo humano

Dr. Sergio Javier Torres Mndez 44


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

Dr. Sergio Javier Torres Mndez 45


Rango de operacin 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 Mndez 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 Mndez 47


Valor de las articulaciones en el origen del robot (HOME):
1) Cintura : +150
2) Hombro : +10
3) Codo : +0o
4) Flexin de mueca (pitch) : +10
5) Giro de mueca (roll) : +180o

Dr. Sergio Javier Torres Mndez 48


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

Dr. Sergio Javier Torres Mndez 49


1.8 Programacin por enseanza

El modo manual
de operacin del
robot se realiza
por medio de la
caja de enseanza.

Dr. Sergio Javier Torres Mndez 50


(27) ON / OFF ( Interruptor de energa )
Seleccionan el habilitar y deshabilitar las teclas de la caja de enseanza. Cuando el
robot va a ser operado usando la caja de enseanza, ponga este interruptor en ON.
Durante la corrida del programa o cuando el robot esta siendo controlado por medio
de comandos enviados desde una computadora personal, apague el interruptor en
OFF. Tambin pude borrarse una entrada errnea de tecla apagando el interruptor a
OFF.

(28) EMG. STOP ( Interruptor de paro de energa )


Botn interruptor usado para un paro de energa del robot ( la seal internamente
queda bloqueada cuando este botn se oprime ). Cuando se oprime el interruptor, el
robot inmediatamente se detiene y el indicador LED de error parpadea ( modo de
error I). E1 led 4 dentro de la puerta lateral de la unidad motora tambin se
enciende.

(29) INC (+ ENT)


Mueve al robot a una posicin predefinida por un nmero de posicin mayor al
presente para mover al robot a travs de una cierta frecuencia, le quita la secuencia
de tecleo. ( Vea el comando IP)
Dr. Sergio Javier Torres Mndez 51
(30) DEC (+ENT )
Mueve el robot a una posicin predefinida con un nmero de posicin menor que
presente para mover el robot a travs de una cierta frecuencia, repita la secuencia
de tecleo. ( Vea el comando DP ).

(31) P.S ( + NUMBER + ENT )


Define las coordenadas de la posicin presente del robot en una posicin con el
nmero especificado si un solo nmero es asignado a dos posiciones diferentes la
definida al ultimo toma preferencia. ( Vea el comando HE )

(32) P.C ( + number )


Elimina el contenido de una posicin con el nmero especificado ( Vea el
comando PC )

(33) NST ( + ENT )


Regresa el robot al origen ( Vea el comando NT).

Dr. Sergio Javier Torres Mndez 52


(34) ORG ( +ENT )
Mueve el robot a la posicin de referencia en el sistema de coordenadas
cartesianas. ( Vea el comando OG ) .

(35) TRN ( + ENT )


Transfiere el contenido del Eprom del usuario ( programa y datos de posicin )
Instalado en el SOC2 del panel lateral en la unidad motora a la ram de la unidad
motora : ( Vea el comando TR )

(36) WRT (+ ENT )


Escribe el programa y los datos de posicin escritos en la ram de la unidad motora
en el Eprom del usuario instalado en el SOC2 del panel lateral al de la unidad
motora ( Vea el comando CR )

(37) MOV ( NUMBER + ENT )


Mueve el extremo de la mano a una posicin especificada. ( Vea el comando
MO ). La velocidad del movimiento es equivalente a SP4.

Dr. Sergio Javier Torres Mndez 53


(38) STEP ( + NUMBER + ENT )
Ejecuta el programa paso por paso empezando en el nmero de lnea especificada.
Para hacer que el programa sea ejecutado en secuencia de un paso a otro, repita la
secuencia de tecleo. Note que, no es necesario enterar los nmeros. Se causa un
error modo II Si ocurre un error mientras los pasos estn siendo ejecutados.

(39) PTP
Selecciona la operacin jog articulada. Cuando se oprime esta tecla, la operacin
de cualquier tecla jog en lo sucesivo efecta un movimiento en cada articulacin.
En la condicin inicial cuando se enciende la caja de enseanza, se acondiciona
este estado PTP.

(40) XYZ
Selecciona la operacin jog cartesiana. Cuando se oprime esta tecla, la operacin
de cualquier tecla de jog en lo sucesivo efecta un movimiento axial en el sistema
cartesiano de coordenadas.

Dr. Sergio Javier Torres Mndez 54


(41) TOOL
Selecciona la operacin jog de la herramienta. Cuando se oprime esta tecla la
operacin jog de cualquier tecla en lo sucesivo efecta un movimiento axial en
el sistema de coordenadas de la herramienta (movimiento de avance / retraccin
en la direccin de la mano).

(42) ENT
Complementa la entrada en cada tecla de (29) a (38) para efectuar la operacin
correspondiente.

(43) X+/B+
Mueve el extremo de la mano en el sentido positivo del eje X (a la izquierda si
se esta viendo hacia el frente del robot) en la operacin jog cartesiana y barre la
cintura en sentido positivo (a favor de las manecillas del reloj si se ve desde
arriba del robot) en la operacin jog articulada.

Dr. Sergio Javier Torres Mndez 55


(44) X-/B-
Mueve el extremo de la mano en el sentido negativo del eje X (a la derecha si se
esta viendo hacia el frente del robot) en la operacin jog cartesiana y barre la
cintura en sentido negativo (contra las manecillas del reloj si se ve desde arriba
del reloj) en la operacin jog articulada.

(45) Y+/S+
Mueve el extremo de la mano en el sentido positivo del eje Y ( hacia el frente del
robot ) en el jog cartesiano y gira el hombro en el sentido positivo hacia arriba en
el jog articulado.

(46) Y-/S-
Mueve el extremo de la mano en el sentido negativo del eje Y (ha hacia atrs del
robot ) en el jog cartesiano y gira el hombro en el sentido negativo ( hacia abajo )
en el jog articulado.

(47) Z+/E+4
Mueve el extremo de la mano en el sentido positivo del eje Z ( directamente hacia
arriba ) en el jog cartesiano voltea el codo en sentido positivo ( Hacia arriba ) en
el jog articulado, y avanza la mano en el jog de herramienta. Sirve tambin como
la tecla numrica 4 Dr. Sergio Javier Torres Mndez 56
(48) Z-/E-9
Mueve el extremo de la mano en el sentido negativo del eje Z (directamente
hacia abajo) en el jog cartesiano voltea el codo en sentido negativo (hacia
abajo) en el jog articulado, y retrae la mano en el jog de herramienta. Sirve
tambin como la tecla numrica 9

(49) P+3
Voltea el extremo de la mano manteniendo su posicin presente determinada
por el comando TL , en el sentido positivo ( hacia arriba ) en el jog
cartesiano y dobla la mueca ( cabeceo de mueca ) en el sentido positivo (
hacia arriba ) en el jog articulado. Sirve tambin como la tecla numrica 3

(50) P-8
Voltea el extremo de la mano, manteniendo su posicin presente determinada
por el comando TL, en el sentido negativo (hacia abajo) en el jog cartesiano
y dobla la mueca (cabeceo de mueca) en el sentido negativo (hacia abajo)
en el jog articulado. Sirve tambin como la tecla numrica 8

Dr. Sergio Javier Torres Mndez 57


(51) R+2
Tuerce la mueca (balanceo de mueca) en el sentido positivo (a favor de las
manecillas del reloj viendo hacia la superficie de montaje de la mano). Sirve
tambin como la tecla numrica 2

(52) R-7
Tuerce la mueca (balanceo de mueca) en el sentido negativo (contra las
manecillas del reloj viendo hacia la superficie de montaje de la mano). Sirve
tambin como la tecla numrica 7

(53) OPTION + 1
Mueve el eje opcional en sentido positivo. Sirve tambin como la tecla
numrica 1

(54) OPTION - 6
Mueve el eje opcional en sentido negativo. Sirve tambin como la tecla
numrica 6

Dr. Sergio Javier Torres Mndez 58


(55)
Abre el agarrador de la mano. Sirve tambin como la tecla numrica 0

(56)
Cierra el agarrador de la mano. Sirve tambin como la tecla numrica 5.

(57) Nmero de posicin


Muestra el nmero de posicin en 3 dgitos cuando se estn usando las teclas
INC, DEC, PS, PC, o MOV

(58) Nmero de lnea del programa.


Muestra el nmero de lnea de programa en 4 dgitos cuando se est usando
la tecla STEP o cuando el programa est corriendo.

(59) Indicador de estatus de la caja de enseanza (primer dgito de la


izquierda)
U significa que el proceso invocado al oprimir la tecla ENT est
en proceso o ha terminado,
C significa que el proceso invocado al oprimir la tecla ENT no
puede ser llevado acabo.
Dr. Sergio Javier Torres Mndez 59
EJEMPLO DE UTILIZACIN DE LA CAJA DE ENSEANZA

Ponga en ON el interruptor ON/OFF de la caja de enseanza.

(1) Definicin de posiciones

Definamos tres posiciones diferentes como sigue.

1) Oprima la tecla o teclas jog necesarias para mover el extremo del brazo a una
posicin apropiada.

2) Suponga que esta es la posicin "10" Ahora, apriete las siguientes teclas
sucesivamente: P.S + 1 + 0 + ENT
Esto fija la posicin 10. Esta vez, la posicin abierta/cerrada de la mano tambin
ha sido definida.

3) En la misma forma, defina las posiciones 11 y 12 repitiendo los pasos 1) y 2)


de arriba.

Dr. Sergio Javier Torres Mndez 60


(2) Verificacin de posiciones

Verifiquemos si las posiciones han sido definidas correctamente.

1) Para verificar la posicin 10, apriete las siguientes teclas


sucesivamente:
MOV + 1 + 0 + ENT

Si la posicin ha sido correctamente definida, el extremo del


brazo se mueve al punto mencionado arriba.

2) En la misma forma, verifique las posiciones 11 y 12.

Dr. Sergio Javier Torres Mndez 61


(3) Cambio de posiciones

Cambiemos, o redefinamos, posiciones previamente definidas,

1) Mueva el extremo del brazo a una posicin distinta de 10 y


apriete las siguientes teclas sucesivamente;

P.S + 1 + 0 + ENT

Esto limpia los datos de la vieja posicin y redefine la posicin


10.

2) De la misma manera, redefina las posiciones 11 y 12.

Dr. Sergio Javier Torres Mndez 62


(4) Eliminacin de posiciones

Si se deseara eliminar algunas posiciones.

1) Para eliminar la posicin 10, apriete las siguientes teclas sucesivamente;

P.C + 1 + 0 + ENT

Esto limpia la posicin 10 hacindola disponible para una nueva definicin.

2) Para verificar que la posicin 10 ha sido eliminada apropiadamente, apriete


las siguientes teclas sucesivamente;

MOV + 1 + 0 + ENT

Si los datos de la posicin han sido correctamente eliminados, el LED indicador


del estatus de la caja de enseanza muestra " " lo que indica que la funcin
invocada no puede ser realizada.

Dr. Sergio Javier Torres Mndez 63


1.9 Aplicaciones computacionales
MATLAB tutorial
Introduccin
Entorno
Programacin
Visualizacin
Ejemplos
Simulink
SimMechanics
Ejemplos
Dr. Sergio Javier Torres Mndez 64
MATLAB es el nombre abreviado de MATrix LABoratory.

MATLAB es un programa para realizar clculos numricos con


vectores y matrices.

Una de las capacidades ms atractivas es la de realizar una


amplia variedad de grficos en dos y tres dimensiones.

MATLAB tiene tambin un lenguaje de programacin


propio.

Dr. Sergio Javier Torres Mndez 65


MATLAB NO es una hoja de calculo

MATLAB, aunque contiene una librera para realizar clculo


simblico, NO es adecuado para operaciones simblicas como
MAPLE

MATLAB NO es la solucin a todos nuestros problemas

MATLAB NO es gratis. La versin libre y gratuita del lenguaje


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

Dr. Sergio Javier Torres Mndez 66


El lenguaje de programacin de MATLAB es una magnfica
herramienta de alto nivel para desarrollar aplicaciones
tcnicas.

MATLAB

Herramientas
Lenguaje de alto nivel Grficos 2D y 3D matemticas

Conexin externa

Dr. Sergio Javier Torres Mndez 67


Caractersticas de MATLAB

Matlab
Comandos
Matlab

m-archivos Linea de mat-archivos


comandos

funciones Manejo
scripts
Definidas por de datos
el usuario
Annimas

Dr. Sergio Javier Torres Mndez 68


MATLAB entorno

Mens Espacio de trabajo

Directorio actual

Ventana de comandos

Historial de comandos

Dr. Sergio Javier Torres Mndez 69


MATLAB preferencias

Dr. Sergio Javier Torres Mndez 70


MATLAB variables

No se necesita declaracin del tipo de variable; todas son creadas


como doble precisin.

La variable x es una
matriz de 1x1 con
doble precisin.

El formato de las variables son:

short (por omisin),


long

Dr. Sergio Javier Torres Mndez 71


MATLAB vectores y matrices

Un vector rengln Un vector columna

Una matriz
Su transpuesta

Dr. Sergio Javier Torres Mndez 72


El operador :

Elementos de una matriz

Dr. Sergio Javier Torres Mndez 73


MATLAB operadores aritmticos
+ Adicin
- Sustraccin
* Multiplicacin
/ Divisin
\ Divisin 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 nmero randn Normalmente aleatorios

Dr. Sergio Javier Torres Mndez 74


MATLAB operaciones matriciales (algebra lineal)

Dr. Sergio Javier Torres Mndez 75


MATLAB operaciones por elemento .

+ Adicin
- Sustraccin
.* Multiplicacin elemento por elemento
./ Divisin elemento por elemento
.\ Divisin por la izq. elemento por elemento
.^ Potencia elemento por elemento

Dr. Sergio Javier Torres Mndez 76


MATLAB grficos

Dr. Sergio Javier Torres Mndez 77


MATLAB grficos 2D

Dr. Sergio Javier Torres Mndez 78


MATLAB grficos 2D
Trazado de la funcin sin , 0 4
Barra de
herramientas
Men

Ventana de la figura

Ejes del sistema


coordenado

Line del trazo


Dr. Sergio Javier Torres Mndez 79
Dr. Sergio Javier Torres Mndez 80
Mltiples trazados de la funcin sin , cos , 0 4

Dr. Sergio Javier Torres Mndez 81


2 renglones por 1 columna

Dr. Sergio Javier Torres Mndez 82


4 renglones por 2 columnas

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

Dr. Sergio Javier Torres Mndez 83


Edicin de
grficos

Dr. Sergio Javier Torres Mndez 84


MATLAB grficos 3D
3D surfaces Volumetric Vector fields Contour Analytic

Dr. Sergio Javier Torres Mndez 85


MATLAB grficos 3D
Trazado de una hlice tridimensional

Ejes del sistema


coordenado 3D

Lnea del trazo 3D

Dr. Sergio Javier Torres Mndez 86


Ejes del sistema
coordenado 3D

Superficie

Dr. Sergio Javier Torres Mndez 87


MATLAB operadores lgicos relacionales

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

Dr. Sergio Javier Torres Mndez 88


if MATLAB operadores de control de flujo while
for
n
n

s s

switch-case

s
continue break

n
s

Dr. Sergio Javier Torres Mndez 89


MATLAB estructuras de control

If Ejemplo:

if (Condicion_1)
Comandos MATLAB

elseif (Condicion_2)
Comandos MATLAB

else
Comandos MATLAB
end

Dr. Sergio Javier Torres Mndez 90


For
Ejemplo:
for i=Indeces_Arreglo
Comandos MATLAB

end

Dr. Sergio Javier Torres Mndez 91


Ejemplo:

While

while (condicion)
Comandos MATLAB

end

Dr. Sergio Javier Torres Mndez 92


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

Escritura del
programa

Dr. Sergio Javier Torres Mndez 93


Cambio de directorio de m-archivos

Dr. Sergio Javier Torres Mndez 94


% es para aadir comentarios, esto es, la lnea del cdigo
del programa es saltada por el compilador de MATLAB.

Algunas veces es necesario alentar la ejecucin de un


programa en forma deliberada para realizar una mejor
observacin de los resultados. pause es el comando
para ese propsito.

pause %espera hasta el toque de cualquier tecla


pause(3) %espera 3 seconds

Dr. Sergio Javier Torres Mndez 95


Uso de un m-archivo (programa script)

Se ejecuta escribiendo su nombre:


Guardar archivo como >> ejem_traza
ejem_traza.m O presionando el botn run

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

Dr. Sergio Javier Torres Mndez 96


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

Cdigo de la
funcin
trace()

Dr. Sergio Javier Torres Mndez 97


Uso de un m-archivo (funcin propia de MATLAB)
Cdigo de programa: ejem_trace.m

Resultado

Dr. Sergio Javier Torres Mndez 98


Funciones propias de MATLAB
Funciones matemticas
elementales

Funciones matriciales
elementales

Dr. Sergio Javier Torres Mndez 99


MATLAB funciones handles (alias)

Son capaces de pasar una funcin a otra funcin

Utilizar @ para construir


una funcin alias

Dr. Sergio Javier Torres Mndez 100


MATLAB funciones annimas
Una funcin handle (alias) permite invocar una
funcin annima

Una funcin annima es una funcin de una sola lnea


que no requiere un archivo de programa

Crea una funcin annima que calcula


el seno de su argumento de entrada x

El operador @ hace que prue1 sea una


funcin alias

Dr. Sergio Javier Torres Mndez 101


Crea una funcin annima que calcula
x^2+y^2 de sus dos argumentos de
entrada x, y

El operador @ hace que prue2 sea una


funcin alias

Dr. Sergio Javier Torres Mndez 102


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 cdigo para definir que un m-archivo es una funcin 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
funcin

Dr. Sergio Javier Torres Mndez 103


Uso de un m-archivo (funcin personalizada)
Funcin que calcula traza de una matriz cuadrada Guardar archivo como
ejem_funcion_traza.m

Cdigo de la funcin
ejem_funcion_traza(A)

Se ejecuta llamando la funcin:


>> ejem_funcion_traza
Verificar que el archivo este en el path
Dr. Sergio Javier Torres Mndez 104
MATLAB variables simblicas

Las funciones de la
herramienta simblica de
MATLAB

Dr. Sergio Javier Torres Mndez 105


Ejemplo de diferenciacin simblica
Declaracin de variables
simblicas

Expresin simblica

Diferenciacin con
respecto a la variable
y

Diferenciacin con
respecto a la variable
v

Dr. Sergio Javier Torres Mndez 106


Ejemplos de la librera simblica

Dr. Sergio Javier Torres Mndez 107


MATLAB Races 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 Mndez 108


MATLAB Resolucin de sistemas de ecuaciones lineales

Para resolver sistemas de ecuaciones lineales contamos con un


operador universal

Dr. Sergio Javier Torres Mndez 109


MATLAB Solucin de ecuaciones diferenciales
Es una de las aplicaciones ms importantes del clculo
numrico de MATLAB utilizando varios solvers (mtodos)

Lo ms 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 integracin temporal implcitos


Dr. Sergio Javier Torres Mndez 110
MATLAB solvers (mtodos)
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 diferenciacin hacia atrs, 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 Mndez 111


Un caso tpico es la ecuacin 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 Mndez 112


no consistente no-stiff mtodo

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


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

= 1
=20

Dr. Sergio Javier Torres Mndez 113


no consistente no-stiff mtodo
1 >> [tout,xout]=ode45(@vdp1000,[0 1000],[2 0]);
2 >> plot(tout,xout(:,1))

= 1000
=1000

Lento!

Dr. Sergio Javier Torres Mndez 114


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

= 1000
=3000

Dr. Sergio Javier Torres Mndez 115


Robtica Industrial

Fin Unidad I

Dr. Sergio Javier Torres Mndez 116