Está en la página 1de 12

3.

CinemticadeManipuladores
(directa)
Dr.AlejandroAcevesLpez
CinemticadeRobots
Un robot industrial se puede modelar como una cadena
articulada abierta compuesta de cuerpos rgidos (eslabones)
conectados en serie por articulaciones (de revolucin o
prismticas) movidas por actuadores. Un extremo est fijo en la
base mientras que el otro est libre y unido a una herramienta.
La cinemtica trata del estudio analtico del movimiento
(posicin, velocidad, aceleracin) del robot con respecto a un
sistema coordenado fijo como una funcin del tiempo sin
considerar las fuerzas/momentos que originaron dicho
movimiento.
Un manipulador robtico consta de una secuencia de cuerpos rgidos,
llamados eslabones (vnculos) o elementos conectados mediante
articulaciones rotacionales o prismticas. La base del robot se considera el
elemento 0.
Cadapareja
articulacineslabn
seleconocecomo
gradodelibertad.
Un robot con n grados de libertad, tiene n pares de articulaciones
eslabones. La base del robot no se considera parte del robot.
Las articulacioneseslabones se enumeran desde la base del robot y hasta
la mueca.
Para cada par articulacineslabn se establece un sistema coordenado
intermedio que se fija al eslabn y que se mueve conforme el eslabn se
mueva.
En la base del robot se establece el sistema coordenado de referencia {0} y
en la mueca del robot se establece el sistema coordenado mvil {n}.
Los elementos i e i1 estn conectados por la articulacin i.
CinemticadeRobots
Un robot con n GDL, tiene n pares de articulacioneseslabones.
Se enumeran desde la base {0} hasta la mueca {n}.
Para cada par articulacineslabn se establece un sistema coordenado.
Para un eslabn:
Para la cadena cinemtica:
0 0 1 1
1 2
n n
n
P T T T P

=
1 1 i i i
i
P T P

=
Problema de cinemtica directa: Para un manipulador
particular, dado un vector con los valores articulares (q
1
(t), q
2
(t),
q
n
(t))
T
y los parmetros geomtricos de los n elementos
(eslabones), determinar la posicin y orientacin del efector
final con respecto a un sistema coordenado fijo de referencia.
Problema de cinemtica inversa: Dada una posicin y
orientacin deseada del rgano efector y conocidos los
parmetros geomtricos de los eslabones con respecto a un
sistema coordenado de referencia, saber si el robot puede
alcanzar dicha posicin y orientacin. Y en caso de ser posible,
conocer cuantas configuraciones diferentes del robot lo pueden
lograr.
En 1955, los investigadores Denavit y Hartenberg propusieron un enfoque
sistemtico y generalizado que utiliza matrices de transformacin
homognea 4 x 4 para describir la relacin espacial (traslacin/rotacin)
entre dos elementos mecnicos adyacentes.
CinemticaporlametodologadeDenavitHartenberg (DH)
Mediante transformaciones secuenciales se puede expresar la posicin y
orientacin del efector final con respecto a un sistema de coordenadas de
referencia fijo en la base del robot.
En la literatura existen reportadas dos metodologas:
1. El mtodo de DH (Anlisis por eslabones).
2. El mtodo de DH modificado (Anlisis por articulaciones).
MetodologadeDenavitHartenberg Modificada(DHm)
Paraconocerlarelacinespacialentrelosvnculosi-1 ei serequierensolo
4parmetros.
Eje i-1 Eje i Eje i-1 Eje i
Eje i-1 Eje i Eje i-1 Eje i
Eje i-1 Eje i
a
i1
Distanciadelvnculo
Eje i-1 Eje i
a
i1
a
i
Eje i-1 Eje i
a
i1
a
i
d
i
Desplazamientoentrevnculos
Eje i-1 Eje i
a
i1
a
i
d
i
Eje i-1 Eje i
a
i1
a
i
o
i1
d
i
Torsindelvnculo
Eje i-1 Eje i
a
i1
a
i
o
i1
d
i
Eje i-1 Eje i
a
i1
a
i
o
i1
u
i
d
i
nguloarticular
Eje i-1 Eje i
a
i1
a
i
o
i1
u
i
d
i
1

i
z

1

i
y

i
x

i
z

i
y

i
x
Sedefinendossistemascoordenados
DefinicindeparmetrosenlametodologadeDHm
Ejemplo1.
Considere dos vnculos con la geometra mostrada en la figura que se conectan
en serie. Calcule la longitud del vnculo a
i
, la torsin del vnculo o
i
y el
desplazamiento del vnculo d
i
.
Solucin: a
i
=7pulg; o
i
=45 y d
i
=2.5pulg.
DefinicindetramasenlametodologadeDHm
NOTA: El ejeX
i
debeobligatoriamentecruzar por Z
i
y Z
i+1
en algn punto.
Todo robot sedebemodelar a partir desu posicin deHOME, es decir, cuando todos
los valores articulares son nulos.
Crecer un cilindro con ejeen Z
i
hastaquesu superficietoqueZ
i+1
.
{n-1}:
paralelos
DefinicindetramasenlametodologadeDHm
(u
1
o d
1
)
Ejemplo1
ObtengalosparmetrosdeDenavitHartenberg
delsiguientemanipulador:
Solucin:
1
x
1
z
2
z
3
z
2
x
3
x
0
x
0
, z
Ejemplo2
Obtenga los parmetros de DenavitHartenberg del siguiente manipulador.
Considrese que los valores articulares {u
1
, u
2
, u
3
} son cero.
1
x
1
z
3
z
3
x
2
z
2
x
0 0 1 1 1
1 1 2 2 2 1 2 2
2 2 2 3 3 3 3
0; 0; ; 0;
; 0; ; ;
0; ; ; ;
a d
a d L
a L d L
t t
o u u
o u u
o u u
= = = =
= = = + =
= = = =
L
3
Solucin:
Ejemplo3
ObtengalosparmetrosdeDenavitHartenberg delsiguientemanipulador.
1
x
3
x 2
, x
0
, x 0
, z
Eje1
Ejes2,3
1
z
3
z
2
z
Solucin:
Transformacintotal:
i1
i
T
Ejercicio:ObtenerestamatrizconlaSymbolic toolbox deMatlab
difiere
difiere
difiere
difiere
( ) ( ) ( ) ( )
1 1 Rx i Dx i Rz i Dz i
T T a T T d o u

=
ProgramaenMATLAB
function T=MaTran(alfai_1,ai_1,qi,di)
% La funcin regresa en T la expresin simblica de la matriz.
T=[cos(qi) ,-sin(qi) ,0 , ai_1;
sin(qi)*cos(alfai_1),cos(qi)*cos(alfai_1),-sin(alfai_1),-di*sin(alfai_1);
sin(qi)*sin(alfai_1),cos(qi)*sin(alfai_1), cos(alfai_1), di*cos(alfai_1);
0 ,0 ,0 , 1];
if ~isnumeric([qi,di,alfai_1,ai_1])
T=simplify(T);
end;
Ejercicio4.
Escribirlasexpresionesdelastransformacioneshomogneasparacadavnculo.
Solucin:
>> T01=MaTran(0,0,sym('q1'),0)
T01 =
[ cos(q1), -sin(q1), 0, 0]
[ sin(q1), cos(q1), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> T12=MaTran(sym(pi)/2,0,0,sym('d2'))
T12 =
[ 1, 0, 0, 0]
[ 0, 0, -1, -d2]
[ 0, 1, 0, 0]
[ 0, 0, 0, 1]
>> T23=MaTran(0,0,sym('q3'),sym('L2'))
T23 =
[ cos(q3), -sin(q3), 0, 0]
[ sin(q3), cos(q3), 0, 0]
[ 0, 0, 1, L2]
[ 0, 0, 0, 1]
Sientonces
3
0
0
0
P
(
(
=
(
(

0
? P =
>> P0=T01*T12*T23*[ 0; 0; 0; 1]
P0 =
L2*si n( q1) + d2*si n( q1)
- L2*cos( q1) - d2*cos( q1)
0
1
Solucin:
Ejercicio5. PUMA560
Ejercicio5. PUMA560
u
1
u
2
u
3
u
4
u
6
u
5
a
2
d
3
d
4
a
3
a
3
d
4
1
x
2
x
1
z
2
z
3
x
3
z
4
x
4
z
5
x
5
z
6
x
6
z
Eje1 Eje2
Eje3
Ejes4,6
Eje5
% Este programa muestra las matrices de transformacin para el
% PUMA 560 que estn reportadas en la notas y en el libro.
%
% El nombre de este programa es:
%
% CinematicaPUMA560.m
%
clear all
syms q1 q2 q3 q4 q5 q6 a2 a3 d3 d4 pi
T01=MaTran(q1, 0, 0, 0);
T12=MaTran(q2, 0,-pi/2, 0);
T23=MaTran(q3,a2, 0,d3);
T34=MaTran(q4,a3,-pi/2,d4);
T45=MaTran(q5, 0, pi/2, 0);
T56=MaTran(q6, 0,-pi/2, 0);
T46=simplify(T45*T56);
T36=simplify(T34*T46);
T13=simplify(T12*T23);
T06=collect(T01*T13*T36,[sin(sym('q1')), cos(sym('q1'))])
11 12 13
0 0
21 22 23 0 6 6
6
31 32 33
[0,0,0] 1
0 0 0 1
x
y O
z
r r r P
r r r P R P
T
r r r P
(
(
(
(
= =
(
(

(

0 0 0 6
6 6
1 [0,0,0] 1 1
O
P R P P ( ( (
=
( ( (

0 6
0
6
1 1
P P
T
( (
=
( (

0 0 6 0
6 6 O
P R P P = +
( ) ( )
( ) ( )
| |
( ) ( )
( )
11 1 23 4 5 6 4 6 23 5 6 1 4 5 6 4 6
21 1 23 4 5 6 4 6 23 5 6 1 4 5 6 4 6
31 23 4 5 6 4 6 23 5 6
12 1 23 4 5 6 4 6 23 5 6 1 4 6 4 5 6
22 1 23 4 5 6 4 6 23 5 6
r c c c c c s s s s c s s c c c s
r s c c c c s s s s c c s c c c s
r s c c c s s c s c
r c c c c s s c s s s s c c s c s
r s c c c s s c s s s
= + + (

= + (

=
= + + (

= + (

( )
| |
| |
| |
| |
| |
1 4 6 4 5 6
32 23 4 5 6 4 6 23 5 6
13 1 23 4 5 23 5 1 4 5
23 1 23 4 5 23 5 1 4 5
33 23 4 5 23 5
1 2 2 3 23 4 23 3 1
1 2 2 3 23 4 23 3 1
3 23 2 2 4 23
x
y
z
c c c s c s
r s c c s s c c s s
r c c c s s c s s s
r s c c s s c c s s
r s c s c c
P c a c a c d s d s
P s a c a c d s d c
P a s a s d c

= +
= +
= + +
=
= +
= + +
=
Ejercicio6. Yasukawa Motoman L3 Ejercicio6. Yasukawa Motoman L3
Elrobotsemuestra
enlaposicin
(0,90,90,90,0).
1
z
1
x
3
z
4
z
5
z
2
z
5
x
4
x
3
x 2
x
0
z
0
x
PasarelrobotaposicindeHOME:
Solucin:
Solucin:
11 12 13
0 0
21 22 23 0 0 1 2 3 4 5 5
5 1 2 3 4 5
31 32 33
[0,0,0] 1
0 0 0 1
x
y O
z
r r r P
r r r P R P
T T T T T T
r r r P
(
(
(
(
= = =
(
(

(

0 5
0
5
0 0 0 5
5 5
0 0 5 0
5 5
1 1
1 [0,0,0] 1 1
O
O
P P
T
P R P P
P R P P
( (
=
( (

( ( (
=
( ( (

= +
MediantelafrmuladetransformacindeDHcalcularemos:
Graciasaella,todopuntodefinidoenelsistemacoordenado{5}sepuedenescribira{0}:
% Este programa muestra las matrices de transformacin para el
% Yasukawa Motoman L-3 que estn reportadas en la notas.
%
% El nombre de este programa es:
%
% CinematicaYasukawaMotomanL3.m
clear all
syms q1 q2 q3 q4 q5 L2 L3 pi
T01=MaTran(q1,0, 0, 0);
T12=MaTran(q2,0,-pi/2, 0);
T23=MaTran(q3,0, 0,L2);
T34=MaTran(q4,0, 0,L3);
T45=MaTran(q5,0,-pi/2, 0);
T05=T01*simplify(T12*T23*T34)*T45
( )
( )
1 234 5 1 5 1 234 5 1 5 1 234 1 2 2 3 23
0 1 234 5 1 5 1 234 5 1 5 1 234 1 2 2 3 23
5
234 5 234 5 234 2 2 3 23
0 0 0 1
c c c s s c c s s c c s c L c L c
s c c c s s c s c c s s s L c L c
T
s c s s c L s L s
+ + + (
(
+
(
=
(

(

( )
( )
234 2 3 4
234 2 3 4
cos
sin
c
s
u u u
u u u
= + +
= + +
Donde:
L
2
L
1
Ejercicio7.
UtilizandolametodologadeDHescribirlamatrizdetransformacin
totaldelaherramientahastalabase.
L
3
L
2
L
1
Ejercicio7.
1
x
1
z
2
z
L
3
3
z
0
x
0
z
2
x
3
x
Solucin:
23 1 23 1 1 2 1 2
23 1 23 1 1 2 1 2 3
0
23 23 1 2 2
0
0 0 0 1
s c c c s L c s
s s c c c L s s
T
c s L L c
(
(

(
=
( +
(

Tarea
ObtenerlaDKdelos2robots:
Relacindeespacios
Un robot de n GDL tiene n variables articulares formando un vector
columna definido en el espacio articular.
En general cada articulacin es accionada por un actuador, sin
embargo, no siempre es el caso. Por ejemplo, dos motores accionan
una flecha, un actuador lineal acciona una articulacin rotacional. Es
til entonces conocer la relacin entre la posicin del actuador y la
posicin de la articulacin.
Espaciodeactuador
LosmotoresyservomotoresseutilizanenROBOTICApara
producirmovimientodepiezasyarticulacionesmecnicas.
Servomotores
SSC32ServoController
http://www.lynxmotion.com/p395ssc32servocontroller.aspx
http://www.robodacta.mx/index.php?dispatch=products.view&product_id=29885
Servomotores
Servomotores
En el caso ms sencillo, la relacin Espacio de actuador vs.
Espacio articular es una funcin lineal que se puede conocer si se
realizar una tabla y usar ajuste de curva (Ej. Mnimos cuadrados).
Valoractuador(x) q
1
[] q
2
[] q
n
[]
0x000
0x001

0xFFF
( )
i i i i
q f x m x b = = +
Servomotores
Servomotores Servomotores
Servomotores
>> prom=(servo1(:,2)+servo1(:,3)+servo1(:,4))/3;
>> Y=servo1(:,1);
>> F=[prom,ones(27,1)];
>> q=inv(F'*F)*F'*Y
MotoresdeCD
SimpleHighPowerMotorController18v25
ActuadoresDynamixel
GoalPosition
Itisapositionvalueofdestination from0to1023isavailable. Theunitis0.29degree.
ActuadoresDynamixel

También podría gustarte