29/01/2009 : Good Job Guy !

Ca y'est, je vais pouvoir souffler un peu :) En effet, si la semaine dernière la capsule générique de TZO a été stabilisée, il a tout de même fallut implémenter dedans toutes les procédures de détection de mouvement et de poursuite de cible de Caliban. Et c'est qu'elles sont coriaces ces petites bêtes !

En effet, il est important de garder à l'esprit que TZO est une version Light de Caliban devant être capable de fonctionner sur un pc moyen... De fait, les process de Caliban, en l'état, étaient bien trop gourmant en ressources machines. Un phénomène amusant se produisait : Les procédure citées ci dessus prenaient plus de temps à s'executer que le temps de latence autorisé entre 2 cycles d'acquisition d'images. de fait, TZO produisait toutes sortes d'erreur (pour ceux qui minupulent les Thread, je vous laisse imaginer le chaos...) empéchant ainsi la désallocation de mémoire en fin de cycle (sur les objets et variables temporaires) ce qui faisait monter la charge de la RAM et planter tôt ou tard (plus souvent tôt que tard) la machine.

Une solution, a priori, aurait été d'augmenter le temps de latence permis entre 2 acquisitions afin qu'un cycle de traitement d'image complet puisse s'effectuer mais cela n'aurait pas été beau à voir. En effet,  les temps de réponse de TZO auraient augmentés conscidérablement et Cybrina aurait manqué singulièrement de réactivité par rapport a son environnement. Par ailleurs, en adoptant ce "mécanisme", on il est vraissemblable que Cybrina n'aurait traité qu'une image toutes les 2 secondes une fois que j'aurais implémenté les procédures de reconnaissance de forme... Inadmissible lorsqu'on sait que Caliban traite 10 images/seconde les doigts dans le nez.

J'ai donc retroussé mes manches et "tuné" à mort toutes les procedures de Caliban. La chasse à la milliseconde de temps de traitement était ouverte. resultat : Une semaine plus tard, TZO (et donc Cybrina) ronronne sans problème à la vitesse de 4 images/seconde (procédure de détection de mouvement et poursuite de cible activées) ce qui, une fois la reconnaissance de forme implémentée chutera a 2-3 images secondes mais cela est tout à fait admissible pour un pc "standard".

Cependant, quitte a faire du "tuning" d'algo, je n'ai pas fais les choses a moitieé... Un système de rétrocontrole du flux assure une bonne cohérence entre la vitesse d'acquisition et la vitesse de traitement : Le "fameux" temps de latence entre 2 cycle d'acquisition s'adapte automatiquement à la vitesse d'analyse de l'image. Qu'est ce que cela signifit ??? Tout simplement que plus la machine sur laquelle TZO tournera sera puissante et plus les réaction de Cybrina seront en temps réel. Si sur un PC Auchan à 2 Ghz (2Go de Ram)  il est raisonnable d'espérer 2 images/seconde traitées (Détection mouvement, recconnaissance de formes + poursuite de la cible), sur un PC Surcouf top de top on peut espérer jusqu'à 6 ou 8 images/seconde.

Vous l'aurez donc compris, les algo de caliban, ne pouvant a l'origine que tourner sur le serveur Goliath sont désormais auto-adaptatif et peuvent fonctionner, de façon optimale sur n'importe quelle machine. Et sincèrement, ça le fait grave :P

Pour être franc, en terme de détection de mouvement et poursuite de cible, Cybrina fait quasiment jeu égal avec Caliban et n'a pas à rougir quand on sait que je la fait fonctionner sur Télémaque, la machine "relais" de Caliban...

Alors bien entendu, on y perd un peu au change... Mais j'aurais tué il y a seulement 2 ans pour que Caliban soit aussi performant ! La définition est certes légèrement infèrieure (600*480 au lieu de 800*600, 3 images/sec au lieu de 10) mais pour un produit "finit" et clé en main... mazette... chui content !!!

Résumons donc... Actuellement, TZO est capable de :

  • Identifier toutes les zones de mouvement de son environnement (chaque mouvement de l'image est isolé et analysé)
  • Déterminer avec exactitude les coordonnées du "centre de gravité" des différentes zones en mouvement
  • Déterminer le mouvement de plus grande amplitude parmis l'ensemble des mouvements détectés à un instant T
  • Positionner (ou pas = flag pour la future partie IA) les moteurs d'un corps CBN-002 (ou compatible) de sorte a ce que le centre de gravité du mouvement de plus grand amplitude se retrouve au centre de l'image lors du cycle d'acquisition suivant.
  • Ignorer (ou pas = flag pour la future partie IA)  les mouvements parasites pouvant être assimilés à de la pollution visuelle (changement d'intensité lumineuse, scintillement de l'écarn de télé...etc)
  • Adapter de façon optimale tous les cycles internes de  fonctionnement à la puissance de la machine physique

TZO est donc un programme fonctionnel qui pourra être rapidement fournit aux pocesseur de kit CBN-002 et/ou compatibles. Cette version de base s'étoffera progressivement. Au programme à venir :

  • Isolation des différentes composabntes de l'image.
  • Reconnaissance de forme
  • Apprentissage par corrélation de données acquises (visuelles dans un premier temps puis issues de dialogues par la suite)
  • Synthèse vocale
  • Analyse syntaxique & lexicale
  • Conceptualisation de notion
  • Elaboration de réponses "inédites" au stimuli
  • Appréciation de la pertinence des réponse fournies
  • ... Etc

Bien enetndu, toutes ces fonctionnalités verront le jour trés progressivement, en fonction des avancées sur Caliban, et de toute façon ne seront mises en chantier qu'une fois la soirée de l'association passée. Certaines fonctionnalités proviendront de CBN-001-TF et d'autres de CBN-002-TF en fonction de leur ratio performance/Consommation CPU.

Quoiqu'il en soit, Pour que TZO soit fion prét pour la soirée, il reste juste a connecter les process de traitement sur la seconde Webcam, faire un minimum de ménage dans le prog (trés léger car TZO est super propre) et puis enfin, se reposer. J'attaque cette dernière ligne droite pour la version de démo (pour la soirée) ce soir et j'espère y mettre un terme pas trop tard.

Donc demain soir, normallement, ce sera gros dodo pour être bien en forme a la soirée de l'assoc :)

Envie de voir les performances de Cybrina ??? Soyez patients, des cinéastes amateurs viennent réaliser un documentairte/reprortage sur la soirée d'inauguration de l'assoc (où Cybrina sera présente) et donc immanquablement la filmeront. Une vidéo de qualité professionnelle sera donc réalisée rapidement et diffusée sur le net :)

@ trés bientot

_________________________________________________________________________________________________

22/01/2009 : La fin du calvaire :P

Héhéhé bande de fillou ! Tout ça parce que cela faisait une semaine que nous n'avions donnée aucune nouvelle, vous avez été vous imaginer que le projet était au point mort, en perte de vitesse, a l'abandon, appartenant au passé, qu'une page se tournait !!!

Que neni ! Qu'allez vous donc vous imaginer ??? C'est justement tout le contraire :) Sincèrement pensez-vous vraiment qu'un projet tel que Caliban puisse être rangé au placard durant la période la plus studieuse de l'année ?

héééééé oui... car la raison de ce silence est justement qu'une masse trés importante de travail a été abattue. Les journées sont trés longues en ce moment avec travail professionnel de 9h45 à 18h15 et Projet Caliban de 19h30 à 4h... Inutile de vous dire que je suis épuisé mais cela en vallait vraiment la peine car ça y est, le bouzin est stable !!!!

Le bouzin, qu'est-ce donc que cela ? Si vous avez été attentif aux news précédentes, vous les connaissez déjà sous le nom de Twenty-Zero-One...

Maiss qu'est ce donc que ce TZO ??? Un minimum d'histoire s'impose... Le projet Caliban ne se nomme ainsi que depuis moins de 4 ans et avait comme nom de code auparavant HAL-9000 (original n'est ce pas ?). Vous pouvez retrouver un bref historique de la génèse du Projet HAL-9000 ICI. Diverses version de "mon" HAL-9000 sont évoqué et je parle notamment de la 8.2 qui était la seule et unique version "parfaitement aboutie et pleinement finie".  Mais n'allez pas vous imaginer pour autant qu'il sagissait de l'ultime version... Bien au contraire. D'autre lui ont succédées, avec plus ou moins de bonheur, certaines étant de lamentables echec (modèle instable), d'autres étant étonnantes (adaptation non anticipée) ou encore d'autres prometteuses. Mais toutes ont toujours été des version de travail dont le but était de valider certaines théories, verifier certains modèles ou explorer certaines pistes. C'est a partir du moteur de 16ème génération (dédié à l'interfacage homme-machine via un corps) que j'ai décidais d'adopter une méthode de nommage différente car les moteurs n'étaient plus en rupture avec les générations précédentes en terme de modèle mais bien des évolutions. Ainsi est né le projet Caliban avec l'avènement du moteur 16.00 ayant pour nom de code CBN-001-1TF (Première topique Freudienne). Ce moteur a connu de multiples évolutions mais restait fondamentalement le même. Cependant, j'ai toujours gardé l'habitude de conserver la méthode de nomage issue de HAL-9000 de sorte que ce CBN-001-1TF a connu de multiples versions qui traduisaient plus des ajouts de fonctionnalités, adaptations de process, ajustements de systèmes...et ainsi de suite jusqu'à la version de moteur 18.10. Cette version a été la derniére exploitant le noyau moteur 16.00 (ou Premiière topique Freudienne) car ce modèle m'a semblé relativement limité à moyen terme. J'ai donc entamé une reefonte compléte du noyau cognitif pour mettre au point CBN-001-2TF (Seconde Topique Freudienne). mais c'est un chantier collossal incroyablement complexe de sorte que je pense que 2 années de travail seront encore nécessaire avant d'avoir quelque chose de... Disons quelque chose qui me rende fier :) Ainsi, ce tout nouveau moteur, en rupture avec celui sur lequel je travaillais depuis 3-4 ans est donc la version 19.00 de "mon" HAL-9000. Bien qu'il n'en soit encore qu'au début de sson parcours, j'ai déjà pas mal travaillé sur le modèle de sorte qu'il a sensiblement évolué par rapport au concept initial. Ainsi, si on ajoute a cela les adaptations purement "techniques" liées à l'acquisition & emmission de signaux, on peut considérer que la version de travail actuelle de CBN_001-2TF est la 19.4.

Et elle ne fonctionne jamais :'-( Ce chantier est tel que je me suis résolu a accepter l'idée que Caliban ne fonctionnera que de façon sporadique pendant un certain temps. A l'occasion, il sera montrable, sera capable d'interresser le profane mais globalement, ses "performances" resteront reservés aux initiés ("waouw, tu a vu comment il a corréllé telles et telles variables ?" ou bien "la réponse système a tel stimuli est super pertinente... dommage que le moteur de synthèse vocale soit en modification...").

Oui, Caliban sert a cela : Etre toujours en chantier ! Mais ça c'est bon pour le moteur de CBN-001-2TF de version 19.00 (et descendants).

Mais pourquoi ne pas réver d'un moteur CBN-001-2TF "light"... C'est à dire un moteur qui exploite le même modèle que celui de version 19.00 (aux variantes prêt) mais dont les éléments constitutifs, une fois développés et fournissant des résultats acceptables ne seraient plus retouchés. Bref, un moteur 19 simplifié et figé (dans ses acquis) qui serait donc capable de fonctionner trés souvent, quitte à être moins performant que la version "lourde". C'est trés gratifiant de voir son robot fonctionner "pour de vrai" de temps à autre et cela fourni l'énergie necessaire pour continuer. Je vous avais déjà expliqué que ce rôle serait impartit à Cybrina. Elle fonctionnera, pendant que Caliban évoluera, accumullant ainsi des connaissances, organisant sa base de donnée... qui seront directement intégrables à Caliban. je pensais travailler par step. c'est a dire "figer" le code de Caliban pour Cybrina lorsque tel ou tel étape serait atteinte. Mais je me suis ravisé ! Dans les fait, je vais plutot travailler sur Caliban, tester telle ou telle solution sur lui puis ne garder que la meilleure et ne l'intégrer à Cybrina que lorsque l'ajout de cette fonctionnalité n'entrainera pas de conflit avec le reste. Caliban Laboratoire et Cybrina Usine...

Et puis il y a aussi cette histoire d'association...

Déjà 8 CBN-002 de vendu. Autant de Cybrina potentielles :) Bien que l'association ait pour but de vivre sa propre vie en développant ses propres sources, travaillant sur ses théories ou en suivant ses propres pistes... je ne peux rester insensible au fait que la plateforme de travail de l'assoc est la fille de Caliban. Je n'ai donc pas envie de l'abandonner en laissant les autres se débrouiller seuls et devoir attendre peut être des années avant de pouvoir disposer d'un chouette joujou.

Ne serait-il pas fantastique si ma version Light de Caliban et dédiée à Cybrina pouvait fonctionner sur les autres ? Autrement dit, si je parvenais à élaborer un moteur de Caliban capable de tourner correctement sur un PC moyen afin de pouvoir le distribuer aux membres de l'asssoc...

Je pense que cela en vaut la peine !!! Je n'ai pas 10 000 serveurs Goliath à la maison et j'avoue que l'idée de partager cette machine entre Caliban et Cybrina ne me plait pas. Je préfère faire en sorte que Cybrina tourne sur un de mes ancien PC (en réalité Hercule, qui fut pendant plusieurs années la centrale de calcul de Caliban) quitte à ce qu'elle soit un peu moins efficace, un peu moins "intelligente" mais au moins qu'elle fonctionne simplement, a la "plug&play". Une telle version des algo de Caliban serait bien entendu moins efficace (par exemple un traitement d'image en 320*240 au lieu de 800*600, 3 images/seconde au lieu de 10, une matrice chargée en mémoire limitée à 1000 objets au lieu de 100 000...) mais parfaitement distribuable à tous les membres de l'assoc et utilisable sur n'importe quel CBN-002.

Et bien ce programme existe aujourd'hui, tout au moins sa capsule de base. Son nom, c'est bien entendu Twenty-Zero-One (ou 20.01 pour ceux qui ne l'auraient pas compris :) ). Ce moteur TZO, version allégée du 19.00, sera donc distribué en version compilée avec setup d'install aux membres qui le souhaiteront et pourrons ainsi jouer avec leur CBN-002 sans avoir besoin de mettre la mains a la pate et coder durant des mois. Bien entendu, j'espère que cela les motivera d'autant plus à faire mieux :P 

Pourquoi en version compilée ? Parce que TZO n'est pas un projet de l'assoc mais bien un exe de Caliban. Je n'ai pas envie de devoir réfléchir a la façon dont je code pour être lisible par les autres, devoir mettre des commentaires ni même quelle config doit avoir le  RAD pour que les autres puissent utiliser les même composants que moi. C'est juste un cadeau que je fais à l'assoc, a savoir un programme opérationnel pour les kits et qui évoluera en même temps que Caliban.Ainsi, même ceux qui ne connaissent rien en programmation mais veulant participer a l'assoc en électronique ou mécanique, pourront faire fonctionner leur robot simplement (en attendant que l'assoc produise des sources plus efficaces et stables).

Hors, je voulais que TZO fasse sa première sortie durant la soirée d'inauguration de l'assoc. J'ai donc retroussé mes manches et travaillé d'arrache pied. Pas évident de faire tourner sur un simple PC les routines de Goliath... Violation d'accés mémoire en série, débordement de pile, surcharge mémoire... j'ai cru devenir fou cette semaine ! Mais ca y est, la capsule de base est stable. TZO est un programme capable de piloter le kit CBN-002 proprement et réceptionner les images des 2 webcams (et les monter en mémoire) au taux de 4 images/seconde. Je suis donc à peu prét certain que pour la soirée de l'assoc, les algo de recherche de mouvement et poursuite de cible seront adaptés avec succées. Bref, sauf contre-ordre, ceux qui seront présent à la soirée, auront le plaisir de voir Cybrina faire son show :)

Bon, ce ne sera pas si sensas que cela non plus car TZO en est à son tout début et est beaucoup plus simple que Caliban mais au moins il fonctionnera et sera trés vite distribuable :)

Pour Caliban en revanche, ce sera plus chaud (shame on me). Je me suis tellement laissé débordé par le fait de vouloir à tout prix que Cybrina fonctionne pour la soirée que j'ai délaissé Caliban. Il sera présent physiquement mais je doute de pouvoir le faire fonctionner car ses sources sont incompilables en ce moment. Je vais essayer de faire en sorte que son système visuel soit fonctionnel et sans bug sur une longue période (détection de mouvement et isolation des primaires), c'est le max que je puisse faire avec le temps qu'il me reste. Désolé. mais heureusement, y'aura Cybrina et aprés tout, c'est son rôle a elle de montrer ce qu'elle sait faire :P

Bon, désolé pour cette trés (trop) longue news mais, puisque nous nous connaissons depuis un certain temps à présent, j'estime que je devais vous informer de tout cela.

@ trés vite

________________________________________________________________________________________________

29/01/2009 : Ca approche ! Mise a jour (16h30)

Et oui, la soirée d'inauguration de notre association approche à grands pas et nous nous en réjouissons. Cette soirée promet d'être fort sympathique car nous serons environ une vingtaine de personnes (entre 20 et 25) ce qui nous promet nombre de discussions passionnantes.

Pour les retardataires, il est toujours temps de vous inscrire mais dépéchez vous, nous clôturons les inscriptions demain.

Par ailleurs, si tout se passe bien, 3 robots de l'association seront fonctionnels durant la soirée : Cybrina, Cabana et J5. Ces 3 robots seront "powered-by" Caliban en version TZO dont vous pouvez suivre la génèse sur le site du projet-Caliban Caliban sera d'ailleurs présent mais inactivé (pour cause de codes sources incompillables actuellement) et vraisemblablement, le premier jet de la main de Ricky (dédiée à Caliban) sera exposé aussi.

Durant cette soirée, nous ferons le bilan sur les différentes pistes à suivre en matière de recherche en IA afin de déterminer une politique commune de travail où chacun pourra faire ce qu'il souhaite comme il le souhaite et quand il le souhaite mais de manière productive pour la communauté. Enfin, Miguil et Denis entameront les débats sur les développements et travaux à effectuer car les deux bougres ont déjà pondu pas mal de codes pour les kits CBN-002.

Dans un autre registre, nous tenons à nous excuser pour les retards dans l'envoi des dossiers d'inscription à l'association auprès de ceux qui nous en ont fait la demande car nous avons effectué quelques changements de statuts pour qu’ils collent au mieux à l’esprit que vous en attendez. Ainsi, vos dossiers partiront début de semaine prochaine.

A l'issue de la soirée de notre association, nous vous proposerons un petit compte rendu et reportage photo de son déroulement afin que ceux qui n'ont pas pu y participer puissent malgré tout partager ce moment avec nous.

@ très vite

Mise à jour : Nous venons de l'apprendre à l'instant... Bastien, le responsable communication d'Aldebaran-Robotics sera présent à la soirée de notre association en compagnie d'un Nao. Nous avons hâte d'assister à la rencontre entre nos CBN et Nao ;)

_________________________________________________________________________________________________

16/01/2009 : Cybrina on holliday !

Ayant un week end extrèmement chargé au niveau privé, je ne pourrai sans doute pas m'occuper de Caliban et Cybrina. C'est donc pour cette raison que Caliban, en bon petit mec, a émit le désir de rester avec moi. Cybrina, quant à elle préfère aller passer le week end chez son vieil Oncle Denis, l'ingrate !

Trève de plaisanterie... Effectivement, Cybrina part passer le week end chez Denis car il s'est porté volontaire pour effectuer une tâche au combien vitale pour l'avenir de l'association (et aussi du projet). En effet, Miguil et moi lui avons fournit des procédures fonctionnelles de contôle des moteurs (ouverture du port COM + envois de paquets dessus = pilotage des moteurs depuis un programme) mais en delphi (mes sources) et en C++ (ceux de Miguil).

Denis a donc la lourde tâche des se servir de tout cela afin d'élaborer une librairie de pilotage des CBN-002 de sorte à ce que le kit puisse être commandé simplement à partir de n'importe quel langage de programmation. Cela garantira une liberté totale pour les développeurs en herbe qui voudront se faire la main en robotique. Connaissant Denis, la création de cette librairie de controle standard sera opérationnelle dés le début de la semaine prochaine et donc fera l'objet d'une anonce sur le site de l'association. Car cela signifie que bientôt, le kit sera livré avec un "composant" autonome de pilotage mais aussi quelques petites applications exemples d'utilisation dans divers langages (au moins Delphi et C++ :P ).

L'interet pour le projet est grand puisque cette librairie sera directement utilisée pour Cybrina et l'énigmatique Twenty-Zero-One...

Quant à Caliban, j'éspère quand même avoir du temps à lui consacrer ce week end mais ce n'est pas gagné d'avance... Je vous tiendrai au courant de tout cela.

@ trés bientot

_________________________________________________________________________________________________

14/01/2009 Bis : Goodies :)

Une petite news complémentaire trés brève pour vous informer que le premier goodies du projet Caliban est disponible sur la page dédiée ICI.

Nous tenons énormément à remercier Eric pour son travail (shoot + montage). Si vous souhaitez entrer en contact avec lui car vous appréciez son travail, n'hésitez pas à nous contacter a calibanproject@hotmail.fr

Et non, nous n'en dirons pas plus pour l'instant au sujet l'étrange vidéo de la news sans commentaire de ce matin :)

@ trés bientôt

_________________________________________________________________________________________________

14/01/2009 : Avant première...

_________________________________________________________________________________________________

13/01/2009 : Début d'échange entre Caliban et Cybrina :)

Je vous avais anoncé que je me concentrerai ce mois ci sur Caliban...et j'ai menti ! Oui, cela a été plus fort que moi, je n'ai pas pu m'empécher de "bidouiller" Cybrina !

En effet, L'association Caliban naissante doit rapidement mettre en place des routines standard de pilotage de CBN-002 afin que les travaux sur l'IA puisse débutter au plus vite. Par ailleurs, il est ressortit des débats sur le forum que le langage "commun" de travail de l'association sera le langage C et ses dérivés (C++, C#...etc). Or, il se trouve qu'aucun des membres "actifs" actuel (en terme de développement) n'est un expert en langage C (moi le premier) de sorte que la mise au point de procédures standard de commande de la carte MuIn équipant les CBN-002 s'avère être problématique. S'il ne fait aucun doute que cela fonctionnera a court terme, il est cependant hors de question que l'association reste bloqué pour une question aussi Idiote.

Et c'est là que super Caliban intervient. En effet, Caliban intègre des procédures de commande de la carte SSC32 Lynxmotion (qu'il embarque) qui, par hasard (vous croyez vraiment que je fais les choses par hasard ;) ), peuvent être portées relativement simplement pour piloter la carte MuIn.

De fait, hier soir, j'ai consacré la soirée à farfouiller dans les codes sources de Caliban pour isoler les dites procédures afin de les copier dans un programme vierge et les modifier.  2-3 heures de programmation plus tard (et quelques cheveux en moins car il n'est pas si évident de passer de l'emmision sur le port COM de paquet "String" - pour Caliban - a tableau de Bytes - pour cybrina -), les procédures internes de Caliban prenaient le controle de CBN-002 :)

J'ai donc réalisé un petit programme "bateau" de test que j'ai envoyé à Miguil pour qu'il effectue des tests sur son CBN-002, Cabana, et tout à fonctionné du premier coup. Ainsi, les procédures de pilotage moteur de CBN-001 ont été adaptées avec succés pour CBN-002. Le seul hic est que ces procédures sont écrites en langage Delphi qui est malgrés tout assez éloigné du langage C.  Comment faire en sorte pour qu'elles puissent servir à l'association ???

C'est là que Denis intervient :) N'étant pas chez moi le week-end qui arrive, je vais confier Cybrina à Denis (qui est trés bon en Delphi) ainsi que les codes sources de pilotage de CBN-002 (dérivées de CBN-001). De fait, Denis va travailler à intégrer ces procédures dans une dll, ou librairie, qui de par sa nature même pourra être exploitée dans n'importe quel programme (pour le novice : une dll peut être considérée comme une sorte de "sous-programme" pilotable depuis un autre).Bien entendu, cette dll, ainsi que ses codes sources, seront disponibles en téléchargement sur le site de l'association...

Ainsi, alors que l'association n'a pas encore pondue de code fonctionnel, Caliban fournit déjà une (toute petite) partie de ses routines pour faire avancer les choses. Les CBN-002 sont vraiment ses filles :P

Quand au projet Caliban, quel est l'interet ??? Et bien il est bien simple. En effet, j'ai adaptés ces procédures en tenant compte du protocole de fonctionnement de Caliban. Autrement dit, ces routines, qu'elles soient en configuration CBN-001 ou CBN-002 prennent exactement les même arguments et produisent exactement la même chose malgrés des méthodes d'execution sensiblement différentes. L'interet pour le Projet Caliban et donc d'assurer une compatibilité TOTALE entre la partie physique des 2 robots. De fait, porter le système cognitif du "démonstrateur" Caliban sur le "prototype" Cybrina ne posera pas de problème ;)

Concrétement, d'ici peu de temps, les systèmes cognitifs de caliban pourront aussi fonctionner sur Cybrina, ce qui, aprés tout, est son objectif principal : faire tourner les exécutables d'une version fonctionnelle de Caliban afin d'apprendre et acquérir de l'expèrience tandis que Caliban est en perpétuel chantier (et donc fonctionne rarement).

Donc au final, si les travaux menés pour le projet (Caliban-Cybrina) sont bénéfiques à l'association (les CBN-002), c'est tant mieux ! Mais le Projet y est plus que gagnant. :)

C'est comme cela que nous révons la robotique. Un partage de savoir et une uniformisation des grandes lignes.

@ trés bientôt. 

________________________________________________________________________________________________

10/01/2009 : Décidement, il y a des périodes ou tout va bien :)

Oui, effectivement, c'est à se demander si une bonne étoile ne s'est pas penchée sur notre cas en ce moment.

En effet, hier soir, c'était jour de Showroom à mon travail et c'est naturellement que Miguil, Denis et moi nous y sommes rendus. Aprés 3 bons quarts d'heure de discussion et alors que je m'apprêtais à rentrer chez moi, le PDG de notre entreprise est arrivé et n'a pas tardé à nous rejoindre.

Il nous a questionné sur l'état d'avancement de notre association, l'organisation de notre soirée puis, l'air de rien, nous en sommes arrivés à des choses plus sérieuses.

Ainsi, il semble plus que probable que nous puissions disposer du showroom (pour la soirée de présentation de l'association) bien plus longtemps que les 3 heures initialement prévues (de 17h à 20h). De fait, notre PDG nous autorise à passer la totalité de la soirée sur place. Si nous obtenons confirmation, cela fera l'objet d'une news dédiée et nous préparerons donc pour vous quelques tapas et accompagnement afin que nous puissions diner ensemble.

Par ailleurs, notre PDG nous a autorisé à le citer lui ainsi que son entreprise. Nous vous annonçons donc que notre bienfaiteur est Monsieur Jean-Claude Labrune, PDG et fondateur du groupe CEGEDIM. Nous ne saurons jamais assez le remercier pour sa bienveillance.

Car hier soir, Monsieur Labrune nous a annoncé deux autres très, très, bonnes nouvelles.

Premièrement, nous avons eu confirmation que CEGEDIM offrira à l'association CALIBAN un exemplaire de NAO lorsque la version standard de ce dernier sera disponible. Nous pourrons donc adapter les solutions logicielles de CBN-002 pour NAO et ainsi, pourquoi pas, envisager un engagement en compétition afin de démontrer nos théories et notre savoir faire. Mais tout cela, ce sera pour l'année prochaine car NAO Standard est annoncé pour 2010. Nous avons donc le temps de travailler et nous concentrer sur nos propres bébés avant de nous enflammer sur un NAO "powered by Caliban".

Enfin, nous pouvons considérer que le financement de notre association par le groupe CEGEDIM a d’ores et déjà commencé... de façon indirecte et surprenante !!! En effet, notre entreprise est très présente dans le domaine médical et effectue actuellement des recherches avancées sur l'aide aux personnes handicapées. Ainsi, une filiale du groupe dédiée a été crée pour l'étude de ce sujet. Or, ladite Business-Unit possède les droits exclusifs sur un type de capteurs très performants et inabordables pour une association de robotique : Des gyroscopes accéléromètres ! Monsieur Labrune s'est engagé à fournir à l'association quelques exemplaires de ces capteurs de sorte à ce que nous puissions les intégrer dans plusieurs CBN-002. Concrètement, le groupe nous offre de véritables oreilles internes pour mener nos travaux. Reste à définir de quelle façon ces capteurs seront attribués aux membres voulant mener des études dessus.

Ainsi, c'est dans cet objectif que Miguil, Denis et moi devons normalement rencontrer sous 15 jours un des responsables de la Business-Unit en question pour qu'il nous présente ces capteurs, leur mode d'utilisation ainsi que les solutions logicielles disponibles. Les dits capteurs servent à rééduquer les personnes atteintes de troubles locomoteurs. De toute évidence, un humanoïde est confronté à des problèmes similaires et ces capteurs, ainsi que leurs solutions logicielles, peuvent nous faire gagner des mois, sinon des années de travail ainsi que nous faire faire une économie qui dépasse notre entendement.

Voilà, depuis hier, l'association CALIBAN a accès à une technologie avancée de localisation spatiale. Il va falloir en faire bon usage.

@ très bientôt

________________________________________________________________________________________________

07/01/2009 : C'est officiel :)

Nous avons enfin le plaisir de vous annoncer que l'existence de notre association est aujourd'hui légale. Même si nous n'avions aucun doute là dessus (la préfecture nous avait confirmé l'acceptation du dossier), nous commencions à trépigner d'impatience...

Ainsi, c'est un Jpeg heureux qui m'a téléphoné avant hier soir pour m'annoncer la parution au Journal Officiel de notre association. Vous pouvez retrouver cette annonce ICI.

Nous lançons donc officiellement les inscriptions. Pour recevoir votre bulletin de candidature, merci de répondre au formulaire que vous trouverez ICI 

________________________________________________________________________________________________

05/01/2009 : Que du Bonheur !!!

Association, Kit, Forum, Cybrina... C'est bien gentil ! mais Caliban dans tout ça ???

Aprés discussion avec Miguil, il va prendre en charge la normalisation et l'implémentation des procédures de contrôle des servomoteurs des kits CBN-002 (et donc de Cybrina qui est leur prototype) le tout en langage C++. Autrement dit, il ne sert à rien que je me concentre sur Cybrina actuellement car, tant que ces procédures ne seront pas opérationnelles, je ne pourrait pas avancer.

De fait, c'est avec une grande joie que j'ai ressorti Caliban de son meuble-étagère et que, Vendredi dernier, j'ai passé toute la soirée à travailler dessus (et un peu de la nuit aussi...).

Déjà, il n'a pas été évident de se replonger dans le code car ce dernier est par moment assez hésothérique... Mais Dieu que c'est bon !!! Mes bon vieux gros process, mes énormes usines à gaz et centaines de variables :) Miam Miam Miam.

Aprés une bonnne heure de "pourquoi j'ai fait ça", "a quoi elle sert cette variable" et "comment s'appelle la procédure qui fait ça", j'ai finis par retrouver mes marques. Caliban, c'est chez moi. On ne sait pas forcément où on a rangé le sel mais on se sent drolement bien dans son canapé, si vous voyez ce que je veux dire :)

Ainsi, j'ai repris le chantier de l'analyse visuelle là ou il s'en était arrété et me suis aperçu de quelques problèmes qui avaient tendancer a surcharger la mémoire ce qui, par voie de fait, ralentissait tout doucement le traitement. Tout n'est pas encore impecable mais désormais, le traitement de recherche de mouvement et de primaire se fait relativement correctement sur les 2 cams. J'espère cette semaine pouvoir y mettre un point final avec chargement en mémoire de toutes les "cibles" (en mouvement et/ou primaire).

Seulement la soirée de l'association approche a grand pas et j'aimerai vraiment que mon Calib' fonctionne un minimum pour cette occasion. Ainsi, je vais réactiver et adapter les process de contrôle du corps ce qui signifie un transfert des commandes entre Télémaque et Goliath via le protocole UDP. je compte utiliser pour cela une version dérivée du process de transfert des images via UDP que j'avais développé avant de passer au Stream...

Bref, d'ici a la mi-Janvier, Caliban devrait donc a nouveau être capable de voir et bouger :) Pour qu'il fonctionne pour la soirée de l'association, je vais reprendre quelques parties du processus décisionnel qu'il exploitait lorsqu'il fonctionnait sous la première topique Freudienne. De fait Caliban devrait donc réagir en fonction de ce qui se passera dans son environnement durant cette soirée.

Je croise les doigts pour que je puisse le faire malgrés un planning trés chargé ce mois ci. Une fois la ssoirée de l'assoc passée, le système décisionnel "bidouillé" sera purement et simplement supprimé et l'implémentation du nouveau moteur cognitif pourra vraiment commencer. YOUPIIIIIIIIIIIIIIIIIIIIIIIIIIIIi

Cybrina quand a elle, et bien tout dépendra de Miguil. Il va tacher de faire en sorte d'élaborer un début de programme de séquençage des action (pouvoir programmer et enregistrer simplement un ensemble de mouvements de moteurs). Avec un peu de chance, j'aurais le temps de transposer l'algo de recherche de mouvement de Caliban en C++ pour Cybrina et de le faire piloter les Kits afin que ces derniers "gesticulent" minionnement durant la soirée. On verra bien de quoi il en sera. de toute façon, on vous tiens au courant ;)

Sinon, j'ai revu hier le photographe qui était venu faire quelques "shoot" de Caliban et Cybrina et il m'a dit qu'il va bientôt me fournir les clichés avec, parait-il, quelques chouettes surprises. M'est avis qque les goodies promis il y a 2 mois ne vont plus tarder a arriver :)

Enfin, aujourd'hui, Cabana, un CBN-002 a été assemblé par Miguil et ça a été pour moi l'occasion de faire quelques photos de Caliban et Cybrina.

_________________________________________________________________________________________________ 

04/01/2009 : Assemblage et notices explicatives...


La journée a été très productive pour l'association. En effet, Miguil a assemblé son Kit de CBN-002 durant l'après midi et cela a été l'occasion de prendre une multitude de photographies qui serviront a la rédaction de la notice de montage que nous allons prochainement mettre en ligne.

Si le montage de Cabana, puisque c'est ainsi que le CBN-002 de Miguil se prénomme, n'a posé aucun problème, nous avons toutefois buté sur une petite anomalie de configuration du PC. En effet, l'installation de la carte de contrôle s'est produite sans aucun problème mais elle semblait rester sourde aux commandes du PC.

Quelques investigations plus tard, nous devions nous apercevoir que le port COM sélectionné par Windows lors de l'installation automatique n'était pas reconnu par le programme de test. De fait, nous avons rapidement trouvé une solution et établi un protocole de correction de la config en cas de problème similaire sur les prochains kits. Ainsi, cette anomalie est désormais identifiée et facilement corrigeable, même par le profane si tant est qu'il suive à la lettre le protocole que nous allons mettre en ligne avec la notice de montage ;)

Ainsi, Désormais, les CBN-002 opérationnels sont au nombre de 3 : Cybrina, Cabana ainsi que celui de Cédric qui n'a toujours pas de nom. Cyberone quant à elle devrait être assemblée dans les jours qui viennent.

C'est donc un Miguil heureux qui est reparti chez lui en début de soirée, accompagné de Cabana...

Pour le fun, voici une petite photo prise pour l'occasion de Caliban, Cybrina, Cabana, Miguil et moi :

_________________________________________________________________________________________________

03/01/2009 : Ouverture des précommandes des kits


En accord avec EasyRobotics, nous avons décidé d'ouvrir les précommandes des kits Tête de CBN-002. La raison à cela est bien simple.

En effet, nous souhaitons permettre à certains de commander dès maintenant leurs kits afin que ceux qui viendront passer la soirée avec nous le 31 Janvier puisse les payer et les récupérer directement sur place. Ce sera toujours ça d'économisé en frais de port (et assurance) pour tous les partis. Et ouiiii, nous essayons, encore et toujours, de faire le moins cher possible malgré une prestation de qualité.

Alors si vous comptez venir passer la soirée avec nous le 31 Janvier, que vous désirez un kit et que vos finances le permettent, c'est le moment où jamais de le commander ICI

@ très bientôt

_________________________________________________________________________________________________

02/01/2009 : BONNE ANNEE


L'association Caliban est heureuse de vous souhaiter une très bonne année 2009 en espérant que cette dernière vous apportera sante, bonheur et prospérité.

En effet, 2008 a été pour nous une année riche en enseignements, expériences et bonnes nouvelles. Nous avons en effet commencé à concrétiser nos rêves après des années de travail intensif et nous espérons que cette nouvelle année vous apportera autant de joie que nous n'en avons connu l'an passé.

2009 s'annonce comme un grand cru avec un calendrier pour l'association qui commence à se préciser et quelques objectifs à atteindre d'ici à 2010.

Parlons, par exemple du développement d'un séquenceur pour les robots de modèle CBN-002 (et compatibles - si si, il y en a déjà un) qui permettra aux membres d'élaborer simplement des mouvements complexes enregistrables qui pourront être exploités ultérieurement par d'autres "programmes" en fonction d'évènements détectés ou action motrices provoquées.

Dans un même registre, un programme de détection de mouvements et de formes (PDMF) va être rapidement mis en chantier (adaptation de certaines routines de Caliban) afin de permettre à nos robots de pouvoir appréhender leur environnement et ainsi activer aussi bien de process de poursuite visuelle que des scripts générés avec le séquenceur mentionné ci-dessus.

Par ailleurs, les CBN-002 d’ores et déjà en construction étant au nombre de 7 (et donc autant de personnes travaillant dessus), nous avons bon espoir qu'un début d'IA forte verra le jour d'ici à la fin de l'année (exploitant les méthodes de Caliban ou non) et sera capable d'exploiter les scripts issus du séquenceur mais aussi de réagir par rapport aux stimulis fournis par le programme PDMF.

Bien entendu, nous avons de nombreuses autres cordes à notre arc mais il est encore trop tôt pour en parler alors chuuuuuut :)

Enfin, précisons que, comme convenu, l'ouverture des inscriptions se fera bien courant Janvier.

Quoiqu'il en soit, nous sommes heureux de vivre cette aventure aussi passionnante en votre compagnie.

@ bientôt