|
VHF: Canal 77 |
#1
|
||||
|
||||
Fenix autopilot - piloto automático de caña con Arduino
Buenas cofrades, una ronda para todos
me llena de orgullo y satisfacción presentar el proyecto en el que he estado trabajando los últimos años... Fenix Autopilot. Se trata de un piloto automático de caña para pequeños veleros. Utiliza un actuador lineal, compás electrónico y un módulo Bluetooth para controlarlo mediante el móvil. Está disponible una App basada en Virtuino para controlar las funciones básicas. Funcionalidades: - Control por Bluetooth y por USB desde cualquier dispositivo. - Modo manual, seguir un rumbo y seguir una ruta - Conexión USB a tu PC/portatil para calibrar compas y actuador lineal y configurar el piloto automático. Requiere mínimo conocimiento técnico, con el objetivo de que cualquiera pueda adoptar este sistema. - Integrado con OpenCPN lo que le permite seguir una ruta e indicarle al plotter el rumbo actual. - Alarma de fuera de rumbo. - Ganancia y deadband configurables. Tenéis la documentación que he ido generando en esta Wiki, https://emacua.fandom.com/wiki/EMacua_Wiki El código en Github, https://github.com/spascual90/Fenix He sacado la primera versión estable que incorpora funciones básicas. Me centraré ahora en mejorar la documentación de usuario y hacer pruebas de las funciones actuales. Queda mucho por desarrollar así que si alguien se anima será bienvenido. Espero que sea de vuestro interés. Cualquier duda ya sabéis. Saludos, spascual90 |
27 Cofrades agradecieron a spascual90 este mensaje: | ||
Acasimirocasper (25-03-2020), alcapar (07-11-2020), berete (29-03-2020), beta4 (11-11-2020), BlueMoon (28-12-2020), boooom475 (21-03-2020), davideolo (25-03-2020), Edu (11-11-2020), Freyuk (09-11-2020), josemos (22-03-2020), Juriola (28-11-2020), lamar14 (28-11-2020), Loquillo (10-12-2020), MacGiver (09-12-2020), moryak (30-03-2020), nirvana (22-02-2020), NOORDSVAARDER (21-03-2020), pato (25-03-2020), pbs046 (09-12-2020), Pirata de Cuba (21-03-2020), Ppd3 (22-02-2020), Rony (25-03-2020), salton (22-02-2020), Samecsa (25-03-2020), Sidrimer (23-03-2020), Xepe71 (26-03-2020), xfactor99 (22-02-2020) |
#2
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Hola,
es un trabajo impresionante. un saludo Andreas |
#3
|
||||
|
||||
Respuesta: Fenix autopilot - piloto automático de caña con Arduino
Enhorabuena, tiene muy buena pinta
|
#4
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
|
#5
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Buenas cofrades,
lo primero mucho ánimo con vuestro encierro y ya sabéis, yo me quedo en casa. Como ya anticipé me he dedicado a documentar el proyecto creando un manual de usuario. Todavía está en redacción y queda bastante por escribir, pero ya se pueden encontrar los primeros casos de uso, - Engaging the autopilot (Auto mode) - Disengaging the autopilot (Standby mode) - Changing course - Dodging obstacles and returning to the previous heading Sí, está en inglés para darle mayor difusión. Si hay algún voluntario para traducirlo a la lengua de Cervantes, ¡bienvenido sea! Aquí tenéis el link: https://spascual90.gitbook.io/fenix-autopilot/ He instalado el piloto en el barco, pongo unas fotillos, pero no he podido salir a navegar con él para hacer las primeras pruebas de navegación. El puñetero COVID19 jode hasta esto. Cuando las haga os postearé los resultados, ¡y será señal de que hemos vencido al virus! Que lo disfrutéis y ya sabéis: comentarios y colaboraciones son bienvenidos. Un saludo, Sergio |
4 Cofrades agradecieron a spascual90 este mensaje: | ||
#6
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Impresionante trabajo ¿ Podría ser adaptado para ser utilizado con direcciones hidráulicas ? Supongo vía reles, usando la bomba eléctrica de antiguos pilotos automáticos..? Sería la solución perfecta para nuestros sistemas prehistóricos Esperamos tus progresos , sin movernos de casa |
#7
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Añado un par de videos del piloto comandado desde el movil
Saludos Sergio |
2 Cofrades agradecieron a spascual90 este mensaje: | ||
Acasimirocasper (27-03-2020), NOORDSVAARDER (23-03-2020) |
#8
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
La respuesta es que sí con algunas modificaciones: el controlador del motor habra de ajustarse al voltaje de la bomba (12/24v) y a la intensidad de corriente que necesite. Para el sensor de angulo de timon. El actuador lineal tiene un potenciometro integrado que te indica la extension en cada momento. En tu caso seguramente haya un sensor de angulo del timon que haga esta funcion. Saludos Sergio |
#9
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Gracias, si parece ser que cuando el aporte es largo , desaparece si parpadeas Si, en el barco quedan los restos de dos sensores de posición de timon, un Vdo y un Autohelm.. Y restos de un piloto z166.. Demasiados cables cortados Cuando termine con el rescate arqueológico del barco , un piloto como el tuyo , sencillo y funcional,sería perfecto Hasta con mando a distancia No sé si ya viste esto, o puede ayudarte https://hackaday.io/project/168592-o...-and-waypoints https://openplotter.readthedocs.io/e...ssier_app.html Seguiremos a la escucha Editado por NOORDSVAARDER en 25-03-2020 a las 00:42. |
#10
|
||||
|
||||
Respuesta: Fenix autopilot - piloto automático de caña con Arduino
Gran trabajo aunque el este mensaje no se mueva tanto como la importancia de tu trabajo, es una pasada..
Yo veo un problema y es que la mayoría no tenemos las capacidades para hacerlo, igual podías hacer un kit de fácil montaje y distribuirlo con un tutorial detallado. Imagino que siempre será más eficaz y económico que un piloto de caña comercial. |
#11
|
||||
|
||||
Re: Respuesta: Fenix autopilot - piloto automático de caña con Arduino
Cita:
|
#12
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Perfecciónalo, así, sencillo para dummies... Yo me pido uno |
#13
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
El uso del móvil me parece más elegante que las pantallas y botones de los proyectos alternativos que he visto por ahí. Al final siempre acabas cargando con una caja de zapatos en la bañera del barco...no lo termino de ver. Relativo al piloto basado en openplotter que refieres, no me convence un piloto basado en raspberry que corre junto con otras aplicaciones (plotter, servidor, etc) se puede corromper la SD, hay que actualizar el SW con frecuencia, consumo...complicaciones. Es como matar moscas a cañonazos. Fijate que los equipos comerciales nunca juntan todas esas funciones en uno. Dicho esto, openplotter me parece un proyecto cojonudo, de hecho Fenix tiene interfaz con openplotter (pondre videos), pero no como piloto. saludos, Sergio |
#14
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
No voy a tener problemas de espacio si algún año consigo devolver el barco al agua.. Pero mi objetivo es hacerlo low cost, y sencillo como un vela ligera... Tu piloto es perfecto. Para dar un paseo, no hace falta tecnología hiper-espacial... Hay que pagar los gastos en cañas de la tripulación ... |
#15
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Qué currada, buen trabajo!
Como mejora para el futuro, sugiero algún tipo de botonera física, además de Bluetooth. La idea podría ser tener opción de activarlo/desactivarlo (un pulsador), y dos más para cambio de rumbo babor/estribor. El piloto podría funcionar sin estos pulsadores, pero creo que sería una mejora. Una segunda mejora sería virar de 10º en 10º, con estos pulsadores y una tecera, que trasluchara. Solo son ideas, pero buen trabajo!
__________________
Always be yourself... unless you can be a pirate, then be a pirate! |
#16
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
Estoy de acuerdo en que unos botones y una pantalla conectados por cable (sin el engorro del BT conecta/ no conecta) mejorarían el proyecto. De hecho inicialmente empecé con una pantalla y unos cursores pero lo terminé abandonando. Como comentaba anteriormente es complicado hacer un interfaz de usuario "elegante" sin tener la "caja de zapatos" dando vueltas por la bañera. La buena noticia es que es muy fácil de implementar con otro Arduino conectado por USB, mandando los comandos $PEMC. Me lo apunto Saludos, Sergio |
#17
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
¡Hola cofrades!
El proyecto avanza a buen ritmo. realicé algunas pruebas de mar durante el verano. Todo en buenas condiciones de mar y con motor. Solo se probó el modo automático, no el modo de seguimiento de Waypoints. Como resultado, identifiqué margen de mejora en las siguientes áreas, Me di cuenta de que la calibración de la brújula electrónica no es tan fácil cuando está instalada en un barco. En consecuencia, la precisión de la IMU era inestable y, por diseño, el piloto automático se desactivaba automáticamente y emitía la alarma de falta de calibración. La calibración inicial se restauró automáticamente y estaba lista para iniciar nuevamente las operaciones del piloto automático, sin embargo no pude hacer funcionar el piloto automático durante más de 2 minutos sin que se detuviera automáticamente por este motivo. En consecuencia, tomé la decisión de implementar algunos cambios: - El piloto automático solo restaurará automáticamente la calibración en el modo de Stand-by, nunca en funcionamiento (modos Auto o Track). - El estado de calibración del compás electrónico se mostrará a través de la aplicación de Android, para advertir al usuario en caso de baja precisión. - Funcionalidad de calibración implementada en la aplicación de Android, ya no se requiere conexión al portátil. También percibí que el diseño del botón principal como botón multifunción no era tan buena idea. Dependiendo del estado del piloto automático, presionar este botón desencadenaría diferentes acciones, algunas de las cuales provocarían el giro del barco. Esto representó un riesgo de giro por error con implicaciones de seguridad asociadas. Para minimizar este riesgo, cambié el comportamiento del botón principal de la App de Android, éste solo puede conectar el piloto automático para mantener el rumbo actual o desactivar el piloto automático, pero nunca provocará un giro. También trabajé en la implementación de botones para iniciar la virada babor/ estribor (100º del rumbo actual). El rendimiento del piloto automático con los valores PID iniciales fue bajo. Reacción demasiado lenta a los cambios de rumbo. Cambié los valores por método de prueba y error y el comportamiento mejoró significativamente, pero creo que debería haber una funcionalidad de autoajuste para ayudar a encontrar los mejores valores para cada parámetro PID. En conclusión, nuevas funcionalidades y mejoras implementadas en la App de Android, - Calibración de actuador lineal y brújula. - Botones de virada (taking 100º). - Diseño mejorado de las pantallas / botones. Todavía por hacer - Ajuste automático de los valores de configuración PID de rendimiento. Para obtener más información práctica de funcionalidades y uso, puede consultar el manual de usuario, https://app.gitbook.com/@spascual90/s/fenix-autopilot Hay algunos videos disponibles en youtube, https://www.youtube.com/user/spascual90 Saludos y... Sergio Editado por spascual90 en 07-11-2020 a las 21:54. Razón: Typos |
#18
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Buenas cofrades,
sólo comentar que este proyecto se está moviendo por otro foro en inglés, donde hay algunas personas que han comenzado sus proyectos y han planteado dudas que pueden ser de vuestro interés. https://www.cruisersforum.com/forums...-230669-3.html Me encanta que se mueva el tema por cualquier lado, pero me gustaría más que fuese por este foro de cofrades hispanos ;-) Os animo a comenzar vuestro proyecto. Podréis contar conmigo para cualquier duda que os vaya surgiendo. Saludos, Sergio |
Los siguientes cofrades agradecieron este mensaje a spascual90 | ||
NOORDSVAARDER (28-11-2020) |
#19
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
__________________
<')(((>< <')(((>< <')(((>< Que es mi barco mi tesoro, que es mi dios la libertad, mi ley, la fuerza y el viento, mi única patria, la mar. https://www.facebook.com/pages/Juriola/214037382001173 Documentación y fotos de la construcción: https://www.dropbox.com/sh/u7ktl11am...uOakJ4Y3a?dl=0 |
#20
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Hostia,
muy pro tu versión. Yo hice lo mismo pero para una barca motora. Uno de los problemas principales con los que me encontré fue con la parte mecánica y el retraso en el feedback que coloqué en el propio eje del zafrán. Algunos detalles técnicos de mi proyecto los podréis encontrar aquí. Esta fue una versión preliminar. Acabé integrandole bluetooth para controlarlo con el móvil mediante una app y un chip de posicionamiento absoluto como los que llevan los drones para obtener un vector que me devolvía datos muy útiles para mis algoritmos como la aceleración y velocidad angular. Si quieres que colaboremos en algo lo haría encantado. Hoy por hoy lo he dejado de lado ya que me he pasado de barca motora a velero con cañero y me viene con piloto automático https://wordpress.bonairetec.com/ Un cordial saludo y enhorabuena por este proyectazo |
#21
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
Mi primera aproximación será seguir utilizando el móvil pero conectado con USB al piloto automático, de forma que se mejore la comunicación respecto de Bluetooth. Los beneficios del móvil frente a desarrollar un dispositivo son múltiples: no hay que fabricar ningún dispositivo adicional, existen multitud de recursos de programación para Android (actualmente utilizo Viruino), cada vez son más resistentes a los rociones, existen multitud de fundas y soportes para tenerlo en cubierta, puedes cambiar el brillo en función de las condiciones de luz, además el cable permite recargar el móvil mientras se usa. La única pega del móvil es que no tiene botones, y en condiciones de agua o a través de una funda la sensibilidad de la pantalla del teléfono no es la mejor. Podría estar bien una especie de Dock que permita anclar el teléfono e incorpore una botonera básica (los típicos 3 botones, On/Off, +10, -10), conexión USB y una sombrilla en la parte superior para evitar el Sol incidiendo directamente en la pantalla. ¿Podrías diseñar algo así? Saludos, Sergio |
#22
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
Supongo que el retraso del feedback se podría haber solucionado encontrando unos parámetros PID adecuados... ¿o no iba por ahí el problema? Saludos, Sergio |
#23
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Si, puedo crear STL sin problema.
El dock para el movil puedo diseñarlo, el problema es la diversidad de tamaños, donde colocar el conector... quiero decir que habría que rediseñar para cada modelo de movil.
__________________
<')(((>< <')(((>< <')(((>< Que es mi barco mi tesoro, que es mi dios la libertad, mi ley, la fuerza y el viento, mi única patria, la mar. https://www.facebook.com/pages/Juriola/214037382001173 Documentación y fotos de la construcción: https://www.dropbox.com/sh/u7ktl11am...uOakJ4Y3a?dl=0 |
#24
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Buenas taberneros developpers,
quisiera saber porqué habéis renunciado a la opción de conexión por Bluetooth. A mi no me iba ni tan mal. Como no sé de desarrollar para Android y tampoco quería sumergirme demasiado en el desarrollo para esta plataforma usé el MIT App Inventor. Usaba el envío de caracteres o números enteros desde la App al hacer click sobre alguno de los botones de la interface: -1 grado, +1 grado, -10, +10, centrar, etc... que el loop de lectura de la entrada de datos por Bluetooth leía y modificaba los datos almacenados en memoria temporal en consecuencia. Desde luego nunca traté de usar una solución de checksum para validar que los datos TX/RX no se recibieran corruptos debido a alguna interferencia u otro error. Pero el código sólo aceptaba la entrada de datos si se correspondía con el carácter o entero enviado, de lo contrario quedaba descartado. El retorno del Arduino hacia el móvil me enviaba en una sola sentencia varios datos como el Rumbo deseado versus el Rumbo real, posición del zafrán, velocidad y algunos datos de debugging para pruebas. Aunque para los tests solía conectar directamente el portátil al arduino y recogía toda la información para poder ir ajustando el algoritmo PID. En definitiva, el Bluetooth no me iba tan mal y creo que facilitaría el problema de tipo de interface de conexión entre móvil y piloto automático. El MIT App Inventor me permitió hacer una interface bastante sencilla, con un buen contraste para ver bien a pleno sol. El ratio de envío y recepción de datos sí que me solía dar algún quebradero de cabeza. A una velocidad de 1 mensaje por segundo todo iba bien, si bajaba mucho se perdían bastantes datos y el refresco no era el esperado. Una pena porque la brújula de la interface quedaba más chula si el refresco era rápido. Este es el aspecto de la interface: Bueno, perdón por el tostón sólo para que persistáis con Bluetooth que creo que daría más versatilidad al Fenix. Un saludo cordial Txalamar. |
#25
|
||||
|
||||
Re: Fenix autopilot - piloto automático de caña con Arduino
Cita:
Por otros motivos no nauticos utilicé arduino con el sensor de posicionamiento x-y-z. El sensor de posicionamiento emite datos "BRUTOS" que si intentas trabajar con ellos acabas enloqueciendo por la disparidad de datos y los "picos" de desviación. Después de frustrarme durante bastante tiempo, encontré algoritmos que aplanan datos y que incluso "predicen" los datos que van a llegar. Se acabó el problema. Acción muy rápida y suave, incluso en ángulos pequeños. Eso sí, exige un mínimo de calibración. Yo utilicé motores muy pequeños, con muy poca potencia, pero supongo que con actuadores tambien funcionará. Yo saqué toda la información de un proyecto de Gimbal que es para mantener superficies en horizontal/vertical/eje Z (estabilizador). Si te sirve de algo la información ,me alegraré. Recuerda que en Arduino tienes módulos compatibles con NMEA y su software asociado. Así puedes conectarlo con toda la parafernalia existente en nuestras bañeras. Un saludo. |
Ver todos los foros en uno |
Etiquetas |
arduino, bricobarco, piloto automático caña |
|
|