mercredi 12 décembre 2018

RTK moving base

J'ai craqué pour un GPS RTK...

RTK est l'acronyme de Real Time Kinematic. C'est une technique qui permet d'améliorer la précision d'un GPS (appelé Rover), grâce à un deuxième GPS (généralement fixe et appelé Base) à proximité.

L'amélioration de la précision en temps réel est permise grâce à l'envoi de correction de la Base vers le Rover.

Jusqu'à présent c'était une technologie assez couteuse, mais la miniaturisation permet aujourd'hui d'y accéder... pour les bourses bien remplies...

J'ai commandé un GPS "base" et un "rover" chez Drotek (en fait ça fait déjà 2ans, mais ils étaient restés dans un placard...).

J'ai vu qu'il y avait aussi une alternative (reach-rtk) intéressante chez Emlid.
A noter également que la version tiny RTK n'est pas opensource/hardware, et que d'autres versions sont réputées plus ouvertes comme la version smartnav. Mais la version tiny RTK a l'avantage de tout avoir sur une seule puce.

Une fois la commande reçue, première surprise : les cartes sont vraiment toutes petites, même avec le boitier! De quoi en embarquer une sur un drone, ou un cerf-volant. Le plus lourd étant l'antenne (environ 50g), qui semble cependant nécessaire pour avoir un bon signal.

La documentation est disponible sur le site de Drotek.

Il faut commencer par installer le logiciel u-center de u-blox, l'entreprise qui fait la carte du récepteur GPS (neo-M8P).

Une version récente (18.11) existe, mais elle ne correspond pas à la plupart des tutoriels et je l'ai trouvé moins intuitive. Je suis resté sur la version 8.26 (toujours téléchargeable).

Mauvaise surprise : le logiciel n'est disponible que pour PC (et une version pour android également).

Mon dual boot sur Windows étant cassé, et souhaitant rester sur linux/ubuntu, j'installe le logiciel avec Wine.

Après lancement de u-center, le GPS branché en USB n'est cependant pas visible.
J'ai trouvé la solution sur le wiki de Paparazzi, il faut créer un lien symbolique :

ls /dev
En branchant débranchant
mkdir -p ~/.wine/dosdevices
ln -s /dev/ttyACM0 ~/.wine/dosdevices/com1
 
 

On arrive ensuite à se connecter



Cela m'a permis de prendre en main le réglage des (nombreux) paramètres


Mais assez vite je me suis retrouvé face à des difficultés avec des paramètres qui ne pouvaient pas être modifiées (ou plutôt qui revenaient à leurs valeurs initiales). Cela est lié pour une part à la sauvegarde des paramètes dans la mémoire temporaire de la puce, ce qui nécessite de faire "send" (en bas à gauche de la fenêtre) après chaque modification. Avant un redémarrage, il faut également sauver les paramètres dans les mémoires plus durables de la puce.



Une bonne chose est qu'il est possible de retourner à une configuration de base, ce qui après avoir essayé de changer un peu tous les paramètres (et ne plus trop savoir lesquels) est bien utile.



Je n'en suis pas sûr, mais il m'a semblé qu'il était bon de repasser par la configuration de base pour avoir un comportement plus stable, par exemple avant une mise à jour du firmware.



Je me suis retrouvé en difficulté lors de la mise à jour du firmware. En effet, ma version datant un peu, le firmware présent ne permettait pas de faire du RTK en moving base. Il fallait donc faire une mise à jour du firmware, vers la dernière version 3.01 HPG 1.40 mais celle-ci échouait systèmatiquement.



Je pense que cela était en partie liée au fait que la carte rebootait avant la mise à jour, ce qui empêchait le lien symbolique de fonctionner. La fenêtre de mise à jour devient rouge, mais parfois rien n'indique clairement qu'il y a eu un problème. Après de nombreux essais, j'ai donc trouvé un autre PC pour pouvoir utiliser windows et m'affranchir des problèmes qui pourraient être liés à une utilisation avec Linux.

Malheureusement, pas plus de succès avec Windows au début, ni avec les versions plus récentes de U-Center qui présentent un nouvel outil de mise à jour.

D'après certains commentaires sur des forums, le problème vient de l'utilisation du port USB et non du port série (UART), et éventuellement de problème de driver selon la version de Windows (guère mieux que Linux au final!). Mais pourtant certains clamaient avoir réussi la mise à jour de la même carte de Drotek.

En reprenant ces paramètres de base, et à force d'essayer cela a fini par marché dans certains conditions, mais sans que cela soit 100% reproductible.

Cela a marché lorsque je lançais une première fois la mise à jour avec les paramètres suivants :
Au moment du reboot, windows indiquait une erreur de driver (en bas à droite), puis la mise à jour échouait après un timeout. Le gps n'était alors plus reconnu par windows et automatiquement déselectionné de U-Center.
Je débranchais ensuite la prise USB, puis la rebranchais. Le port com réapparaisait et je réselectionnais le GPS. Je relançais une mise à jour, mais cette fois en choisissant de faire la mise à jour par le port USB.




Et là parfois, victoire, une barre de défilement apparait et à la fin l'écran devient vert. Il était enfin temps de passer à l'étape suivante.
 

Par défaut, le récepteur GPS envoie des trames NMEA que l'on peut voir passer dans la "Packet console".



Cette configuration par défaut est adaptée pour le Rover, mais pour la base, il faut enlever ces trames NMEA afin de ne pas gêner les messages RTCM (selon débit de la communication).

Pour cela, le plus rapide est d'aller dans la "Message view". On y voit un arborescence avec les différentes messages existants. Les messages effectivement envoyés sont en noir, ce qui ne sont pas envoyés en gris.



Pour les (nombreux) messages NMEA, il est possible de les déleselectionner directement ici (ce qui est beaucoup moins laborieux que la méthode détaillée plus bas).



Ceci stoppe les messages (et donc la mise à jour des infos dans les fenêtres de droite qui se mettaient à jour si votre antenne était en vu des satellites).

Pour passer en Moving Base, il faut utiliser le réglage suivant :


Puis autoriser les messages RTCM nécessaires :

Extrait du doc du C94-M8P
Dans mon cas, j'ai sélectionné le port USB pour faire mes tests.


J'ai utilisé un script python pour forwarder les correction du GPS Base vers le GPS Rover à travers mon PC

import serial
import time # Optional (if using time.sleep() below)

serBase = serial.Serial(port='COM16', timeout=1)
serRover = serial.Serial(port='COM17', timeout=1)

while (True):
    if (serBase.inWaiting()>0): #if incoming bytes are waiting to be read from the serial input buffer
        data = serBase.read(serBase.inWaiting())
        #data_str = data.decode('ascii') #read the bytes and convert from binary array to ASCII
        print(data) #print the incoming string without putting a new-line ('\n') automatically after every print()
        serRover.write(data)
    if (serRover.inWaiting()>0): #if incoming bytes are waiting to be read from the serial input buffer
        data_str = serRover.read(serRover.inWaiting()).decode('ascii') #read the bytes and convert from binary array to ASCII
        print(data_str)
    time.sleep(0.01) # Optional: sleep 10 ms (0.01 sec) once per loop to let other threads on your PC run during this time. 

Après quelques essais en extérieur, j'ai bien la qualité du signal gps (dans la trame GGA) passer de 1 à 2 ou 5.

Doc récepteurs de la série M8

Doc M8P

Doc de chez sparkfun 

Doc carte d'évaluation

Doc uCenter

samedi 22 septembre 2018

ArmorKite au Grand Pavois 2018

Un petit message de l'équipe ArmorKite :

"L’équipe d’ArmorKite et ses deux bateaux AK-650 seront présents au salon nautique du Grand Pavois 2018 du 26 septembre au 01 octobre avec un bateau à flot sur le port des exposants et un bateau en démonstration.

Au programme : 
  • Présentation de l’AK-650
  • Essais en mer (sur réservation)
  • Présentation des futures options
  • Visite du bateau
N’hésitez pas à les contacter pour réserver une sortie en mer.


Si vous ne l'avez pas encore lu venez également découvrir l'article de Voiles et Voiliers sur ArmorKite en cliquant ici!
A très bientôt sur l'eau. "

J'y serai également, ainsi que d'autres passionnés de kiteboat. Viendez!

samedi 21 juillet 2018

Glidefree foils

Quelques images des foils glidefree pour ceux qui m'ont demandé.

Elevateur d'une demi-envergure de 39cm (14.5 alu)

Elevateur dont la corde est de 12cm

Foil principal d'une demi-envergure de 64cm (dont 39.5 alu)

Les deux foils ont la même corde

Dérive d'une longueur 1.5m. Axe de rotation palpeur à 75cm

Epaisseur du profil de 2cm

Safran d'une longueur d'1.5m

Zoom sur le palpeur

Tige de contrôle du foil en position rentrée (dépasse de 2.23mm, bateau volant dans les airs!)

Tige dépassant de 4.53mm (+2.3mm) pour un angle d'environ 30°

Tige dépassant de 6.26mm (+4.03) pour un angle d'environ 60°

Tige dépassant de 16.16mm (+13.93 pour un angle d'environ 0° (bateau ne volant pas).

Note : a l'intérieur des foils principaux il y a une barre d'acier pour les renforcer.

Dimensions et poids à venir

jeudi 19 juillet 2018

Soutenance projet d'option "Traction de navire par kite"

De Novembre 2017 à Mars 2018, j'ai encadré le projet d'un groupe de 3 élèves de l'option Océan de l'Ecole Centrale de Nantes (Jean CRESP, Abel PRUCHON, Jiakan ZHOU).

L'idée était de mettre en place les bases d'un VPP (Velocity Prediction Program, un outil de calcul des performances d'un voilier) permettant d'intégrer les degrés de liberté supplémentaires correspondant à un kite.

Un cas d'application était prévu avec le bateau d'Armorkite.

Le projet devait normalement occuper un volume de 80h, mais a été perturbé par un manque de planification des créneaux dans l'emploi du temps de l'option, ce qui a compliqué le suivi du projet, et mené à un gros travail de dernière minute.

Voici le rapport à prendre avec des pincettes, du fait du manque de recul nécessaire au moment où il a dû être rendu!

Le code est partagé, mais le suivi des versions n'a pas été fait de manière complète, donc à utiliser sans garantie en l'état actuel, en plus des limitations volontaires.

La soutenance s'est déroulée le 28 Mars et a été précédée d'un repas réunissant différents enthousiastes du kiteboat à Nantes (François Lucas, Vincent Arnal, ...).

Un grand merci aux élèves pour leur travail. Je tiens à leur présenter mes excuses pour les avoir chamboulés lors de la soutenance, et j'espère qu'avec le recul, ils garderont tout de même un bon souvenir du projet!

Merci également à Maxime, Marc et Thibaud d'Armorkite pour avoir accepté de fournir des données concrètes aux élèves.

Jiakan ZHOU, Baptiste LABAT, Jean CRESP et Abel PRUCHON dans le hall de l'Ecole Centrale de Nantes

samedi 14 juillet 2018

Sortie avec Samuel sur L'dorado

C'était la première sortie planifiée de L'dorado depuis le retour du lac de Garde. Une occasion de naviguer avec mon collègue Samuel. Nous avons donc décidé d'essayer d'aller sur l'eau, malgré une météo estivale, mais peu ventée.

Il m'a fallu environ 2h de préparation du bateau (aller le chercher, le descendre sur la plage, enlever la plaque, les sangles, monter les foils, ...). C'était la première fois que je faisais le montage entièrement seul, sans l'aide de Trevor.

Nous avons choisi de partir avec la 17m2, alors que le vent était entre 5 et 8kt...

Vu le monde sur la plage, et l'absence de zone kite, il n'était pas envisageable d'y décoller (ne serait-ce pour vérifier si on avait une chance que l'aile vole).

On envisageait néanmoins de gonfler l'aile sur la plage, et de partir avec elle sur le bateau. Mais une fois l'aile gonflée (et connectée au bateau), il semblait difficile vu sa taille de pouvoir la maintenir facilement sur le bateau. On a donc décidé de la dégonfler et de la regonfler plus tard sur l'eau.

On a par contre gardé les lignes, prêtent à être déroulées.

Le vent étant presque onshore, mais faible, nous sommes partis assez loin (jusqu'à la bouée rouge pour les connaisseurs) avant de mettre l'ancre flottante et de commencer à gonfler le kite et à descendre les foils. Sur ce point, mauvaise surprise j'avais inversé les 2 safrans, ce qui nous aurait empêché de les caler correctement et donc de voler s'il y avait eu du vent.

Nous n'avons au début pas eu besoin du moteur pour dérouler les lignes, l'ancre flottante faisait le boulot pour créer le différentiel de dérive suffisant pour que le kite s'éloigne de notre bateau.

Mais une fois les lignes déroulées, difficile de décoller avec le peu de vent. Heureusement, nous avions installé la 5ème ligne, ce qui nous permettait de faire basculer l'aile sur le dos, puis d'un côté ou de l'autre.

Nous avons réussi à décoller l'aile plusieurs fois, mais je n'arrivais pas à la garder en l'air.

Le moteur en marche arrière était bien utile pour arriver à retourner l'aile qui avait tendance à tomber dans une mauvaise position, boudin vers le haut, mais sans possibilité de redécoller en direct avec le peu de vent. La technique, pour la retourner est la suivante : tirer sur une des lignes arrières. L'aile tourne jusqu'à ce qu'une de ses oreilles soit dans la direction du vent. Le vent prend dans cette oreille, à contre, mais créant une portance qui l'aide à faire un waterstart. L'aile sort alors presque entièrement de l'eau et peut basculer, même si parfois elle semble rester bloquée dans cet état...

Le vent semblant parfois forcir un petit peu, nous avons insisté en essayant de se servir du moteur pour décoller, voir pour prendre de la vitesse sur un bord (mais ça marche pas bien quand on oublie l'ancre flottante...).

Au final, on a tout rangé et on a fini à la rame, pour pas risquer d'endommager la batterie, déjà bien basse...


samedi 7 juillet 2018

Motorisation électrique


Choix de la motorisation 
J'ai hésité entre un moteur hors-bord à essence et un moteur électrique.
J'ai acheté un moteur sur Amazon (plus disponible)
L'intitulé était le suivant :

[in.tec]® Moteur électrique pour bateau Pousse: 86 lbs (39 kg) Puissance maximal: env. 1164W Noir 

C'est le grand frère d'une gamme de 36, 46 et 55 libs.

Le tout pour 162.99€ (il doit bien y avoir une petite partie réservée pour l'argent de poche des enfants chinois qui ont dû bosser dessus...)


Le moteur vient pourtant d'une entreprise qui laisserait penser que le produit vient d'Allemagne, mais un produit qui semble identique se retrouve chez différentes marques (jago) qui vendent toute une gamme de produit chinois.
La livraison fut pourtant très rapide (commande le mardi soir, livraison prévue le vendredi). La livraison a cependant été refusée chez le commerçant que j'avais choisi pour récupérer le colis. En effet le colis est assez volumineux (140cm par 50cm par 20cm environ) et pèse 10kg, les 4/5 de la masse se concentrant dans le moteur a proprement parlé.

L'hélice en plastique mais solide est démontable et à monter

Le moteur est livré sans batterie. Deux fils permettent de se connecter à un batterie de 24V pour le modèle de 86lbs de poussée. 





Le moteur est basculable jusquà 90° et réglable en hauteur.



Choix de la batterie
D'après le voltage annoncée, l'intensité nécessaire peut-atteindre 48A. Il faut donc s'assurer d'une batterie pouvant tenir un tel courant de décharge.
Plutôt que de prendre une batterie plomb classique ou gel comme conseillé, je me suis orienté vers des batteries Lithium-Ion de multirotor sur les conseils de Trevor Jack.

1.2kg de batterie (5 fois moins qu'une batterie plomb gel équivalente, pour un prix surprenamment 1 à 2 fois moins élevé (normalement 3 fois plus élevé pour ce type de batterie).
10C veut dire que la batterie peut tenir 100A (10C veut dire 10*10Ah, même si ça veut rien dire)

A puissance max, la batterie de 10Ah ne devrait donc durée qu'une quinzaine de minute.

Un petit soucis : d'après le manuel, il faut arrêter d'utiliser le système quand la batterie tombe à 9.5V (probablement pour 12V) ce qui est représenté par 3 barres.
Pour les batteries au lithium, les seuils sont différents.

Waterproofing
Le contrôleur est situé dans la partie supérieure qui n'est pas étanche. J'ai juste ajouté un peu de sicaflex au niveau du passage des câbles d'alimentation pour améliorer l' étanchéité

Pour les batteries, j'ai utilisé une petite caisse de bricolage, placé dans un sac étanche de bateau. Même si de l'eau devait rentrer dans le sac étanche, il y a peu de chance qu'elle aille jusqu'à l'intérieur de la caisse.

J'ai utilisé des connecteurs XT90. Pas étanche, mais assez pratique.


Circuit de protection électrique
Un circuit de protection semble intéressant notamment pour protéger la batterie d'un court circuit, possible en milieu marin. J'ai rajouté un fusible de 50A, trouvé chez un fournisseur de matériel de camping car. J'ai monté le porte-fusible au bout du fil, vers la batterie et il se retrouve donc protégé dans le sac étanche.




Recharge 
La recharge se fait via un chargeur spécial. Je charge les deux batteries jusqu'à ce qu'elles aient une tension proche (moins de 0.1V d'écart par cellule, soit 0.6V d'écart en tout). Je les relie ensuite via un adaptateur XT90

Montage 
Pour le montage, j'ai bénéficié du support déjà réalisé par Trevor et qui se place dans la poutre arrière du catamaran. Lors des premiers tests, le blocage se faisait seulement par la force de frottement, ce qui n'était pas suffisant pour résister au couple créé par le moteur. On a rajouté 2 vis pour caler le support. On a également rajouter une petite cale en bois, au niveau de la "chaise du moteur" pour avoir une longueur moindre des vis de serrage.
Le moteur



vendredi 6 juillet 2018

Navigations sur L'Dorado (3ème partie)

Samedi 30 juin, Lac de Garde, 8-12 kt, LEI 17m2
Du vent le matin, mais des rdv pour les réparations sur la remorque pour pouvoir rentrer. On en profite aussi pour faire un tour au forum Gurit.
Mais l'après-midi le vent est faible, et le plan d'eau est infesté de Moths et autres Wasps, donc on ne sait pas trop où aller pour dérouler nos lignes et décoller l'aile sans les gêner. On se met finalement sous le vent du rond Wasp. Cette fois encore on a des soucis avec le lancement sur l'eau, peut-être parce que les lattes ne sont pas suffisamment gonflées. et les lignes du kite ont au final des tours. On commence cependant à naviguer vers l'autre rive, là où il y a moins de monde. Là, on met l'aile à l'eau pour essayer de clarifier les lignes depuis le bateau. Mais le vent est faible, on galère à redécoller l'aile. Heureusement qu'il y a la cinquième ligne pour nous aider à la faire basculer. Il y a cependant une position dans laquelle l'aile n'arrive pas à reprendre le vent, mais on finit par s'en sortir.
On hésite plusieurs fois à rentrer le vent faiblissant. Mais avec un pomping de l'aile très dynamique (pas si facile au début avec l'aile de 17m2 qui a beaucoup d'inertie), on arrive à continuer à décoller même dans un vent très faible. Par contrer, c'est un peu dur de repartir dès que l'on s'arrête. Le pomping avec les lignes croisées n'est pas forcément facile et l'aile tombe plusieurs fois dans l'eau.



Dimanche 1er Juillet, lac de Garde, 10-15kt, LEI 17m2
Presque pas de vent du nord ce matin là. A 11h le vent est déjà passé au sud. Les Wasps sont déjà à l'eau, encore pas facile pour nous de partir. On tente la même stratégie que la veille vers midi. Cette fois encore le lancement de l'aile est une galère, mais on arrive tout de même à naviguer. Le vent est un peu plus fort que la veille, mais un peu rafaleux et on a du mal à voler de manière stable. Ou peut-être est-ce à cause des  multiples tours dans les lignes qui créent une difficulté à bien sentir le kite et créent en permanence un pilotage un peu en retard du kite?
On attend un peu le photographe qui devait venir nous filmer, mais personne ne vient, si ce n'est un Wasp qui vient naviguer un peu avec nous. On croise les autres catamarans à foils en double, mais sans prendre le départ. On ne va de toute manière vraiment pas à la même vitesse, même si on bat notre propre record de vitesse avec 30km/h (quand d'autres vont à 30kt).
Les supports du haut des safrans sont de nouveaux lâches (ce peut-il que l'épaisseur de la coque réduise sous l'action de la compression et du frottement?) et nous finissons par rentrer pour ranger le matériel avant de prendre la longue route du retour.