Herramienta con gran potencial para mi modelo de un velero.

Hola amigos, ya he hablado varias veces sobre mi sistema de control de escotas para el modelo de velero utilizando motores de paso,sensores magnéticos angulares y periferias del controlador LPC1769. Hoy me econtré con este artículo para medición de la velocidad del viento y su dirección. En un velero el viento relevante es otro que aquel que mides independientemente del velero. Lo llaman viento relativo y es aquel viento que actúa sobre las velas y su dirección es el resultado de un paralelograma de velocidad y dirección de movimient0 del velero. Por lo tanto este viento relativo, que es esencial para el operativo del velero, sería util monitorearlo como factor adicional para el manejo adecuado de las escotas que definen la posición de las velas.
Tengo pensado encontrar una fuente donde conseguir la placa que se construye utilizando impresoras 3D.

Es impresionante ver como el avance de la tecnología y los productos disponibles. Que pena que no viviré otros 62 años, habría tanto que hacer!
 
Que pena siempre me pareció interesante el tema pero hace falta alguien que maneje los conceptos de navegar a vela como es tu caso y ayuda en la electrónica y programación como podría ser yo o cualquiera de este foro.
Y por lo de tu salud, ojalá estes bien y pronto puedas disponer del tiempo para esto.
 
Después de bastante tiempo de publicar este hilo creo que tengo algo para adicionar. La conexión es que el software mathematica de Wolfram Software existe en una versión gratuita para el Raspi. No miré si aún es gratuito, Matemática ha avanzado de la versión 10 a la 12 y justamente en el campo de la inteligencia artificial. Lo que estoy siempre observando en el mercado son avances que hagan mas sencillos el uso de IA en sistemas embebidos y allí en especial estoy interesado en el uso de placas como la Raspi, pues esta al momento parece ser la mas adecuada y con las herramientas mas maduras. Pero pienso que las placas con los controladores i.MX 8 de NXP son una opción interesante por su mucho mas avanzada potencia de computación.

En cursos gratuitos en el entorno de Mathematica he visto un desarrollo paralelo al de AWS de Amazon. Mathematica como concepto es lo que se llama un "solver"! Si se quiere resolver una función el uso de Mathematica la puede resolver. Mathematica basa en el lenguaje de programación propietario de "Wolfram Software" y como parte de este lenguaje al momento unas 6000 funciones implementan multitudes de operaciones y así también aquellas utilizadas en la IA. Aquí el enlace al sitio de Wolfram Software sobre IAy. Aquí el enlace al sitio donde se presenta Mathematica 12 en el Raspi 4 con 4 GB.

Mi intención es investigar y en el caso de un resultado positivo usar la IA para manejar el control de escota que construyo para mi modelo de un velero, el Carina, usando placas electrónicas, sensores angulares y motores de paso. Llevo ya varios años pero también ya ha pasado una década, donde me ingenio un sistema de umbrales para controlar como el motor de paso, que cumple la función de winche para el control de las velas. El reto está en encontrar e implementar una funcionalidad que por un lado permite variar la longitud de la escota por 8,3 metros, que por otro lado de el largo de escota requerido sin permitir un exceso de longitud que resultaría en que la escota se atascara en la cubierta. Dificultando la cosa está que el control de las velas desde el R/C por el usuario llega al modelo por la receptora R/C, donde resulta en una variación de la PWM que es digitalizada y usada como parámetro de control.

Al momento tengo planeado implementar esto con varios controladores LPC1769 en la placa LPCXpresso 1769 que contiene entre otras un codificador de cuadratura que recibe las 3 PWM que provienen del sensor angular magnético.

Los retos con los cuales estoy confrontado para definir una solución basada en IA para el control de las escotas:
1. Que tipo de bases de datos, no me refiero a una base de datos sino a la lista de datos que puedo crear basándome en los datos de un monitoreo de los datos que se pueden crear monitoreando el sistema de control de escotas.

2. Que tipo de técnica de la IA es la mas apropiada para este propósito. Las técnicas mas populares son aquellos llamadas en Inglés:

Supervised Training
Unsupervised Training

La diferencia fundamental está en que la primera variante requiere que para cada set de datos se le agrega si el datos es bueno o malo, se llama "label". Como quizá puedan imaginarse esto implica el crear estos labels de forma algorítmica para una base de sets lo mas extensa posible. La técnica se conoce por ser usada por ejemplo para reconocer si en una imagen aparece un gato o un perro.

La segunda técnica no requerería el crear y agregar los labels. está tecnica se conoce por ejemplo en el uso del mecanismo de "clustering". Allí la IA recibe un alto número de sets de datos, los analisa y crea conjuntos, esos clusters.

No mas considerando estas 2 técnicas estoy confrontado de como definir los sets de datos y de como estos pueden llevar al sistema de control de escotas asegurar la longitud apropiada de la escota. No tengo solución aún, pero llevo investigando el tema. El reto está en ver los sets de datos posibles desde un punto de vista nuevo para mi que permita definir tanto la técnica de IA a usar como el de la composición de los sets de datos.

Un curso de Wolfram Software sobre su lenguaje Wolfram y su uso en la IA, fundamentos de la IA, me ha confrontado con técnicas aún no estudiadas por mi pero que aparecen ser mas apropiadas. Criterio a evaluar es el tema que menciono en el párafo anterior.

Se que el tema es bastante seco y que me he hecho la vida facil en esta primera contribución al hilo en no agregar gráficos. Me decidí por poner esta publicación en este hilo y en este foro, pues está íntimamente relacionado a la nueva placa Raspi 4 4 GB y representa una forma de usar una placa como la Raspi que combina las nuevas posibilidades de esa placa y de la existencia del lenguaje Wolfram Software.
 
Siguiendo mis investigaciones me topé con 2 tipos de aprendizaje nuevos para mi:

Reinforcement Learning
Imitation Learning
Behavioral Learning
Direct Policy Learning
Inverse Reinforcement Learning

El concepto que me resulta interesante

Estos 2 tipos de aprendizaje son mas modernos y una tendencia que creo que puedo ver me parece que estos métodos son mas aproximados a la situación de usar una técnica de IA en mi velero para el control de escotas.

En especial los ejemplos presentados aquí conocen el concepto del demonstrador. Si creo una ecuación que para todos los ángulos posibles del palo de la vela que compute el largo de la escota y subsecuente la "Posición del Motor de Paso" que tiene como resultado el largo adicional de la escota.
Recuerden el largo adicional de la escota con el valor "o" es aquel cuando el palo se encuentra en vertical por encima del eje central del casco del velero. El largo adicional máximo resulta cuanda el palo de la vela está en una posición ortogonal al eje centtral del casco. Así un programa sencillo podria general una base de datos que contiene como "Input" en términos de estos conceptos "Status" la serie de ángulos del palo de la vela y en una segunda columna el largo adicional de la escota que es representada por el valor de la "Posición de Motor de Paso".

Como tengo una resolución llamada absoluta de 14 bits para un giro de 360° y de 1/4 de este valor da el número de datos en esa base de datos y de 12 bits para el giro de 360° lo que resulta 1/4 de esta cantidad. El motor de paso en sus 21 giros completos del motor de paso resulta en esas mas de 1 millon de posiciones posibles. Para aquellos no familiares con un velero, el palo giro desde 90° a un lado a 90° al otro lado del casco. El largo de la escota requerida es simétrica. A igual ángulo del palo, igual longitud de la escota a ambos lados.

Es solo una aproximación de la labor que una IA debería hacer como control del sistema de control de escotas. El aparejo sobre la cubierta del cual la escota va al palo de la vela y la inclinación del casco son fuentes que resultan en resultados diferentes para el largo de la escota requerida. Finalmente entra en la ecuación el commando del operador desde zu R/C. De allí resulta un ángulo máximo. El otro factor es si el palo de la vela entra encontacto con el agua al estar el casco inclinado.

Para poder iniciar el proceso de elegir e implementar una IA tengo que avanzar con el caso mas sencillo e ignorar complejidades del mundo real. Pero la situacion para generar la base de datos mencionada trabajaré en mi taller y el armar los experimentos allí me permiten poder ignorar esos aspectos.
 
Hola amigos, ya he hablado varias veces sobre mi sistema de control de escotas para el modelo de velero utilizando motores de paso,sensores magnéticos angulares y periferias del controlador LPC1769. Hoy me econtré con este artículo para medición de la velocidad del viento y su dirección. En un velero el viento relevante es otro que aquel que mides independientemente del velero. Lo llaman viento relativo y es aquel viento que actúa sobre las velas y su dirección es el resultado de un paralelograma de velocidad y dirección de movimient0 del velero. Por lo tanto este viento relativo, que es esencial para el operativo del velero, sería util monitorearlo como factor adicional para el manejo adecuado de las escotas que definen la posición de las velas.
Tengo pensado encontrar una fuente donde conseguir la placa que se construye utilizando impresoras 3D.

Es impresionante ver como el avance de la tecnología y los productos disponibles. Que pena que no viviré otros 62 años, habría tanto que hacer!


Me gusto el sensor pero en mi caso lo implementaría en otro proyecto que tengo pensado :devilish:


Encontraste donde poder construir la placa?
 
Hacia el final del video se hace referencia al kit de evaluación de la componente. Conectando esa placa al portal USB del PC y usar el Software de Sensirion para esa componente. En varios casos ese kit basta para implementar en un sistema donde se quiera usar. Para el sensor de humedad y temperatura, una componente de 3x3 mm yo me hice esa placa yo mismo. No es gran problema. Para el soldar del sensor de temperatura y humedad a la placa que hice use mi horno que me armé de un horno para hacer Pizzas y pasta de estaño de la calidad donde la pasta se derrite a la temperatura adecuada para cumplir con el perfil de temperatura. Me imagino que igual cosa es facil hacer con tu sensor.
 
Hacia el final del video se hace referencia al kit de evaluación de la componente. Conectando esa placa al portal USB del PC y usar el Software de Sensirion para esa componente. En varios casos ese kit basta para implementar en un sistema donde se quiera usar. Para el sensor de humedad y temperatura, una componente de 3x3 mm yo me hice esa placa yo mismo. No es gran problema. Para el soldar del sensor de temperatura y humedad a la placa que hice use mi horno que me armé de un horno para hacer Pizzas y pasta de estaño de la calidad donde la pasta se derrite a la temperatura adecuada para cumplir con el perfil de temperatura. Me imagino que igual cosa es facil hacer con tu sensor.

Si el PCB lo he visto y si no es complicado implementarlo, yo antes usaba un horno mágico 😂 modificado, no hace mucho adquirí el T962. Aun no he adelantado nada con el sensor porque estoy enfrascado en otro proyecto que es una Pick and place similar a la del video, estoy construyendo el flipping station.

 
Última edición:
Arriba