i
Gu´ Gu ´ıa de us usuar uario io
Gu´ Gu´ıa de usua us uari rio o documento pretende ser un breve manual de instalaci´on on y gu g u´ıa de ejecuc eje cuci´ i´on on de los programas programas en c´ odigo odigo abierto de la obra MATLAB Aplicado a Rob´ otica otica anera inic inicia iall en esta sta p´agin a ginaa Web se repo report rtan an m´ as a s de y Me Meca catr tr´ ´ onica onica. De mane 140 programas en c´odigo odigo fuent fuentee que de manera manera conjun conjunta ta incluy incluyen en alrede alrededor dor de 3000 l´ıneas de c´odigo odigo para para simula simular, r, analiza analizar, r, dise˜ dise˜ nar nar y desar desarroll rollar ar aplica aplicacio cione ness con sistemas mecatr´onicos onicos y robots robots manipu manipulad ladore ores. s. Los programa programass desarr desarrolla ollados dos representan representan un conjunto de librer´ librer´ıas t´ecnicas ecnicas denominados toolbox que facilita facilitan n tanto al profesor como al estudiante presentar, explicar y comprender conceptos tales como: orientaci´on, on, rotaci´on on y traslaci´on on del extremo final del robot; cinem´ cinem´atica atica directa e inversa, jacobianos, din´amica, amica, identificaci´on on param´etrica etrica y algo algoritmo ritmoss de control.
E
ste
g e m o a f l A
La p´ agina agina Web de la presente obra continuamente continuamente estar´a actualizando la informaci´on on con notas acad´ acad´emicas, emicas, ejercicios ejercicios e incremen incrementando tando programas de simulaci simulaci´´on on para realizar un mayor n´ umero umero de aplicaciones. Asimismo se reporta la fe de erratas que se refiere a errores tipogr´aficos aficos de impresi´on on se˜ nalando nalando la p´agina agina y lugar del libro donde ocurri´o. o. Dentro de los principales motivos que dieron origen a las erratas se encuentran, claro est´a el factor humano y el cambio de formato de c´odigo odigo MATLAB a lenguaje LaTex. Sin em embarg bargo, o, la depu depurac raci´ i´ on on de errores es una actividad que se realizar´a de manera constante y sistem´atica. atica. Es decir, se est´a perfeccionando perf eccionando las librer´ librer´ıas Latex que permiten editar, formar y compilar un libro; esto tiene la finalidad de mejorar la calidad de la obra en ediciones posteriores. No obstante, los programas con c´odigo odigo fuente reportados en este sitio Web no tienen ning´ un errores para su ejecuci´ un on on, ya que todos los programas han sido probados con el ambiente de programaci´on on de MATLAB, versi´on on 2011a. Nota importante
Los programas de c´odigo odigo fuente de esta obra han sido desarrollador para la versi´on on MATLAB 2011a.
´ tica y Mecatr ´ nica • Fernando Reyes Cort ´s Matlab Ma tlab Aplicado a Robotica o Mecatronica o Corte
Alfaomega
i
Gu´ Gu ´ıa de us usuar uario io
Gu´ Gu´ıa de usua us uari rio o documento pretende ser un breve manual de instalaci´on on y gu g u´ıa de ejecuc eje cuci´ i´on on de los programas programas en c´ odigo odigo abierto de la obra MATLAB Aplicado a Rob´ otica otica anera inic inicia iall en esta sta p´agin a ginaa Web se repo report rtan an m´ as a s de y Me Meca catr tr´ ´ onica onica. De mane 140 programas en c´odigo odigo fuent fuentee que de manera manera conjun conjunta ta incluy incluyen en alrede alrededor dor de 3000 l´ıneas de c´odigo odigo para para simula simular, r, analiza analizar, r, dise˜ dise˜ nar nar y desar desarroll rollar ar aplica aplicacio cione ness con sistemas mecatr´onicos onicos y robots robots manipu manipulad ladore ores. s. Los programa programass desarr desarrolla ollados dos representan representan un conjunto de librer´ librer´ıas t´ecnicas ecnicas denominados toolbox que facilita facilitan n tanto al profesor como al estudiante presentar, explicar y comprender conceptos tales como: orientaci´on, on, rotaci´on on y traslaci´on on del extremo final del robot; cinem´ cinem´atica atica directa e inversa, jacobianos, din´amica, amica, identificaci´on on param´etrica etrica y algo algoritmo ritmoss de control.
E
ste
g e m o a f l A
La p´ agina agina Web de la presente obra continuamente continuamente estar´a actualizando la informaci´on on con notas acad´ acad´emicas, emicas, ejercicios ejercicios e incremen incrementando tando programas de simulaci simulaci´´on on para realizar un mayor n´ umero umero de aplicaciones. Asimismo se reporta la fe de erratas que se refiere a errores tipogr´aficos aficos de impresi´on on se˜ nalando nalando la p´agina agina y lugar del libro donde ocurri´o. o. Dentro de los principales motivos que dieron origen a las erratas se encuentran, claro est´a el factor humano y el cambio de formato de c´odigo odigo MATLAB a lenguaje LaTex. Sin em embarg bargo, o, la depu depurac raci´ i´ on on de errores es una actividad que se realizar´a de manera constante y sistem´atica. atica. Es decir, se est´a perfeccionando perf eccionando las librer´ librer´ıas Latex que permiten editar, formar y compilar un libro; esto tiene la finalidad de mejorar la calidad de la obra en ediciones posteriores. No obstante, los programas con c´odigo odigo fuente reportados en este sitio Web no tienen ning´ un errores para su ejecuci´ un on on, ya que todos los programas han sido probados con el ambiente de programaci´on on de MATLAB, versi´on on 2011a. Nota importante
Los programas de c´odigo odigo fuente de esta obra han sido desarrollador para la versi´on on MATLAB 2011a.
´ tica y Mecatr ´ nica • Fernando Reyes Cort ´s Matlab Ma tlab Aplicado a Robotica o Mecatronica o Corte
Alfaomega
ii
Como una primera fase y con la finalidad que el lector se familiarice con el conjunto de programas para rob´ otica otica y mecatr´onica onica (toolbox ) se recomienda enf´aticamente aticamente que la instalaci´on on de d e librer l ibrer´´ıas sea como a continuaci´on on se sugiere en la figura 1:
g e m o a f l A
on on recomendada reco mendada para las librer l ibrer´´ıas de rob´otica otica y mecatr´onica. onica. Figura 1 Instalaci´
Por ejem ejempl plo, o, en el disc discoo duro duro c crear crear el siguien siguiente te direc directori torioo c:\robot\PARTEI y den dentro tro de la ca carp rpet etaa PARTEI crear crear las subcar subcarpeta petass cap1 y cap2, las las cual cuales es almacenar´ an an las librer´ librer´ıas correspondientes a dichos cap´ cap´ıtulos. De manera an´aloga aloga para las carpetas PARTEII a la PARTEIV con sus respectivos cap´ cap´ıtulos. Lo anterior tien tienee la finali finalida dad d de co cons nser erv var los progr program amas as de ac acue uerd rdoo a la organ organiz izac aci´ i´ on on y estructura del libro; de esta manera es mucho m´as f´acil acil seguir todos los ejemplos ilustrados en la citada obra. Una vez que el lector tenga dominio pleno sobre el toolbox de de rob´otica otica y mecatr´onica, onica, entonces podr´a instalar todas las librer´ librer´ıas directamente directamente sobre la ra´ ra´ız de la carpeta de instalaci´on: on: c:\robot, listo para desarrollar aplicaciones. Alfaomega
´ tica y Mecatr ´ nica • Fernando ´ Matlab Aplicado a Robotica o Mecatronica o Fernando Reyes Cortes. es.
iii ii i
Gu´ Gu ´ıa de us usuar uario io
NOTA IMPORTANTE
En el sitio Web Web del libro todos los programas en c´odigo odigo fuente han sido depurados y se encuentran libres de las erratas . La tabla 1 contiene el n´umero umero de programas progr amas por cap´ cap´ıtulo. ıtulo . Esta estad´ estad´ıstica es inicial. inicia l. No obstante, de manera sistem´atica atica se estar´a incrementando el n´umero umero de programas en c´odigo odigo abierto para MATLAB.
g e m o a f l A Tabla 1 Estad´ Estad´ısticas ıst icas de programas prog ramas por cap´ cap´ıtulo ıtul o
Cap´ıtulo
Nombre del cap´ıtulo
1
Conceptos ba´sicos
16
M´etodos num´ericos
12
Preliminares matem´aticos
14
Cinem´atica directa
6
Cinem´atica directa cartesiana
40
Din´amica
16
Identificaci´on param´etrica
20
Control de posici´on
21
Total de programas
14 5
2 3 4 5 6 7 8
Numero u ´ mero de programas
A continuaci´on on se realiza una descripci´on on de los programas programas de cada cap´ cap´ıtulo de la obra: MATLAB Aplicado a Rob´ otica otica y Mecatr´ onica onica.
´ tica y Mecatr ´ nica • Fernando Reyes Cort ´s Matlab Ma tlab Aplicado a Robotica o Mecatronica o Corte
Alfaomega
g e m o a f l A
Parte I
g e m o a f l A
Programacio´ n Material Web
g e m o a f l A
1 o l u t ı ´ p a C
Conceptos ba´ sicos
g e m o a f l A Material Web
4
1.1.
Cap´ıtulo 1: Conceptos b´ asicos
1.1 Listado de programas del cap´ıtulo 1
E
n esta
secci´on se enlistan los nombres de los programas con c´odigo fuente correspondientes al cap´ıtulo 1:
abre archivos experimentales.m explica c´ omo cargar un archivo experi-
g e m o a f l A
mental con datos del robot.
archivos experimentales.m explica c´ omo crear un archivo experimental con
registro de variables del robot.
archivos experimentalesI.m contiene otra opci´ on para crear un archivo
experimental con registro de variables del robot.
cap1 exponencial.m ejemplo de la funci´on fplot. cap1 grafica.m ejemplo de la funci´on plot.
cap1 graficas3D.m funciones para graficar en 3D.
cap1 matrices1.m programa principal para realizar operaciones b´asicas con
matrices.
cap1 minimax.m obtiene el m´ınimo y m´aximo de una funci´ on.
cinematica directa robot2gdl.m cinem´ atica directa de un robot de 2 grados
de libertad.
circulo.m funci´ on c´ırculo.
circulo simu.m programa principal para la funci´on c´ırculo. normaev.m norma euclidiana de un vector.
on de la instrucci´on for grafica la funci´on seno. senoide.m aplicaci´
signo.m funci´ on signo empleando las instrucciones if... else... signo simu.m programa principal para ejecutar la funci´ on signo Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
1.2
5
Fe de erratas
on for....end . sumamatrices.m programa para ejemplificar la instrucci´ Realiza en forma iterativa suma de matrices. robot.dat archivo con datos experimentales o simulados de robots manipula-
dores. robot1.dat archivo con datos experimentales o simulados de robots
manipuladores.
1.2.
g e m o a f l A
1.2 Fe de erratas
E
n el
Cap´ıtulo 1 Conceptos b´ on que han asicos se reportan erratas de impresi´ sido depuradas en los respectivos programas fuentes del sitio Web de esta obra.
A continuaci´on se describen las erratas del cap´ıtulo 1:
En la p´agina 40 C´ odigo fuente 1.1 Operaciones b´ asicas con matrices: en la l´ınea 27 r=root(p) deber´a ir r=roots(p) .
P´ agina 47 l´ınea 2 fplot(’9*x ∧5+3*sen(x ∧3)’,[-10,10]) debe ser sustituida por fplot(’9*x ∧5+3*sin(x ∧3)’,[-10,10]) se ha reemplazado ( sin por sen). P´ agina 48 C´ odigo fuente 1.4 Funciones 3D en la l´ınea 6
6 subplot(2,2,2); ezmesh(’x.*exp(-x. ∧2-y.∧ 6 )’,40);
deber´ a ser 6
subplot(2,2,2); ezmesh(’x.*exp(-x. ∧2-y.∧ 6 )’,40); fh=’x.*exp(-x. ∧2-y. ∧2)’;
P´ agina 52 C´ odigo fuente 1.5 norma euclidiana de un vector en la l´ınea 8 y=norma(x,2) debe ser: y=norm(x,2) P´ agina 70 C´ odigo fuente 1.13 M´ınimos y m´ aximos l´ınea 11:
11 y(i)=sin(t(i))-cos(3.1416*t(i))-2*tanh(y(i))+0.1*log(t(i) ∧3+1);
debe ser: ´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
6
Cap´ıtulo 1: Conceptos b´ asicos 11 y(i)=sin(t(i))-cos(3.1416*t(i))-2*tanh(t(i))+0.1*log(t(i) ∧3+1);
se ha sustituido tanh(y(i)) por tanh(t(i)) . Al final de la p´agina 76 fprintf(fid,’ %3.3f %3.3f %3.3f %3.3f’,datos); debe ser sustituido por fprintf(fid,’ %3.3f %3.3f %3.3f %3.3f’,datos’); la variable datos debe ir transpuesta datos’. El mismo problema se presenta en la estructura de c´odigo 1.16 de la p´agina 77.
g e m o a f l A
En la parte final de la p´agina 78 se tiene:
datos experimentales=load(’c: \robot\experimentos\robot.dat});
lo correcto debe ser:
datos experimentales=load(’c: \robot\experimentos\robot.dat’);
Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
2 o l u t ı ´ p a C
Me´ todos nume´ ricos t
I =
f (x)dx ⇒ I k = I k−1 + hf (xk−1 )
0
f ˙ =
f (t + t) − f (t) f k − f k−1 ⇒ f ˙k = t→0 h t
l´ım
g e m o a f l A Material Web
8
Cap´ıtulo 2: M´ etodos num´ ericos
2.1.
2.1 Listado de programas del cap´ıtulo 2
L
os nombres
de los programas con c´odigo fuente correspondientes al cap´ıtulo 2 se enlistan a continuaci´on: cap2 detsim.m ejemplo para obtener el determinante de una matriz usando
variables simb´ olicas.
g e m o a f l A
cap2 sle.m soluci´ on de un sistema lineal de ecuaciones.
cap2 diffnum.m aplicaci´ on de la funci´on diff (diferenciaci´on num´erica). cap2 trap.m t´ecnica de integraci´on trapezoidal.
cap2 trapezoidal.m ejemplo de integraci´ on trapezoidal.
cap2 simpson1.m m´etodo Simpson para integraci´ on num´erica
cap2 simpson.m ejemplo de integraci´on num´erica por el m´etodo de Simpson. cap2 euler.m ejemplo de integraci´ on num´erica Euler.
cap2 ejemplo26.m ejemplo de un sistema din´amico lineal escalar.
cap2 simuejemplo26.m programa principal para simular el ejemplo cap2 ejemplo26.m.
cap2 ejemplo27.m ejemplo de un sistema din´amico lineal de segundo orden.
cap2 simuejemplo27.m programa principal para simular el ejemplo cap2 ejemplo27.m.
2.2.
2.2 Fe de erratas ıtulo l Cap´
E impresi´on:
2 denominado M´ etodos num´ ericos tiene los siguientes errores de
Al final de la p´agina 111 se indica Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
2.2
Fe de erratas
9
Valor anal´ ıtico=33.333333 Simpson=33.333333
corresponde al intervalo a=0 y b=10. El valor correcto es: Valor anal´ ıtico=21.081851 Simpson=21.081847
g e m o a f l A ´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
Parte II
g e m o a f l A Cinem´atica
3 o l u t ı ´ p a C
Preliminares matema´ ticos
g e m o a f l A H ii−1
=
Rii−1
dii−1
0T
1
Material Web
12
Cap´ıtulo 3: Preliminares matem´ aticos
3.1.
3.1 Listado de programas del cap´ıtulo 3
L
os nombres
de los programas con c´odigo fuente correspondientes al cap´ıtulo 3 se enlistan a continuaci´on: cap3 prodint.m ejemplo del producto punto vectorial o producto escalar.
g e m o a f l A
cap3 propiedadesRz.m propiedades de la matriz de rotaci´on R z ( θ ) cap3 rotacion.m ejemplo de rotaci´ on alrededor del eje z .
cap3 rotacionRz.m ejemplo de rotaci´ on alrededor del eje z .
H DH.m funci´ on que realiza la estructura de una matriz de transformaci´on
homog´enea.
HRx.m matriz de transformaci´ on homog´enea de rotaci´ on alrededor del eje x.
on homog´enea de rotaci´ on alrededor del eje y . HRy.m matriz de transformaci´ on homog´enea de rotaci´ on alrededor del eje z . HRz.m matriz de transformaci´ HTx.m matriz de transformaci´ on homog´enea de traslaci´on sobre el eje x. HTy.m matriz de transformaci´ on homog´enea de traslaci´on sobre el eje y . HTz.m matriz de transformaci´ on homog´enea de traslaci´on sobre el eje z . Rx.m matriz de rotaci´ on alrededor del eje x. Ry.m matriz de rotaci´ on alrededor del eje y . Rz.m matriz de rotaci´ on alrededor del eje z .
Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
3.2
13
Fe de erratas
3.2.
3.2 Fe de erratas ıtulo l Cap´
E impresi´on:
3 Preliminares matem´ aticos tiene los siguientes errores de
P´ agina 156 el contador 3.5 de la caja de c´odigo fuente Propiedades de la matriz de rotaci´ on Rz (θ) debe estar numerado como 3.4.
g e m o a f l A
P´ agina 158 en el comentario de la l´ınea 3 del c´odigo fuente 3.4 Rotaci´ on alrededor del eje z0 se indica:
= px0
p0
py0
px0
debe ser:
= px0
p0
py0 pz0
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
g e m o a f l A
4 o l u t ı ´ p a C
Cinema´ tica directa li H ii−1
. di .. β i
αi
θi
. = H R (θi )H T (di .. β i )H T (li)H R (αi )
g e m o a f l A zi
zi
xi
Material Web
xi
16
Cap´ıtulo 4: Cinem´ atica directa
4.1.
4.1 Cinem´ atica directa
L
os nombres
de los programas con c´odigo fuente correspondientes al cap´ıtulo 4 se enlistan a continuaci´on: tabla DHCartesiano.m despliega la tabla de par´ametros Denavit Hartenberg
del robot cartesiano de 3 gdl.
g e m o a f l A
tabla DHCilindrico.m despliega la tabla de par´ametros Denavit Hartenberg
del brazo robot en configuraci´on cil´ındrico de 3 gdl.
tabla DHEsferico.m despliega la tabla de par´ametros Denavit Hartenberg del
brazo robot en configuraci´ on esf´erico de 3 gdl.
tabla DHr2gdl.m despliega la tabla de par´ametros Denavit Hartenberg del
robot antropom´ orfico de 2 gdl.
tabla DHr3gdl.m despliega la tabla de par´ametros Denavit Hartenberg del
robot antropom´ orfico 3 gdl.
tabla DHpendulo.m despliega la tabla de par´ ametros Denavit Hartenberg del
p´endulo robot.
.
Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
5 o l u t ı ´ p a C
Cinema´ tica directa cartesiana
g e m o a f l A Material Web
18
Cap´ıtulo 5: Cinem´ atica directa cartesiana
5.1.
5.1 Listado de programas del cap´ıtulo 5
L
os nombres
de los programas con c´odigo fuente correspondientes al cap´ıtulo 5 Cinem´ atica directa cartesiana se enlistan a continuaci´on:
atica cap5 pendulo.m programa principal para llevar a cabo el an´alisis de cinem´
g e m o a f l A
directa cartesiana de un p´endulo robot.
cap5 r2gdl.m programa principal para llevar a cabo el an´ alisis de cinem´atica
directa cartesiana de un brazo robot antropom´orfico de 2 gdl.
cap5 r3gdl.m programa principal para llevar a cabo el an´ alisis de cinem´atica
directa cartesiana de un robot antropom´orfico de 3 gdl.
cinematica pendulo.m cinem´ atica directa cartesiana del p´endulo.
atica directa cartesiana del brazo robot de 2 gdl. cinematica r2gdl.m cinem´
cinematica r3gdl.m cinem´ atica directa cartesiana del robot antropom´orfico
de 3 gdl.
cinv pendulo.m cinem´ atica inversa del p´endulo.
cinv r2gdl.m cinem´ atica inversa del robot de 2 gdl. cinv r3gdl.m cinem´ atica inversa del robot de 3 gdl.
H pendulo.m matriz de transformaci´ on homog´enea del p´endulo.
H r2gdl.m matriz de transformaci´ on homog´enea del brazo robot de 2 gdl.
on homog´enea del brazo robot de 3 gdl. H r3gdl.m matriz de transformaci´ H SCARA.m matriz de transformaci´ on homog´enea del robot SCARA.
SCARA.m programa principal para realizar el an´alisis cinem´atico de un robot
en configuraci´on SCARA. SCARA1.m aplicaci´ on del robot SCARA. Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
5.1
19
Listado de programas del cap´ıtulo 5
atica inversa del robot en configuraci´on SCARA. cinv SCARA cinem´ H esfercio.m matriz de transformaci´ on homog´enea del robot esf´erico. cinematica esfercio.m cinem´ atica directa cartesiana del robot esf´erico. cinv esferico.m cinem´ atica inversa del robot esf´erico.
alisis cinem´atico de cap5 esferico.m programa principal para realizar el an´
g e m o a f l A
un robot en configuraci´on esf´erico.
H cilindrico.m matriz de transformaci´ o n homog´e nea de un robot en
configuraci´ on cil´ındrica.
cinematica cilindrico.m cinem´ a tica directa cartesiana de un robot en
configuraci´ on cil´ındrica.
cinv cilindrico.m cinem´ atica inversa de un robot en configuraci´on cil´ındrica.
cap5 cilindrico.m programa principal para realizar el an´ alisis cinem´atico de
un robot en configuraci´on cil´ındrica.
H cartesiano.m matriz de transformaci´ on homog´enea del robot cartesiano.
atica directa de un robot en configuraci´on cinematica cartesiano.m cinem´ cartesiana.
cinv cartesiano.m cinem´ atica inversa del robot cartesiano.
cap5 cartesiano.m programa principal para realizar el an´ alisis cinem´atico de
un robot en configuraci´on cartesiano.
Jacobianocartesiano.m despliega la matriz jacobiana del robot cartesiano de
3 gdl.
Jacobianoesferico.m despliega la matriz jacobiana del robot esf´erico de 3
gdl.
Jacobianocilindrico.m despliega simb´ olicamente la matriz jacobiano del
robot en configuraci´ on cil´ındrica de 3 gdl. JacobianoSCARA.m contiene el jacobiano del robot SCARA de 3 gdl. ´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
20
Cap´ıtulo 5: Cinem´ atica directa cartesiana
o lica el jacobiano del robot Jacobianor2gdl.m despliega en forma simb´ antropom´ orfico de 2 gdl. olica y num´erica el jacobiano del Jacobianor3gdl.m despliega en forma simb´ robot antropom´ orfico de 3 gdl. detcartesiano.m contiene el determinante de la matriz jacobiana del robot
cartesiano de 3 gdl.
g e m o a f l A
detesferico.m contiene el determinante de la matriz jacobiana del robot en
configuraci´ on esferica de 3 gdl.
detcilindrico.m contiene el determinante de la matriz jacobiana del robot
cil´ındrico de 3 gdl.
detSCARA.m contiene el determinante de la matriz jacobiana del robot SCARA
de 3 gdl.
detr2gdl.m contiene el determinante de la matriz jacobiana del robot
antropom´ orfico de 2 gdl.
detr3gdl.m contiene el determinante de la matriz jacobiana del robot
antropom´ orfico de 3 gdl.
5.2.
5.2 Fe de erratas
ıtulo l Cap´
E impresi´on:
5 Cinem´ atica directa cartesiana tiene los siguientes errores de
P´ agina 207 en el cuadro de c´odigo fuente 5.1 H pendulo.m en la l´ınea 4 hay doble punto y coma (;;) s´olo debe tener un operador punto y coma (;). Lo mismo sucede en la l´ınea 9. En la p´agina 231 en el c´odigo fuente 5.11 cinv r3gdl.m en las l´ıneas 9 y 11 la variable z debe ser sustituida por z0. Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
5.2
Fe de erratas
21
En la p´agina 248 en el c´o digo fuente 5.18 H esferico.m en la l´ınea 3 disp(’Par´ametros Denavit Hartenberg del robot SCARA’) debe ser disp(’Par´ ametros Denavit Hartenberg del robot Esf´erico’).
g e m o a f l A ´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
Parte III
g Din´amica e m o a f l A Material Web
6 o l u t ı ´ p a C
Dina´ mica
g e m o a f l A Material Web
24
Cap´ıtulo 6: Din´ amica
6.1.
6.1 Listado de programas del cap´ıtulo 6
L
os nombres
de los programas con c´odigo fuente correspondientes que incluye el cap´ıtulo 6 Din´ on: amica se enlistan a continuaci´ mra.m sistema masa resorte amortiguador.
g e m o a f l A
smr simu.m programa principal para simular el sistema masa resorte
amortiguador.
sle.m sistema din´ amico lineal escalar
sle simu.m programa principal para simular un sistema din´ amico lineal. filtro.m implementaci´ on de un filtro pasa bajas.
filtro simu.m programa principal para simular el filtro pasa bajas. centrifuga.m implementa un sistema mecatr´onico centr´ıfuga.
centrifuga simu programa principal para simular a la centr´ıfuga. pendulo.m sistema din´amico del p´endulo.
pendulo simu.m programa principal para simular la din´ amica del p´endulo. robot2gdl.m implementa el modelo din´amico de un brazo robot de 2 gdl.
cap6 robot2gdlsimu.m programa principal para simular la din´a mica de un
robot de 2 gdl.
robot3gdl.m modelo din´ amico de un robot antropom´ orfico de 3 gdl.
robot3gdl simu.m programa principal para simular la din´ amica del brazo
robot de 3 gdl.
robot cartesiano3gdl.m modelo din´ amico de un robot cartesiano de 3 gdl. simu robotcartesiano3gdl.m programa principal para simular el modelo
din´amico del robot cartesiano de 3 gdl. Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
6.2
Fe de erratas
6.2.
25
6.2 Fe de erratas ıtulo l Cap´
E impresi´on:
5 Cinem´ atica directa cartesiana tiene los siguientes errores de
ıtulo En este cap´ıtulo 6 Din´ amica el encabezado de los programas dice cap´ 4 Din´ amica; debe decir cap´ ı tulo 6 Din´ amica.
g e m o a f l A
P´ agina 300 en el cuadro de c´odigo fuente 6.6 el nombre del archivo sle simu.m ha sido sustituido en la p´agina Web del libro por el nombre filtro simu.m . Lo anterior se debe a que en la p´agina 298, cuadro 6.4 ya existe un programa con ese nombre. P´ agina 303 c´ odigo fuente 6.7, l´ınea 9 la variable tau debe ser tau1.
P´agina 308 c´ odigo fuente 6.9 del programa pendulo.m en la l´ınea 19 la variable gamma1 debe ser sustituida por I1.
P´ agina 309 c´ odigo fuente 6.10 del programa pendulo simu l´ınea 26 subplot(2,2,3); plot(qp,friccion) debe ser sustituido por subplot(2,2,4); plot(qp1,friccion)
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
g e m o a f l A
7 o l u t ı ´ p a C
Identificacio´ n parame´ trica ˆ (k − 1) ] P (k − 1) Ψ(k) [ y(k) − Ψ(k)T θ
g e m o a f l A ˆ (k) θ
=
ˆ (k − 1) + θ
P (k )
=
P (k − 1) − 1+Ψ(k−1)T P (k−1)Ψ(k)
1 + Ψ( k − 1)T P (k − 1)Ψ(k)
P (k−1)Ψ(k)Ψ(k )
T
P (k−1)
Material Web
28
Cap´ıtulo 7: Identificaci´ on param´ etrica
7.1.
7.1 Listado de programas del cap´ıtulo 7
L
os nombres
de los programas con c´ odigo fuente que incluye el cap´ıtulo 7 Identificaci´ on param´ etrica se enlistan a continuaci´on: mincuad.m algoritmo recursivo de m´ınimos cuadrados para el caso escalar.
g e m o a f l A
mincuadm.m algoritmo recursivo de m´ınimos cuadrados para el caso vectorial
o multivariable.
cap7 ejemplo1.m identificaci´ on param´etrica de un sistema escalar
cap7 ejemplo2.m identificaci´ on param´etrica de un sistema escalar. cap7 ejemplo3.m identificaci´ on param´etrica de un sistema escalar cap7 se1.m implementaci´ on de un sistema din´amico lineal.
cap7 ejemplo4.m identificaci´ on param´etrica de un sistema din´amico escalar cap7 se1.m .
cap7 ejemplo5.m identificaci´ on param´etrica de un sistema multivariable.
on del modelo din´amico del p´endulo. cap7 pendulo.m implementaci´
on param´etrica del cap7 pendulosimu.m programa principal para identificaci´ modelo din´amico del p´endulo.
o n pacap7 pendulodinafiltsimu.m programa principal para identificaci´ ram´etrica del modelo din´amico filtrado del p´endulo.
on param´etrica cap7 penduloenersimu.m programa principal para identificaci´ del modelo de energ´ıa del p´endulo.
cap7 pendulopotsimu.m programa principal para identificaci´on param´etrica
del modelo de potencia del p´endulo. on param´etricap7 pendulopotfilsimu.m programa principal para identificaci´ ca del modelo de potencia filtrada del p´endulo. Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
7.2
Fe de erratas
29
amico del robot de 2 gdl. cap7 iderobot2gdl.m modelo din´ cap7 iderobot2gdlsimu.m programa principal para identificaci´ on param´etri-
ca del modelo din´amico del robot de 2 gdl. o n pacap7 energiarobot2gdlsimu.m programa principal para identificaci´ ram´etrica del modelo de energ´ıa del robot de 2 gdl. cap7 potenciarobot2gdlsimu.m programa principal para identificaci´ on pa-
g e m o a f l A
ram´etrica del modelo de potencia del robot de 2 gdl.
on param´etricap7 idecartesiano3gdl.m programa principal para identificaci´ ca del modelo din´amico del robot cartesiano de 3 gdl.
cap7 potenciacartesiano3gdlsimu.m programa principal para identificaci´ on
param´etrica del modelo de potencia del robot cartesiano de 3 gdl.
7.2.
7.2 Fe de erratas
ıtulo l Cap´
E impresi´on:
7 Identificaci´ on param´ etrica tiene los siguientes errores de
P´ agina 343 en el cuadro de c´odigo fuente 7.6 el archivo cap7 se1.m en la l´ınea 1 function xp =se1(t,x) lo correcto debe ser: function xp =cap7 se1(t,x)
P´ a gina 348 en el cuadro de c´odigo 7.9 cap7 pendulosimu.m en la l´ınea 3 falt´ o declarar: t=ti:h:tf; . Es decir, lo correcto debe ser ti=0; h=0.001; tf = 5; t=ti:h:tf; . Asimismo, en la l´ınea 8 xp=pendulo(t,x,9); debe ser xp=cap7 pendulo(t,x,9);
P´ a gina 352 en el cuadro 7.11 l´ınea 9 xp=pendulo(t,x,9) , deber ser xp=cap7 pendulo(t,x,9)
P´ a gina 354 en el cuadro 7.12 l´ınea 8 xp=pendulo(t,x,9) , deber ser xp=cap7 pendulo(t,x,9)
P´ a gina 356 en el cuadro 7.13 l´ınea 9 xp=pendulo(t,x,9) , deber ser xp=cap7 pendulo(t,x,9) ´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega
30
Cap´ıtulo 7: Identificaci´ on param´ etrica
P´ a gina 358 en el cuadro 7.14 l´ınea 9 xp=pendulo(t,x,9) , deber ser xp=cap7 pendulo(t,x,9)
P´ agina 377 en el cuadro 7.20 l´ınea 34 theta=mincuadm(tau, fi,m,13,3) debe ser theta=mincuadm(tau, fi,m,10,3) , debido a que son 10 par´ametros y no 13.
g e m o a f l A Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
Parte IV
g e m o a f l A Control
Material Web
g e m o a f l A
8 o l u t ı ´ p a C
Control de posicio´ n
g e m o a f l A ˜ ) − f v (K v , ˙q) + g (q) τ = ∇U a (K p, q
Material Web
34
Cap´ıtulo 8: Control de posici´ on
8.1.
8.1 Listado de programas del cap´ıtulo 8
L
os nombres
de los programas con c´odigo fuente correspondientes que incluye el cap´ıtulo 8 Control de posici´ on se enlistan a continuaci´on: cap8 pendulo.m implementaci´ on del modelo din´amico del p´endulo.
g e m o a f l A
cap8 pdpendulo.m control proporcional derivativo para el p´ endulo.
o n del cap8 pdpendulosimu.m programa principal que permite la simulaci´ modelo din´amico del p´endulo y el control proporcional derivativo. cap8 robot2gdl.m modelo din´ amico de 2 gdl.
cap8 PDrobot2gdl.m control proporcional derivativo para el robot de 2 gdl.
cap8 robot2gdlsimu.m programa principal para simular el control proporcio-
nal derivativo sobre el robot de 2 gdl.
amico de 3 gdl. cap8 robot3gdl.m modelo din´
cap8 PDrobot3gdl.m control proporcional derivativo del robot de 3 gdl.
cap8 robot3gdlsimu.m simulaci´ on del control proporcional derivativo sobre
el modelo din´amico del robot antropom´ orfico de 3 gdl.
cap8 cartesiano3gdl.m modelo din´ amico del robot cartesiano de 3 gdl. cap8 PDcartesiano3gdl.m control proporcional derivativo de 3 gdl.
on del control proporcional derivativo cap8 cartesiano3gdlsimu.m simulaci´ sobre el robot cartesiano de 3 gdl.
cap8 PIDrobot2gdl.m control proporcional integral derivativo de un robot de
2 gdl.
cap8 robot2gdlPID.m modelo din´ amico del robot de 2 gdl acoplado al control
PID. cap8 robot2gdlPIDsimu.m simulaci´ on del control PID sobre el robot de 2 gdl. Alfaomega
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es.
8.2
35
Fe de erratas
amico del robot de 2 gdl con entrada de cap8 robot2gdlTANH.m modelo din´ control tangente hiperb´olica. cap8 TANHrobot2gdl.m control tangente hiperb´ olica de un robot de 2 gdl. cap8 TANHrobot2gdlsimu.m simulaci´ on del control tangente hiperb´olica sobre
un robot de 2 gdl. cap8 atanflor8p.m control arco tangente para el seguimiento de una
g e m o a f l A
trayectoria tipo flor de 8 p´etalos.
cap8 robot2gdlflor8p.m modelo din´ amico de un robot de 2 gdl acoplada al
control arco tangente.
cap8 robot2gdlatansimu programa principal para que un robot de 2 gdl trace
una flor con 8 p´etalos.
8.2.
8.2 Fe de erratas
E
ıtulo l Cap´
8 Control de posici´ on contiene los siguientes errores tipogr´aficos de impresi´on:
P´ agina 402 en el cuadro de c´odigo fuente 8.3 en la l´ınea 9 opciones=odeset( ’RelTol’, 1e-3, ´ InitialStep’, 1e-3, ’MaxStep’, 1e-3); la variable ´Ini tialStep’se encuentra acentuada. Lo correcto deber ser: opciones=odeset( ’RelTol’, 1e-3, ’InitialStep’, 1e-3, ’MaxStep’, 1e-3);
P´ a gina 412 en el cuadro de c´o digo fuente 8.9 en la l´ınea 17 [qt tau] = cap8 PDrobot3gdl([q1(k);q2(k)q3(k)],[qp1(k);qp2(k); qp3(k)]); le falta un punto y coma (;) entre q2(k) y q3(k). Lo correcto debe ser: [ qt tau] = cap8 PDrobot3gdl([q1(k);q2(k);q3(k)],[qp1(k);qp2(k); qp3(k)]);
P´ agina 428 del c´odigo fuente 8.21 en la l´ınea 16 %ley de control PD debe decir: %ley de control arco tangente
´ tica y Mecatro ´ nica • Fernando Reyes Cort´ Matlab Aplicado a Robo es
Alfaomega