Beruflich Dokumente
Kultur Dokumente
Contenido
Introduccin
PeterCorke
Instalacin
DefinicindeunNuevoRobot
MatricesdeRotacin
Cuaternios
TransformacionesHomogneas
GeneracindeTrayectorias
y
Cinemtica
Dinmica
ModelosPredefinidosdeManipuladores
Toolboxderobticaysimulink
Conclusiones
05/07/2011
Introduccin
RobotsIndustriales
DesarrolladoporPeterCorke.
Versin8(2008).
Incluyefuncionesdecinemtica,
dinmica,ygeneracinde
trayectorias.
trayectorias
Peter Corke
Titulo de pregrado y maestra en Ingeniera Elctrica
(Universidad de Melbourne).
Titulo PhD en Ingeniera Mecnica y de Manufactura
(Universidad de Melbourne).
PresidenteEditor de la revista IEEE Robotics & Automation.
Fundador y editor asociado del Journal of Field Robotics.
Fundador
u dado de
del Autonomous
uto o ous Syste
Systemss laboratory.
abo ato y
Ganador de los premios Qantas/RollsRoyce y Australian
Engineering Excellence.
Profesor de control y robtica en la Universidad de Tecnologa
de Queensland.
05/07/2011
Instalacin
1.
Descargarpaqueteen
http://www.petercorke.com/RTB/signin.php
2.
Llenarinformacinrequerida.
3.
ExtraerpaqueterobotenC:\Program
Files\MATLAB\R2009a\Toolbox
4
4.
Abrir
AbrirMATLAB
MATLAB
5.
AgregareldirectoriorobotalMATLABPATH
file>>setpath>>add folder>>robot>>ok>>save
l
t
l j Zi1 yZZi,sobreelplano
b
l l
perpendicularaXi.Elsignolodalaregladelamano
derecha
ai distanciaentrelosejesZi1 yZi,alolargodeXi.El
signolodefineelsentidodeXi.
i:nguloqueformanlosejesXi1 yXi,sobreelplano
perpendicularaZi.Elsignolodalaregladelamano
derecha.
derecha
di:distanciaalolargodelejeZi1 desdeelorigendel
sistemaSi1 hastalainterseccindelejeZi,coneleje
Xi.Enelcasodearticulacionesprismticasserla
variablededesplazamiento.
i:0(rotacin)1(prismtica)
05/07/2011
Figura1RobotSRX611
{1}
{2}
a2
b2
b1
Figura2ParmetrosdeDenavit
Hartenberg delSRX611
{0}
a1
05/07/2011
Eslabn2:
a2=250mm
d2=85.5mm
2=0
2=2{variable,rotacin}
Eslabn3:
a3=0mm
d3=d3{variable,prismtica}
3=0
3=0
L1=link([0,0.350,0,0.4605,0]);
L2=link([0,0.250,0,0.0855,0]);
L3=link([0,0,0,0,1]);
srx=robot({L1L2L3});
srx.name='SRX611';
1
srx.manuf='Sony';
0.5
plot(srx,[000]);
yz x
0
SRX-611
-0.5
-1
1
0.5
0.5
0
-0.5
Y
-1
-0.5
-1
0
X
Figura3RepresentacingraficadelSRX611
05/07/2011
Matrices de Rotacin
Rotacin alrededordelejeX
Rx
MATLAB:
Rx=rotx()
RotacinalrededordelejeY
MATLAB:
Ry
Ry=roty( )
Matrices de Rotacin
Rotacin alrededordelejeZ:
MATLAB:
Rz=rotz()
Rz
MatrizderotacinamatrizdeTH:
MATLAB:
T=r2t(R)
05/07/2011
Matrices de Rotacin
Funcin
Descripcin
angevecr
forma angular/vectorialamatrizderotacin(MR)
angular/vectorial a matriz de rotacin (MR)
eul2r
ngulodeEuler aMR
rotx
MRpararotacinalrededordelejeX
roty
MRpararotacinalrededordelejeY
rotz
MR pararotacinalrededordelejeZ
rpy2r
ngulosroll/pitch/yaw aMR
r2tt
MRaTH
Cuaternios
DefinidosporHamiltonparatrabajarcongirosyorientaciones.
UncuaternioQestconstituidoporcuatrocomponentes{q0,
q1,q2,q3}querepresentanalcuaterniobase{e,i,j,k}.
Paralautilizacindeloscuaternioscomometodologade
representacindeorientacin,serealizaunaasociacin
arbitrariadelgirodeunngulo sobreunvectorkalcuaternio
definidopor:
p
05/07/2011
Cuaternios
Ejemplo:
q
p
Obtenerelcuaternioquerepresentaunarotacinde90
sobre
elejek(3,2,1).
Matlab:
Q=quaternion(k,)
Q=quaternion([321],(pi/2))
Cuaternios
Funcin
Descripcin
adicin
substraccin
dividircuaternioentreun cuaternioounescalar
multiplicarcuaternioporun cuaternioounvector
inv
invertiruncuaternio
norm
magnitud deuncuaternio
plot
mostrarcuaterniocomorotacin 3D
q2tr
cuaternioaTH
quaternion
construir cuaternio
qinterp
interpolarcuaternio
unit
cuaterniounitario
05/07/2011
Transformaciones Homogneas
Transformaciones Homogneas
Matrizdetraslacin
MATLAB:
T=transl(px,py,pz)
Rotacin alrededordelejeX
MATLAB:
T=trotx()
05/07/2011
Transformaciones Homogneas
RotacinalrededordelejeY
MATLAB:
T=troty( )
Rotacin alrededordelejez
MATLAB:
T=trotz()
Transformaciones Homogneas
RotacinsobreelejeXseguido
p
porunatraslacin:
MATLAB:
T=trotx()*transl(px,py,pz)
RotacinsobreelejeYseguido
porunatraslacin:
MATLAB:
T=troty( )*transl(px,py,pz)
10
05/07/2011
Transformaciones Homogneas
Ejemplo:
tr=trotx(.2)*troty(.3)*transl(1,2,3)
trplot(tr)
4
Z
3.5
Y
3
X
2.5
2.4 2.2
2 1.8
1.6 1.4
2.5
Figura4Combinacindevariasoperaciones
Transformaciones Homogneas
Funcin
Descripcin
angevec2tr
forma angular/vectorialatransformacinhomognea
(TH)
eul2tr
ngulodeEuler aTH
oa2tr
rpy2tr
ngulosroll/pitch/yaw aTH
tr2angvec
THomatrizderotacinaforma angular/vectorial
tr2eul
THomatrizderotacin enngulosdeEuler
t2r
TH asubmatrizderotacin
tr2rpy
THomatrizderotacina ngulosroll/pitch/yaw
trotx
THpararotacinalrededordelejeX
troty
THpararotacinalrededordelejeY
trotz
THpararotacinalrededordelejeZ
transl
fijaroextraerel componentedetraslacindeunaTH
tnorm
normalizarunaTH
trplot
graficarelsistemadecoordenadas deunaTH
11
05/07/2011
Generacin de Trayectorias
Ejemplo:
100
50
0
%ngulosinciales
start=[154530206030]
%ngulosfinales
stop=[75012025300]
t=[0:0.5:3]
50
0
200
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
100
0
25
20
60
[posvel]=jtraj(start,stop,t)
40
20
40
subplot(6,1,1);plot(t,pos(:,1))
subplot(6,1,2);plot(t,pos(:,2))
subplot(6,1,3);plot(t,pos(:,3))
subplot(6,1,4);plot(t,pos(:,4))
subplot(6,1,5);plot(t,pos(:,5))
subplot(6,1,6);plot(t,pos(:,6))
figure
%velocidaddecadaarticulacin
subplot(6,1,1);plot(t,vel(:,1))
subplot(6,1,2);plot(t,vel(:,2))
subplot(6,1,3);plot(t,vel(:,3))
subplot(6,1,4);plot(t,vel(:,4))
subplot(6,1,5);plot(t,vel(:,5))
subplot(6,1,6);plot(t,vel(:,6))
20
0
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
Generacin de Trayectorias
Funcin
Descripcin
ctraj
trayectoria cartesiana
trayectoriacartesiana
jtraj
trayectoria deunaarticulacin
trinterp
interpolarTH
12
05/07/2011
Cinemtica
Cinemtica Directa
Consiste en determinar cul es la posicin y orientacin del
extremo final del robot,
robot con respecto a un sistema de
coordenadas que se toma como referencia, conocidos los
valores de las articulaciones y los parmetros geomtricos de
los componentes del robot.
Cinemtica Inversa
En este caso el problema consiste en resolver la configuracin
que debe
d b adoptar
d t ell robot
b t para una posicin
i i y orientacin
i t i del
d l
extremo conocida.
Cinemtica
MATLAB:
Cinemtica Directa
T = fkine(robot,
fki ( b q))
fkine calcula la cinemtica directa para un vector q que
representa las coordenadas de la articulacin. Devuelve una
matriz de transformacin homognea que describe el efector
final.
Cinemtica Inversa
q = ikine(robot, T)
ikine devuelve las coordenadas de la articulacin para el
manipulador descrito por el objeto robot. T es una matriz de
transformacin homognea que describe el efector final.
13
05/07/2011
Cinemtica
Ejemplo:
Articulacin
q1
l1
90
d2
90
d3
q4
l4
Cinemtica
4
2
xy z
Z
Ejemplo:
L1 = link([0 0 0 1 0]);
D2 = link([pi/2 0 pi/2 1 1]);
D2=link([pi/20pi/211]);
D3=link([00011]);
L4=link([00010]);
rob=robot({L1D2D3L4})
rob.name=robot2';
plot(rob,[0000]);
0
robot2
-2
-4
4
2
4
2
-2
Y
-2
-4
-4
Paraundesplazamientodelasarticulacionesprismticasde1
P
d l
i t d l
ti l i
i ti
d 1
unidadtenemos:
T=fkine(rob,[0110])
14
05/07/2011
Cinemtica
Ejemplo:
Paralascoordenadasdelasarticulacionesq=[pi/40.50.5
pi/3] se obtiene la siguiente matriz de transformacin:
pi/3]seobtienelasiguientematrizdetransformacin:
T=fkine(rob,[pi/40.50.5pi/3])
Calculodelacinemticainversa:
qi =ikine(rob,T,[0000],[111100])
Cinemtica
Funcin
Descripcin
diff2tr
vectordemovimientodiferencialaTH
fkine
calcularcinemticadirecta
calcular cinemtica directa
ftrans
transformarfuerza/movimiento
ikine
calcularcinemtica inversa
ikine560
jacob0
calcular Jacobianoensistemadecoordenadasbase
jacobn
calcularJacobiano enelsistemadecoordenadasdel
efectorfinal
tr2diff
THavectordemovimientodiferencial
tr2jac
THaJacobiano
15
05/07/2011
Dinmica
Funcin
Descripcin
accel
calcular dinmicadirecta
cinertia
calcular matrizdeinerciadeunmanipulador
matriz de inercia de un manipulador
cartesiano
coriolis
calculartorquede laarticulacindebidoaefectosde
fuerzacentrpeta/coriolis
fdyn
dinmicadirecta
friction
friccindela articulacin
gravload
calculartorquedelaarticulacindebido alagravedad
inertia
calcularmatrizdeinercia delmanipulador
itorque
calculartorquedelaarticulacindebidoalainercia
rne
dinmicainversa
Modelos Predefinidos de
Manipuladores
2
1
0
Fanuc AM120iB/10L
yz x
-1
-2
2
1
2
1
-1
-2
-1
-2
1.5
1
0.5
0
Motoman HP6
x
zy
-0.5
-1
-1.5
1
0
-1
-1
X
FiguraRobotMotoman HP6
16
05/07/2011
Modelos Predefinidos de
Manipuladores
1
0.5
yz x
0
Puma 560
-0.5
-1
1
0.5
1
0.5
-0.5
-1
-0.5
-1
FiguraRobotPuma560
4
2
0
y x 2.8
S4 ABB
z
-2
-4
4
2
4
2
-2
Y
FiguraRobotABBS42.8
-4
-2
-4
Modelos Predefinidos de
Manipuladores
Funcin
Descripcin
Fanuc10L
MotomanHP6
Motoman HP6(DH,cinemtica)
puma560
Puma560(DH,cinemtica,dinmica)
puma560akb
Puma 560(MDH,cinemtica,dinmica)
S4ABB2p8
ABBS42.8(DH,cinemtica)
stanford
BrazoStanford (MDH,cinemtica,dinmica)
twlink
ejemplosimplede2articulaciones(DH,cinemtica)
17
05/07/2011
18
05/07/2011
Conclusiones
19
05/07/2011
Referencias
Corke,P.(2011,Mayo8).Robotics Toolboxfor MATLAB.Recuperadode
www.petercorke.com
Dapena,E.(2011,Mayo20).ISPIRO:Introduccinalarobtica.Recuperado
dehttp://webdelprofesor.ula.ve/ingenieria/eladio/ISPIRO.htm
//
/
/
/
Sourceforge.(s.f.).Recuperadoel27deJuniode2011,de
http://sourceforge.net/projects/scirt/
SpaceLib.(s.f.).Recuperadoel28dejuniode2011,de
http://spacelib.ing.unibs.it/
The Orocos Proyect.(s.f.).Recuperadoel27deJuniode2011,de
http://www.orocos.org/
Torres,F.,Pomares,J.,Gil,P.,Puente,S.,&Aracil,R.(2002).Robotsy
SistemasSensoriales. Madrid:Pearson Educacin.
UniversidadDonBosco. (s.f.).Recuperadoel30deMayode2011,de
http://www udb edu sv/Academia/Laboratorios/electronica/FRobotica/guia5
http://www.udb.edu.sv/Academia/Laboratorios/electronica/FRobotica/guia5
FRO.pdf
Wane,S.(2011,Mayo4).StaffordshireUniversity.Recuperadode
www.fcet.staffs.ac.uk/sow1/robotmaterial/MasteringRoboticsToolbox.pdf
Toolbox de Robtica
MaraGabrielaCabrera
20
ToolboxdeRobtica
MaraGabrielaCabrera
LaboratoriodeSistemasDiscretos,AutomatizacineIntegracin
LaSDAIULA
Julio,2011
ResumenEl Toolbox de Robtica para Matlab,
desarrolladoporelprofesorPeterCorke,permite
modelar robots tipo manipulador con diferentes
nmeros de articulaciones. Es posible describir la
posicin y orientacin del extremo del robot a
travs de diferentes herramientas matemticas.
Adems permite realizar clculos de cinemtica y
dinmica. Su principal aplicacines enelreade
larobticaindustrial.
INTRODUCCIN
La robtica industrial ha jugado un rol
clave en la automatizacin de actividades
como ensamblaje y manufactura, en una
grandiversidaddeindustriasalrededordel
mundo.Industriascomolaautomovilstica
y la de fundicin han sido importantes
precedentes en la introduccin de robots
industrialesalaslneasdeproduccin.Se
considera como un robot industrial a un
manipulador multifuncional dotado de un
conjunto de grados de libertad con
capacidaddereprogramacin,utilizadoen
tareas de de automatizacin industrial
[7]. Los robots industriales presentan
grandes beneficios en las lneas de
produccin ya que pueden realizar tareas
de manera rpida y eficiente, algunos
poseen una capacidad de carga
importante, adems de que pueden ser
utilizadosenambienteshostilesdondeun
humano
difcilmente
podra
desenvolverse.Enlasdiferentesindustrias
realizan actividades como soldadura,
ensamblajeymanipulacindemateriales.
Debido a la importancia anteriormente
descrita de los robots industriales, es
imperativo contar con herramientas que
permitan simular, analizar y experimentar
con los robots sin necesidad de ser
manipularlos directamente de manera
fsica.Unejemplodedichasherramientas
es el Toolbox de Robtica para MATLAB
[1],elcualfuedesarrolladocomohobby
por Peter Corke, Profesor de control y
robtica en la Universidad de Tecnologa
deQueenslandenAustralia.ElToolboxha
sido elaborado y mejorado por casi una
dcada.Sultimapublicacineslaversin
8, la cual fue expuesta en diciembre de
2008. Dicha versin posee funciones de
cinemtica, dinmica y generacin de
trayectorias. Permite larepresentacin de
la posicin y orientacin del extremo del
robot a travs de vectores, matrices de
rotacin,transformacioneshomogneas,y
cuaternios. Proporciona ejemplos de
modelos de robots conocidos como el
Puma560. Incluye un set de bloques que
pueden ser utilizados con Simulink.
Conjuntamente, facilita una variedad de
demos creados en Simulink utilizando
diferentes bloques del Toolbox. Elcdigo
fuente est disponible, por lo que puede
serentendidoyutilizadoparaenseanza.
ESTADODELARTE
Existen otras herramientas de dominio
pblicodisponiblesquepermitensimulary
DEFINICINDEUNNUEVOROBOT
Una forma de definir un nuevo robot
utilizando el Toolbox de Robtica, es
realizando primero una descripcin de
cada articulacin o eslabn del robot. La
funcinqueseutilizaeslasiguiente:
Li=link([iaiidii])
manufactura
de
electrnicos,
farmacutica,entreotros.
Ejemplo:
Enlafigura1seapreciaunafotografade
unrobotSRX611.
Figura1RobotSRX611
Figura2ParmetrosdeDenavitHartenbergdelSRX611
d2=85.5mm
2=0
2=2{variable,rotacin}
Eslabn3:
a3=0mm
d3=d3{variable,prismtica}
3=0
3=0
Una vez establecidos los valores de cada
parmetroesposibleescribirelcdigoen
MATLAB para la definicin completa del
robotSRX611:
%Ejemplo1:Definicindeunnuevorobot
%Definircadaarticulacindeacuerdoalos
parmetrosdeDenavitHartenberg
L1=link([0,0.350,0,0.4605,0]);
L2=link([0,0.250,0,0.0855,0]);
L3=link([0,0,0,0,1]);
%Crearunobjetodeltiporobot
srx=robot({L1L2L3});
%Sisedeseaasignarnombrealrobot
srx.name='SRX611';
%Sisedeseaespecificarfabricante
srx.manuf='Sony';
%Mostrarrepresentacingrficadelrobot
plot(srx,[000]);
RotacinalrededordelejeX:
1
MATLAB:rotx()
RotacinalrededordelejeY:
yz x
0.5
0
SRX-611
-0.5
-1
1
0.5
0.5
0
-0.5
Y
-1
-0.5
-1
0
X
Figura3RepresentacingraficadelSRX611
Enlafigura3seaprecialagraficaobtenida
al ejecutar la funcin plot. Donde,
evidentemente
se
observa
una
representacin grafica sencilla del robot
SRX611.
Es importante destacar que con las
funciones
descritas
anteriormente
simplemente es posible realizar una
descripcinbsicadelrobot,restaanalizar
qufuncionespuedenserutilizadascomo
herramientas
matemticas
para
representar el movimiento espacial del
extremodelrobot.
MATLAB:T=roty( )
RotacinalrededordelejeZ:
MATLAB:T=rotz()
Enlatabla1sepresentanlasfuncionesdel
Toolbox de Robtica relacionadas con las
matrices de rotacin y una breve
descripcindelasmismas.
MATRICESDEROTACIN
Tabla1Funcionesparamatricesderotacin
Funcin
Descripcin
angevecr
formaangular/vectorialamatrizde
rotacin(MR)
eul2r
ngulodeEuleraMR
rotx
MRpararotacinalrededordelejeX
roty
MRpararotacinalrededordelejeY
rotz
MRpararotacinalrededordelejeZ
rpy2r
ngulosroll/pitch/yawaMR
r2t
MRaTransformacinhomognea
Existen
herramientas
matemticas
alternativas que al igual que las matrices
de rotacin representan la orientacin de
un objeto. Algunas de stas incluyen los
multiplicarcuaternioporuncuaternio
ounvector
CUATERNIOS
inv
invertiruncuaternio
norm
magnituddeuncuaternio
plot
mostrarcuaterniocomorotacin3D
q2tr
cuaternioaTH
quaternion
construircuaternio
qinterp
interpolarcuaternio
unit
cuaterniounitario
Ejemplo:
Obtenerelcuaternioquerepresentauna
rotacinde90sobreelejek(3,2,1).
%Nota:elngulodebeestarexpresadoen
radianes
Q=quaternion([321],(pi/2))
TRANSFORMACIONESHOMOGNEAS
Funcin
Descripcin
adicin
substraccin
dividircuaternioentreuncuaternioo
unescalar
Enrobticaresultadegranutilidadposeer
un mecanismo que permita localizar un
objeto de acuerdo a su posicin y
orientacin respecto a un sistema de
referencia.
Para describir la posicin y orientacin de
un objeto es posible utilizar la matriz de
transformacin homognea definida por
Forest[7]:
Estamatriz4x4estcompuestaporcuatro
submatrices, de las cuales solo los
componentes de rotacin y traslacin
resultandeintersparalarobtica.
En
robtica
es
posible
tener
transformaciones que representan solo
traslacin, solo rotacin, o combinaciones
deambas.Seguidamente,sepresentanlas
matrices para varias transformaciones
homogneasysufuncincorrespondiente
en MATLAB. Es importante destacar que
los ngulos deben ser definidos en
radianes.
MatrizdeTraslacin:
MATLAB:T=transl(px,py,pz)
RotacinalrededordelejeX:
MATLAB:T=trotx()
RotacinalrededordelejeY:
MATLAB:T=troty( )
Rotacinalrededordelejez
MATLAB:T=trotz()
MATLAB:T=trotx()*transl(px,py,pz)
MATLAB:T=troty( )*transl(px,py,pz)
Ejemplo:
%Ejemplo
2
Transformaciones
Homogneas
%Matrizdetraslacin
T=transl(1,1,1);
trplot(T)
1.2
1
0.8
Z
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
1
0.5
0
0.5
Figura6RotacinalrededordelejeY
1
0.8
Z
0.6
Z
%Composicindevariastransformaciones
tr=trotx(.2)*troty(.3)*transl(1,2,3)
figure
trplot(tr)
0.4
0.2
X
0
0.8
0.5
0.6
1.8
1.6
0.4
0.2
1.4
Figura7RotacinalrededordelejeZ
1.2
1
2
1
1.5
1
1.5
3.5
Z
Figura4Traslacin
Y
3
2.5
Z
0.8
2.4
2.2
0.6
0.4
2
1.8
1.6
1.4
2.5
Y
0.2
Figura8Combinacindevariasoperaciones
0
X
0
0.5
1
X
0.4
0.2
0.6
0.8
Figura5RotacinalrededordelejeX
Enlasfiguras4,5,6,7y8seapreciacmolas
coordenadasoriginalescambiandebidoauna
transformacin homognea. Las nuevas
coordenadas son las de color azul mientras
GENERACINDETRAYECTORIAS
En ciertas aplicaciones puede ser
necesarioprogramarunrobotparaquesu
extremo describa una trayectoria
especfica, o conocer qu trayectoria se
generar al moverse de un punto a otro.
Para esto el Toolbox cuenta con las
funcionesjtrajyctraj.
La funcin jtraj devuelve una trayectoria
generadaalmoverlasarticulacionesdesde
unconjuntodecoordenadasoriginalhacia
otro
conjunto
de
coordenadas.
Opcionalmente, puede devolver la
velocidad y aceleracin de cada
articulacin.
La funcin ctraj devuelve una trayectoria
cartesiana (lnea recta) desde un punto a
otro, ambos representados por una
transformacin homognea. Es necesario
especificar el nmero de puntos que se
trazarn.
En el siguiente ejemplo [9], se muestra el
uso de la funcin jtraj para un
manipulador con 6 articulaciones. Las
articulaciones recorrern una trayectoria
para moverse desde el conjunto de
coordenadas inciales descritas por el
vectorstarthastalascoordenadasfinales
descritas por el vector stop. El tiempo
para realizar la trayectoria se especifica
conelvectort.
%Ejemplo2GeneracindeTrayectorias
clc
%ngulosinciales
start=[154530206030];
%ngulosfinales
stop=[75012025300];
%vectordetiempo
t=[0:0.5:3];
[posvel]=jtraj(start,stop,t);
%posicindecadaarticulacin
subplot(6,1,1);plot(t,pos(:,1))
subplot(6,1,2);plot(t,pos(:,2))
subplot(6,1,3);plot(t,pos(:,3))
subplot(6,1,4);plot(t,pos(:,4))
subplot(6,1,5);plot(t,pos(:,5))
subplot(6,1,6);plot(t,pos(:,6))
figure
%velocidaddecadaarticulacin
subplot(6,1,1);plot(t,vel(:,1))
subplot(6,1,2);plot(t,vel(:,2))
subplot(6,1,3);plot(t,vel(:,3))
subplot(6,1,4);plot(t,vel(:,4))
subplot(6,1,5);plot(t,vel(:,5))
subplot(6,1,6);plot(t,vel(:,6))
Tabla3Funcionesparatrayectorias
0.5
1.5
2.5
0.5
1.5
2.5
100
0
25
20
60
0.5
1.5
2.5
40
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
20
0
Figura9Posicindecadaarticulacin
Velocidad de las articulaciones
40
20
0
0
-20
-40
100
50
0
4
2
0
0
-10
-20
0
-10
-20
Descripcin
ctraj
trayectoriacartesiana
jtraj
trayectoriadeunaarticulacin
trinterp
interpolarTH
CINEMTICA
40
20
Funcin
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
0.5
1.5
2.5
Figura10Velocidaddecadaarticulacin
Ejemplo[8]:
Como se explic anteriormente, primero es
necesario definir los parmetros de Denavit
Hartenberg.
Figura11Robotcilndrico
Tabla4ParmetrosdeDenavitHartenbergparaelrobot
cilndrico
q1
l1
90
d2
90
d3
q4
l4
2
xy z
Z
Articulacin
%Crearunobjetodeltiporobot
rob=robot({L1D2D3L4});
rob.name='robot2';
%Mostrarrepresentacingrficadelrobot
plot(rob,[0000]);
T1fkine(rob,[0110])
%Paralascoordenadasdelasarticulacionesq
= [pi/4 0.5 0.5 pi/3] se obtiene la siguiente
matrizdetransformacin:
T2=fkine(rob,[pi/40.50.5pi/3])
%Clculodelacinemticainversa:
qi=ikine(rob,T,[0000],[111100])
0
robot2
Enlatabla4semuestraelvalordecadauno
delosparmetrosnecesariosparadefinirel
robot.ElcdigoescritoenMATLABparael
ejemploeselsiguiente:
%Ejemplo3:Cinemticadirectaeinversa
-2
-4
4
2
4
2
-2
Y
-2
-4
-4
Figura12Representacingraficadelrobotcilndrico
10
DINMICA
La dinmica de un robot tiene por objeto
conocer la relacin entre el movimiento del
robotylasfuerzasimplicadasenelmismo[7].
Acontinuacin,sepresenta unatabladonde
se describen las funciones disponibles
relacionadascondinmica.
Tabla6Funcionesparadinmica
Funcin
Descripcin
diff2tr
vectordemovimientodiferencialaTH
fkine
calcularcinemticadirecta
ftrans
transformarfuerza/movimiento
ikine
calcularcinemticainversa
ikine560
calcularcinemticainversaparaun
brazotipoPuma560
jacob0
calcularJacobianoensistemade
coordenadasbase
jacobn
calcularJacobianoenelsistemade
coordenadasdelefectorfinal
tr2diff
THavectordemovimientodiferencial
tr2jac
THaJacobiano
Funcin
Descripcin
accel
calculardinmicadirecta
cinertia
calcularmatrizdeinerciadeun
manipuladorcartesiano
coriolis
calculartorquedelaarticulacin
debidoaefectosdefuerza
centrpeta/coriolis
fdyn
dinmicadirecta
friction
friccindelaarticulacin
gravload
calculartorquedelaarticulacin
debidoalagravedad
inertia
calcularmatrizdeinerciadel
manipulador
itorque
calculartorquedelaarticulacin
debidoalainercia
rne
dinmicainversa
MODELOS
PREDEFINIDOS
MANIPULADORES
DE
Tabla7Funcionesparamodelospredefinidos
Fanuc10L
Descripcin
Funcin
0
Fanuc AM120iB/10L
yz x
-1
FanucArcMate120iB/10L(DH,
cinemtica)
-2
2
1
MotomanHP6
MotomanHP6(DH,cinemtica)
puma560
Puma560(DH,cinemtica,
dinmica)
puma560akb
Puma560(MDH,cinemtica,
dinmica)
S4ABB2p8
ABBS42.8(DH,cinemtica)
stanford
BrazoStanford(MDH,cinemtica,
dinmica)
twlink
ejemplosimplede2articulaciones
(DH,cinemtica)
2
1
-1
-2
-1
-2
Figura14RepresentacingraficadeFanucArcMate
120iB/10L
ElrobotMotomanHP6esunrobotmulti
aplicacin con seis grados de libertad que
puede realizar actividades como
empaquetar, distribuir o realizar
soldadurasporarco.Enlasfiguras15y16
se observa el robot Motoman HP6 y su
representacingraficarespectivamente.
Figura15RobotMotomanHP6
1.5
1
0.5
0
Motoman HP6
x
zy
-0.5
-1
-1.5
1
Figura13RobotFanucArcMate120iB/10L
0
-1
-1
X
Figura16RepresentacingraficadeMotomanHP6
12
TOOLBOXDEROBTICAYSIMULINK
El Toolbox de Robtica incluye un set de
bloques con la mayora de las funciones
del Toolbox, las cuales pueden ser
utilizados en Simulink. Para utilizar esta
caracterstica es necesario agregar los
bloquesaSimulink,paraesto,esnecesario
escribir la siguiente lnea en el workspace
deMATLAB:
addpathROBOTDIR/simulink
Paraobservarlosbloques:
roblocks
Al ejecutar roblocks debe observarse la
siguienteventana.
CONCLUSIONES
El toolbox de Robtica para MATLAB,
desarrollado por el profesor Peter Corke,
permite simular y analizar manipuladores,
que generalmente representan robots
industriales. Posee funciones para el
estudiodetransformacioneshomogneas,
cuaternios, matrices de rotacin,
generacin de trayectorias, cinemtica y
dinmica.Elcdigopuedeserobtenidode
maneragratuita,sinembargofuncionacon
el software MATLAB para el cual es
necesario poseer una licencia para poder
utilizarlo. El Toolbox posee herramientas
matemticas poderosas y puede ser
utilizado en conjunto con Simulink para
crear una gran variedad de aplicaciones,
sin embargo, carece de una buena
herramientaparavisualizacin3D.
BIBLIOGRAFA
Figura17BloquesdeRobticaparaSimulink
APLICACIONES
El Toolbox de Robtica tiene aplicaciones
principalmente en la robtica industrial.
Permite modelar manipuladores con
diferentes nmeros de articulaciones. Es
posible describir la posicin y orientacin
del extremo a travs de diferentes
herramientas matemticas, adems
permite realizar clculos de cinemtica y
dinmica. Utilizado en conjunto con
[1]
Corke, P. (2011, Mayo 8). Robotics
Toolbox for MATLAB. Recuperado de
www.petercorke.com
[2]
Dapena, E. (2011, Mayo 20). ISPIRO:
Introduccin a la Robtica. Recuperado de
http://webdelprofesor.ula.ve/ingenieria/eladio/
ISPIRO.htm
[3]
Jroboop. (s.f.). Recuperado el 28 de Junio
de
2011,
de
http://digilander.libero.it/carmine.lia/jroboop/i
ndex.html
[4]
Sourceforge. (s.f.). Recuperado el 27 de
2011,
de
Junio
de
http://sourceforge.net/projects/scirt/
SpaceLib. (s.f.). Recuperado el28 de junio
[5]
de2011,dehttp://spacelib.ing.unibs.it/
[6]
The Orocos Proyect. (s.f.). Recuperado el
27
de
Junio
de
2011,
de
http://www.orocos.org/
[7]
Torres,F.,Pomares,J.,Gil,P.,Puente,S.,&
Aracil,R.(2002).RobotsySistemasSensoriales.
Madrid:PearsonEducacin.
13
[8]
Universidad Don Bosco. (s.f.). Recuperado
el 30 de Mayo de 2011, de
http://www.udb.edu.sv/Academia/Laboratorios
/electronica/FRobotica/guia5FRO.pdf
[9]
Wane, S. (2011, Mayo 4). Staffordshire
University.
Recuperado
de
www.fcet.staffs.ac.uk/sow1/robotmaterial/Mas
teringRoboticsToolbox.pdf
BIOGRAFA
M.G.Cabreraactualmentecursaelltimo
semestre de Ingeniera de Sistemas,
Departamento de Control, Universidad de
los Andes, Mrida, Venezuela (email:
mariacabrera@ula.ve).
14