dimanche 28 février 2016

Analyse de logs mavlink

A partir du logiciel qgroundcontrol il est possible de faire l'enregistrement des trames mavlink reçues depuis le "kitedrone".
Les trames sont enregistrées de manière brute dans un "bag".
Les versions précédentes du logiciel permettaient de rejouer ces enregistrements, puis de les convertir dans un fichier CSV (mais cette fois encore une ligne par message reçu). Je n'ai pas retrouvé cette fonctionnalité dans la version actuelle du logiciel.

Il est par contre de faire ce même postraitement avec le script mavlogdump de pymavlink.

Je suis parti d'enregistrements réalisés sur le terrain de rugby de l'ECN (et téléchargeable ici)
Une fois pymavlink installé, mavlogdump se trouve dans le répertoire mavlink/pymavlink/tools

python mavlogdump.py ~/kites/robokite/robokite/FlightData/ECN_2202_1.mavlink -o ECN_2202_1.txt




Le fichier texte résultant peut facilement être ouvert. Pas facile cependant de faire un tracé.

Une autre alternative est d'utilisé mavtomfile.py qui génère un fichier .m (ensemble de commande matlab) permettant de recréer le jeu de données, cette fois sous la forme de matrices.

python mavtomfile.py ~/kites/robokite/robokite/FlightData/ECN_2202_1.mavlink

Le fichier de sortie est généré dans le répertoire du fichier d'entrée avec l'extension .m au lieu de .mavlink.

Il peut-être ouvert en lançant octave, puis en exécutant

run ECN_2002_2.m

Les données présentes peuvent-être listées en tappant

octave:8> who
Variables in the current scope:

ATTITUDE          HEARTBEAT         SCALED_PRESSURE2


Il est ensuite possible de voir les champs correspondants à chaque trame

octave:9> SCALED_PRESSURE2
SCALED_PRESSURE2 =


ATTITUDE          HEARTBEAT         SCALED_PRESSURE2



  scalar structure containing the fields:

    columns =
    {
      [1,1] = timestamp
      [1,2] = time_boot_ms
      [1,3] = press_abs
      [1,4] = press_diff
      [1,5] = temperature
    }
    data =

       1.4561e+09   1.8920e+06   8.1669e+06   7.0620e+01   0.0000e+00
       1.4561e+09   1.8920e+06   8.1681e+06   6.2570e+01   0.0000e+00


Il est ensuite possible de faire des tracés par exemple l'angle d'élévation (pitch) en fonction de la tension dans la ligne (rangé dans SCALED_PRESSURE2)

plot(ATTITUDE.data(:,2), ATTITUDE.data(:,4)*180/3.1415,SCALED_PRESSURE2.data(:,2), SCALED_PRESSURE2.data(:,4))


mardi 9 février 2016

Simulateur en ligne

A partir du travail réalisé avec les élèves de Centrale, j'ai codé un simulateur 2D de kite en javascript, afin d'avoir un simulateur en ligne.

Le code est , et la démo en ligne ici.

On peut changer le trim (bordé/choqué) en jouant sur "Angle of key".
Il est également possible de rouler/dérouler les lignes, de changer la vitesse du vent, la taille de l'aile ou son poids, de supprimer la gravité.

Les polaires par défaut permettent d'avoir un comportement qui me semble assez réaliste.
Il est possible de charger d'autres polaires au format Xfoil. Attention cependant, il est probable que ces polaires soient utilisées en dehors de leur domaine (il y a une extrapolation dans ce cas, ce qui donnera des résultats peu vraisemblables).

Canne à cerf-volant connectée

Depuis quelques temps, je bosse sur l'ajout de capteur sur ma canne à cerf-volant. L'objectif est de tester la mesure de la tension et de la direction de la ligne sur un petit cerf-volant monofil. Et peut-être ensuite automatiser le lancement et la récupération d'un tel cerf-volant.

Pour celà, j'ai récupéré une pièce déjà faite pour mesurer la tension dans les lignes (T en bois avec trois poulies, dont une reliée à une jauge de contrainte récupérer sur une balance de voyage).
J'ai connecté une carte d'amplification de Sparkfun (basée sur le HS711).
Le tout relié à un arduino nano qui envoie les données vers mn PC via un kit télémétrie 433Hz.
Pour accueillir le tout, j'ai testé la bouteille de lait qui a l'avantage d'avoir un goulot suffisamment large pour permettre le passage des composants (ce qui demande tout de même un peu d'agilité, surtout pour les ressortir).


Voici le résultat une fois les composants dans la bouteille. Propre?
J'ai eu quelques difficultés car j'avais au début placé le dispositif de mesure de la tension proche du moulinet. Mais cela créait des à coups. Je l'ai donc placé plus loin, juste avant le premier guide. Peut-être faudra-t-il même le placer derrière ce guide.

J'ai ensuite rajouté une paille sur la ligne sortant à l'extrémité de la canne. J'ai fixé cette paille avec une aiguille et du fil.
Sur cette paille, avec du scotch, j'ai fixé une carte IMU, afin de pouvoir mesurer l'orientation de la ligne. J'ai utilisé des connecteurs RJ12 et du fil 6 brins pour renvoyer les donnés vers la carte arduino.


Voici le tout


Ca marche bien, je reçois les données sur mon ordi.
J'ai effectué une calibration en suspendant une bouteille d'eau au bout de la ligne et en la pesant avec une balance de cuisine.
Pas facile car il y a beaucoup de frottement dans les guides (l'équivalent d'une centaine de gramme).

Pour l'IMU, la mesure du "pitch" me permet de retrouver directement la valeur de l'angle d'élévation.

Je pense confier ce dispositif aux étudiants de Centrale Nantes qui souhaitaient faire des mesures dans le cadre de leur projet.

Le code complet est (j'utilise les trames de pression mavlink pour transmettre le poids en gramme et la valeur brute mesurée).

Capteur de force et amplificateur HX711

J'avais pour l'instant utilisé le INA125D de Texas Instruments afin d'amplifier les signaux d'une jauge de contrainte. J'avais un montage sur breadboard, et je voulais réaliser un circuit, mais j'ai finalement abandonné.
J'ai essayé de trouver des circuits déjà réalisés. Mais j'ai trouvé assez peu de chose avec le INA125.

Par contre, j'ai vu qu'un autre amplificateur était fréquemment utilisé, le HX711.


J'ai d'abord trouvé des projets de ruches connectées.
http://hivetool.org/w/index.php?title=Interface_the_HX711_to_Pi
http://community.opensourcebeehives.net/t/load-cell-integration/171/12


J'ai ensuite fait des recherches et trouvé un multitude de circuits avec ce composant (probablement moins cher), chez dfrobot, chez roboshop, 9.95$ chez Sparkfun, 15€ chez lextronic.
Certains vraiment pas cher sur ebay, d'autres plus chers et disponibles en France mais pas open-hardware.

J'ai également trouvé d'autres alternatives :
Ouvert mais cher
Cher et plus dispo chez snootlab
Plus précis chez TI


Mon choix s'est finalement porté sur la carte de sparkfun, open-hardware et pas cher. Il est également possible d'utiliser un combinateur pour mesurer 4 efforts à partir d'une même carte. Le tout bien documenté

Ptites news

Armand Torre
Armand Torre et Fred Monsonnec ont travaillé sur un concept de voile gonflable intéressant



Windeepp
Voici un passage de l'équipe Windeep à la télé lilloise et qui m'avait échappé !

Ils produisent de l'électricté avec un cerf-volant par FranceLiveTV

Egalement, un article dans les news de Centrale Lille


EMPA 
Voici une vidéo sur les ailes du Dr Rolf Luchsinger utilisant la tensairité. Le dièdre doit à mon avis permettre d'avoir une meilleure stabilité (mais ma compréhension de l'allemand n'est pas assez bonne).


 

Record d'altitude ?
Voici une vidéo présentant un record d'altitude qui aurait été battu en 2014
Cependant rien n'est moins sûr...


Beyond the Sea
Voici un bel article du Monde sur Yves Parlier et le projet Beyond The Sea, dans la foulée de l'exposition au Bourget pour la COP21.
Un autre du Figaro.
Et également une vidéo sur TF1!
Malheureusement, pas une seule du monde réel.

Rod Read
Roderick Read a battu le challenge 100x100x100 proposé par Christof Beaupoil et devrait gagner la gopro en jeu depuis le mois de juin.

Christof Beaupoil propose un nouveau challenge 1-0-1. Il s'agit de produire au moins 100W d'énergie (ON), de récupérer le kite de manière semi-automatique (OFF), puis de le relancer.

Kitetender
Navigation hivernale dans le petit temps.

Fabrication kite
Une vidéo expliquant la fabrication complète d'une aile Core.


Le Groenland sur des traîneaux tirés par des kites?
C'est le sujet du blog Circling Greenland
Observez le sytème de pilotage : malin!

Histoire du kite
Une vidéo sur Cory Roeseler, parfois oublié dans l'histoire du kite.


Voici également une rétrospective sur les étapes souvent oubliées de Makani power

Pacific sky power
Un test du kite de Dan Tracy par Ed Sapir. Peut-être le plus petit système "commercialisé"?


Windlift
Une vidéo présentant les ailes de Windlift qui souhaite s'attaquer à un marché de "petite puissance" 10kW.

Kite Power Solution
Un article intéressant sur les anglais de Kite Power Solution


Enercon
Voici une vidéo présentant l'installation d'une éolienne.

http://thebulletin.org/kite-power%E2%80%94latest-green-technology9055

http://thebulletin.org/kite-power%E2%80%94latest-green-technology9055 Laisse pour chien, ceinture de sécurité, enrouleur fil d'aspirateur, mètre ruban
Constant torque spring
http://www.vulcanspring.com/contorque-constant-torque-springs
https://www.youtube.com/watch?v=WKxbS7D34ao