ImageImageImageImage
Hazte Socio (El Foro siempre Gratis)
Paga con Tarjetas+ Info www.arde.cc/socios

Proyecto: Controlador de posición

Muestranos tus proyectos y pidenos la ayuda que necesites

Moderator: Junta Directiva

Post Reply
Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Proyecto: Controlador de posición

Post by Ranganok » Tue Jul 10, 2012 10:26 am

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
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Proyecto: Controlador de posición

Post by Ranganok » Tue Jul 10, 2012 11:22 am

Protocolo de comunicaciones:

Voy a realizar uno sencillo de utilizar del tipo:

Code: Select all

ID | LEN | DATA
ID (1 byte): identificador
LEN (1 byte): longitud de los datos
DATA (0 a 255 bytes): datos

Esto permite enviar hasta 255 señales distintas, de datos variables. Este protocolo viene encapsulado para radio tal que así:

Code: Select all

Preámbulo | SINCRO WORD | DESTINO | ORIGEN | SECUENCIA | ID | LEN | DATA | CRC-16
- El preámbulo (16-64 bits) y el sincro word (2 bytes) sirven para sincronizar el Tx y el Rx, corregir la frecuencia, marcar el inicio del paquete, etc.
- DESTINO (1 byte) y ORIGEN (1 byte) es para identificar a los que se comunican entre ellos (por si hay más de un aparato o central de tierra).
- SECUENCIA (1 byte) Numero de paquete permite saber si nos hemos saltado un paquete.
- CRC-16 son dos bytes de control de errores.

S2

Ranganok Schahzaman

PD: una vez terminado el PFC intentaré integrar el MAVLink
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
Heli
Usuario Experto
Usuario Experto
Posts: 747
Joined: Tue May 23, 2006 7:47 am
Nombre: Heli Tejedor
Location: Alcala de Henares
Contact:

Re: Proyecto: Controlador de posición

Post by Heli » Wed Jul 11, 2012 7:26 am

Idea:
En lugar de usar un CRC16, para la radio, puedes usar un código con corrección de errores tipo Reed-Solomon BCH4863 ó BCH3121 y garantizas una mejor comunicación en entornos ruidosos o con poca señal, sobre todo si no tienes canal de retorno. Los algoritmos que te he comentado antes no sonsumen mucha memoria ni potencia de cálculo... Además para un PFC mola mas.
Mándame un privado si necesitas fuentes en C del código opimizado...
¡No es imposible, lo que pasa es que no sabes como hacerlo!
http://heli.xbot.es/" onclick="window.open(this.href);return false;

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Proyecto: Controlador de posición

Post by Ranganok » Wed Jul 11, 2012 11:46 am

Heli, sí me interesa el código (aunque para otros proyectos), no se si tienes mi correo sino te lo mando.

He cogido el CRC-16 porque es el que implementa automáticamente el chip de radio y así me lo ahorro de tener que hacer yo. Además había pensado hacer la comunicación bidirecional (con ACK o NACK para las pérdidas de paquetes). También es el que se utiliza en el MAVLink.

De todas formas dado que este encapsulamiento lo hace el propio chip, si cambiamos de chip de RF podemos cambiar de encapsulamiento sin cambiar el protocolo principal (ID | LEN | DATA).

S2

Ranganok Schahzaman

EDITO:

Heli, me has dado una idea, voy a separar la RF del chip principal, de esta forma el chip de RF (con la lógica asociada) se encargará de encapsular el protocolo, de los reintentos y de controlar los paquetes, y el micro pincipal sólo de enviar y recibir los datos.
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Proyecto: Controlador de posición

Post by Ranganok » Wed Jul 11, 2012 4:22 pm

Siguiendo con el diseño:

Las entradas del control de posición que quiero poner son:
- IMU 10 Ejes (I2C/SPI):
- Giroscopio 3 ejes
- Acelerómetro 3 ejes
- Magnetómetro 3 ejes
- Barómetro/Altímetro

- GPS (RS232)
- RTC
- Hasta 8 x Sonar (I2C/SPI?)
- Centralita RF 9Ch (9 entradas de PWM)
- Telemetría (RS232 o SPI)

Salidas:
- Hasta 8 motores (PWM / SPI)
- 12 Salidas para LEDs (PWM)
- Salidas Digitales para interruptores, etc.
- Targeta MMC para logging

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
Heli
Usuario Experto
Usuario Experto
Posts: 747
Joined: Tue May 23, 2006 7:47 am
Nombre: Heli Tejedor
Location: Alcala de Henares
Contact:

Re: Proyecto: Controlador de posición

Post by Heli » Fri Jul 13, 2012 9:47 am

Parece un proyecto muy complejo...
En cuanto a los códigos de corrección de errores mira esta página: http://www.eccpage.com/" onclick="window.open(this.href);return false;
Hay código fuente para los códigos reed-solomon, bch, ecc, etc
¡No es imposible, lo que pasa es que no sabes como hacerlo!
http://heli.xbot.es/" onclick="window.open(this.href);return false;

User avatar
beamspot
Usuario Desarrollador
Usuario Desarrollador
Posts: 1132
Joined: Thu Oct 11, 2007 8:56 pm
Nombre: Guillem

Re: Proyecto: Controlador de posición

Post by beamspot » Fri Jul 13, 2012 1:50 pm

Una de estas partes (IMU) la tengo hecha, montada, pero pendiente de poner en marcha. La plaquita en sí tiene suficientes conectores de expansión para meter todo el resto en otra PCB.

Si te interesa, te puedo pasar algunos esquemas, etc.
Beamspot.

Ranganok
Usuario Desarrollador
Usuario Desarrollador
Posts: 3874
Joined: Mon Nov 07, 2005 3:10 pm
Location: Barbaros del Valle
Contact:

Re: Proyecto: Controlador de posición

Post by Ranganok » Fri Jul 13, 2012 2:57 pm

Se agradece. Aunque sabes que voy a usar un PIC no? :P

S2

Ranganok Schahzaman
skiras.blogspot.com

"En igualdad de condiciones la explicación más sencilla es la cierta"

User avatar
acicuecalo
Usuario Experto
Usuario Experto
Posts: 652
Joined: Tue Sep 27, 2005 12:53 pm
Nombre: Francisco Carabaza
Location: Palencia
Contact:

Re: Proyecto: Controlador de posición

Post by acicuecalo » Sat Jul 14, 2012 9:56 am

Tremendo proyecto.
Por favor, mantennos informados.

User avatar
beamspot
Usuario Desarrollador
Usuario Desarrollador
Posts: 1132
Joined: Thu Oct 11, 2007 8:56 pm
Nombre: Guillem

Re: Proyecto: Controlador de posición

Post by beamspot » Mon Jul 16, 2012 2:25 pm

:twisted: :twisted: Ui, que pena. Echar a perder un proyecto por similar decisión... Si tenemos en cuenta que los sensores que puse eran analógicos para sacar provecho de los 12 bits a 1MSPS del ADC... :mrgreen: Claro que con los nuevos micros que gasto, a 166MIPS, 3x ADC a 2.2MSPS, FPU, etc... :twisted:

Bueno, pues eso, que si quieres la parte que tengo, pero me parece que igual no la podrás aprovechar... :twisted: :twisted: Por cierto, el módulo RF que gasto es de Microchip.
Beamspot.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest