le dimanche 16 avril

Le salon de la moquette et du modèle réduit

À l'origine, on devait aller voir l'expo Star Wars avec Guillaume, Adeline et Mickael. Finalement, on est allé Porte de Versailles voir le salon de la maquette et du modèle réduit. C'est la deuxième fois pour moi, et j'ai été déçu qu'il n'ai pas été couplé au salon du jeu de société. M'enfin bon. Cette année, cela a été veille technologique (on dit aussi piratage d'idées[1], ou plus simplement documentation sur ce qu'il se fait) en ce qui concerne les maquettes de trains électriques. Le but était de voir ce qu'il se fait plus exactement. Avant de commencer les détails à la con, je vais parler du reste.

J'ai aussi pu voir des maquettes de voitures et d'avion, ainsi que de bateaux (plus grand que le reste en moyenne). En ce qui concerne les voitures, il y en a eu au 5ème, au 10ème (ratio de reduction par rapport au modèle réel, le cas échéant). Une jolie demonstration de vitesse et de cascade, on a même eu droit à un super lourd à moteur thermique.

Il y a également eu des démonstrations d'avions et d'helicoptères de toutes tailles et de toutes velocités, à moteurs électriques ou thermiques. On a pas pu voir le rafale voler, mais rien que le bruit et l'odeur qui se dégageait du moteur à réaction[2] laissaient imaginer la puissance de la machine... On pouvait acheter, mais je ne l'ai pas fait parce que je n'avais ni les sous ni la place, des soucoupes volantes télécommandées. Mouahaha, ça viendra un jour ! Il y avait toute une partie du salon réservée à la robotique (barman automatique, machine à déssiner, joueur de babyfoot (très con, mais très rapide), et une démonstration d'aspirateur automatique (pas très futé non plus). Evidemment une partie consacrée aux dioramas & maquettes de réseaux férroviaires.

Mongolfière miniature au salon de la maquette et du modèle reduit 2006

Ce qui m'interessait plus particulièrement étaient les réseaux pilotés par informatique, et je n'en ai trouvé qu'un vraiment interessant. La plupart des autres circuits font encore appel à de l'electronique de base (un potentiomètre couplé à quelques interrupteurs, ainsi que quelques boutons à contact secs pour les appareils de voie). Dans la plupart des cas, les signaux ne suivaient pas vraiment.

La maquette Märklin était, elle, pilotée par leur console automatisée. C'était pas mal, mais ça manquait de diversité. On pouvait y voir un système à deux anneaux avec cantons. Les deux anneaux étaient intépdendant l'un de l'autre, ce qui est dommage, je trouve. La signalisation des cantons suivait, c'est un point positif. J'ai pu entrapercevoir un autre logiciel de pilotage de réseau, mais le stand étant axés petits gamins appuyant sur les boutons, je n'ai pas chercher à allé voir plus loin (j'aurais du, je pense).

Il y avait donc au milieu de tout ça un mec qui a fait une très grande maquette (United Pacific Railroad ou quelques chose comme ça) pilotée par ordinnateur, et qui exploitait vraiment cette capacité (circulation dans les deux sens sur une seule voie, possibilité de manipulation d'une rotonde, d'un pont mécanique, etc), et la signalisation était correcte. Le monsieur a fait son programme avec WinDev (pour une fois que je vois une application sortie de ce truc), et ça marche tout à fait correctement. Finalement, ça semble ne pas être si mal (je n'ai jamais testé, cela dit). L'affichage est simple mais efficace d'un point de vue clarté. C'est un quadrillage de bitmaps qui est mis à jour en fonction de l'état du réseau. Je pensais, pour ma part, faire quelques chose de plus évolué avec Cyberrail, mais d'un autre coté, il faut voir si c'est vraiment pertinent s'il y a une vrai maquette derrière tout ça.

En ce qui concerne CyberRail, mes reflexions me confirment qu'il me faut un véritable simulateur de réseau logiciel si je veux arriver à faire qqch de crédible (qui pourrait par exemple être l'interface graphique toute jolie). Ce simulateur recevrait les mêmes évenements que n'importe quel autre matériel (signal à la valeur truc, aiguillage en position blabla, et qui renverraient les positions des trains suivant les pseudos capteurs posés sur la voie).

En ce qui concerne les capteurs, j'ai confirmation qu'il ya plusieurs méthodes. La plus classique reste la détection de changement de tension au passage de la loco. Chez Märklin, vu qu'ils ont un troisième rail (en fait, des plots au mileu de la voie), ils peuvent se permettrent des essieus métalliques, qui permmettent une détection de l'ensemble des wagons au lieu de juste la locomotive.

Il ya une autre famille de détecteurs, plus proche de la réalité, qu'on peut classer dans les pédales de voie. Il s'agit de détecteurs indépendants du système électrique qui détecte la présence d'une loco, d'un wagon, ou des roues sur l'interieur du rail. J'ai pris quelques photos, et j'ai passé la barre des 7000 photos sur mon disque :-) D'ailleurs, je commence un peu à manquer de place, je ne sais pas trop comment m'y prendre... Bon, les photos :

Pédale de voie de coté

On peut apercevoir les piquots centraux qui forment le troisième rail, ainsi que la pédale qui signale le passage d'un train (par contact probablement)

Pédale de voie centrale Un jeu de trois pédales placées au centre de la voie, déclenchée par le passage de la loco, ou d'un wagon spécialement équipé.

Notes

[1] han, pas bien !

[2] Ouioui, on parle bien d'un modèle réduit

le mercredi 5 avril

suite interface

Bon, suite à des problèmes insolubles d'angles et de courbes de bezier, les voies resteront droites. De toute façon, ça ne sera pas la vrai interface, mais juste un truc qui permet de controler visuellement ce qui se passe.

Je me suis peut-être embrouyé les pinceaux, mais la géométrie, ça devient compliqué à un certain point, surtout quand on commence à calculer des moyennes d'angles : bien que pi * 1.5 et pi * 3.5 soient exactement la même chose, la moyenne des deux donne l'opposé, ce qui est pénible quand tout est complètement dynamique (bah oui, le moteur ne se soucie pas de la gueule des coordonnées). Bon, faut ajouter à ça les formules trigonométriques qui ne retournent pas d'angles supérieurs à 2pi, donc, si on veux faire des angles plus grands, et bien il faut bidouiller. Bref, je me limiterais aux calculs de base.

Donc, si quelqu'un n'est pas content, il n'a qu'à programmer le truc.

Bon, j'ai aussi corriger un bug auquel je n'avais pas pensé :

Si deux modules identiques se connectent (et qu'ils n'ont pas activés le mode exclusif, auquel cas, le deuxième se fait jeter), il est fort probable qu'ils réagiront de la même façon. Ainsi, s'ils voient passer le message indiquant qu'un nouveau réseau est chargé, alors ils vont tous le réclamer. Le système fonctionne en diffusion, tout le monde reçoit tout ce qui passe (c'est un peu plus compliqué, mais bon), donc si les données du réseau transitent, tous les modules interessé les reçoivent. Cela signifie qu'une seule requete est nécessaire pour que tout le monde reçoivent les données attendues. Donc, si tous les modules identiquent génèrent chacun leur requete dans leur coin, le réseau précédement chargé transitera n fois, du nombre de modules ayant généré la requête, et chaque module affichera le même réseau n fois, ce qui n'est pas particulièrement génial.

Pour corriger le probleme, il y a maintenant un système d'élection pour désigner un module mandataire parmis les jeux de modules identiques. Seul celui-ci prend la parole lorsque les modules ont des requetes à faire qui pourraient générer des doublons.

le mardi 4 avril

CyberRail, un début d'interface graphique

Bon, et bien, ça faisait longtemps que je n'y avais pas touché, mais ce soir, je me suis mis à faire une petite interface graphique pour visualiser les réseaux. Rien de bien formidable, mais ça permet de voir si le réseau qu'on a pensé à bien la tête qu'on a espéré.

Pour le moment, c'est encore en construction : les courbes ne sont pas courbes, mais à terme, elles le seront. Le principe est de vois si les aiguillages s'emboitent bien correctement en fait.

Un autre truc que j'ai trouvé très sympa, c'est que le système que j'ai choisi étant completement MVC, on peut relancer l'interface graphique sans avoir à relancer le reste, et celle-ci se rafraichie automatiquement quand le réseau change, sans avoir à faire quoique ce soit. Moi, je trouve ça bien :-)

La fenêtre de l'afficheur de réseau