Cet article fait partie de notre guide: Plateformes IoT Industriel : comment choisir ?

IoT : Cartesiam aide les industriels à embarquer des algorithmes légers

La startup toulonnaise Cartesiam a lancé récemment le logiciel NanoEdge AI Studio. L’objectif, donner aux développeurs embarqués les moyens de déployer des algorithmes apprenants sur des microcontrôleurs aux capacités limitées.

Pour beaucoup d’entreprises, l’IA implique de rassembler une quantité massive de données, de les nettoyer, d’engager l’équipe de data scientists capable de concevoir des modèles algorithmiques qui seront mis en production par un ingénieur en machine learning.
Cela demande à la fois d’avoir la bonne organisation, la bonne infrastructure IT (sur site ou dans le cloud) et la bonne architecture middleware/logicielle. Évidemment, au vu de la puissance de calcul nécessaire, difficile d’embarquer de tels algorithmes dans des objets connectés, voire au sein de microcontrôleurs.
 

Différents éditeurs et fournisseurs de cloud se sont penchés sur la question ces cinq dernières années. Ils ont d’abord opté pour l’entraînement des algorithmes dans le cloud, puis leur déploiement dans des dispositifs déployés en périphérie de réseau (le fameux Edge computing).
Toutefois, cela réclame que ces appareils communiquent en permanence avec le cloud afin de transmettre leurs données, qui seront traitées plus tard. Certains s’essayent au quasi-temps réel. Or, beaucoup de manufacturiers n’ont pas les infrastructures ou les moyens nécessaires pour appliquer cette technique. Les sites industriels en eux-mêmes ne se prêtent pas forcément à l’exercice. De même, cela pose des défis de cybersécurité importants pour des secteurs souvent critiques.

Apprendre comme une machine

Fondée en 2016, Cartesiam est une startup basée à Toulon, gérée par quatre cofondateurs. Elle édite depuis peu le logiciel NanoEdge AI Studio, après trois ans de R&D, de PoC et de sous-traitance.

Plutôt que de suivre les partisans du « Cloud to Edge », Cartesiam a fait le choix de développer des algorithmes « frugaux » capables de fonctionner et « d’apprendre » depuis les microcontrôleurs Cortex ARM M0 à M7.

« Nous avons eu la réflexion suivante : il y a énormément de données qui sont produites et leur augmentation est exponentielle. Quand bien même les capacités des réseaux s’améliorent, il y a un moment cela n’a plus de sens de vouloir tout traiter au niveau du cloud », déclare François de Rochebouët, CTO et co-fondateur de Cartesiam. « L’idée c’était de distribuer de l’intelligence plutôt que de transmettre toutes les informations, surtout que cela a un coût énergétique et écologique faramineux ».

Cartesiam voulait s’appuyer sur le matériel en périphérie du réseau. « Le Edge peut prendre plusieurs formes, mais c’est tout de même le microcontrôleur qui est le roi de cet univers », ajoute le CTO. « Nous nous sommes donc lancés dans une croisade pour faire du machine learning sur microcontrôleur ».

Évidemment, un tel algorithme ne peut pas gérer des flux vocaux, vidéo ou des images. Ici, Cartesiam se concentre sur le traitement d’un signal par dispositif. « Notre logique ne consiste pas à reproduire le fonctionnement d’un algorithme sur un serveur. Les mathématiques sous-jacentes au machine learning existent depuis plus de 50 ans. […] Nous sommes repartis de l’algèbre et nous avons indiqué à nos mathématiciens qu’ils devaient composer un algorithme avec 50 MHz et 20 Ko de RAM ».

La startup a commencé par le traitement des vibrations. « Contrairement à beaucoup d’autres qui s’appuient sur des sens humains pour faire du machine learning, nous avons beaucoup travaillé, pour nous mettre à la place du microcontrôleur et des capteurs associés », déclare François de Rochebouët, amusé.

Son premier client, Eolane, lui a commandé un algorithme niché dans le boîtier Bob Assistant. L’appareil, disponible depuis deux ans est composé d’un accéléromètre et d’un ARM Cortex M3 avec 32 kilo-octets de RAM. « Vous le placez sur n’importe quelle machine tournante industrielle. Un seul bouton suffit à la configuration. Pendant 7 jours, il va apprendre le comportement de la machine, puis il va comparer ce qu’il a appris avec ce qu’il subit toutes les 5 minutes pendant 4 ans ».

Bob Assistant va détecter si la machine se dégrade dans son comportement vibratoire et envoyer une alerte le cas échéant via LoRAWAN.

Cela permet de vérifier l’efficacité d’un moteur et d’anticiper les réparations ou les changements sur des machines souvent très coûteuses. « Bob assistant a rencontré un vif succès. Pratiquement tous les industriels du CAC40 l’ont à minima testé », affirme François de Rochebouët. Par exemple, Thales, Veolia, EDF et Airbus sont des utilisateurs du produit d’Eolane.

NanoEdge AI Studio, une librairie modulaire pour les algorithmes embarqués

Cette première expérience a motivé l’équipe de Cartesiam, une vingtaine de personnes aujourd’hui à concevoir un logiciel capable de choisir le bon algorithme pour traiter un signal spécifique, de combiner cela dans une librairie et de confier ce logiciel aux développeurs embarqués. Et cela pour qu’ils puissent appeler les fonctions de machine learning depuis son programme principal.

Cartesiam crée des briques algorithmiques élémentaires qui peuvent être combinées entre elles pour « en tirer la meilleure librairie pour chaque projet ». Elles sont disponibles dans un IDE compatible avec Windows et Linux : NanoEdge AI Studio.

Le développeur indique dans l’IDE son type de microcontrôleur dans la famille Cortex M, la quantité de RAM allouée au machine learning, le type de signal (un accéléromètre, une température, etc.) transcrit dans un format texte structuré (exemple pour un accéléromètre trois axes : X1 Y1 X2 Y2 X3 Y3… Xn Yn).

Il indique un signal de prélèvement nominal et une anomalie. « Un moteur de recherche va aller chercher la combinaison de nos briques algorithmes, la plus à même d’apprendre et d’inférer dans un environnement donné ». Cette requête est effectuée sur les serveurs Azure de Cartesiam. Après un certain temps de calcul souvent long selon la documentation, la librairie optimisée est envoyée aux développeurs après une compilation GCC. Il peut la tester depuis un émulateur en ligne de commande et lui faire ingérer différents jeux de données pour vérifier sa pertinence.

Toutes ces étapes sont comprises dans la version gratuite du logiciel. Avec la version payante, le développeur peut intégrer la librairie dans son programme principal. Le tout peut fonctionner sur des RTOS écrit en C comme FreeRTOS ou Mbed.

« Réaliser un projet de ML embarqué est un véritable défi pour les entreprises. Aujourd’hui, il y a entre 1 et 2 millions de développeurs embarqués. Seulement 0,2 % d’entre eux ont des connaissances effectives en data science […] N’importe quel développeur embarqué est capable de faire du machine learning avec notre outil sans connaissance particulière. », affirme François de Rochebouët .

« Aujourd’hui, il y a entre 1 et 2 millions de développeurs embarqués. Seulement 0.2 % d’entre eux ont des connaissances effectives en data science. »
François de RochebouëtCofondateur et CTO, Cartesiam

Pour l’instant, la librairie permet d’analyser les vibrations, le courant électrique, les champs électromagnétiques, les ultrasons. Cartesiam a ajouté une option « capteur générique » afin de laisser les développeurs expérimenter avec d’autres types de données. « Nous allons bientôt ajouter le support de dispositifs multicapteurs ». Les appareils produiront un signal composite. Les différentes données (par exemple, de température, de pression et d’humidité) sont envoyées dans un seul fichier que l’algorithme devra interpréter.

L’algorithme léger n’a pas besoin forcément d’une connexion au cloud pour fonctionner. « Par design, le cloud ne peut pas garantir la sécurité. Il y aura toujours une forme de suspicion. Malgré la faible puissance de calcul allouée, Cartesiam assure que les algorithmes peuvent continuer à apprendre même depuis les microcontrôleurs. Le développeur doit tout de même penser à un moyen de sauvegarder les modèles appris (sur une carte SD, une puce Flash ou un EEPROM) parce qu’ils sont stockés dans la RAM pour des raisons de performances.

Les résultats de l’analyse effectuée par le modèle embarqué sont envoyés par un LPWAN, dont LoRa (Pour rappel un message LoRa contient entre 51 et 221 octets) vers une gateway cloud ou vers une infrastructure sur site.

“Dans l’industrie, envoyer les données dans le cloud signifie tirer des câbles au moins pour l’alimentation [ce que] les industriels n’apprécient guère”.

Des débuts prometteurs

« Nous sommes au début de l’aventure autour de NanoEdge Studio. »
François de RochebouëtCartesiam

Présenté dans le cadre du salon Embedded World à la fin du mois de février 2020, NanoEdge Studio bénéficie déjà de “plusieurs centaines de téléchargement”. Le CTO explique avoir été surpris par le fait que les clients et les utilisateurs proviennent de nombreux pays dont la Corée du Sud, le Japon, le Brésil ou les États-Unis. “Nous sommes au début de l’aventure autour de NanoEdge Studio”, rappelle François de Rochebouët.

Cartesiam se concentre sur les problématiques de maintenance prédictive, la sécurité des appareils et des personnes, et de scellement numérique. La startup a déjà convaincu Schneider Electric, LACROIX Electronics, Naval Group. Ils ont également accompagné la startup sur la partie bêta de NanoEdge Studio. Par ailleurs, la startup a un partenariat régulier avec Microsoft.

“Nos clients sont principalement des fabricants d’objets connectés ou des bureaux d’étude”, explique le CTO. “Nous leur donnons un moyen d’accélérer leurs projets IoT et de machine learning embarqué”. En octobre 2019, Gartner l’a identifié dans sa courbe “Hype Cycle 2019 for Semiconductors and Electronic Technologies”.

Cartesiam conserve sa R&D à Toulon. L’éditeur dispose d’antennes commerciales à Paris et en Allemagne pour l’Europe ainsi qu’une autre aux États-Unis. Au total, elle a levé un peu plus de 2,5 millions d’euros. La startup prépare une campagne de financement d’envergure afin de poursuivre son développement.

Pour approfondir sur Outils de développement

Close