2. Como es el brazo de robot que
vamos a estudiar?
Así no....
Planificación del movimiento del brazo articulado de un robot 2
3. Como es el brazo de robot que
vamos a estudiar?
Este se parece más...
Planificación del movimiento del brazo articulado de un robot 3
4. Nuestro objetivo
Configurar las articulaciones o “enlaces” del brazo de un robot,
asignando valores a los ángulos de rotación para alcanzar un
punto “p” con el extremo del último enlace
Planificación del movimiento del brazo articulado de un robot 4
5. Características del brazo y su
entorno
● Las articulaciones del brazo o “enlaces” pueden rotar sin
restricciones, es decir, los enlaces si se intersectan no
colisionarán..... es decir..... podemos rotar los enlaces 360º
siempre!!
● El entorno carece de obstáculos
● Solo disponemos de 2 dimensiones
Planificación del movimiento del brazo articulado de un robot 5
6. Una “demo” vale más que mil
palabras
http://weblogs.asp.net/frank_hileman/archive/2008/05/07/vg-net-5-1-released.aspx
Planificación del movimiento del brazo articulado de un robot 6
7. Nomenclatura
● Ji, junturas
● Li, enlaces
● ji, angulo que forma Li+1
respecto Li
Planificación del movimiento del brazo articulado de un robot 7
8. Alcance del brazo 1-enlace
● Trivial
● El brazo solo puede alcanzar
los puntos de la frontera del
circulo C de radio l1, es
decir, ∂C
Planificación del movimiento del brazo articulado de un robot 8
9. Alcance del brazo 2-enlaces
● La zona que contiene los
puntos accesibles al brazo
viene determinada por un
anillo
● ri, radio de la circunferencia
interior
● ro, radio de la circunferencia
exterior
Planificación del movimiento del brazo articulado de un robot 9
10. Alcance del brazo 2-enlaces
● Caso 1: l1 > l2
● ro = l1 + l2
● ri = l1 - l2
Planificación del movimiento del brazo articulado de un robot 10
11. Alcance del brazo 2-enlaces
● Caso 2: l2 > l1
● ro = l1 + l2
● ri = l2 - l1
Planificación del movimiento del brazo articulado de un robot 11
12. Alcance del brazo 2-enlaces
● Podemos generalizar que para ambos casos:
● ro = l1 + l2
● ri = |l1 - l2|
Planificación del movimiento del brazo articulado de un robot 12
13. Alcance del brazo n-enlaces
i=1
● Podemos generalizar que r o =∑ l i
n
● ri > 0 depende de la relación entre la longitud del enlace más
largo y la longitud del resto
Al ordenar los enlaces de mayor a menor longitud lo vemos más
claro, esto es posible gracias a que el orden de los enlaces es
independiente de la zona de alcance que determina un brazo,
gracias a la fantástica propiedad conmutativa de la adición de
vectores.
Planificación del movimiento del brazo articulado de un robot 13
14. Alcance del brazo n-enlaces
● Podemos generalizar que:
i=1
●
r o =∑ l i
n
i≠ M
● Si l M≤ ∑ li , entonces ri =0
i≠ M
● Sino r i =l M − ∑ l i
Planificación del movimiento del brazo articulado de un robot 14
15. Llegaremos al punto “p”?
● Tenemos un anillo determinado por dos circunferencias, de
radio ro y ri.
● Si “p” es interior a C o de radio r0 y exterior a C i de radio ri,
esta dentro del anillo, reduciendo así el problema a la posición
relativa de un punto respecto una circunferencia, ya explicado
en clase.
Planificación del movimiento del brazo articulado de un robot 15
16. Configuración del brazo
● Ahora que sabemos que alcanzamos el punto “p” debemos
configurar el brazo para que el extremo del último enlace
coincida con éste
● A continuación veremos como alcanzaremos ese punto para 2-
enlaces y 3-enlaces y demostraremos como generalizar el
proceso para n-enlaces
Planificación del movimiento del brazo articulado de un robot 16
17. Configuración del brazo: 2-enlaces
● Creamos una circunferencia C1 de radio l1 centrado en J0 y
una C2 de radio l2 centrado en “p”
● Obtenemos 4 posibles escenarios
Planificación del movimiento del brazo articulado de un robot 17
18. Configuración del brazo: 2-enlaces
● Si C1 y C2 no intersectan sus fronteras, tenemos 0 soluciones
Planificación del movimiento del brazo articulado de un robot 18
19. Configuración del brazo: 2-enlaces
● Si C1 y C2 se intersectan
en un único punto
● 1 única solución
Planificación del movimiento del brazo articulado de un robot 19
20. Configuración del brazo: 2-enlaces
● Si C2 intersecta C1 en
dos puntos
● 2 posibles soluciones
Planificación del movimiento del brazo articulado de un robot 20
21. Configuración del brazo: 2-enlaces
● Si J0 = p y l1 = l2
● ∞ soluciones
Planificación del movimiento del brazo articulado de un robot 21
22. Configuración del brazo: 3-enlaces
● A3 = (l1, l2 , l3)
● Nuestra estrategia será reducir el problema al de los 2-enlaces
● Aplicaremos el mismo procedimiento anterior
● Centraremos C en “p” con el radio de l3
● Obtendremos el anillo R que representa la zona de
accesibilidad de A2 = (l1,l2)
● Comprobaremos como C intersecta R
– Obtenemos 2 escenarios posibles
Planificación del movimiento del brazo articulado de un robot 22
23. Configuración del brazo: 3-enlaces
● Caso 1: ∂R ∩ C ≠ 0
Planificación del movimiento del brazo articulado de un robot 23
24. Configuración del brazo: 3-enlaces
● Caso 1: ∂R ∩ C ≠ 0
● ∂O ∩ C ≠ 0
Reducimos los 3 enlaces a (l1+l2 , l3)
Planificación del movimiento del brazo articulado de un robot 24
25. Configuración del brazo: 3-enlaces
● Caso 1: ∂R ∩ C ≠ 0
● ∂I ∩ R ≠ 0
Reducimos los 3 enlaces a (l1 , l2+l3)
Planificación del movimiento del brazo articulado de un robot 25
26. Configuración del brazo: 3-enlaces
● Caso 2: ∂R ∩ C = 0
Planificación del movimiento del brazo articulado de un robot 26
27. Configuración del brazo: 3-enlaces
● Caso 2: ∂R ∩ C = 0
● C no rodea J0
Reducimos los 3 enlaces a (l1 , l2 + l3)
Planificación del movimiento del brazo articulado de un robot 27
28. Configuración del brazo: 3-enlaces
● Caso 2: ∂R ∩ C = 0
● C rodea J0
● El angulo j0 puede
coger cualquier
valor
Reducimos los 3 enlaces a l2,l3
ya que j0 puede coger cualquier valor
Planificación del movimiento del brazo articulado de un robot 28
29. Configuración del brazo: 3-enlaces
● En conclusión, podemos reducir 3-enlaces a 2-enlaces
● (l1 + l2 , l3)
● (l1 , l2 + l3)
● j0 = 0 (l2 , l3)
Planificación del movimiento del brazo articulado de un robot 29
30. Configuración del brazo: n-enlaces
● Siguiendo la estrategia para resolver un 3-enlaces,
procedemos para n-enlaces
● R es ahora el anillo que detrmina la zona accesible de los
n-1 enlaces
● El circulo C centrado en “p” tiene radio ln
● Partiendo de este escenario, aplicamos el algoritmo lineal
para configurar el brazo que iterará sobre los enlaces y para
cada uno, obtendrá un punto “t”, que será el “p” de la
siguiente iteración
Planificación del movimiento del brazo articulado de un robot 30
31. Configuración del brazo: n-enlaces
● Algoritmo
● Para cada ji, obtenemos R y C centrado en “p”
– Si ∂R ∩ C ≠ 0 , elegimos uno de los dos puntos de
intersección como “t”
– Si R⊇C , elegimos cualquier punto de C como “t”
– “p” toma por valor “t”
Planificación del movimiento del brazo articulado de un robot 31
32. Configuración del brazo: n-enlaces
Planificación del movimiento del brazo articulado de un robot 32
33. Configuración del brazo: n-enlaces
Planificación del movimiento del brazo articulado de un robot 33
34. Configuración del brazo: n-enlaces
Planificación del movimiento del brazo articulado de un robot 34
35. Configuración del brazo: n-enlaces
Planificación del movimiento del brazo articulado de un robot 35
36. Configuración del brazo: n-enlaces
Planificación del movimiento del brazo articulado de un robot 36
37. Configuración del brazo: n-enlaces
● Algoritmo
● Determinar el anillo de alcance tiene coste O(n)
● El coste de la iteración es O( n ), porque recorremos todos
los enlaces que configuran el brazo del robot para
determinar su posición y orientación
● Para cada iteración, es decir, para cada enlace, determinar
la posición de la juntura tiene coste constante O(1)
● En conclusión, este algoritmo tiene coste O(n)
Planificación del movimiento del brazo articulado de un robot 37
38. El algoritmo de las 2-vueltas
● Es un algoritmo que supone una mejora respecto al algoritmo
de n-links
● Se basa en el teorema de las 2 vueltas, resultado de los
estudios de Kutcher (1992)
Planificación del movimiento del brazo articulado de un robot 38
39. El algoritmo de las 2-vueltas
● Teorema
● Si un brazo n-enlaces puede alcanzar un punto “p”, este
puede realizar-lo solo con dos vueltas, es decir, que solo
un par de junturas tienen angulo diferente de 0 entre J1 y
Jn-1
● Este enlace cuyas dos junturas se doblaran es el enlace
medio L m tal que :
m−1
l
– ∑ l i 2 Siendo
n
l =∑ l i
i=1
m i=1
l
– ∑ l i 2
i=1
Planificación del movimiento del brazo articulado de un robot 39
40. El algoritmo de las 2-vueltas
● La búsqueda de L m está en función de r i
● Si r i 0
– Sabemos que el enlace más largo L M excede la suma
del resto , con lo cual L m =L M
● Si r i =0
– Seguimos la secuencia de enlaces hasta encontrar el
primero que, al sumar su longitud con los anteriores
exceda l , ese será L
m
2
Planificación del movimiento del brazo articulado de un robot 40
41. El algoritmo de las 2-vueltas
● La búsqueda de L m está en función de r i
● Si r i 0
Planificación del movimiento del brazo articulado de un robot 41
42. El algoritmo de las 2-vueltas
● La búsqueda de L m está en función de r i
● Si r i =0
Planificación del movimiento del brazo articulado de un robot 42
43. El algoritmo de las 2-vueltas
● Algoritmo
● Hemos reducido el problema de n-enlaces a uno que ya
sabemos resolver de 3-enlaces
Planificación del movimiento del brazo articulado de un robot 43
44. El algoritmo de las 2-vueltas
● Algoritmo
● Determinar el anillo de alcance y el enlace medio tiene
coste O(n)
● Determinar la posición de las junturas del enlace medio
tiene coste constante O(1)
● En conclusión, este algoritmo tiene coste O(n), al igual que
el anterior, pero ahora determinar la configuración tiene
coste constante, y puede resultar útil si dado un brazo
robot requiere realizar N configuraciones
Planificación del movimiento del brazo articulado de un robot 44
45. Referencias
● Computacional Geometry in C; Second Edition, Joseph
O'Rourke
● Computational Geometry, Algorithms and Applications; M. de
Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf
Planificación del movimiento del brazo articulado de un robot 45
46. Nota del autor :P
● Ilustraciones geométricas realizadas con:
● Ipe (http://tclab.kaist.ac.kr/ipe/)
● Esta presentación se realizó dentro de la asignatura “Geometria
Computacional” de la Facultat de Informàtica de Barcelona
(FIB), Universitat Politècnica de Catalunya (UPC)
http://www.fib.upc.edu/fib/
Planificación del movimiento del brazo articulado de un robot 46