adecuación y simulación cinemática y dinámica de un...

50
Universidad de Sevilla 0 Autor: Patrocinio Acuña León Tutor: José Luis Escalona Franco Departamento de Ingeniería Mecánica y Fabricación 2017 Adecuación y simulación cinemática y dinámica de un vehículo a control remoto para las prácticas de la asignatura Cinemática y Dinámica de Máquinas

Upload: others

Post on 30-Apr-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Universidad de Sevilla

0

Autor: Patrocinio Acuña León

Tutor: José Luis Escalona Franco

Departamento de Ingeniería Mecánica y Fabricación

2017

Adecuación y simulación

cinemática y dinámica de un

vehículo a control remoto para

las prácticas de la asignatura

Cinemática y Dinámica de

Máquinas

Adecuación y simulación de un vehículo

1

AGRADECIMIENTO

Me gustaría agradecer a Don José Luis Escalona Franco la oportunidad de realizar junto a él este

proyecto tan interesante, y poder investigar y ahondar en la materia. Agradezco asimismo al

Departamento de Ingeniería Mecánica y Fabricación que me ha permitido poder llevar a cabo un

trabajo intenso y muy gratificante.

Por último, agradezco a Don Pedro Urda Gómez por su colaboración y sus aportaciones técnicas

que han sido esenciales en el proyecto.

Universidad de Sevilla

2

ÍNDICE

1. OBJETIVOS 7

2. INTRODUCCIÓN 8

3. LA ASIGNATURA DE CINEMÁTICA Y DINÁMICA DE 9

MÁQUINAS Y SUS PRÁCTICAS

4. EL ROVER 11

4.1. Introducción 11

4.2. Historia y rediseño de la electrónica del vehículo 11

4.3. Resultado del rediseño de la circuitería del vehículo y del 12

mando a distancia

4.4. Mecánica del Rover 16

4.5. Sistema de Adquisición de datos 17

5. CINEMÁTICA Y DINÁMICA DEL ROVER 18

5.1. Características del modelo 18

5.2. Cinemática 18

5.2.1. Selección de coordenadas 18

5.2.2. Transformación de coordenadas 20

5.2.2.1. Orientación y velocidades angulares 20

5.2.2.2. Posición y velocidad de traslación de 21

los sólidos

5.2.3. Restricciones cinemáticas 23

5.2.4. División de coordenadas 24

Adecuación y simulación de un vehículo

3

5.3. Dinámica inversa 24

5.4. Cálculo del código simbólico 25

6. CINEMÁTICA Y DINÁMICA COMPUTACIONAL BASADA 26

EN DATOS EXPERIMENTALES

7. IDENTIFICACIÓN DE PARÁMETROS 26

7.1. Introducción 26

7.2. Obtención del centro de gravedad 26

7.3. Tensores de Inercia 27

7.3.1. Cálculo mediante sujeción pendular 27

7.3.2. Cálculo mediante Solid Works 30

8. RESULTADOS EXPERIMENTALES/NUMÉRICOS 30

8.1. Resultados experimentales de la Simulación 30

8.1.1. Simulación Cinemática 30

8.1.2. Simulación Dinámica 32

Universidad de Sevilla

4

8.2. Resultados experimentales de la identificación de parámetros 33

8.2.1. Centros de gravedad 33

8.2.2. Masas 36

8.2.3. Tensores de inercia 36

8.2.3.1. Sujeción pendular 36

8.2.3.2. Solid Works 37

8.2.3.3. Comparar resultados tensores de inercia 38

8.2.4. Resumen parámetros 38

9. TRABAJO FURURO 39

10. ANEXOS 40

10.1. Anexo 1. Plano Rover 40

10.2. Anexo 2. Fotos Rover 41

10.3. Anexo 3. Esquemas eléctricos 42

10.3.1. Mando 42

10.3.2. Placa base 43

10.4. Códigos Matlab 44

10.4.1. Simbólico 44

11. BIBLIOGRAFÍA Y REFERENCIAS 49

Adecuación y simulación de un vehículo

5

ÍNDICE DE FIGURAS

Figura 1. Esquema del Rover en 3D 7

Figura 2. Construcción original del Rover 8

Figura 3. Rover con sólidos numerados en posición arbitraria 10

Figura 4. Controladores Arduíno Fio (Izquierda) y Mbed (Derecha) 11

Figura 5. Vistas en planta del Rover 13

Figura 6. Placa base del Rover en Eagle® 14

Figura 7. Ubicación de la IMU en el vehículo 14

Figura 8. Componentes electrónicos del mando a distancia 15

Figura 9. Representación del motor del Rover 16

Figura 10. Esquema del Rover con sólidos numerados 19

Figura 11. Esquema simplificado Rover con distancias 21

Figura 12. Imagen que muestra el Rover suspendido con un hilo en dos puntos distintos 27

Figura 13. Rover colgado para calcular tensores de inercia 27

Figura 14. Muestra el ángulo que está desviado el Rover colgado 28

Figura 15. Rover hecho con el programa Solid Works 30

Figura 16. Trayectoria real (roja) y calculada (azul) del Rover 31

Figura 17. Velocidad angular del modelo frente a la calculada 31

Figura 18. Aceleración del modelo frente a calculada 32

Figura 19. Pares motores en las dos ruedas 32

Figura 20. Fuerzas tangenciales de contacto 33

Figura 21. Imagen que muestra el cdg del Rover en la intersección de las líneas verde y azul 33

Figura 22. Imágenes que muestran las distintas partes del Rover y el conjunto final de su cdg 34

Figura 23. Imagen que muestra los resultados en Solid Works de los tensores de inercia 37

Universidad de Sevilla

6

ÍNDICE DE TABLAS

Tabla 1. Componentes electrónicos de la placa base del Rover 13

Tabla 2. Componentes electrónicos del mando a distancia 15

Tabla 3. Cuadro comparación resultados inercias finales 38

Adecuación y simulación de un vehículo

7

1. OBJETIVOS

El presente proyecto de fin de carrera trata sobre el manejo de un vehículo instrumentado,

que se asemeja a un coche teledirigido de tres ruedas (ver Fig. 1). El objetivo es estudiar la

Cinemática y Dinámica de dicho vehículo, y aplicarlo a fines didácticos en una asignatura

de la especialidad de Mecánica Máquinas, en la carrera de Ingeniería Industrial.

En sucesivos apartados se muestra el proceso de resolución de las ecuaciones del Robot,

además de la metodología empleada en la obtención de los parámetros geométricos y los

ensayos experimentales.

Figura 1. Esquema del Rover en 3D

Universidad de Sevilla

8

2. INTRODUCCIÓN

El vehículo a control remoto, objeto fundamental de este TFG denominado como Rover, fue

resultado de un proyecto previo del Departamento de Ingeniería Mecánica de la Universidad

de Sevilla.

La idea original era la de construir un vehículo a control remoto, sensorizarlo y emplearlo

para la auscultación experimental de superficies. Se pretendía generar algoritmos que

permitiesen determinar la geometría vertical de la superficie por la que el vehículo se iba

desplazando mediante la utilización de filtro de Kalman y algoritmos de fusión de sensores.

En (ver Fig. 2) se muestra una instantánea del diseño original del Rover [1]. Como puede

observarse la electrónica del sistema era sumamente rudimentaria, y los resultados obtenidos

muy pocos fiables debidos a fallos en las conexiones eléctricas.

Aparte de estos fallos, tampoco era adecuada la colocación de la IMU, sensor principal del

vehículo que más adelante describiremos, que se hallaba desplazada del centro de gravedad

del vehículo.

Figura 2. Construcción original del Rover

Otro de los problemas que presentaba el vehículo era que la alimentación del sistema se

realizaba directamente desde tres baterías LiPo conectadas en serie que suministraban una

tensión no del todo estable de aproximadamente 13 voltios. Circunstancia igualmente poco

deseable para un sistema como tal.

El mando a distancia original presentaba problemas similares a los anteriormente descritos

que impedían el correcto funcionamiento del control a distancia.

Vistos estos problemas y la falta de aptitud del sistema para cumplir con su cometido

original, se decidió realizar un rediseño y renovación del vehículo que convirtiesen en un

auténtico vehículo experimental para la auscultación de superficies.

Adecuación y simulación de un vehículo

9

Una vez realizados los cambios que se detallarán en el (ver ap. 4), hoy en día se ha

cambiado la utilidad de este aparato. Ha pasado a ser el protagonista de una asignatura del

grado de Ingeniería de las Tecnologías Industriales, en la Universidad de Sevilla. Dicha

asignatura se llama Cinemática y Dinámica de Máquinas, y pertenece a la rama de Mecánica

Máquinas.

De esta manera, el Rover ha sido enfocado en el ámbito de la docencia, y es el objeto de

estudio de los alumnos que realizarán una serie de tres prácticas fundamentadas en la

simulación.

3. LA ASIGNATURA CINEMÁTICA Y DINÁMICA DE MÁQUINAS Y SUS

PRÁCTICAS

En primer lugar, la cinemática es una rama de la física que describe el movimiento de los

objetos sólidos, sin considerar las fuerzas que lo originan.

Por otro lado, la dinámica es la parte de la mecánica que trata de las leyes del movimiento

en relación con las fuerzas que lo producen. Si se unen estas dos ciencias en un mismo

objetivo de estudio, se forma la asignatura de Cinemática y Dinámica de Máquinas, en la

que se estudia la simulación de estas dos partes de la mecánica.

Desde hace años, se ha venido haciendo en esta asignatura, una práctica que consistía en

simular cinemática y dinámicamente el movimiento de una bicicleta [3]. Debido a la

complejidad de las ecuaciones que conforman a una bicicleta, se ha sustituído por el Rover.

La primera práctica del Rover, de una serie de tres, trata sobre medidas experimentales,

tratamiento de datos e identificación paramétrica del vehículo instrumentado. Se realiza en

grupos de dos alumnos, y tienen que superar las siguientes fases:

1. Realización del experimento: viaje del Róver y registro de señales digitales

2. Tratamiento de señales digitales

3. Identificación paramétrica

En un primer momento se pretendía incluir en esta primera práctica el cálculo de los

tensores de inercia. El problema que se encontró fue que para el momento en que se

presentó a los alumnos el enunciado, los resultados de los ensayos de los tensores de

inercias no daban números coherentes. Esto quiere decir, que no se descarta la inclusión de

otro apartado para años futuros.

Universidad de Sevilla

10

La práctica que le sucede es la segunda, y consiste en el análisis cinemático basado en

mediciones experimentales. Tras la primera práctica en la que se realiza un experimento con

un vehículo instrumentado, en esta segunda se utilizan los datos recogidos para hacer un

análisis cinemático del vehículo.

Para la realización de ésta, los alumnos cuentan con la siguiente información:

1. Registro del ángulo de rodadura de las ruedas izquierda 𝜗3 y derecha 𝜗4 y de sus

derivadas primera y segunda.

2. Programa de cálculo simbólico y simulación cinemática del movimiento de una

chincheta en el suelo.

3. Archivos de Matlab ‘simulaRover.m’, ‘cinRover.m’ (incompletos, a terminar por

los alumnos) y ‘animaRover.m’.

Figura 3. Rover con sólidos numerados en posición arbitraria

Para concluir las prácticas, en la tercera se realiza la dinámica inversa basada en

mediciones experimentales. Tras la primera práctica en la que se realiza un experimento con

un vehículo instrumentado y la segunda en la que se calculan las coordenadas del sistema

durante el trayecto, en esta tercera se calculan las velocidades y aceleraciones que tienen

lugar, y las fuerzas que intervienen en el movimiento.

Además de todo lo que se ha precisado para la segunda, en esta se añaden otros archivos de

Matlab que se describen posteriormente.

Adecuación y simulación de un vehículo

11

4. EL ROVER

4.1. Introducción

En este apartado se explican los detalles del proceso de rediseño y fabricación de la

circuitería del vehículo y del mando a distancia. También se recoge todo lo relativo a la

mecánica, el nuevo sistema de control del vehículo y el nuevo sistema de adquisición de

datos.

4.2. Historia y rediseño de la electrónica del vehículo

Antes de poder realizar cualquier ensayo de auscultación de superficies, era necesario

conseguir un vehículo totalmente fiable. Lo primero que se ha hecho ha sido rediseñar

desde cero la electrónica del vehículo, introduciéndole notables modificaciones respecto

al diseño original.

En el antiguo Rover tanto la adquisición de datos, comunicación inalámbrica y control

del vehículo se realizaba a través de un único microcontrolador. Concretamente se

trataba de una Mbed LPC1768, un pequeño pero potente controlador con procesador

Cortex-M3 de 96MHz.

En la nueva versión del Rover se ha optado por independizar el control remoto del

vehículo de la adquisición. Esto se ha hecho así por dos motivos. En primer lugar había

muchos problemas de comunicación inalámbrica entre el vehículo y el mando. Ello se

debía a una falta de compatibilidad entre la Mbed y el receptor inalámbrico empleado, en

este caso una Xbee S2, lo cual hacía al vehículo totalmente inservible. Por otra parte, el

haber independizado el control de la adquisición ha permitido tener la Mbed únicamente

dedicada a la adquisición de datos, sin necesidad de gastar recursos en las tareas de

control del vehículo y comunicación inalámbrica.

Figura 4. Controladores Arduino Fio (Izquierda) y Mbed (Derecha)

Universidad de Sevilla

12

Para llevar a cabo el control de los motores y la comunicación inalámbrica se ha

instalado en el Rover un microcontrolador Arduino Fio. Se trata de un sencillo

controlador especialmente diseñado para la comunicación inalámbrica. De hecho viene

de fábrica preparado para instalar sobre la propia placa un módulo inalámbrico de tipo

Xbee. De esta manera las funciones del Arduino Fio son establecer la comunicación con

el mando a distancia, enviar las señales de control apropiadas a los motores y mandar a

la Mbed el trigger (señal de disparo) de inicio de la adquisición de datos.

Siguiendo con la descripción de modificaciones introducidas en el vehículo, la IMU de

la que más adelante se hablará, ha sido retirada de su posición original sobre el chasis

para ser reubicada en una posición muy próxima al centro de masas del vehículo.

Finalmente, el mando también ha sido rediseñado. Fundamentalmente se ha intentado

simplificar al máximo su funcionamiento, suprimiendo la pantalla LCD que montaba

originalmente y que lo único que hacía era complicar el sistema. El mando sí que tenía

de origen un Arduino Fio con módulo inalámbrico Xbee, el cual obviamente se ha

mantenido. Como innovaciones en el diseño del mando se han introducido cuatro

botones para el control del vehículo y un Joystick de mayor funcionalidad que el

original. Con respecto a la alimentación se ha pasado de las dos baterías Lipo a una pila

recargable de 9V.

4.3. Resultado del rediseño de la circuitería del vehículo y del mando a distancia

Para dar solución a todos los problemas electrónicos mencionados en el capítulo

primero, se ha llevado a cabo un rediseño y construcción del hardware del vehículo y de

su mando a distancia. En la Figura 5 y tabla 1 se muestran e indican los distintos

elementos que componen la placa base del vehículo.

Por otro lado, el diseño del circuito integrado principal se ha diseñado con Eagle®,

software específico para el diseño de este tipo de aplicaciones electrónicas. En la Figura

6 se muestra el diseño de pistas resultante de Eagle®. Una vez validado el diseño se

procedió a su fabricación mediante el método convencional de insolación, revelado y

ataque con ácido. El resultado obtenido fue altamente satisfactorio.

Adecuación y simulación de un vehículo

13

Figura 5. Vista en planta del Rover

Tabla 1. Componentes electrónicos de la placa base del Rover

Número Nombre del componente

1 Motor DC con encoder modelo Pololu 30:1 Metal Gearmotor 37Dx52L mm

64 CPR Encoder.

2 Puente H modelo estándar con 2 salidas.

3 Microcontrolador Mbed LPC1768.

4 Microcontrolador Arduino Fio + Xbee RF.

5 Dispositivo de almacenamiento externo formato FAT32.

6 Limitador de tensión LM78xx con disipador de calor.

7 Antena receptora.

Universidad de Sevilla

14

Figura 6. Placa base del Rover en Eagle®

Por último, la IMU utilizada en el vehículo es una unidad inercial compuesta de dos

sensores. Un acelerómetro BMA180 y un giróscopo ITG3200. El dispositivo se conecta a

través de protocolo IC2 a la Mbed. Se ha instalado dentro del chasis del vehículo en una

posición muy próxima al centro de masas del vehículo como puede observarse en la Figura

7. La IMU, junto con los encoders y la Mbed constituyen el sistema de adquisición de datos

del vehículo.

Figura 7. Ubicación de la IMU en el vehículo

Adecuación y simulación de un vehículo

15

De igual forma que para la placa base del vehículo se describen a continuación las

características del mando a distancia y sus diferentes funciones. En la Figura 8 y Tabla 2 se

muestran y describen los componentes del dispositivo.

Figura 8. Componentes del mando a distancia

Tabla 2. Componentes electrónicos del mando a distancia

Número Nombre del componente

1 Microcontrolador Arduino Fio + Xbee RF.

2 Batería 9V.

3 Interruptor On/Off.

4 Limitadores de tensión tipo LM7805sin disipador.

5 Joystick analógico 5V.

6 Botón STOP.

7 Botón LOG.

8 Botón corregir deriva a izquierda.

9 Botón corregir deriva a derecha.

La tecnología de fabricación del mando a distancia ha sido idéntica a la de la placa base del

vehículo. La alimentación se realiza a partir de una pila convencional de 9V cuya tensión es

reducida y estabilizada a 5V por dos limitadores tipo LM7805 para suministrar energía al

microcontrolador y al joystick.

Universidad de Sevilla

16

La botonera está enrutada con el microcontrolador. Su misión es la de enviar señales

discretas a una serie de pines del mismo y en función de su valor producir diferentes

acciones de control. El botón STOP se utiliza para detener completamente los motores del

vehículo, el botón LOG inicia y finaliza la adquisición de datos. Los botones R y L corrigen

la deriva lateral del vehículo como se explicará en el siguiente epígrafe. El joystick como era

de esperar, se utiliza para controlar los movimientos del vehículo.

En el Anexo 3 se muestra el esquema eléctrico simplificado de la placa base del vehículo y

del mando a distancia.

4.4. Mecánica del Rover

El Rover está formado por dos pequeños motores, que conectados a las dos ruedas

motrices, hacen posible el movimiento. Además, estas ruedas están formadas

principalmente de goma, y como el Rover no alcanza altas velocidades, se asume que no

hay deslizamiento. En la Figura 9 se puede observar la forma del motor. A su vez, la

rueda va anclada al palo que sobresale de dicho motor, y de esta manera están en

contacto.

Figura 9 . Representación del motor del Rover

En cuanto al giro, la rueda del lado opuesto al que se quiere desplazar, empieza a

moverse a más velocidad, permitiendo dicho giro. Mientras que la rueda Jockey

únicamente sirve como apoyo, pero no es motriz.

Por otro lado, el Rover está formado principalmente de aluminio, y no posee suspensión.

En el caso de haberla tenido, hubiera amortiguado mejor el movimiento.

Adecuación y simulación de un vehículo

17

4.5. Sistema de Adquisición de datos

Ahora bien, se ha visto necesario comparar el modelo teórico expuesto, con el

comportamiento real del vehículo eléctrico teledirigido. Dicho vehículo está compuesto

por un sistema, integrado por un microcontrolador Mbed, dos encoder, una IMU y un

dispositivo de almacenamiento USB.

Este sistema funciona de la siguiente manera: Se ha establecido una conexión entre el

microcontrolador Arduino Fio del Rover y la Mbed, de manera que cuando el Arduino

recibe del mando la señal de inicio o finalización de la adquisición este transfiere esta

señal a la Mbed. En el esquema eléctrico de la placa base puede verse dicha conexión.

Una vez la Mbed recibe la señal de disparo, da comienzo el proceso de adquisición de

datos. Como resultado, a la finalización del ensayo se generará en el dispositivo de

almacenamiento USB un fichero .txt con los datos adquiridos. El fichero tendrá nueve

columnas cuyos datos serán:

• Columna 1. Instante de tiempo (s).

• Columna 2. Aceleración angular en dirección X, en 𝑚

𝑠2.

• Columna 3. Aceleración angular en dirección Y, en 𝑚

𝑠2.

• Columna 4. Aceleración angular en dirección Z, en 𝑚

𝑠2.

• Columna 5. Velocidad angular en dirección X, en grados/s.

• Columna 6. Velocidad angular en dirección Y, en grados/s.

• Columna 7. Velocidad angular en dirección Z, en grados/s.

• Columna 8. Pulsos de encóder en motor derecho (con signo negativo).

• Columna 9. Pulsos de encóder en motor izquierdo.

Para llevar la cuenta de los ensayos en la memoria de Mbed habrá siempre un fichero

donde se almacene el número del último ensayo grabado. De esta forma al iniciarse el

proceso de adquisición se revisa dicho fichero y a partir del número que tiene

almacenado se genera en el USB el fichero donde se almacenarán los datos.

Por otro lado, es importante tener en cuenta que debido al proceso de adquisición

utilizado, los datos registrados contienen información incorrecta hasta t = 1 s. Los datos

a partir de ese instante (a partir de la fila 101 del archivo de datos registrado) son los que

deben ser utilizados para su tratamiento numérico y su utilización en los análisis

cinemático y dinámico de las prácticas 2 y 3. Por tanto, los primeros 100 datos

registrados deben desecharse en el análisis.

Universidad de Sevilla

18

Por último, los encoder tienen una resolución de 960 pulsos por revolución según las

especificaciones del fabricante. La salida del encoder son dos señales cuadradas de 5V

desfasadas entre sí. La existencia de estos dos canales puede permitir bien determinar el

sentido de giro del motor o aumentar la resolución del mismo. Dado que para los

experimentos que se van a realizar no se considera la posibilidad de que el vehículo

avance marcha atrás se ha optado por emplear ambos canales en un solo sentido

aumentando de esta manera la resolución del dispositivo.

5. CINEMÁTICA Y DINÁMICA DEL ROVER

5.1. Características del modelo

El modelo del Robot, llamado Rover, consiste en suponer un sistema formado por cinco

sólidos que se encuentran idealmente articulados. De este modo, el Rover estará

compuesto por el chasis ó sólidos dos, rueda izquierda ó sólido tres, rueda derecha ó

sólido cuatro, jockey ó sólido cinco y rueda jockey ó sólido seis.

Las ruedas de los sólidos tres y cuatro son idénticas, y diferentes de la rueda jockey ó

solido seis. Todas siguen un movimiento de rodadura sin deslizamiento, produciéndose

el contacto entre estos tres sólidos y el suelo, en un único punto.

Por otro lado, la distribución de la masa y la geometría se definirán en apartados

posteriores, interviniendo éstas en el valor de los parámetros del sistema tales como la

masa, la posición del centro de gravedad o los tensores de inercia.

También, supondremos que el Rover avanza por un terreno llano y liso, por lo que se

debe hacer hincapié en que existen factores no incluidos en el modelo. Estos factores

pueden ser, entre otros, el rozamiento y el comportamiento real del contacto neumático-

suelo.

5.2. Cinemática

5.2.1. Selección de coordenadas

En este subapartado se muestran todas las coordenadas que intervienen en las

ecuaciones obtenidas, que sirven para identificar los posibles movimentos de los

sólidos rígidos que componen el sistema. Dichas coordenadas se representan en

un dibujo en posición arbitraria del Rover (ver Fig. 10).

El sistema de referencia <X Y Z> es un sistema de referencia global, al que se

referirá la energía cinética en el problema. Por otro lado, cada sólido rígido tiene

asociado un sistema de referencia local en su centro de gravedad, por lo que

habrá uno asociado al sólido 2, 3, 4, 5 y 6.

Adecuación y simulación de un vehículo

19

Las coordenadas que se utilizan para definir la posición y velocidad de todos los

sólidos del Robot se detallan a continuación:

1. Las coordenadas 𝑥2 𝑒 𝑦2 que marcan la posición del centro de gravedad

del sólidos 2 o chasis. En este trabajo se supone que el Rover avanza por

un terreno plano y sin inclinación.

2. El ángulo de guiñada (yaw) 𝜑2 que ayuda a definir la posición del sólidos

2.

3. Los ángulos teta3(rueda derecha) y teta4 (rueda izquierda) que son los

ángulos de rodadura de ambas ruedas.

4. El ángulo 𝜑5 que representa el ‘ángulo de guiñada’ de la rueda Jockey.

5. Y por último el ángulo 𝜃6 que refiere al ángulo de rodadura de dicha

rueda.

El conjunto de estas coordenadas definen unívocamente la posición y

orientación de los sólidos del Rover, modelado en el sistema de referencia

global. Estas coordenadas se denominan generalizadas, y llevan asociadas una

determinada inercia en su movimiento. El siguiente vector recoge las siete

coordenadas mencionadas:

𝑞 = [𝑥2 𝑦2 𝜑2 𝜃3 𝜃4 𝜑5 𝜃6]𝑇 (1)

Figura10. Esquema del Rover con sólidos numerados

Universidad de Sevilla

20

5.2.2. Transformación de coordenadas

5.2.2.1.Orientación y velocidades angulares

Para convertir los sistemas de coordenadas locales en un único sistema de

referencia global, se hace uso de matrices de giro. Para cada sistema de

coordenadas no global, las matrices de giro vendrán dadas por los siguientes

productos de matrices:

𝐴3 = 𝐴2 · 𝐴2,3

𝐴4 = 𝐴2 · 𝐴2,4

𝐴5 = 𝐴2 · 𝐴2,5

𝐴6 = 𝐴5 · 𝐴5,6 (2)

𝐴2 = [cos 𝜑2 − sin 𝜑2 0sin 𝜑2 cos 𝜑2 0

0 0 1], 𝐴2,3 = [

cos 𝜃3 0 sin 𝜃3

0 1 0− sin 𝜃3 0 cos 𝜃3

],

𝐴2,4 = [cos 𝜃4 0 sin 𝜃4

0 1 0− sin 𝜃4 0 cos 𝜃4

], 𝐴2,5 = [cos 𝜑5 − sin 𝜑5 0sin 𝜑5 cos 𝜑5 0

0 0 1],

𝐴5,6 = [cos 𝜃6 0 sin 𝜃6

0 1 0−𝑠𝑖𝑛𝜃6 0 cos 𝜃6

]

Siendo los superíndices de las matrices los que indican el sistema de

coordenadas, o sólidos en este caso.

A continuación se van a determinar las velocidades angulares de todos los

sólidos en función de las coordenadas 𝒒 y de sus derivadas con respecto al

tiempo ��. Estas velocidades se pueden calcular de la forma:

𝜔𝑖 = 𝐺𝑖(𝑞)𝑞 (3)

Se observa que la velocidad angular de cualquier sólido del sistema 𝝎𝒊, se

puede calcular a partir de una matriz de transformación función de las

coordenadas generalizadas que multiplica a un vector de velocidades

angulares locales. En otras palabras, la velocidad angular de cada sólido, en el

sistema de referencia, es lineal en velocidades. Nombrando a la matriz

antedicha mediante 𝑮𝒊.

Adecuación y simulación de un vehículo

21

5.2.2.2.Posición y velocidad de traslación de los sólidos

La energía cinética del sistema se expresará en términos del sistema de

referencia absoluto. Para tal fin, se obtendrán las matrices 𝐻𝑖 que transforman

linealmente las velocidades generalizadas obteniendo la velocidad del centro

de masa de cada sólido en el sistema de referencia inercial. El primer paso es

conseguir la expresión del centro de gravedad de los sólidos en cuestión, que

harán uso de distancias que están especificadas en (ver Fig.11).

Figura 11. Esquema simplificado Rover con distancias[2]

𝑅2 = [𝑥𝐺2 ; 𝑦𝐺2

; 𝑅𝑓 + 𝑙𝑧3]

𝑇

𝑅3 = 𝑅2 + 𝐴2 · 𝑈3 ; 𝑈3

= [𝑙𝑥3 ; 𝑙𝑦3 ; −𝑙𝑧3]𝑇

𝑅4 = 𝑅2 + 𝐴2 · 𝑈4 ; 𝑈4

= [𝑙𝑥3 ; −𝑙𝑦3 ; −𝑙𝑧3]𝑇

𝑅5 = 𝑅2 + 𝐴2 · 𝑈5 ; 𝑈5

= [−𝑙𝑥3 − 𝑙𝑥5 ; 0 ; 𝑅𝑓 + 𝑙𝑧3 − (𝑅𝑟 + 𝑙𝑧6)]𝑇

𝑅6 = 𝑅5 + 𝐴5 · 𝑈6 ; 𝑈6

= [−𝑙𝑥56 ; 0 ; −𝑙𝑧6]𝑇

Universidad de Sevilla

22

𝑈𝑄 = [𝑅 · sin 𝜗3 0 − 𝑅 · cos 𝜗3]𝑇

𝑈𝑃 = [𝑅 · sin 𝜗4 0 − 𝑅 · cos 𝜗4]𝑇

𝑈𝑆 = [𝑅 · sin 𝜗6 0 − 𝑅 · cos 𝜗6]𝑇 (4)

Las tres últimas ecuaciones refieren al vector de los puntos de contacto de las

tres ruedas con el suelo.

A su vez, derivando con respecto al tiempo estas expresiones se obtienen las

velocidades de traslación. Que se pueden recoger en la expresión (5)

𝑣𝐺𝑖= 𝐻𝑖(𝑞)𝑞 (5)

Y especificando para los distintos sólidos se obtiene:

𝑉2 = 𝐻2 · ��

𝑉3 = 𝐻3 · ��

𝑉4 = 𝐻4 · ��

𝑉5 = 𝐻5 · ��

𝑉6 = 𝐻6 · ��

Por último especificar las velocidades de los tres puntos de contacto de las

ruedas con el suelo:

𝑉𝑃 = 𝑉4 + 𝐴4 · (𝑤4 ×𝑈𝑃 )

𝑉𝑄 = 𝑉3 + 𝐴3 · (𝑤3 ×𝑈𝑄 )

𝑉𝑆 = 𝑉6 + 𝐴6 · (𝑤6 ×𝑈𝑆 ) (6)

Adecuación y simulación de un vehículo

23

5.2.3. Restricciones cinemáticas

Debido a que el número de grados de libertad del sistema es mayor que el

número de coordenadas generalizadas (expuestas con anterioridad), se emplean

las restricciones cinemáticas. Existen restricciones de varios tipos, como de

contacto, de movilidad, y de rodadura sin deslizamiento. En este caso

únicamente se tienen de rodadura sin deslizamiento, que son consideradas

ligaduras no holónomas.

Ahora bien, ¿Qué significa que son restricciones no holónomas? Son aquellas

restricciones que dependen de la velocidad. Además se exige que sean

integrables, y no se pueden obtener derivando una holónoma.

Este suceso conlleva que las ecuaciones que se imponen sean en velocidad, por

lo que para hallar la posición hay que integrar dichas ecuaciones. Al realizar este

proceso, se va acumulando cierto error que provoca que la trayectoria real, y la

esperada difieran.

• Restricciones de rodadura sin deslizamiento. Este tipo de restricciones

son el ejemplo de aquéllas clasificadas como no holónomas. El conjunto

de ecuaciones de restricción que describen la rodadura sin deslizamiento

toma la siguiente forma matricial:

𝐶(𝑞, ��) = 0 (7)

Para el caso del Robot, esto garantiza que las tres ruedas tengan en todo instante,

velocidad igual a cero en el punto de contacto.

Por lo que se tendrán las tres ecuaciones (6), que para que garanticen las

condiciones de rodadura sin deslizamiento, se igualan a cero.

𝑉𝑃(1) = 𝑉𝑃𝑥= 0

𝑉𝑃(2) = 𝑉𝑃𝑦= 0

𝑉𝑄(2) = 𝑉𝑄𝑦= 0

𝑉𝑆(1) = 𝑉𝑆𝑥= 0

𝑉𝑆(2) = 𝑉𝑆𝑦= 0 (8)

Universidad de Sevilla

24

Como se puede observar, al haber seleccionado la ecuación de dirección x del

punto de contacto P, no se vuelve a elegir la de Q ya que están en el mismo eje, y

sería una restricción redundante.

5.2.4. División de coordenadas

Los datos que se obtienen de los ensayos, los llamaremos coordenadas

independientes y son 𝜗3 𝑦 𝜗4.

𝜗3 → 𝜗3 → 𝜗3 (9)

𝜗4 → 𝜗4 → 𝜗4 (10)

De esta forma, la matriz B quedará dividida de la siguiente manera:

𝐵(𝑞)5𝑥7 = [𝐷𝑒𝑝5𝑥3//𝐼𝑛𝑑𝑒𝑝5𝑥2//𝐷𝑒𝑝5𝑥2] (11)

A continuación se deriva con respecto a las coordenadas y el resultado es:

𝐵 · �� = 0 → 𝐵𝑖𝑛𝑑 · ��𝑖𝑛𝑑 + 𝐵𝑑𝑒𝑝 · ��𝑑𝑒𝑝 = 0 →

→ ��𝑑𝑒𝑝 = −𝐵𝑑𝑒𝑝−1 · 𝐵𝑖𝑛𝑑 · ��𝑖𝑛𝑑 (12)

Se resolvería en este caso la ecuación 12, como un problema de velocidades.

Si se vuelve a derivar:

𝐵 · �� + �� · �� = 0 →

→ 𝐵𝑑𝑒𝑝 · ��𝑑𝑒𝑝 + 𝐵𝑖𝑛𝑑 · ��𝑖𝑛𝑑 + ��𝑑𝑒𝑝 · ��𝑑𝑒𝑝 + ��𝑖𝑛𝑑 · ��𝑖𝑛𝑑 = 0 →

→ ��𝑑𝑒𝑝 = −𝐵𝑑𝑒𝑝−1 · [𝐵𝑖𝑛𝑑 · ��𝑖𝑛𝑑 + �� · ��] (13)

Para esta última ecuación 13 obtenida, se resolvería un problema de

aceleraciones.

5.3. Dinámica inversa

La Dinámica es la rama de la Mecánica que se ocupa del estudio del movimiento,

considerando las causas que lo producen y sus efectos.

A su vez, la dinámica inversa consiste en la obtención de los esfuerzos motores que

originan un movimiento dado, en el mecanismo. Por lo tanto, las incógnitas son los

esfuerzos motores que originan el movimiento, y los datos los parámetros inerciales y

geométricos del mecanismo, solicitaciones exteriores, y datos cinemáticos del

movimiento.

Adecuación y simulación de un vehículo

25

En este caso de vehículo instrumentado, la dinámica inversa se desarrollará de la

siguiente manera:

𝑀 · �� + 𝐵𝑇 · λ = 𝑄𝑎𝑝 + 𝑄𝑣

𝐵 · �� + �� · �� = 0} (14)

𝑀𝑑𝑒𝑝 · ��𝑑𝑒𝑝 + 𝑀𝑖𝑛𝑑 · ��𝑖𝑛𝑑 + 𝐵𝑇 · λ = QM3 + 𝑄𝑀4 + 𝑄𝑔𝑟𝑎𝑣 + 𝑄𝑣

𝐵𝑑𝑒𝑝 · ��𝑑𝑒𝑝 + 𝐵𝑖𝑛𝑑 · ��𝑖𝑛𝑑 + �� · �� = 0

Que si se organiza en un sistema matricial (14) con las incógnitas en el vector que

multiplica, quedará:

[𝑀𝑑𝑒𝑝7×5

−𝑆7×2 𝐵𝟕×𝟓𝑇

𝐵𝑑𝑒𝑝5×505×2 05×5

] [

��𝑑𝑒𝑝5×1

𝑇2×1

𝜆5×1

] =

= [−𝑀𝑖𝑛𝑑 7×2 · ��𝑖𝑛𝑑 2×1 + 𝑄𝑔𝑟𝑎𝑣 7×1 · 𝑄𝑉 7×1

−��5×7 · ��7×1 − 𝐵𝑖𝑛𝑑 5×2 · ��𝑖𝑛𝑑 2×1

]

Siendo S una matriz que se incluyen 𝐺3 𝑦 𝐺4 , y en T van los pares 𝑀3 𝑦 𝑀4.

5.4. Cálculo del código simbólico

Previo a programar en Matlab la cinemática y dinámica del Rover, es preciso crear un

archivo también en Matlab, llamado simbólico, que es el encargado de generar las

matrices de giro, velocidades angulares, matrices H, G ó matrices de transformaciones

cinemáticas, Jacobianos, restricciones, matrices de masas e inercias, fuerzas cuadráticas

en velocidad, gravitatorias y fuerzas motrices.

Dicho simbólico tiene como entrada un archivo que contiene el tiempo que va

transcurriendo, las aceleraciones en las direcciones x y z, las 𝜔 en estas tres direcciones,

y los pulsos con los que se sacan 𝜗3 𝑦 𝜗4.

En el Anexo 10.4.1 se puede observar el código simbólico programado.

Universidad de Sevilla

26

6. CINEMÁTICA Y DINÁMICA COMPUTACIONAL BASADA EN DATOS

EXPERIMENTALES

Una vez se ha hecho el documento simbólico, se puede proceder a programar la simulación

cinemática y dinámica.

En primer lugar, para empezar la simulación cinemática, se recibe un archivo que contiene

los ángulos 𝜗3 𝑦 𝜗4 y sus derivadas, y las aceleraciones y velocidades angulares en <x y z>.

El resto de coordenadas, o coordenadas dependientes, se harán en función de estas dos, y se

inicializan a cero. El método que se seguirá para obtener dichas coordenadas será por

integración, ya que las ecuaciones que se tienen son en velocidad debido a que las

restricciones son no holónomas.

En (ver ap. 8.1) se adjuntan imágenes de los resultados de dicha simulación cinemática.

Por otro lado, la simulación dinámica precisa de lo calculado en los otros dos documentos,

Simbólico y Simulación cinemática. El objetivo es calcular las incógnitas (ver ap. 5.3).

7. IDENTIFICACIÓN DE PARÁMETROS

7.1.Introducción

En este apartado de Resultados Experimentales se muestran los procedimientos y modos

de obtención de los parámetros que definen el sistema del vehículo instrumentado.

7.2.Obtención de los centros de gravedad

Parte de los parámetros inerciales que definen el vehículo es la posición de su centro de

gravedad. Para calcular experimentalmente esta posición se va a hacer uso de la

propiedad de que al suspender un sólido de un hilo, el centro de gravedad de dicho

sólido queda alineado con la dirección del hilo. También, se va a suponer que el Róver

es simétrico respecto al plano longitudinal.

Para comenzar, este procedimiento consiste en colgar dos veces el Rover de una cuerda,

en dos puntos diferentes, pero ambos contenidos en el plano de simetría. A continuación,

se capturan dos fotografías de perfil del Robot en cada una de las posiciones (ver Fig.

12). Se prolongan las líneas que contienen al hilo en estas dos imágenes, y se obtiene

una recta que contiene al centro de gravedad.

Una vez hecho esto, se superponen estas imágenes usando la misma escala (nº de píxeles

por mm.), y en el corte de las rectas de ambas fotos se encuentra dicho centro de

gravedad (ver Fig. 21).

Este procedimiento se realiza usando el programa de gráficos vectoriales de software

libre Inkscape.

Adecuación y simulación de un vehículo

27

Figura 12. Imagen que muestra el Róver suspendido con un hilo en dos puntos

distintos

7.3.Tensores de Inercia

7.3.1. Cálculo mediante sujeción pendular

Este método se basa en un método experimental, en el que se ha colgado el

Rover de tres posiciones distintas y se ha hecho oslicar, grabando en un ensayo

los datos pertinentes y haciendo un posterior tratamiento de datos.

Para el cálculo 𝐼𝑦𝑃(𝑚𝑜𝑚𝑒𝑛𝑡𝑜 𝑑𝑒 𝑖𝑛𝑒𝑟𝑐𝑖𝑎 𝑝𝑜𝑙𝑎𝑟 𝑒𝑛 𝑦) se ha colgado el Rover de

dos puntos (ver Fig. 13 izquierda del todo)

Figura 13. Rover colgado para calcular tensores de inercia

Universidad de Sevilla

28

Una vez que se han guardado los datos después del ensayo, se ha elegido la 𝑤𝑦 y

se ha hecho la Transformada de Fourier. De ahí se ha obtenido la 𝑤𝑛 que se

introduce en la siguiente fórmula:

(𝐼𝐺 + 𝑚 · 𝑙2) · �� + 𝑚 · 𝑙 · 𝑔 · 𝜗 = 0 (15)

Siendo,

𝑙𝑦 = 𝑙𝑐𝑢𝑒𝑟𝑑𝑎 + 𝑙𝑐𝑑𝑔 = 0.065 + 0.12𝑚.

𝑙𝑧 = 0.075 + 0.12𝑚.

𝑙𝑥𝑧 = 0.08 + 0.07𝑚.

𝑤𝑛 = √(𝐼𝐺+𝑚·𝑙2)

𝑚·𝑙·𝑔 (16)

𝐼𝐺 = 𝐼𝑦𝑃 = 𝑚 · 𝑙 · (

𝑔

𝑤𝑛2 − 𝑙) (17)

𝐼𝑦𝑃 = 𝐼𝑥𝑥 + 𝐼𝑧𝑧 (18)

De la misma manera, pero colgando el Rover en distinta posición se calcula

𝐼𝑧𝑃que a su vez es igual a:

𝐼𝑧𝑃 = 𝐼𝑥𝑥 + 𝐼𝑦𝑦 (19)

Por otro lado, el cálculo de x es un poco más complejo ya que el plano que

forman las dos cuerdas de las que se cuelga el Rover no pasan por el cdg, lo que

incluye un ángulo (α=9.8135˚) en el cálculo de 𝐼𝑥𝑃 (ver Fig. 14).

Figura 14. Muestra el ángulo que está desviado el Rover colgado

Adecuación y simulación de un vehículo

29

Por lo que se procede de la siguiente forma:

La I que se obtiene del ensayo de x se va a llamar 𝐼𝑥𝑥1𝑃 (𝑛𝑜 𝑒𝑠 𝑙𝑎 𝐼𝑥𝑥 𝑓𝑖𝑛𝑎𝑙).

𝐼⏟ = 𝐴⏟ · 𝐼⏟ · 𝐴𝑇⏟ (20)

Siendo, 𝐴1𝑇= [

cos (∝) 0 −sin (∝)0 1 0

sin (∝) 0 cos (∝)] (Matriz traspuesta para pasar de

coordenadas globales a coordenadas locales).

𝐼𝑥𝑥 = 𝐼𝑥𝑥1 · (1 − 𝑠𝑒𝑛(∝)2) + 𝐼𝑧𝑧1 · 𝑠𝑒𝑛(∝)2 (21)

𝐼𝑧𝑧 = 𝐼𝑧𝑧1 · (1 − 𝑠𝑒𝑛(∝)2) + 𝐼𝑥𝑥1 · 𝑠𝑒𝑛(∝)2 (22)

𝐼𝑧𝑧1 =𝐼𝑧𝑧−𝐼𝑥𝑥1·𝑠𝑒𝑛(∝)2

1−𝑠𝑒𝑛(∝)2 (23)

Se sustituye (23) en (21):

𝐼𝑥𝑥 = 𝐼𝑥𝑥1 · (1 − 𝑠𝑒𝑛(∝)2) +𝐼𝑧𝑧−𝐼𝑥𝑥1·𝑠𝑒𝑛(∝)2

1−𝑠𝑒𝑛(∝)2 · 𝑠𝑒𝑛 (∝)2 (21)

Y quedarían 5 ecuaciones con 5 incógnitas (18) (19) (21) (22) y (24):

𝐼𝑦𝑃 = 𝐼𝑥𝑥 + 𝐼𝑧𝑧 (18)

𝐼𝑧𝑃 = 𝐼𝑥𝑥 + 𝐼𝑦𝑦 (19)

𝐼𝑥𝑃 = 𝐼𝑧𝑧1 + 𝐼𝑦𝑦 (24)

𝐼𝑥𝑥 = 𝐼𝑥𝑥1 · (1 − 𝑠𝑒𝑛(∝)2 + 𝐼𝑧𝑧1 · 𝑠𝑒𝑛(∝)2 (21)

𝐼𝑧𝑧 = 𝐼𝑧𝑧1 · (1 − 𝑠𝑒𝑛(∝)2 + 𝐼𝑥𝑥1 · 𝑠𝑒𝑛(∝)2 (22)

Universidad de Sevilla

30

7.3.2. Cálculo mediante Solid Works

Estando el punto de referencia para el centro de masas en el punto medio de la

placa inferior del Rover (lámina superior del espesor).

Figura 15. Rover hecho con el programa Solid Works

8. RESULTADOS EXPERIMENTALES/ NUMÉRICOS

8.1. Resultados experimentales de la simulación

8.1.1. Simulación cinemática

Se puede observar en la Figura 16, el gran error existente en el cálculo de la

posición, mediante la integración de las ecuaciones en velocidad. Esto se produce

porque las restricciones que hay son de rodadura sin deslizamiento, restricciones

no holónomas y en el proceso de integración se acumula un error más que

considerable (ver ap. 9).

Adecuación y simulación de un vehículo

31

Figura 16. Trayectoria real (roja) y calculada(azul) del Rover

La siguiente figura a comentar (ver Fig. 17), muestra la velocidad angular del

modelo frente a la calculada. Como se puede observar, se ajustan ambas gráficas,

dando un resultado bastante parecido.

Figura 17. Velocidad angular del modelo frente a la calculada

Universidad de Sevilla

32

Figura 18. Aceleración del modelo frente a calculada

8.1.2. Simulación dinámica

En la simulación dinámica, se van a representar los dos pares motores de los

sólidos tres y cuatro (ver Fig. 19), y la fuerza tangencial de contacto en dirección

𝑦2 en rueda motriz izquierda.

.

Figura 19. Pares motores en las dos ruedas

Adecuación y simulación de un vehículo

33

Figura 20. Fuerzas tangenciales de contacto

8.2.Resultados experimentales de la identificación de parámetros

8.2.1. Centros de gravedad

En primer lugar, en la Figura 21 se muestra la posición del cdg por el método

explicado en el apartado 7.2.

Figura 21. Imagen que muestra el cdg del Rover en la intersección de líneas verde

y azul

Universidad de Sevilla

34

Por otro lado, se ha hecho uso del programa Solid Edge para calcular los

parámetros del vehículo por otra metodología y poder compararlos. Se pueden

observar estos resultados en (ver Fig. 22).

Adecuación y simulación de un vehículo

35

Figura 22. Imágenes que muestran las distintas partes del Rover y el conjunto

final con su cdg

Universidad de Sevilla

36

Como conclusión, queda remarcar que hay cierto error entre ambos resultados,

aunque sea pequeño. El método de Inkscape es algo artesanal, y por ello acumula

errores de precisión a la hora de trabajar con las fotos. Aun así son bastante similares

los resultados.

Si se ha situado el sistema de referencia en el centro de la placa de abajo (lámina

superior del espesor) (ver Fig. 15), la posición del cdg estará en el plano de simetría

(eje y=0 porque están cambiados los ejes x e y).

A 32,32mm en el eje x que es el que pasa por el plano de simetría, sentido hacia la

rueda Jockey. Y por último a 39,84 mm hacia sentido positivo del eje z.

8.2.2. Masas

Cada una de las partes del sólido ha sido pesada con un peso de laboratorio de

precisión decigramo. Los resultados obtenidos son los siguientes:

𝑚2 = 0,908𝑘𝑔; 𝑚3 = 𝑚4 = 0,022𝑘𝑔; 𝑚5 = 0,323𝑘𝑔; 𝑚6 = 0,090𝑘𝑔

8.2.3. Tensores de Inercia

8.2.3.1. Sujeción pendular

Los resultados del sistema de ecuaciones planteado en el apartado 7.3.1. son:

𝐼𝑦𝑃 = 0.0088𝑘𝑔 · 𝑚2 ; 𝐼𝑧

𝑃 = 0.0099𝑘𝑔 · 𝑚2 ;

𝐼𝑥1𝑃 = 0.0046𝑘𝑔 · 𝑚2

Y como Inercias finales:

𝐼𝑥𝑥 = 0.007𝑘𝑔 · 𝑚2 ; 𝐼𝑦𝑦 = 0.0029𝑘𝑔 · 𝑚2 ;

𝐼𝑧𝑧 = 0.0018𝑘𝑔 · 𝑚2

Adecuación y simulación de un vehículo

37

8.2.3.2. Solid Works

A su vez, los resultados obtenidos de los tensores de inercia, mediante el

programa Solid Works son los recuadrados en rojo:

Figura 23. Imagen que muestra los resultados en Solid Works de los

tensores de Inercia

Universidad de Sevilla

38

8.2.3.3. Comparar resultados tensores de inercia

Una vez obtenidos ambos resultados, se comparan en la tabla adjunta (Ver

Tabla 3).

Tabla 3. Cuadro comparación resultados inercias finales.

(𝒌𝒈 · 𝒎𝟐) 𝑰𝒙𝒙 𝑰𝒚𝒚 𝑰𝒛𝒛

Experimentales 0.007 𝑘𝑔 · 𝑚2 0.0029 𝑘𝑔 · 𝑚2 0.0018 𝑘𝑔 · 𝑚2

Solid Works 0.00153 𝑘𝑔 · 𝑚2 0.001 𝑘𝑔 · 𝑚2 0.002 𝑘𝑔 · 𝑚2

Como se puede observar hay cierto error en el método experimental, si se

compara con Solid Works. Esto es debido a los errores que se van

acumulando al hacer los ensayos, por la longitud de la cuerda que debería ser

menor pero no se ha podido apurar más, y más factores.

Aun así se ha repetido varias veces, se ha intentado asemejar el máximo

posible y estos han sido los últimos resultados obtenidos (ver ap. 9).

8.2.4. Resumen de los parámetros del sistema

𝑋𝑐𝑑𝑔𝑠𝑜𝑙𝑖𝑑= −32,32𝑚𝑚 𝑚2 = 0,908𝑘𝑔

𝑌𝑐𝑑𝑔𝑠𝑜𝑙𝑖𝑑= 0,00𝑚𝑚 𝑚3 = 𝑚4 = 0,022𝑘𝑔

𝑍𝑐𝑑𝑔𝑠𝑜𝑙𝑖𝑑= 39,84𝑚𝑚 𝑚5 = 0,323𝑘𝑔

𝑋𝑐𝑑𝑔𝑖𝑛𝑘= −31,1𝑚𝑚 𝑚6 = 0,090𝑘𝑔

𝑌𝑐𝑔𝑑𝑖𝑛𝑘= 0,00𝑚𝑚 𝑅𝑓 = 0,045𝑚

𝑍𝑐𝑑𝑔𝑖𝑛𝑘= 36,92𝑚𝑚 𝑅𝑟 = 0,025𝑚

Ixxsolid= 0,00153𝑘𝑔 · 𝑚2 Ixxexp

= 0,007𝑘𝑔 · 𝑚2

Iyysolid= 0,001𝑘𝑔 · 𝑚2 Iyyexp

= 0,0029𝑘𝑔 · 𝑚2

Izzsolid= 0,002𝑘𝑔 · 𝑚2 Izzexp

= 0,0018𝑘𝑔 · 𝑚2

Adecuación y simulación de un vehículo

39

9. TRABAJO FUTURO

En primer lugar, se observa que las restricciones que se imponen son en velocidad. Esto

implica que para obtener la posición hay que integrar estas ecuaciones. Al realizar este

proceso se introduce cierto error, que se va acumulando, y hace que la posición no sea del

todo precisa. Se puede observar este hecho si, al simular la cinemática y dinámica del

movimiento del Robot, la trayectoria real y la simulada difieren ya que la simulada no se

cierra (ver Fig. 16).

El trabajo futuro consiste en realizar experimentos que consigan corregir este error. Para ello

existen varios métodos, y el que se cree idóneo, emplea varios LED. Estos LED se colocan

en el Rover, y se simula una trayectoria ya conocida, pudiendo controlar así la posición. El

problema que se ha encontrado para hacerlo e incluirlo en este TFG ha sido que los LED que

están ahora mismo a nuestro alcance, no son válidos porque sólo aparecen en la cámara si

están de frente.

Otro aspecto que queda pendiente como trabajo futuro es disminuir el error entre los

experimentos para buscar los tensores de inercia. A día de hoy se ha intentado disminuirlo

lo máximo posible y ha sido hasta estos resultados, a lo que se ha llegado.

Universidad de Sevilla

40

10. ANEXOS

10.1. ANEXO1. PLANO ROVER

Adecuación y simulación de un vehículo

41

10.2. ANEXO 2. FOTOS ROVER.

Universidad de Sevilla

42

10.3. ANEXO 3. [1]

10.3.1. Esquema eléctrico del mando

Adecuación y simulación de un vehículo

43

10.3.2. Esquema eléctrico de la placa base

Universidad de Sevilla

44

10.4. ANEXO 4. CÓDIGOS DE MATLAB

10.4.1. Simbólico

% Cálculo simbólico modelo Rover 7 coordenadas

clc

clear

close all

tic

syms x2 y2 psi2 tet3 tet4 psi5 tet6 real

syms dx2 dy2 dpsi2 dtet3 dtet4 dpsi5 dtet6 real

syms Rf Rr Lar Anc Alt cdgx cdgz C1 C2 C3 C4 real

syms m2 m3 m4 m5 m6 g real

syms I2xx I2yy I2zz I2xy I2xz I2yz real

syms I3xx I3yy I3zz I3xy I3xz I3yz real

syms I4xx I4yy I4zz I4xy I4xz I4yz real

syms I5xx I5yy I5zz I5xy I5xz I5yz real

syms I6xx I6yy I6zz I6xy I6xz I6yz real

syms ParM3 ParM4 real

% Vector de coordenadas generalizadas

q = [ x2 y2 psi2 tet3 tet4 psi5 tet6]';

dq = [dx2 dy2 dpsi2 dtet3 dtet4 dpsi5 dtet6]';

% Matrices de orientación

A2(1,:) = [cos(psi2) -sin(psi2) 0];

A2(2,:) = [sin(psi2) cos(psi2) 0];

A2(3,:) = [ 0 0 1];

A24(1,:) = [ cos(tet4) 0 sin(tet4)];

A24(2,:) = [ 0 1 0];

A24(3,:) = [-sin(tet4) 0 cos(tet4)];

A23(1,:) = [ cos(tet3) 0 sin(tet3)];

A23(2,:) = [ 0 1 0];

A23(3,:) = [-sin(tet3) 0 cos(tet3)];

A25(1,:) = [cos(psi5) -sin(psi5) 0];

A25(2,:) = [sin(psi5) cos(psi5) 0];

A25(3,:) = [ 0 0 1];

A56(1,:) = [ cos(tet6) 0 sin(tet6)];

A56(2,:) = [ 0 1 0];

Adecuación y simulación de un vehículo

45

A56(3,:) = [-sin(tet6) 0 cos(tet6)];

A3 = A2*A23;

A4 = A2*A24;

A5 = A2*A25;

A6 = A5*A56;

% matlabFunction(A2,'file', 'RotMatSolido2');

% matlabFunction(A3,'file', 'RotMatSolido3');

% matlabFunction(A4,'file', 'RotMatSolido4');

% matlabFunction(A5,'file', 'RotMatSolido5');

% matlabFunction(A6,'file', 'RotMatSolido6');

dA2 =

diff(A2,psi2)*dpsi2+diff(A2,tet3)*dtet3+diff(A2,tet4)*dtet4+diff(A2,psi5)*dpsi5+diff(A

2,tet6)*dtet6;

dA3 =

diff(A3,psi2)*dpsi2+diff(A3,tet3)*dtet3+diff(A3,tet4)*dtet4+diff(A3,psi5)*dpsi5+diff(A

3,tet6)*dtet6;

dA4 =

diff(A4,psi2)*dpsi2+diff(A4,tet3)*dtet3+diff(A4,tet4)*dtet4+diff(A4,psi5)*dpsi5+diff(A

4,tet6)*dtet6;

dA5 =

diff(A5,psi2)*dpsi2+diff(A5,tet3)*dtet3+diff(A5,tet4)*dtet4+diff(A5,psi5)*dpsi5+diff(A

5,tet6)*dtet6;

dA6 =

diff(A6,psi2)*dpsi2+diff(A6,tet3)*dtet3+diff(A6,tet4)*dtet4+diff(A6,psi5)*dpsi5+diff(A

6,tet6)*dtet6;

% Posiciones de los sólidos

R2 = [x2 y2 (Rf+cdgz)]';

u2bar_3 = [(Lar - C1 - cdgx) -(Anc/2 + C2) -cdgz]';

R3 = R2 + A2*u2bar_3;

u2bar_4 = [(Lar - C1 - cdgx) (Anc/2 + C2) -cdgz]';

R4 = R2 + A2*u2bar_4;

u2bar_5 = [-(cdgx + C3/2) 0 (Alt - cdgz)]';

R5 = R2 + A2*u2bar_5;

u5bar_6 = [-C4 0 -(Alt + Rf - Rr)]';

R6 = R5 + A5*u5bar_6;

u3bar_P = Rf*[sin(tet3) 0 -cos(tet3)]';

u4bar_Q = Rf*[sin(tet4) 0 -cos(tet4)]';

u6bar_S = Rr*[sin(tet6) 0 -cos(tet6)]';

% Velocidades angulares

w4Lsk = simplify(A4'*dA4);

Universidad de Sevilla

46

w4L = [-w4Lsk(2,3) w4Lsk(1,3) -w4Lsk(1,2)]';

w3Lsk = simplify(A3'*dA3);

w3L = [-w3Lsk(2,3) w3Lsk(1,3) -w3Lsk(1,2)]';

w2Lsk = simplify(A2'*dA2);

w2L = [-w2Lsk(2,3) w2Lsk(1,3) -w2Lsk(1,2)]';

w5Lsk = simplify(A5'*dA5);

w5L = [-w5Lsk(2,3) w5Lsk(1,3) -w5Lsk(1,2)]';

w6Lsk = simplify(A6'*dA6);

w6L = [-w6Lsk(2,3) w6Lsk(1,3) -w6Lsk(1,2)]';

% Traslaciones rotacionales

H2 = jacobian(R2,q); h2 = jacobian(H2*dq,q);

H3 = jacobian(R3,q); h3 = jacobian(H3*dq,q);

H4 = jacobian(R4,q); h4 = jacobian(H4*dq,q);

H5 = jacobian(R5,q); h5 = jacobian(H5*dq,q);

H6 = jacobian(R6,q); h6 = jacobian(H6*dq,q);

% matlabFunction(H2,'file', 'MatrizH2');

% matlabFunction(H3,'file', 'MatrizH3');

% matlabFunction(H4,'file', 'MatrizH4');

% matlabFunction(H5,'file', 'MatrizH5');

% matlabFunction(H5,'file', 'MatrizH5');

G2 = (jacobian(w2L,dq)); g2 = (jacobian(w2L,q));

G3 = (jacobian(w3L,dq)); g3 = (jacobian(w3L,q));

G4 = (jacobian(w4L,dq)); g4 = (jacobian(w4L,q));

G5 = (jacobian(w5L,dq)); g5 = (jacobian(w5L,q));

G6 = (jacobian(w6L,dq)); g6 = (jacobian(w6L,q));

% matlabFunction(G2,'file', 'MatrizG2');

% matlabFunction(G3,'file', 'MatrizG3');

% matlabFunction(G4,'file', 'MatrizG4');

% matlabFunction(G5,'file', 'MatrizG5');

% matlabFunction(G6,'file', 'MatrizG6');

% matlabFunction(g2,'file', 'Matrizgg2');

% matlabFunction(g3,'file', 'Matrizgg3');

% matlabFunction(g4,'file', 'Matrizgg4');

% matlabFunction(g5,'file', 'Matrizgg5');

% matlabFunction(g6,'file', 'Matrizgg6');

TodosA = [A2 A3 A4 A5 A6];

TodosGyH = [G2 G3 G4 G5 G6 H2 H3 H4 H5 H6];

% matlabFunction(TodosA,'file', 'TodosA');

% matlabFunction(TodosGyH,'file', 'TodosGyH');

Adecuación y simulación de un vehículo

47

% Velocidades de los centros de gravedad

V2 = H2*dq;

V3 = H3*dq;

V4 = H4*dq;

V5 = H5*dq;

V6 = H6*dq;

% Restricciones de rodadura sin deslizamiento

VP = simplify(V3 + A3*cross(w3L,u3bar_P));

VQ = simplify(V4 + A4*cross(w4L,u4bar_Q));

VS = simplify(V6 + A6*cross(w6L,u6bar_S));

RestRod = [VP(1) VP(2) VQ(1) VS(1) VS(2)]';

BRod = jacobian(RestRod,dq);

dBRod = jacobian(BRod*dq,q);

% matlabFunction(RestRod,'file', 'ResRodadura' );

% matlabFunction(BRod ,'file', 'MatrizB_Rodadura' );

% matlabFunction(dBRod ,'file', 'dMatrizB_Rodadura');

% Matrices de masas e inercias

M2 = m2*eye(3);

M3 = m3*eye(3);

M4 = m4*eye(3);

M5 = m5*eye(3);

M6 = m6*eye(3);

I2(1,:) = [I2xx I2xy I2xz];

I2(2,:) = [I2xy I2yy I2yz];

I2(3,:) = [I2xz I2yz I2zz];

I3(1,:) = [I3xx I3xy I3xz];

I3(2,:) = [I3xy I3yy I3yz];

I3(3,:) = [I3xz I3yz I3zz];

I4(1,:) = [I4xx I4xy I4xz];

I4(2,:) = [I4xy I4yy I4yz];

I4(3,:) = [I4xz I4yz I4zz];

I5(1,:) = [I5xx I5xy I5xz];

I5(2,:) = [I5xy I5yy I5yz];

I5(3,:) = [I5xz I5yz I5zz];

I6(1,:) = [I6xx I6xy I6xz];

I6(2,:) = [I6xy I6yy I6yz];

I6(3,:) = [I6xz I6yz I6zz];

Z0 = zeros(3,3);

Universidad de Sevilla

48

MM(1:3,:) = [M2 Z0 Z0 Z0 Z0 Z0 Z0 Z0 Z0 Z0];

MM(4:6,:) = [Z0 M3 Z0 Z0 Z0 Z0 Z0 Z0 Z0 Z0];

MM(7:9,:) = [Z0 Z0 M4 Z0 Z0 Z0 Z0 Z0 Z0 Z0];

MM(10:12,:) = [Z0 Z0 Z0 M5 Z0 Z0 Z0 Z0 Z0 Z0];

MM(13:15,:) = [Z0 Z0 Z0 Z0 M6 Z0 Z0 Z0 Z0 Z0];

MM(16:18,:) = [Z0 Z0 Z0 Z0 Z0 I2 Z0 Z0 Z0 Z0];

MM(19:21,:) = [Z0 Z0 Z0 Z0 Z0 Z0 I3 Z0 Z0 Z0];

MM(22:24,:) = [Z0 Z0 Z0 Z0 Z0 Z0 Z0 I4 Z0 Z0];

MM(25:27,:) = [Z0 Z0 Z0 Z0 Z0 Z0 Z0 Z0 I5 Z0];

MM(28:30,:) = [Z0 Z0 Z0 Z0 Z0 Z0 Z0 Z0 Z0 I6];

% Fuerzas generalizadas cuadráticas en velocidad

Z0 = zeros(3,1);

QQv(16:18,:) = -cross(w2L,I2*w2L);

QQv(19:21,:) = -cross(w3L,I3*w3L);

QQv(22:24,:) = -cross(w4L,I4*w4L);

QQv(25:27,:) = -cross(w5L,I5*w5L);

QQv(28:30,:) = -cross(w6L,I6*w6L);

QQv(1:3,:) = Z0;

QQv(4:6,:) = Z0;

QQv(7:9,:) = Z0;

QQv(10:12,:) = Z0;

QQv(13:15,:) = Z0;

% Fuerzas gravitatorias

QQgrav(1:3,1) = [0 0 -m2*g]';

QQgrav(4:6,1) = [0 0 -m3*g]';

QQgrav(7:9,1) = [0 0 -m4*g]';

QQgrav(10:12,1) = [0 0 -m5*g]';

QQgrav(13:15,1) = [0 0 -m6*g]';

QQgrav(16:30,1) = zeros(15,1);

% Matrices de transformación cinemática

L = [H2' H3' H4' H5' H6' G2' G3' G4' G5' G6']';

l = [h2' h3' h4' h5' h6' g2' g3' g4' g5' g6']';

M = L'*MM*L;

Qv = L'*(QQv-MM*l*dq);

Qgrav = L'*QQgrav;

% Fuerzas motrices

Qmot = G3'*[0 ParM3 0]' + G4'*[0 ParM4 0]';

MatMasaFuerzas = [M Qv Qgrav Qmot];

% matlabFunction(MatMasaFuerzas,'file', 'MatMasaFuerzas');

toc

Adecuación y simulación de un vehículo

49

11. BIBLIOGRAFÍA Y REFERENCIAS

[1] Urda Gómez, Pedro (2017): Colección de fotografías sobre el Rover. Sevilla

[2] Escalona Franco, Jose Luis (2017): SymbolicKinematicsAndDynamics. Sevilla

[3] Escalona Franco, Jose Luis (2010): Cinemática de la Bicicleta. Sevilla