trabajo fin de grado - umdis.um.es/~domingo/apuntes/ppcap/1617/stewartraspberry.pdfdepartamento de...

15
Programación Paralela y Computación de Altas Prestaciones Control de Plataformas de Stewart y programación en Raspberry Pi Murcia, Octubre 2016 https://www.flickr.com/photos/125992663@N02/14597682251/ Departamento de Informática y Sistemas

Upload: others

Post on 12-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Programación Paralela y Computación de Altas Prestaciones

Control de Plataformas de Stewart y programación en Raspberry Pi

Murcia, Octubre 2016

https://www.flickr.com/photos/125992663@N02/14597682251/

Departamento de Informática y Sistemas

Page 2: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Agenda

2

1. Motivación

2. Conceptos matemáticos

3. Descripción del problema

4. Metodología

5. Raspberry Pi

6. Otras opciones de paralelismo con Pi

3

4

6

8

11

14

(1 diap.)

(2 diap.)

(2 diap.)

(3 diap.)

(3 diap.)

(1 diap.)

Page 3: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Motivación

3

• Se ha identificado un problema en robótica que requiere un alto

coste computacional para su resolución

• En concreto se trata de modelar una Plataforma de Stewart (un

tipo de robot manipulador paralelo)

• Se controlan los 6 grados de libertad, tres de posición (x y z) y

tres de orientación (θ ψ ϕ), de una parte del mecanismo, en

concreto el terminal

• Se usan en la simulación de sistemas

mecánicos, como por ejemplo:

oBarcos

oAviones

oHelicópteros

Page 4: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Conceptos matemáticos utilizados

4

• Imprescindibles: el álgebra lineal y los sistemas de coordenadas

espaciales, y sus transformaciones

• Se debe poder:

oExpresar la situación de los cuerpos del robot, los unos

respecto a los otros

oEspecificar la situación que debe tomar el sistema de

coordenadas del terminal, así como su velocidad

• Cinemática directa e inversa:

modelos matemáticos para

calcular la relación entre la

posición de los actuadores y

el elemento final, y viceversa

Page 5: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Conceptos matemáticos utilizados

5

• Ej. Cinemática directa:

• Todas las coordenadas son referenciadas respecto a la base

• La configuración mecánica (actuadores y bielas) determina:

o Las ecuaciones de traslación y rotación

o Las ecuaciones de restricción (p.e. posiciones máximas

alcanzables según la longitud de los elementos)

oQue pueden aportar soluciones múltiples, Ej:

Page 6: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Descripción del problema

6

• Se deben resolver los sistemas de ecuaciones planteadas

• Nuestro robot está formado por 6 brazos, cada uno con un

actuador rotativo y una biela. Empleando notación matricial:

o Las ecuaciones del terminal se pueden expresar como

matrices de 12x12

o Las ecuaciones de las manivelas se pueden expresar como

matrices de 18x18

• Se usa un método iterativo obteniendo pequeños Δ que se

suman a la posición actual, hasta obtener un error menor a un

valor prefijado. El caso de no convergencia es controlado por

un tiempo límite de ejecución

• Primero se calcula el terminal, y luego los brazos, que no

tienen dependencia entre ellos PARALELIZACION

Page 7: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

7

Descripción del problema

Page 8: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Metodología

8

• La UPCT de Cartagena nos entrega la versión secuencial del

programa de control del robot en Intel© Fortran, desarrollado

con Microsoft© Visual Studio, usando la librería MKL (Lapack)

• Analizamos la estructura del código fuente e identificamos las

rutinas de cálculo y las funciones de álgebra matricial: DGETRF

(factorización LU) y DGETRS (resolución de sistemas)

• Desarrollamos un simulador que contiene la misma carga de

computación que el original, pero le añadimos la opción de:

o Tomar tiempos de ejecución

oParametrizar el tamaño del problema: dimensión de las

matrices, número de grupos estructurales y número de

iteraciones

oPoderse ejecutar en secuencial o en paralelo, para

comparativas

Page 9: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Metodología

9

Ejemplo OpenMP de llamadas al cálculo de cada brazo o grupo

estructural:

Los datos de los grupos estructurales se almacenan en arrays

indexados por número de grupo podemos abordar paralelismo en

memoria compartida

Page 10: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Metodología

10

Page 11: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Raspberry Pi

11

Page 12: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Raspberry Pi

12

• El sistema operativo usado en las pruebas ha sido Raspbian, una

versión de Linux basada en Debian y optimizada para el

hardware de las Pi

• La portabilidad del código fuente desde Intel© Fortran en

Windows© hacia GNU Fortran sobre Raspbian supuso los

siguientes cambios:

o Incluir el parámetro -std=legacy para asegurar la

compatibilidad de algunas funciones

oPrescindir del uso de la librería MKL ya que no es posible

instalar el SDK de Intel©. En su lugar instalaremos la

liblapack-dev

oReemplazar la función QueryPerformanceCounter (propietaria de

Windows©) por una librería desarrollado en C para la toma

de tiempos de ejecución

GNU Fortran soporta OpenMP desde la versión 4.9

Page 13: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Raspberry Pi

13

Escenario de test:

• Número de ejecuciones: 300 iteraciones

• Bucle secundario (simulando la búsqueda de un error por debajo de una

tolerancia prefijada): 20 iteraciones

• Variando tamaños de las matrices

Page 14: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

Otras opciones de paralelismo con Pi

14

https://www.lab7.io/rpi-cluster-1/

Cluster MPI

Page 15: Trabajo fin de grado - UMdis.um.es/~domingo/apuntes/PPCAP/1617/StewartRaspberry.pdfDepartamento de Informática y Sistemas Agenda 2 1. Motivación 2. Conceptos matemáticos 3. Descripción

15

http://pixabay.com/es/pregunta-signo-de-interrogaci%C3%B3n-298479/