adecuación y simulación cinemática y dinámica de un...
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
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