Pypilot: Ralph es-tu là?

Bonjour à tous!
Je suis les tutos très bien fait par Ralph sur Youtube concernant le Pypilot.
Est-il possible de le joindre ailleurs que sur youtube?
Merci d'avance pour vos réponses. Bonne soirée à tous.
Ed

L'équipage
02 sept. 2021
03 sept. 2021

Bonjour, un petit lien vers ce dont tu parles?


meretvent:Pardon, j'aurais du le dire, voir ci-dessous... 😊·le 03 sept. 2021 14:16
03 sept. 202103 sept. 2021

C'est ça (et toute la suite, une quinzaine je crois...) :


meretvent:Et voilà, merci café noir ·le 03 sept. 2021 14:16
03 sept. 2021

Très bons tutos sur la suite Openplotter sur raspberry4 qui intègre Pypilot.

Pypilot fonctionne très bien avec Openplotter mais Openplotter reste une usine à gaz avec beaucoup de mises à jour des nombreuses applications qui peuvent parfois poser problème. Openplotter nécessite aussi l'utilisation d'un écran qui consomme pas mal d'énergie. C'est un peu risqué d'être totalement dépendant du bon fonctionnement d'Openplotter pour que le pilote automatique du bateau puisse fonctionner.

Pour des raisons d'économie d'énergie, de sécurité et d'ergonomie, Sean D'Epagnier le concepteur de Pypilot privilégie de plus en plus un pilote automatique distinct d'Openplotter avec une carte SD contenant l'extraction d'un seul fichier image. En plus du pi zéro, ce pypilot comporte deux arduinos dont un pour gérer les interfaces et la radiocommande radio et l'autre pour contrôler le moteur. Avec ce pypilot distinct d'Openplotter, OpenCpn et Openplotter permettent toujours de commander et analyser le fonctionnement du Pypilot couplé par Wifi au rpi4 d'Openplotter.

Mais le Pypilot distinct fonctionne toujours parfaitement si Openplotter n'est pas en marche ou ne fonctionne plus. Le logiciel Pypilot du pilote automatique est figé tant qu'on ne réinstalle pas une nouvelle version sur le rpi zéro. Hors consommation du moteur, le pypilot distinct avec son affichage et sa télécommande radio consomme moins de 0,1A, soit beaucoup moins que ce qu'il faut pour faire tourner Openplotter seul.

Les tutos plus haut montrent uniquement l'installation d'Openplotter et l'utilisation de quelques unes de ses applications dont Pypilot. Il y a encore d'autres applications géniales dans Openplotter dont une permettant de faire de très beaux indicateurs garphique.


meretvent:Merci J Marc, tu as bien résumé. ·le 03 sept. 2021 14:18
03 sept. 2021

Comme Ralph a un accent d'une région Belge francophone pas loin de la mienne, j'aurais essayé de le rencontrer. Concernant l'achat, l'assemblage et le réglage du Pypilot, je sèche complètement. Peut être aurait il accepté de m'éclairer...


Café noir:En tous cas il est excellent, clair et posé (assez lent pour que l'on ai le temps de comprendre) dans ces explications ! Bravo !·le 03 sept. 2021 14:33
03 sept. 2021

D'où ma question : Ralph es-tu là ??? 😅😅😅X


02 déc. 2021

Ralph n'est toujours pas là? :o)


02 déc. 202102 déc. 2021

En plus du pi zéro, ce pypilot comporte deux arduinos dont un pour gérer les interfaces et la radiocommande radio et l'autre pour contrôler le moteur.

En tant qu'informaticien, développeur, et accessoirement electronicien (ou, tout ça en même temps !), je ne suis pas fan du RPI pour l'embarqué : malgré tout, ca reste du Linux sur une carte SD, avec les faiblesses qu'on connait à Linux tel qu'il est utilisé (à savoir un système de fichier en écriture, qui peut "exploser" à tout moment).
Il est tout à fait possible de concevoir des systèmes embarqués à base de Linux et d'un système de fichier en lecture seule, certains le font évidemment, mais cela nécessite beaucoup plus de travail.

Je reste persuadé, sans encore avoir vu le code de pypilot, qu'un microcontroleur ESP32 (ou autre , à base d'ARM par exemple) est largement assez puissant pour gérer un pilote auto, et que ce système sera bien plus robuste qu'un Raspberry. Qui plus est, deuxième effet kiss-cool, l'ESP32 gère le BlueTooth "Low Energy", bien plus adapté pour des communications sans fil (dans l'optique d'une télécommande)....

Entendons-nous bien : j'aime aussi le RPI, je l'utilise par endroits, mais ça reste une solution non prévue à mon sens pour ce type d'usage.

Etant à mon compte, je songe à développer du matériel pour le domaine de la voile de plaisance, et propriétaire d'un voilier dans quelques jours, le pilote et la centrale de navigation font partie de ma "cible".

Il est vrai qu'en tant qu'utilisateur, je suis aussi défenseur de l'Open Source, car je suis aussi un bon "bricoleur", mais quand il s'agit de gagner sa vie... ;)


stelian:Ca fait toujours peur les systèmes de fichiers qui peuvent "exploser" mais avec la journalisation qui se fait sous Linux depuis plus de 10 ans, en pratique, je n'ai jamais rencontré de problème. Et ce qui est sympa dans le cas du RPI c'est que l'on peut amener une autre carte SD (voir une troisième pour les stressés), et au pire on a juste à changer la carte et c'est reparti.Un microcontrôleur sera certainement suffisant pour un pilote "basique", mais pas pour intégrer toutes les fonctionnalités que pypilot a déjà ou qu'il compte ajouter. Sean parle de rajouter de l'IA...Sean a adapté aussi sa propre "distribution Linux", basée sur un TinyCoreLinux, qui a l'avantage de tourner intégralement en RAM. Le système de fichiers est R/O, à part pour les fichiers de config de pypilot. Ca peut faire un pilote autonome, pour ceux qui n'utilisent pas OpenPlotter ou plus généralement le RPI en tant qu'ordinateur de la table à cartes.Je pense que tu devrais regarder d'un peu plus près la conception de pypilot, tu pourrais changer certaines de tes opinions...·le 03 déc. 2021 11:10
napo7:En effet, tinycore est bien plus robuste qu'une debian en R/O. Je l'ai deja utilisée et elle est effectivement adapté à ce genre d'usage !Perso, des systemes R/W qui explosent en plein vol sur des RPI, j'en ai vu des dizaines de fois depuis que le RPI existe. La journalisation a effectivement des avantages, mais ca n'exclu pas tous les ennuis possibles. Enfin, un ESP32 reste un microcontrolleur très puissant, qui tourne à 160 mhz, deux coeurs, je reste persuadé que c'est assez puissant pour cet usage. Ce que l'on appèle IA , et que l'on devrait plutot nommer "deep learning", correspond de nos jours en des "réseaux neuronaux" qui ont un ou deux facteurs qui peuvent se corriger, soit en "temps réel" avec la rétroaction : le système est configuré de base avec des coefficients génériques, il apprend de ses erreurs: ex : dans la situation "A" j'ai mis à tribord la barre de 10°, ca n'a pas suffit, ou c'était pire, alors je corrige mon coefficient X et/ou Y, etc.... soit avec de l'apprentissage de masse : on nourrit le réseau neuronal avec des tonnes de données/mesures/relevés, et on lui apprend ce qui est bon de faire dans telle situation, ce qu'il ne faut pas faire dans telle même situation. Le système agit comme en rétroaction, il s'auto-corrige, sauf qu'au lieu de le faire en "live", on l'éduque en amont. Cette seconde méthode est bien souvent utilisée pour calculer d'ailleurs les coefficients "de base, générique", puis complétée par l'affinage en live.C'est comme ça qu'un système "d'IA" apprend à reconnaitre une fleur d'un chat, on le nourrit avec des milliers/millions de photos de fleurs et de chat, et les "neurones" s'eduquent d'eux-même... J'ai un peu grossis le trait mais ca reste la base !En soit, l'IA (ou plutot le deep learning) ne nécessite pas beaucoup de puissance de calcul, enfin cela dépend du nombre de "neurone" que l'on souhaite mettre dans le système (chaque neurone étant une équation à 1 ou 2 variables, et donnant en sortie une réponse variable de 0 à 1... ). Plus on aura de données en entrée, plus le calcul du résultat en sortie sera long....Mais n'oublions pas qu'un microprocesseur capable de calculer plus de 180 millions d'opérations par seconde sera suffisament rapide pour effectuer le calcul d'un réseau de plusieurs centaines de neurones (donc avec des dizaines de variables en entrée...)Pour en revenir à Python (et à pypilot), sans dénigrer encore une fois le travail de son auteur, Python est un des languages les plus lents que je connaisse, et un microcontrolleur programmé en C avec deux coeurs sera à mon avis aussi rapide/performant qu'un python sur un pi zero s'executant sur un seul coeur !·le 03 déc. 2021 12:53
stelian:Je suis développeur embarqué et mon langage de prédilection est le C. Donc oui, je sais tout ça. Cependant, vu le code de pypilot (il y a des parties optimisées en C...), je ne suis pas certain que le choix du langage est si déconnant que ça (va faire du web, du signalk et de l'ihm en C...). Bref, si tu pense faire mieux que pypilot vas-y, c'est la concurrence des projets qui fait avancer le schmilblick. Mais n'oublie pas qu'une grande partie de pypilot (euh, de n'importe quel projet en fait) c'est la mise au point, et là, si tu veux en faire un produit payant, il faudra que tu te payes des testeurs...·le 03 déc. 2021 15:04
BlackNav:un raspberry et deux arduinos ? alors que tout pourrait être géré par un seul microcontrôleur. Mon pilote automatique "maison" faisait tout avec un simple arduino uno. ·le 03 déc. 2021 16:24
stelian:@BlackNav je crois qu'on ne parle pas des mêmes fonctionnalités. Qu'il est possible de faire un simple pilote asservi à l'aide d'un microcontrôleur, bien entendu. Que l'on puisse faire l'équivalent de ce que fait pypilot aujourd'hui (et qui fera encore plus demain), c'est illusoire de mettre ça dans un microcontrôleur avec une toute petite RAM. Et je sais de quoi je parle ! (rien que le pilotage de l'écran serait compliqué voir impossible à cause des contraintes de RAM par exemple). Je pense que pypilot se rapproche plus d'une "centrale de navigation" que d'un "pilote barre franche non connecté". Et il y a un monde entre les deux.·le 03 déc. 2021 17:06
napo7:@stelian, j'ai eu beau lire la page d'accueil de pypilot, je ne vois pas quelles fonctions il aurait qui nécessite une telle puissance ? Peux tu nous faire un petit résumé ?Quand au pilotage de l'afficheur, c'est à mon sens une fonction à part entière, qui doit être gérée par un répétiteur lui-même, pas par le pilote lui-même... Chacun ne doit se concentrer que sur une chose et le faire correctement ! Le pilote barre, et indique comment il le fait (avec des trames propres à lui si besoin)n l'afficheur affiche... C'est ma vision de la chose... ·le 03 déc. 2021 17:40
stelian:La page d'accueil et la doc en général n'est pas le point fort du projet, quoiqu'il y a un doc "utilisateur" pas trop mal faite. Mais comme tu es du métier, tu peux regarder le code sur github et te faire ta propre idée. C'est sur que tu peux déporter l'afficheur, tu peux aussi déporter le "récepteur RF", et ainsi de suite, mais du coup à la fin tu vas te retrouver avec plein de microcontrôleurs (euh, arduino enfin le atmega328p en est un...). Et quand au code "principal", comme je le disais, pour faire un pilote compas/gps/vent/vent, avec la calibration, et te laisser de la place pour améliorer / intégrer de nouveaux algos, désolé mais je pense qu'un simple microcontrôlleur est insuffisant, pas tant comme tu dis en tant que puissance CPU mais en tant que RAM surtout. Mais pour finir, je crois que pypilot a été porté sur un ESP32 / Micropython...·le 03 déc. 2021 18:04
napo7:On avance... Porter sur un esp32 est une bonne idée, il aurait fallu abandonner micropython. De l'interpreté sur un microcontrolleur, quelle drole d'idée pour un tel usage... PS : l'esp32 dispose de 320 Ko de RAM. Je serait surpris que ca ne suffise pas à un tel usage, même avec un afficheur integré !·le 03 déc. 2021 18:22
napo7:Autant pour moi, 520 Ko de RAM et non pas 320 !·le 03 déc. 2021 18:25
stelian:Bon ben y a pu qu"à ! Quand tu auras quelque chose je pourrai peut-être tester voir même contribuer. Ah, sauf si c'est du logiciel propriétaire, dans quel cas...·le 03 déc. 2021 18:48
BlackNav:Je travaille dans les systèmes embarqués temps réel automobile, en tant qu’architecte logiciel et système. Je maintiens ce que je dis : il est largement possible de tout faire avec un seul microcontroleur et sans os. D’ailleurs je l’ai fait : imu 9 axes, boutons, liaison wifi, asservissement, pilotage moteur, ecran oled et baromètre. Ca fonctionnait, mais cela me prenait trop de temps, j’ai abandonné. Je pense qu’il y a la place pour un projet open source rellement orienté temps réel embarqué. Esp32 est un bon candidat. ·le 04 déc. 2021 12:14
stelian:@BlackNav : il est peut-être possible de faire quelque chose de très optimisé sur un microcontrolleur. Mais, comme dans beaucoup de projets, la réussite ne tient pas tant dans la prouesse technique que dans la capacité du système à évoluer, à être déboggué, et à suscité l'intérêt et la coopération autour. Ton code fait aux petits oignons dans ton coin, adapté certainement à un type précis de hardware, a fini par mourir par manque de temps. Un code, moins optimisé peut-être, mais qui est fait avec du hardware facile à obtenir, écrit dans un langage plus facile à utiliser, et open source, a plus de chance d'y arriver. Mais il n'est jamais trop tard: peut-être que ton projet pourrait re-vivre, et je serai certainement intéressé de jouer avec. Publie le code et qui sait, on pourra choisir parmi deux pilotes open-source, voir même faire un mix des deux, en prenant le meilleur de chacun...·le 04 déc. 2021 22:41
03 déc. 2021

A défaut de Ralph, il y a de grosses têtes fort intéressantes ma foi!


stelian::)·le 03 déc. 2021 15:32
03 déc. 2021

Bonjour,
Sean qui conçoit Pypilot travaille aussi avec l'ESP32. Il a d'ailleurs conçu un répétiteur wifi à ESP32.
Pour une gestion performante de l'IMU 9 axes, il faut beaucoup plus de puissance de calcul qu'avec les compas à fluxgate de la précédente génération. Fais une recherce sur le forum Pypilot.

Pour le plaisir de la découverte, j'ai commencé à faire mon pypilot à la maison. Cela m'a convaincu que Sean était vraiment très bon en calcul, logiciel et conception électronique. C'est aussi un visionnaire en terme d'ergonomie. J'ai donc choisi de mettre sur mon bateau la solution qu'il vend (pi zéro avec l'IMU, deux arduinos, l'afficheur, télécommande IR et le récepteur radio). Elle a l'énorme avantage de consommer seulement 80 mA sur mon bateau avec serveur wifi et afficheur en service (hors conso vérin). Pour préserver le système de fichier de la carte SD, elle sauvegarde les paramètres dans une EEPROM au lieu de la carte SD. Le décodage des télécommandes radio avec l'arduino est vraiment efficace.

Mais Sean est très ouvert car son code permet à chacun de faire exactement ce qu'il veut. Les utilisateurs peuvent par exemple installer pypilot et Openplotter sur pi4. Je trouve que c'est risqué quand on voit qu'openplotter n'arrête pas de modifier des fichiers. Je préfère nettement mon pypilot avec ses logiciels figés.

Sean conçoit actuellement de nouveaux algorithmes intelligents de pilote qui s'ajouteront aux deux disponibles. Je suis impatient de les essayer. S'il faut modifier mon matériel, je n'hésiterai pas beaucoup à lui acheter un calculateur pour l'aider à financer ses travaux et surtout tester rapidement ses idées. Je ne serai effectivement pas surpris qu'il finisse par mettre plusieurs ESP32.


05 jan. 2023

N'étant pas vraiment très assidu sur les réseaux sociaux, je n'avais pas vu ce fil de discussion.
Mais je suis là.


Phare du monde

  • 4.5 (83)

2022