Luos apporte les bonnes pratiques du développement Web au développement embarqué sur… microcontrôleur
[PORTRAIT DE START-UP] La start-up bordelaise Luos a la volonté d’amener vers l’embarqué les bonnes pratiques du Web, et plus particulièrement les notions de microservices et d’API, pour rendre les systèmes plus modulaires et plus fiables, et les développements plus pérennes. Ses marchés cibles : la robotique, l’électroménager et les nouvelles mobilités. ...
Si le développement Web s’est considérablement simplifié et assoupli avec des technologies comme les conteneurs ou les microservices, les systèmes embarqués restent encore généralement abonnés à des pratiques anciennes qui, au moment de la création de nouveaux produits, sont synonymes de redéveloppements inutiles et, partant, de surcoûts et de ressources, humaines et matérielles, sollicitées à mauvais escient. Là où la réutilisation de certaines briques ou procédés pourraient réduire les développements tout en les fiabilisant.
Emanuel Allely, Nicolas Rabault et Simon Baudry, les fondateurs de Luos
« C’est à ce genre de problématiques liées à la conception, à l’industrialisation et à la production d’appareils électroniques, notamment dans le domaine de la robotique grand public, qu’ont été confrontés Nicolas Rabault et Simon Baudry, deux des cofondateurs de Luos, indique Emanuel Allely, COO et troisième cofondateur de cette start-up bordelaise fondée en juillet 2018. L’idée qui a sous-tendu la création de la société Luos est la volonté d’amener vers l’embarqué les bonnes pratiques du Web, et plus particulièrement la notion de microservices et d’API, pour rendre les systèmes plus modulaires et plus fiables, et les développements plus pérennes. »
Dans la pratique, Luos - c’est aussi le nom de la technologie développée par la jeune société dont les prémices sont à chercher du côté des laboratoires de l’Inria à Bordeaux - fonctionne comme une architecture à microservices et comme un environnement d’exécution distribué. Elle permet d’encapsuler n’importe quelle application ou pilote logiciel dans un module capable de communiquer et d’interagir avec n’importe quel autre au sein d’un réseau Luos.
Chaque module est concrètement hébergé sur un nœud unique (un microcontrôleur en pratique), sachant qu’un nœud peut exécuter plusieurs modules simultanément et gérer la communication entre eux, ainsi qu’avec d’autres modules situés sur d’autres nœuds, sur la même carte ou à distance, et ce à travers la même interface (voir figure ci-contre). L’ensemble est complété par une table de routage, un service géré par le réseau Luos et accessible par tous les modules. Ce service permet à chaque module d’obtenir et d’utiliser les informations de base de tous les autres.
« Avec Luos, on conçoit donc par fonctionnalités et les liens entre modules ne se font pas au niveau hardware mais au niveau applicatif, les applications embarquées étant isolées des ressources matérielles, précise Emmanuel Allely. Nous proposons en fait une bibliothèque de code qui permet d’encapsuler pilotes et applications embarquées afin de créer un réseau modulaire entre les applications d’un même système. En reprenant la philosophie des microservices et des API déjà présents dans le monde du logiciel, nous introduisons des notions de plug and play sur des équipements dotés de peu de ressources, le firmware Luos pouvant être porté sur un simple microcontrôleur 8 bits. »
Un bus de communication maison
La solution proposée par Luos est donc un savant mélange entre un système de conteneurisation et un bus de communication logiciel. Pour atteindre les performances escomptées en termes de légèreté et proposer un système de gestion d’applications et de drivers distribués capable de fonctionner sur silicium en mode bare-metal (ou sur un OS embarqué) en limitant les exigences en puissance CPU et en mémoire, la société a dû créer son propre protocole, dénommé Robus. Celui-ci s’appuie au niveau physique sur un lien semi-duplex, la version de base utilisant un lien RS-485. Ce protocole particulier permet de faire communiquer nativement les applications entre elles sans que l’utilisateur ait besoin de recréer des messages ou des procédures d’échanges de données.
Enfin pour faciliter l’interaction entre un système embarqué compatible Luos et des langages de programmation de haut niveau, la technologie permet de convertir des informations Luos de bas niveau en objets JSON, moyennant l’insertion d’un module logiciel spécifique (Gate) qui se charge de cette conversion. Ce module peut être hébergé sur différents types de nœuds afin que le concepteur puisse choisir le moyen de communication ad hoc pour son projet (USB, Wi-Fi, Bluetooth, etc.).
« Pour résumer, Luos construit une architecture embarquée qui simplifie à l’extrême le développement de produits électroniques et d’applications embarquées, affirme Emanuel Allely. Du point de vue des usages, la solution favorise la pérennisation de la conception en sous-ensembles fonctionnels, ainsi qu’une approche de conception et de développement au sein d’équipes organisées par fonctions (équipe Module roues, équipe Module bras robotisé, etc.) et non plus par domaines (équipe Electronique, équipe Mécanique, équipe Logiciel). Par ailleurs les équipes de conception peuvent désormais travailler et tester leurs solutions à distance. Ces approches offrent une nouvelle façon de travailler qui est horizontale, remplaçant les anciennes méthodes monolithiques de conception. Les sociétés n’ont plus à reconcevoir chaque fonction lors de la conception d’une nouvelle gamme de produits. »
C’est la raison pour laquelle le marché de l’électroménager est particulièrement dans la mire de la start-up où il est courant qu’un fabricant multiplie les versions d’un produit donné et joue les effets de gamme. Les autres marchés spécifiquement visés par la jeune société française sont la robotique de services, où Luos promet de diminuer de moitié le temps de mise sur le marché de produits complexes, et les nouvelles mobilités (vélos en libre-service, flottes de trottinettes électriques…) à qui Luos permet de diminuer les coûts liés au diagnostic des pannes et à la maintenance : diagnostic à distance, facilité d’adaptation à une réglementation changeante ou d’ajout d’une nouvelle fonctionnalité (comme un clignotant par exemple), etc.
Déjà des références
Alors que le code Luos est déjà disponible sur GitHub et utilisable librement (la société bâtit toutefois son modèle commercial sur la perception de redevances sur chaque produit intégrant sa technologie), la start-up bordelaise peut déjà se targuer de quelques références. A l’instar de la jeune société, également bordelaise, Nimbl’bot, dont le robot industriel de maintenance repose entièrement sur Luos, ou de l’Ecole polytechnique fédérale de Lausanne pour des projets liés à la robotique. C’est aussi le cas de Pollen Robotics qui a retenu l’architecture Luos pour son dernier produit, Reachy, un robot interactif open source (photo ci-contre).
A noter ici que Pollen Robotics, entreprise installée à Bordeaux, est présent au capital de Luos (à hauteur de 15%), tout comme l’Inria (5%), l’institut de recherche ayant obtenu une participation en échange de l’exclusivité sur la partie de Luos développée en son sein.
« En parallèle, nous cherchons à établir des partenariats avec de grands fabricants de microcontrôleurs, ajoute Emanuel Allely. Ces partenaires nous permettront de gagner en pertinence face à nos clients, de toucher un très grand nombre de prospects et d’avancer plus rapidement sur des sujets technologiques majeurs en garantissant la compatibilité et la fiabilité sur un grand nombre de microcontrôleurs du marché. »
Pour renforcer son image de marque et pouvoir négocier des partenariats stratégiques pour monter en puissance, Luos s’est lancé dans une levée de fonds de l’ordre de 1,2 million d’euros dont le bouclage est prévu d’ici l’automne prochain. La jeune firme bordelaise est également soutenue par la structure d’accompagnement Unitec et a reçu un co-investissement du programme Horizon 2020 de l’Union européenne.
La start-up, qui fait partie des finalistes du concours d’innovation i-Lab 2020, a d’ores et déjà prévu d’augmenter son effectif, aujourd’hui de 4 personnes, et de recruter 5 autres personnes d’ici fin 2020, puis une dizaine en 2021. « Nos deux plus gros enjeux aujourd’hui sont de transformer notre technologie en un produit avec une expérience utilisateur de haut niveau et de créer des partenariats avec les fabricants de microcontrôleurs, conclut le cofondateur de Luos. Quant à notre principal objectif commercial, il est de signer un contrat avec un grand compte de la robotique, de l’électroménager ou de la nouvelle mobilité. » D’un point de vue technique, la jeune société ne compte pas se reposer sur ses premiers lauriers. Sur les deux prochaines années, Luos va travailler sur l’accessibilité de Luos avec la mise à disposition d’outils supplémentaires pour le développement et l’après-déploiement (interface de débogage, système de mise à jour automatique…), sa compatibilité avec d’autres environnements (avec des passerelles vers l’environnement ROS, le bus CAN, etc.) et la certification (pour satisfaire certains marchés spécifiques).