Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Proyecto: Controlador de posición

75 Respuestas
10 Usuarios
0 Reactions
36.9 K Visitas
ranganok
Respuestas: 3875
Topic starter
(@ranganok)
Ardero
Registrado: hace 20 años

Hola a todos,

Estoy realizando un controlador de posición para un cuadróptero (es mi PFC), quiero que sea Open-Hardware así que iré publicando por aquí y en el blog los avances que vaya haciendo. Se que ya existen alternativas comerciales y abiertas (el openPilot, el KK o el multiWii por ejemplo), pero mi idea es que al final sea totalmente autónomo.

Por otra parte quiero hacer el sistema lo más general posible para que pueda aplicarse a todo tipo de drones (áereos, terrestre, acuaticos, submarinos o espaciales).

He partido el proyecto en varios trozos:
- Piloto --> controlador de posición (mi PFC) evita que el cuadróptero se vaya al traste, controlará los sensores y enviará las señales a los drivers para controlar la estabilidad del conjunto.
- Navegador --> Es el que toma las decisiones para que sea autónomo. Por falta de tiempo no voy a realizarlo dentro del PFC, pero iré avanzando en él cuando tenga la parte del piloto hecha.
- Maquinista --> Mi idea es desarrollar unos drivers para motores brushless (los famosos ESC) que se controlen por bus SPI que den una mayor velocidad de respuesta al sistema (los 20ms del PWM me parecen mucho en una situación crítica).
- Controlador --> Servicio de telemetría en tierra para la recepción de la telemetría y el control (indicaciones) del equipo.

Las sugerencias serán bienvenidas.

S2

Ranganok Schahzaman

Responder
74 respuestas
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

¿Seríais tan amables de decirme dónde puedo buscar más información sobre DCM? La wikipedia no me devuelve nada, y mi capado IE no me permite acceder a los links de mikuadricoptero... Y me muero de curiosidad por aprender algo más sobre el tema.

Responder
ranganok
Respuestas: 3875
Topic starter
(@ranganok)
Ardero
Registrado: hace 20 años

Si no te dan miedo las mates 😀 , en este artículo está bastante bien explicado:

http://www.starlino.com/dcm_tutorial.html " onclick="window.open(this.href);return false;

S2

Ranganok Schahzaman

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

Lo he leído en diagonal, para evitar mi habitual pánico a cualquier forma numérica que no tenga que ver con el salario... 😛

Así, a bote pronto, me parecen 'simples' matrices de rotación y transformación de coordenadas entre una plataforma inercial de referencia y el elemento móvil en el cual están ubicados los sensors (plataforma no inercial). Tal y como ya se insinúa en el artículo, esto es en realidad una simplificación de un filtro de Kalman, ya en el espacio tridimensional, donde se utilizan técnicas de mezcla de sensores similares a las utilizadas en filtros complementarios.

Es decir, esto está por debajo de un filtro de Kalman, de hecho, está implícitamente metido dentro de los filtros de Kalman, pero es más sencillo que uno de estos filtros. Habitualmente, la 'pelea' de los que utilizan Kalman suele estar precisamente en la simplificación del mismo, y la realidad es que en muchos casos, una vez realizada dicha simplificación, lo que suele quedar es algo parecido al DCM, con un sistema de corrección de los datos adquiridos a partir de estadísticas.

Los filtros complementarios realizan una función similar, donde las estadísticas en forma matricial son sustituidas por cálculos y variables del dominio frecuencial, con lo cual se convierten en una particularización más de Kalman, bajo ciertos supuestos (que generalmente son correctos) como la linealidad, la constancia (g y el campo magnético suelen ser constantes), y la fiabilidad de los datos en ciertos dominios frecuenciales (gyros y accels a altas frecuencias, GPS y magnetómetros a bajas frecuencias, si bien el GPS no es tan preciso, y en cualquier caso, lo es a muuuuuy baja frecuencia).

La ventaja que ofrece Kalman es básicamente la menor desviación estadística posible (aka, precisión), junto con el hecho (que hasta cierto punto también se puede obtener de DCM) de que se puede controlar y obtener el valor de consigna deseado con antelación. Es decir, Kalman lleva la palabra 'control' incluía de manera indirecta en sus genes, cosa que en el DCM se debe hacer aparte, aunque sea factible.

Determinar de manera empírica los valores y vectores de estado de Kalman suele ser algo realmente árduo, en comparación con DCM. Y generalmente es el cuello de botella. Pero por si alguien quiere saber más, el Harrier (aquí conocido como Matador), vuela gracias a Kalman. Y Kalman es el apellido de un ingeniero alemán, Rudolph Kalman, del equipo de Werner Von Braun, que con dicho 'invento' dio granes avances a un tal 'Proyecto Apolo', como para llevar a algunos pasajeros un poco lejos.

Si el DCM da miedo a algunos, Kalman directamente los mata del susto. Se nota que estamos cerca de Halloween. :o)

Responder
tycoon
Respuestas: 5
(@tycoon)
Active Member
Registrado: hace 19 años

Lo he leído en diagonal, para evitar mi habitual pánico a cualquier forma numérica que no tenga que ver con el salario

Cualquiera lo diría a juzgar por el post... jajaja

Los tipos de DIYdrones por ejemplo, usan DCM por ser barato computacionalmente y muy correcto en la práctica. Kalman es más caro, y teniendo en cuenta las limitaciones de un micro a bordo de un cuadricoptero, en la práctica puede no ser lo mejor. Eso sí, si tienes un pepinaco de micro y se quiere ser purista y usar Kalman, al ser un sistema no lineal, hay que utilizar el Kalman extendido.

Del Kalman no puedo aportar mucho más, no he mirado más que para ver que según que micro tengas, no merece la pena, para al final obtener unos resultados iguales en la práctica. Al final yo creo que importa más que hagas una buena sintonización de los PID que las diferencias entre estos filtros.

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

En habiendo hecho algo de Kalman, y haberme leído bastante en su momento sobre este tema (tenía problemas de insomnio, je, je), confirmo tu teoría. Las mates correspondientes, especialmente cuando se usa un Kalman extendido (que no es más que una linealización puntual de la función), son una auténtica paranoia a no ser que uno tenga potencia de cálculo sobrada. Y de momento, no suele ser el caso.

Es más, en muchos artículos precisamente hablan de que el DCM, los filtros complementarios y otros sistemas parecidos generalmente son casos puntuales de Kalman donde la simplificación sobre el filtro de Kalman bajo determinadas condiciones acaba por dar estos elementos, a los cuales se puede llegar por otros caminos. Y habitualmente, suele ser más sencillo, fácil de comprender, fácil de ajustar, y lógico. Total, generalmente el resultado es prácticamente el mismo. Sólo ciertas salvedades requieren Kalman, incluyendo los puristas, la navegación precisa con múltiples sensores, cohetes de buenas prestaciones, etc. Lo que sí me gustaría probar, es un Kalman en una tableta o smartphone, aprovechando los sensores internos. Me imagino hacer un cohete algo grande, meter dentro un iPhone 5 y aprovechar además la cámara interna, para luego recuperar las imágenes. Si se la pega, tampoco perderíamos tanto 😈 , aunque eso de que la manzanita se quede con el código fuente y los copyrights me pondría bastante mosca. 👿

O sea, 100% con TycooN.

Responder
Página 14 / 15
Compartir: