Calificación:
  • 2 voto(s) - 4 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Proyecto low cost pylot

Unas preguntas más para el respetable:
1- Vuestro piloto permite hacer una virada (TACK) automática en modo AUTO normal?. Los Raymarines antiguos lo permiten.
2- El piloto está trabajando en un modo que permite un TACK (WIND/VANE o AUTO en algunos casos).
Damos la orden TACK y acto seguido nos arrepentimos por la razón que sea y queremos abortar la maniobra.
Qué hay que hacer?
a) No permitir ninguna orden hasta el final de la maniobra.
b) Pulsar una tecla +/-1,+/-10) y el piloto pasa a modo AUTO manteniendo el heading instantaneo actual cuando se aborta.
c) Pasar a STAND BY.
d) Mantener el modo viento si se está trabajando en ese modo. Esto ya oscdigo que no es posible porque durante la maniobra, el ángulo de viento es muy inestable y no puede servir de referencia para fijar un nuevo rumbo relativo al viento.

Si sientes que te duele Gaza, aunque estés a miles de kilómetros, es porque tu corazón está haciendo justo lo que tiene que hacer: sentir.
Responder
Agradecido por:

1 el Garmin permite viradas en modo AUTO y WIND, se pueden configurar los grados de virada que quieres y en en el display aparecen las opciones babor o estribor.

2 se puede configurar un delay en segundos para la virada, nosotros tenemos diez segundos, da tiempo para cargar winches y cambiar manivelas, o puedes cancelar si lo consideras oportuno. La opción B, auto la veo la más adecuada.

El capità no és el capità, el capità es la mar. (Jesús Lizano)
Responder
Agradecido por: Tehani

Por lo general, los datos del sensor de rumbo magnético (gyro) son más estables y fiables que los de viento. Aún así, tanto unos como otros son promediados por el piloto para el establecimiento de los ángulos de referencia en modo AUTO y WIND/VANE, es decir, cuando se seleccionan estos modos y cuando se realizan ese tipo de maniobras de virada y trasluchada.

Durante el funcionamiento normal, los datos de rumbo magnético son comparados sin promediar con el ángulo de referencia establecido (procesado PID). Esto no es posible con los datos de viento debido a su inestabilidad y hay que seguir promediando, y por eso, la comparación con la referencia de viento establecida se realiza cada más tiempo y en función de la velocidad del barco (más velocidad -> menor tiempo entre correcciones).
Estas razones justifican que la opción B indicada por Eugeni sea, efectivamente, la mejor.

El usuario también puede establecer el ángulo a rotar en las viradas, pero de momento esto sólo se aplica cuando trabaja en modo AUTO (rumbo magnético). Digo de momento, porque en el modo viento, ese ángulo se calcula como dos veces el ángulo de viento real (TWA) antes de la maniobra. Según vaya el tema en las pruebas reales navegando, veré si mantengo esa operativa o la unifico con el modo AUTO.

Acerca del retardo en la acción a la orden TACK ya pensé en hacerlo, pero de momento ha quedado en el tintero ya que como este piloto se maneja con el control remoto, es posible estar en los winches y a la vez, accionar esa maniobra de TACK.

Estoy pensando en describir paso a paso el funcionamiento de todas estas maniobras en cada modo, que aunque de hecho es importante para que el usuario las conozca, no sé si puede resultar un tostón para la audiencia...

PD: El método de promediado empleado es la media exponencial. Tiene ciertas ventajas tales como ahorro de memoria y variaciones suaves de datos de salida. Viene a ser como un filtro pasa bajo.
Y(t) = (Y(t - 1) * K-1 + X(t)) / K
K es una constante que dependerá del tiempo de muestreo (gyro: 100mS) y de la frecuencia de corte deseada para el filtro.

Si sientes que te duele Gaza, aunque estés a miles de kilómetros, es porque tu corazón está haciendo justo lo que tiene que hacer: sentir.
Responder
Agradecido por: Max1947, Minhoca

Para los puristas se trata de un filtro digital de primer orden con ventana deslizante equivalente a K muestras llamado Infinite Impulse Response o filtro de respuesta al impulso infinita que lo define el Y(t-1) que en el fondo es una retroalimentacion. Matematicamente el filtro define como se combina la entrada actual y las anteriores para producir la salida. Como bien ha dicho tehani en la práctica funciona como un filtro pasa bajos.
Responder
Agradecido por: Max1947, Minhoca

Estoy releyendo lo escrito y creo que no ha quedado bien explicado con palabras sencillas la historia del PID.
Estas siglas significan "Control Proporcional, Integrativo y Diferencial). No os asustéis, que la cosa no es grave y la váis a entender muy bien:

Creo que está claro que el ángulo que tiene que formar la pala del timón con respecto a la crujía debe ser tal que corrija las desviaciones del rumbo actual con respecto al rumbo deseado. (Hablamos de rumbos magnéticos suminitrados por el girocompás).
Lo que ocurre es que el magnetómetro (y los antiguos fluxgates) tienen una respuesta lenta, si el error de rumbo es pequeño apenas se llegará a excitar el motor del brazo, y por otro lado, también queremos que ante una guiñada, el piloto reaccione rápida y vigorosamente.

Para mejorar la precisión del rumbo, y hacer que de forma progresiva el barco lo vaya siguiendo, existe la parte Integral del PID que consiste en ir acumulado una porción del valor del error hasta conseguir finalmente que el motor llegue a activarse.

Como la parte proporcional suele tener una respuesta más lenta, sea por el uso de un fluxgate clásico, sea por el procesado matemático interno del gyro, se añade la parte Diferencial, que en nuestro caso es la información de la velocidad de rotación del barco (leída directamente de los giróscopos del Girocompás). Estos giróscopos tienen como característica principal su alta velocidad de respuesta.
Es común que se denomine Contratimón o "Counter Rudder" a este efecto diferencial, debido a su cálculo a partir de la velocidad de rotación del barco y lo que hacemos cuando gobernanos a manopla ante un inicio de guiñada, que no es otra cosa que girar el timón en sentido contrario al de la guiñada.
Como ese efecto de contratimón se opone constantemente a los giros bruscos, es posible que haya que eliminarlo durante las maniobras de TACK y cambios de segmento de ruta en modo TRACK porque puede llegar a ralentizarlas de forma apreciable. Esto es una de las cosas que quiero observar cuando el piloto se pruebe en el agua.

Si sientes que te duele Gaza, aunque estés a miles de kilómetros, es porque tu corazón está haciendo justo lo que tiene que hacer: sentir.
Responder
Agradecido por: Max1947, Minhoca

Estamos hablando de filtros para eliminar el ruido pero no hemos comentado  que llamamos ruido.  En el fondo son diferentes artefactos u mediciones que no cuadran con lo esperado a medir. Según que se mide el ruido esta claro es diferente.
Por ejemplo el gyrocompas lleva un sensor denominado IMU que mide el giro y su aceleración en 3 ejes (x,y z) y también un sensor magnético. En estos sensores el ruido se manifiesta como vibraciones y/o deriva. Para estas señales se suele usar un filtro Kalman.
En las señales de GPS el ruido se manifiesta como saltos o también jitter( pequeñas fluctuaciones o desvíos en el tiempo o de valor). Para estas señales suel vastas una media simple o mejor también Kalman. Esto evita movimientos falsos en el cálculo de posición.
Con sensores de viento el ruido son ráfagas cortas. Con media movil o mediana se pueden filtrar perfectamente. El efectones atenuar picos.
La corredera da fluctuaciones de los impulsos, este ruido se puede corregir con filtro EMA(media mobil. exponencial) o mejor con Kalman fusionando con datos GPS si se disponen. Detesta manera la fusiona con velocidad real.
La sonda o sonar tiene ruido aleatorio que se corrige por Mediana  o EMA. Esto suaviza la señal sin un retardo excesivo
Responder
Agradecido por: Max1947, Minhoca

Es una pena

Si sientes que te duele Gaza, aunque estés a miles de kilómetros, es porque tu corazón está haciendo justo lo que tiene que hacer: sentir.
Responder
Agradecido por:

(16-10-2025, 06:47 PM)Tehani escribió:  Unas preguntas más para el respetable:
1- Vuestro piloto permite hacer una virada (TACK) automática en modo AUTO normal?. Los Raymarines antiguos lo permiten.
2- El piloto está trabajando en un modo que permite un TACK (WIND/VANE o AUTO en algunos casos).
Damos la orden TACK y acto seguido nos arrepentimos por la razón que sea y queremos abortar la maniobra.
Qué hay que hacer?
a) No permitir ninguna orden hasta el final de la maniobra.
b) Pulsar una tecla +/-1,+/-10) y el piloto pasa a modo AUTO manteniendo el heading instantaneo actual cuando se aborta.
c) Pasar a STAND BY.
d) Mantener el modo viento si se está trabajando en ese modo. Esto ya oscdigo que no es posible porque durante la maniobra, el ángulo de viento es muy inestable y no puede servir de referencia para fijar un nuevo rumbo relativo al viento.

En auto, la b, o hacer el tack opuesto, en el st3000 pulsar tack equivale a sumar o restar 100 grados, una vez virado hay que ajustar un poco, al rumbo deseado. Para cancelar la virada simplemente hay q cambiarlo
Responder
Agradecido por: Max1947

(17-10-2025, 09:54 AM)Tehani escribió:  Estoy releyendo lo escrito y creo que no ha quedado bien explicado con palabras sencillas la historia del PID.
Estas siglas significan "Control Proporcional, Integrativo y Diferencial). No os asustéis, que la cosa no es grave y la váis a entender muy bien:

Creo que está claro que el ángulo que tiene que formar la pala del timón con respecto a la crujía debe ser tal que corrija las desviaciones del rumbo actual con respecto al rumbo deseado. (Hablamos de rumbos magnéticos suminitrados por el girocompás).
Lo que ocurre es que el magnetómetro (y los antiguos fluxgates) tienen una respuesta lenta, si el error de rumbo es pequeño apenas se llegará a excitar el motor del brazo, y por otro lado, también queremos que ante una guiñada, el piloto reaccione rápida y vigorosamente.

Para mejorar la precisión del rumbo, y hacer que de forma progresiva el barco lo vaya siguiendo, existe la parte Integral del PID que consiste en ir acumulado una porción del valor del error hasta conseguir finalmente que el motor llegue a activarse.

Como la parte proporcional suele tener una respuesta más lenta, sea por el uso de un fluxgate clásico, sea por el procesado matemático interno del gyro, se añade la parte Diferencial, que en nuestro caso es la información de la velocidad de rotación del barco (leída directamente de los giróscopos del Girocompás). Estos giróscopos tienen como característica principal su alta velocidad de respuesta.
Es común que se denomine Contratimón o "Counter Rudder" a este efecto diferencial, debido a su cálculo a partir de la velocidad de rotación del barco y lo que hacemos cuando gobernanos a manopla ante un inicio de guiñada, que no es otra cosa que girar el timón en sentido contrario al de la guiñada.
Como ese efecto de contratimón se opone constantemente a los giros bruscos, es posible que haya que eliminarlo durante las maniobras de TACK y cambios de segmento de ruta en modo TRACK porque puede llegar a ralentizarlas de forma apreciable. Esto es una de las cosas que quiero observar cuando el piloto se pruebe en el agua.


Totalmente de acuerdo, el término diferencial se considera una mejora de la respuesta pero también la puede hacer nerviosa si le llega ruído, es habitual que los PID's den la posibilidad de filtrar específicamente el error entregado a la parte derivativa. Como dicen por ahí el 90% de los controladores son PID, con la parte D anulada, es decir PI's.


La parte derivativa, sin filtro en el error y aún con el, responderá con valores máximos ante una variación brusca o de tipo escalón en la consigna, que es la situación de un TACK.


Para regulación me parece genial el enfoque de este hombre y su serie de videos de procesos, controladores y ajuste: Kevin Starr - Single Loop Control Methods

Supongo que para el ajuste de un piloto de barco, una vez probado el ajuste "manual" o "a ojo", se podrían aplicar las propuestas de la parte de llenado de tanques específicas para procesos integradores de Kevin Starr.
Responder
Agradecido por: Max1947

(Ayer, 05:52 PM)Minhoca escribió:  (A) Totalmente de acuerdo, el término diferencial se considera una mejora de la respuesta pero también la puede hacer nerviosa si le llega ruído, es habitual que los PID's den la posibilidad de filtrar específicamente el error entregado a la parte derivativa. (B) Como dicen por ahí el 90% de los controladores son PID, con la parte D anulada, es decir PI's.


© La parte derivativa, sin filtro en el error y aún con el, responderá con valores máximos ante una variación brusca o de tipo escalón en la consigna, que es la situación de un TACK.


(D) Para regulación me parece genial el enfoque de este hombre y su serie de videos de procesos, controladores y ajuste: Kevin Starr - Single Loop Control Methods

Supongo que para el ajuste de un piloto de barco, una vez probado el ajuste "manual" o "a ojo", se podrían aplicar las propuestas de la parte de llenado de tanques específicas para procesos integradores de Kevin Starr.

Muchas gracias por tus observaciones. Voy a intentar responder con la máxima precisión que pueda:

(A): Esta cuestión la traté con especial mimo en el procesado del girocompás. En el caso de los giróscopos existen dos problemas, aunque en realidad son más bien tres:
1) - Existe alguna conversión defectuosa de vez en cuando o incluso aparece algún valor aleatorio que puede deberse incluso a errores de transmisión del bus i2c.
Esto se resolvió aplicando la mediana para cada tres valores consecutivos, en ventanas solapadas 10mS, suministrados por los giróscopos (Y para cada eje X-Y-Z). Esto permitía eliminar los datos fallidos sin que influyera apenas en la velocidad de respuesta, puesto que programé el IMU para que los datos de salida de los sensores se produjeran cada 10mS (100 veces por segundo). Eso conlleva una fluctuación temporal máxima de 20mS.
2) - Los valores de salida de los giróscopos tienen deriva térmica. Como esta deriva es extremadamente lenta, se aplica un filtro pasa-alto con frecuencia de corte bastante baja (menor que 1Hz). Ya comenté que el tiempo de estabilización de los giróscopos usando este método solía ser de un par de minutos, en lugar de las dos horas que necesitan los gyros (ultramegacaros y megaprecisos) del barco que tiende cables submarinos de nuestro amigo Sollano.
3) - El ruido producido se reduce aplicando después un filtro pasabajo con frecuencia de corte aproximada de 25Hz. Eso confiere a la salida un tiempo de respuesta bajo y a la vez con un muy reducido ruido. Véase gráfica de maniobra de TACK en este post: https://foronavegantes.net/thread-1010-p...l#pid99075

(B) - Es curioso lo que dices acerca de eliminar el efecto derivativo. Siempre he visto que el que suele dar problemas es el efecto integral (normalmente por limitación de ese efecto y cancelación del wind-up) y en casi todos los casos, es el que se suele eliminar. 

© La "gracia" de sustituir la derivada del error de heading respecto al tiempo por la lectura del eje Z del giróscopo es que de esta manera no pueden presentarse valores que crezcan bruscamente. En cualquier caso, tal como dije, tengo preparada la posibilidad de eliminar tanto el efecto derivativo como el integral durante las maniobras que comporten grandes variaciones de heading (rumbo).

(D) Efectivamente, es necesario pasar por el mundo real y rodarse bien en él, porque no es suficiente aplicar directamente los conceptos teóricos que aprendimos durante los estudios de ingeniería. Luego, cada caso es mundo aparte. Seguramente el señor Kevin Starr está más familiarizado con la robótica, dado que ABB lleva muchísimos años fabricando robots industriales. Quiero mencionar una situación muy comprometida que existe cuando hay que realizar una inversión rápida del giro del motor, ya que si no se hace correctamente puede "saltar todo por los aires". Los picos de corriente son terribles en estos casos. En este piloto STE300 eso lo he resuelto ejecutando una máquina de estados con rampas de aceleración, frenado e inversión dentro de una interrupción de timer de 20mS que controla el PWM del motor principal del piloto y el PWM del Clutch.

Hay que pensar que este Autopiloto y el Gyro+GNSS  llevan en la cocina siete años ya...

Si sientes que te duele Gaza, aunque estés a miles de kilómetros, es porque tu corazón está haciendo justo lo que tiene que hacer: sentir.
Responder
Agradecido por:


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje
Último mensaje por krunch6
09-01-2025, 05:16 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)