RoBoat

Le premier bateau virtuel sans skipper !

ROBOAT, le premier bateau virtuel piloté en intelligence artificielle / machine learning
Tout a commencé par une discussion avec Philippe Guigné, le créateur du jeu Virtual Regatta, dont Gekko assure la refonte sur le cloud AWS.
Passionné de tech, Philippe avait été fasciné par l’aventure de Deep Blue finissant par battre Gary Gasparov ou d’AlphaGo défiant les grands maîtres de Go.
« Alors, chiche, vous seriez capables de faire un bateau en AI/ML sur Virtual Regatta ? ». Il n’a pas pu s’empêcher de nous challenger, et comme on aime bien les défis, on n’a pas pu s’empêcher d’accepter…

Un modèle combinant l’algorithmie pour le routage et le machine learning pour les choix tactiques
Tout est allé très vite. Le Liquid Studio d’Accenture a constitué une équipe avec des ingénieurs d’Accenture, Gekko et AWS et pris la direction du projet.
Après de premières études dans le courant du mois d’août, les grands principes d’architecture et de technologies sont établis et un prototype est développé au mois de septembre sur une plateforme AWS.
Les premiers pas du bateau ont lieu en fin septembre…. Pas encore un as de la navigation virtuelle, mais suffisamment encourageant pour passer à l’entraînement en octobre et pour considérer la possibilité de participer au Vendée Globe virtuel en novembre.
L’ambition sera très raisonnable pour cette première participation, car l’efficacité d’un modèle ML est très dépendante du temps d’entraînement du modèle, mais c’est une belle occasion de le faire progresser à grande échelle

Carnet de bord

  • Début Octobre : Prologue Vendée Globe
    • Mise à l’eau du RoBoat ! (Sans champagne) La faisabilité technologique est confirmée, des trajectoires sont calculées et affinée au fur et à mesure de la course. L’essai n’est malheureusement pas transformé pour cause de défaillance du pilotage effectué par RPA (Robotic Process Automation). S’ensuit une présentation des travaux à Philippe Guigné, et un changement de technologie pour le pilotage (appels APIs directs).
  • Mi-Octobre : Jamaica Express
    • La course démarre avant d’avoir pu finaliser le nouveau système de pilotage. La première moitié de la course est donc consacrée au développement et au test. Une fois le pilotage par appels API finalisé, RoBoat réalise une bonne seconde partie de la course avec notamment une belle remontée au près selon des trajectoires de louvoiement bien gérées, et malheureusement un échouage dû à une mauvaise résolution du modèle de cartographie dans le routage.
  • Fin Octobre : Bermuda Challenge
    • Le bateau finit dans les 15% du haut du tableau, devant les joueurs test d’Accenture et Gekko !… Ceci grâce à une option tactique pas évidente, et malgré une journée d’arrêt liée à une mauvaise synchronisation de fichiers de vent… Ca progresse !
  • Et depuis mi-Octobre : La Mauricienne
    • La Mauricienne nous permet de tester le pilotage de 3 bateaux en simultané, afin d’essayer différentes configurations/modèles dans différentes conditions (vent, côtes/îles, etc.). De plus son trajet, similaire au début du Vendée Globe, la fait ressembler à une répétition générale.
  • Début Novembre : ultime test sur le « China Sea Trophy »
    • La course se passe globalement bien, une arrivée un peu compliquée par un « lissage » trop prononcé de la trajectoire et une collision (ce qui permet de vérifier le bon fonctionnement de l’anti échouement 😊). RoBoat finit en milieu de tableau (~15k/30k joueurs)
  • 8 Novembre : le démarrage du Vendée Globe se passe plutôt bien !
  • Dans la nuit du 8 au 9 : Roboat bute sur un fort vent de face, et rencontre le même problème de lissage que sur China Sea Trophy. Il perd 400.000 places en quelques heures !
  • 9 Novembre : Après un réglage du lissage, Roboat repart de plus belle plein Sud direction l’Espagne, et rattrape son retard petit à petit.
  • 10 Novembre : 24h ont passé, Roboat a repris 200.000 places ! C’est l’ascenseur émotionnel 😊
  • 17 Novembre : après plus d’une semaine de course et quelques réglages de dernière minute, Roboat semble avoir trouvé sa vitesse de croisière.
    Il a réussi le passage du cyclone Theta dans la journée du dimanche 15, plus tard que la groupe de tête dont l’avance s’est accrue.
    Roboat navigue actuellement dans la première moitié de la flotte (autour des 300.000), et devra compter sur des conditions de vents plus favorables que ces derniers jours pour refaire son retard.
  • Du 17 au 21 Novembre : Roboat navigue plein Sud jusqu’à passer Dakar et le Cap-Vert sans difficultés
  • Du 21 au 26 Novembre : L’affaire se corse nettement avec le passage du pot au noir. La vitesse de Roboat est fortement freinée, passant d’une dizaine de nœuds à 3 ou 4 nœuds !
    Le routeur hésite longuement entre deux options : longer les côtés Africaines, ou partir Sud-Ouest vers le Brésil ? Roboat se retrouve dans un entre-deux permanent et ne choisit pas une stratégie plutôt que l’autre. Il va même aller jusqu’à faire demi-tour lors d’un changement radical dans la trajectoire prédite !
    La leçon à retenir : Dans certaines conditions, le routeur peut se comporter comme un système chaotique (prédire des trajectoires foncièrement différentes pour une petite variation dans les conditions initiales -> position du bateau, prédictions météo). Il manque donc une « couche logicielle » qui permettrait de surveiller les résultats du routeur et d’éviter une trop grosse variance entre deux calculs.
  • 30 Novembre : Depuis le franchissement du pot au noir aux alentours du 26 Novembre, Roboat va nettement mieux ! Il a finalement choisi l’option Brésilienne (ouf !), et fonce entre 12 et 16 nœuds vers l’anticyclone de Sainte-Hélène.
  • 15 Décembre : 2 semaines de bonne navigation se sont écoulées, avec parfois des ralentissements mais aussi des pointes de vitesse à 20 nœuds !
    Un test de « supervision » des isochrones est également en cours, qui vise à résoudre les problèmes rencontrés dans le pot au noir.
    Roboat est actuellement classé ~485.000, avec une belle remontée de 20.000 places dans les derniers jours. On se prend à rêver d’un retour dans les 300.000 à l’arrivée ?
  • 6 Janvier : Roboat nous a offert un beau cadeau de Noël : une tranquillité d’esprit pendant les vacances ! Durant les deux semaines de coupure, il a en effet navigué sans anicroches, aucune collision avec une île ou franchissement de la zone d’exclusion antarctique. Il en a même profité pour grappiller un bon nombre de places, et se hisse désormais à la 350.000ème place, le voilà bientôt dans le premier tiers des joueurs !
  • 12 Janvier : Passage du cap Horn !
    En une semaine Roboat a repris 30.000 places supplémentaire, et se situe aux alentours de 320.000 place, dans le premier tiers du classement ! Un petit ajustement de configuration a été nécessaire le 8 Janvier, afin d’éviter un franchissement de la ZEA. En effet, le moteur d’isochrones prévoyait des trajectoires très proches de celle-ci, et le guidage « micro » tendait à infléchir encore plus le cap au Sud. Le guidage « micro » ne tient pas compte de la géographie mais uniquement des valeurs intrinsèques au bateau ainsi que de la météo locale. Dans ce cas précis, il souhaitait positionner le bateau plus à la perpendiculaire du vent originaire du Nord-Est. Nous avons donc limité la marge de manœuvre du guidage « micro » afin de rester dans les clous ! Cette marge de manœuvre sera remise à sa valeur initiale dans les prochains jours, une fois la ZEA loin derrière.Roboat entame maintenant la phase finale de la course : la remontée de l’Atlantique !
    Celle-ci devrait offrir des opportunités, et le classement de Roboat pourrait bien évoluer dans ces dernières semaines…

Rendez-vous le 8 novembre pour suivre les performances du RoBoat lors du Vendée Globe !