vendredi 26 juillet 2013

Traversée de Marsh Harbour

Voici (enfin) quelques photos de la traversée de Marsh Harbour que nous avions faite avec un copain planchiste sur l'annexe du Lagoon avec lequel nous avions traversé l'Atlantique.


jeudi 25 juillet 2013

Shopping

J'ai fait un peu les boutiques sur internet :

RS : très large gamme de produit
Farnell : j'avais déjà acheté chez eux les L6205, sans problème. J'aime bien les filtres pour la sélection des composants
Conrad : je ne connais pas trop
Gotronic : pas mal de chose spécialisée pour la robotique, mais aussi pas mal de choses générales en électronique. Je pense que je vais passer ma commande chez eux.

Je suis en train de craquer pour une module de commande de moteur Sabertooth et le module de contrôle Kangaroo. Il y a pour un centaine d'euros, mais les fonctionnalités proposées sont intéressantes et cela devrait être bien pour faire des prototypes plus rapidement et comme référence pour tester d'autres solutions moins onéreuses.

Je regarde également les motoréducteurs, dans l'idée que ça doit-être moins cher de les acheter directement que de démonter une visseuse. Malheureusement, je n'arrive pas à trouver de moteurs puissants.
Les moteurs de visseuse/perceuse sans fils sont entre 150 et 350 W (UWO) alors que je n'arrive à trouver que quelques watts pour des motoréducteurs à 200 euros!!
Les circuits de commande pour les moteurs brushless sont également beaucoup plus cher (environ 400euros), peut-être car je n'en trouve que pour de grandes puissances.

J'ai de nouveau regardé les moteurs des autos. Un démarreur de twingo fait 800W, celui d'une camionette fait 1400W. (source oscaro.com)
Les moteurs d'essuie glace feraient une centaine de watt pour un peu plus d'une centaine d'euro (avec réducteur)

J'ai également trouvé un bon site expliquant le fonctionnement de la direction assistée de la twingo http://chr.trouillard.free.fr/cdt/SSIDossiertechnique/DTDAE/DTDAE.htm. Ca me tenterait d'en trouver une à la casse. Le moteur fait 125W.

Connecteurs électriques

 Je galère un peu avec les connecteurs : les dominos c'est facile à trouver, mais pas très pratique.

J'ai trouvé le lien suivant qui fait un bon inventaire des connecteurs utilisés en modélisme.

https://sites.google.com/site/tjinguytech/reviews/rc-connectors

Le connecteur XT60 me plait bien.

Il permet de supporter un courant jusqu'à 60A (plusieurs utilisateurs l'ont utilisés au-delà sans problème).
Il faut cependant souder à un moment (peut-être existe-t-il des modèles avec interface à vis?).
J'ai trouvé ce tutoriel en français : http://www.hpibajafrance.com/t24566-tuto-assemblage-de-connecteurs-xt60

mercredi 24 juillet 2013

GPS RTK avec téléphone mobile

Depuis quelques temps, je me pose la question de la réalisation d'un GPS différentiel ou RTK avec un téléphone mobile.
Le GPS différentiel utilise des ondes radio pour affiner sa position à partir de la connaissance d'une erreur de position envoyée par une station fixe.
Le GPS RTK fonctionne de la même manière mais avec une correction plus précise car elle regarde la phase de la porteuse du signal GPS.
Si la correction RTK semble demander des ressources matérielles supplémentaires, la correction différentielle semble accessible.
L'envoi d'une correction différentielle en 3G semble tout à fait possible.
Un protocole nommé NTRIP pour la diffusion des messages de correction sur internet existe déjà.

http://infoscience.epfl.ch/record/83880/files/Serveur%20corrections%20GPS.pdf

Une application existe sur l'android market

https://play.google.com/store/apps/details?id=ru0xdc.rtkgps&hl=fr

Le code source de l'application est ouvert

https://github.com/illarionov/RtkGps

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3545552/

Il se base sur la bibliothèque libre rtklib

http://www.rtklib.com/

Ou sinon on peut également essayer de refaire entièrement un réseau GPS local comme le propose Astrium pour l'appontage des drones http://www.meretmarine.com/fr/content/comment-sabstenir-du-gps-pour-lappontage-des-drones 

mardi 23 juillet 2013

Utilisation de la souris comme capteur

Aujourd'hui j'ai fait quelques tests afin d'étudier la possibilité d'utiliser une souris (optique) comme encodeur pour connaitre la position de la barre.
Je pensais qu'il n'y avait pas trop de difficulté...

De nombreux tutoriels expliquent comment utiliser la souris avec arduino directement en se branchant sur le circuit intégré. Je cherchais plutôt une solution purement logicielle, ne demandant pas de modifications sacrificielles d'animaux.

Dans la plupart des langages de programmation, des fonctions existent pour récupérer la position du curseur. Cette position est malheureusement saturée sur les bords de l'écran, ce qui limite l'amplitude du mouvement qui peut-être mesuré à quelques centimètres. Pourtant dans les jeux vidéo (First Person Shooter notamment) le joueur peut souvent faire des mouvements plus larges. L'astuce semble venir de la modification de la position de la souris qui est régulièrement ramenée au milieu de l'écran. Les écarts peuvent alors être mesurés et intégrés.

J'ai trouvé une bibliothèque pymouse permettant de gérer la position du curseur avec python http://doc.ubuntu-fr.org/pymouse

La seconde difficulté venait du fait que la souris n'est alors plus utilisable. Même en ajoutant une souris usb, le même curseur est attaché aux deux souris par défaut. Pour remédier à ce problème j'ai utilisé la capacité de linux à gérer plusieurs souris et plusieurs curseurs "multi-pointer x" http://doc.ubuntu-fr.org/mpx.

J'ai ainsi pu attacher le curseur principal (dont la position est retournée par les langages de programmation) à une souris externe et le curseur secondaire au trackpad de mon ordi.

Cela m'a permis de tester l'utilisation de la souris comme un capteur.
J'ai fait un petit programme python pour cela. Un problème restant est d'abord que le curseur principal reste affiché. J'ai essayé de le faire disparaitre avec l'utilitaire unclutter, mais il réapparait dès que la souris bouge.

J'ai fait quelques tests satisfaisants en déplaçant la souris sur une grande surface plane en essayant de ne pas modifier l'orientation.

J'ai ensuite fait des tests en mettant la souris sur la support de mèche de la visseuse électrique. La mesure semble correcte à basse vitesse, mais à partir d'une certaine vitesse, l'image doit devenir floue et le mouvement n'est plus détecté.

A creuser


Interface Homme Machine

Je pense que le système devra avoir une interface homme-machine dédiée avec des contrôles mécaniques (boutons poussoir, potard, ...).
Mais pour pouvoir faire un paramétrage plus précis, le système disposera également d'un interface accessible via le réseau depuis un pc, une tablette ou un téléphone portable.

Je me suis initialement intéressé à Qt qui a un grand succès dans le développement d'applications. Mais l'intégration progressive de HTML5 dans les navigateurs doit maintenant permettre de réaliser toutes sortes d'applications portables.

J'ai donc tester les nouvelles possibilités offertes par HTML5, notamment les web sockets qui permettent une communication asynchrone en temps réel de manière propre, ainsi que les nouveaux éléments faisant partis des formulaires (slider).

Chromium et Firefox sont actuellement les navigateurs les plus avancés.

Enfin, je me suis intéressé à XDK html5 d'Intel http://html5dev-software.intel.com/ qui vient compléter la suite Cordova (autrefois PhoneGap) et qui permet de tester les applications mobiles en html5 pouvant facilement être déployées sur Android ou Iphone.

J'ai choisi de faire l'installation directement dans chromium.
J'ai eu quelques difficultés pour l'installation dans Ubuntu à cause de java.
J'ai d'abord essayé avec l'implémentation open-source openjdk, mais ça ne marchait pas.
J'ai alors installé la version officielle de java.
J'avais ensuite le message d'erreur "Chrome appears to be missing"
Ce message d'erreur apparait mais il n'y a en fait pas de problème, il suffit de se rendre à la page suivante:

http://localhost:58888/_emulator/_ide/index.html

Voici une petite image du résultat

XDK html5 dans chromium sous ubuntu

Je ne suis pas aller plus loin dans le test de cet outils.

Par contre j'ai tester un plus en détail les websockets, qui permettent d'avoir une communication en continue dans le navigateur, et donc de faire des applications temps réel.
Cela demande un client récent (chrome ou firefox) mais également un serveur adapté.  Tornado est un serveur en python qui semble bien convenir :
http://niltoid.com/blog/raspberry-pi-arduino-tornado/

Et voici une petit image du prototype :
Prototype d'IHM utilisant sliders et websockets


Par ici pour le code source 

Voici également pour rappel l'interface de High-Zenith-Power :
Et une image de l'interface de skysails :

vendredi 19 juillet 2013

Mauvais connexion internet, puis connexion à bas débit (en voilier) m'ont un peu empêché de donner des nouvelles. Le projet a cependant continuer à avancer.
Un insecte avec des ailes? Non, un circuit intégré avec un radiateur

La première version du banc de test
La partie mécanique a été modifiée afin de réduire les frottements avec la planche en bois. Pour cela j'ai ajouté une structure en bois pour fixer le corps de la visseuse. La mèche est ainsi libre de tourner. Par contre, cela permet l'application d'un couple transversal sur la mèche ce qui n'est pas très bon.
J'ai complètement supprimé la bobine. J'utilise maintenant une mèche de perceuse de 10mm entourée de scotch. L'ajustement de la position des poulies de renvoi permet d'avoir un fil qui s'enroule à un endroit de la mèche et l'autre sur une autre partie de la mèche. Les fils sont fixés avec un nœud de cabestan plus une demi-clé. Les entailles de la mèches évitent le glissement.



Christophe et la nouvelle arme








Ajout d'un baton centrale pour soutenir la barre et servir de support à la caméra

J'ai pu tester ce montage lors d'un jour avec un peu de vent (en pilotage manuel). Et bien ça marche! Malheureusement, mes enregistrements hdf5 étaient corrompus à cause d'une fermeture malpropre du programme. Depuis j'ai corrigé le problème pour que le fichier ne soit pas corrompu même si le programme plante (utilisation de flush).
Le système mécanique et au loin le cerf-volant (à terre)

La fixation rudimentaire de la caméra