Akihiko Tsukuda, Directeur exécutif, Software Engineering chez eSOL, explique dans cet article comment une pile logicielle facilitant le développement d'applications de conduite autonome doit également prendre en charge le déterminisme temps réel pour la certification de sûreté fonctionnelle.
La feuille de route vers des niveaux plus élevés d’automatisation de la conduite promet une sécurité routière et un confort accru pour les conducteurs et les passagers grâce à une charge de travail réduite du conducteur et à des normes de conduite plus cohérentes. L’objectif ultime est une conduite totalement autonome, du début à la fin de chaque trajet. Alors que les constructeurs automobiles et les équimentiers de premier rang poursuivent cet objectif, les architectures électriques/électroniques des véhicules évoluent vers un modèle de plus en plus sophistiqué et défini par logiciel.
La pile logicielle
Pour permettre la conduite autonome, la pile logicielle doit prendre en charge un ensemble diversifié de fonctions, notamment la collecte de données provenant du LiDAR, des radars, de la caméra, du récepteur GNSS, des unités de mesure inertielle (IMU) et d'autres capteurs montés sur le véhicule. Elle doit également prendre en compte la localisation, en combinant les informations appropriées des capteurs avec des données cartographiques de haute précision pour déterminer l'emplacement et l'orientation précis du véhicule autonome, et en traitant d'autres données de capteurs pour fournir une perception, notamment la détection, la reconnaissance et le suivi d'objets tels que les véhicules, les vélos, et les piétons, ainsi que les feux et panneaux de signalisation. Le logiciel doit également prendre en charge la planification, qui implique l'utilisation d'informations perceptuelles pour calculer la trajectoire du véhicule le long de l'itinéraire souhaité et éviter tout obstacle, ainsi que l'utilisation des informations de planification pour générer des signaux de contrôle précis du véhicule tels que l'angle de braquage, le freinage et l'accélération. Il doit également gérer l'interface du véhicule, distribuer les signaux de pilotage sous forme de commandes à divers sous-systèmes et effectuer la cartographie à l'aide de données cartographiques 3D de haute précision. Les développeurs peuvent tenter de créer une pile comprenant tous ces éléments de manière indépendante, même si cela peut demander beaucoup de travail, de temps et d'argent. S'appuyer sur une plateforme existante peut être plus efficace et plus rentable.
Le framework Autoware en est un exemple. Open source et développé sur ROS (Robot Operating System), Autopare propose une pile logicielle déjà éprouvée sur diverses plateformes telles que les véhicules industriels autonomes pour le transport de marchandises au sein des sites industriels ou des zones de fret. Comparés aux routes publiques, il s'agit d'environnements relativement prévisibles et contrôlés dans lesquels Autoware a pu démontrer un fonctionnement sûr. D’autres cas d’utilisation incluent les navettes et les taxis sans conducteur, qui fonctionnent dans des environnements plus complexes imposant de plus grandes exigences aux modules de perception et de planification du logiciel.
Framework pour la conduite autonome
ROS est un framework de type middleware qui comprend des bibliothèques de logiciels et des outils qui s'exécutent sur Linux en tant que système d'exploitation principal. Le logiciel de base est open source et est livré avec un vaste écosystème qui comprend des mises à jour fréquentes avec des corrections de bugs et des améliorations. ROS permet aux développeurs d’écrire des applications de contrôle de robots fonctionnant sous Linux et est déjà largement utilisé pour la robotique et les systèmes autonomes. De plus, il est suffisamment robuste pour gérer la gestion d’un véhicule routier autonome et offre des fonctionnalités qui simplifient le développement, l’intégration et le contrôle des différents composants logiciels nécessaires à la conduite autonome. Les principaux atouts de ROS en tant que framework pour la conduite autonome incluent son architecture modulaire, qui permet de développer des fonctionnalités telles que la perception, la planification et le contrôle en tant que modules ou nœuds séparés. La prise en charge du transfert de messages entre les nœuds permet à ces fonctions de communiquer entre elles, permettant ainsi une meilleure organisation et gestion des systèmes complexes de véhicules autonomes. En particulier, un système de transmission de messages garantit une communication efficace et fiable nécessaire au partage de données en temps réel, essentiel pour des tâches telles que l'évitement d'obstacles et la planification de chemin. ROS fournit également des pilotes et des packages prêts à l'emploi pour une large gamme de capteurs, ce qui peut simplifier l'intégration du LiDAR, des caméras, du radar, du GPS et d'autres capteurs utilisés pour percevoir l'environnement. Autoware, également développé sur Linux, exploite ces aspects de ROS et fournit des algorithmes de planification, de contrôle et de fusion de capteurs dédiés. Par exemple, Autoware utilise un module 3D SLAM (Simultaneous Localization And Mapping – Localisation et cartographie simultanées) amélioré, ainsi qu'un ensemble de sujets ROS spécifiques. Linux offre divers atouts pour les applications de véhicules autonomes. Il est compatible avec une large gamme de composants matériels standards. L'utilisation de Linux permet aux développeurs d'exploiter du matériel et des pilotes (drivers) disponibles sur étagère, ce qui facilite la création et le test de systèmes de véhicules autonomes. Les utilisateurs peuvent également profiter du vaste écosystème d'outils, de bibliothèques et de ressources de développement, qui simplifie le développement logiciel et accélère l'innovation. Cependant, bien que des correctifs (patchs) temps réel soient disponibles pour assurer le déterminisme de nombreuses tâches des véhicules autonomes, Linux n'est pas un système d'exploitation temps réel. Il n'est pas certifié pour la sûreté fonctionnelle automobile et la conformité réglementaire. Pour cela, un système d'exploitation temps réel (RTOS) POSIX sûr et déterministe est recommandé.
Certains systèmes autonomes utilisent une approche hybride, combinant un système d'exploitation à usage général comme Linux avec un RTOS pour des tâches spécifiques et critiques. Cela permet aux développeurs d'équilibrer le besoin de performances en temps réel avec la flexibilité d'un système d'exploitation complet. Cependant, cela peut être difficile à réaliser et nécessite une expertise pour mener à bien l’intégration.
Amélioré pour la sûreté de fonctionnement
La solution ROS sur eMCOS d'eSOL combine ROS avec un RTOS sûr, créant une plate-forme qui permet une intégration transparente des applications Autoware avec une certification de sûreté de fonctionnement. Le framework proposé par eSOL pour ROS vise à simplifier les configurations de performances temps réel et de sûreté de fonctionnement, et à simplifier le portage des pré-développements sous Linux vers les systèmes de production de masse avec un RTOS. ROS sur eMCOS répond à d’importants défis d’intégration auxquels serait confronté tout projet visant à créer une plateforme robuste et déterministe pour les applications de sûreté fonctionnelle. Celles-ci incluent l'optimisation des pilotes noyaux du RTOS, l'allocation des ressources et l'analyse des goulots d'étranglement, ainsi que les corrections de code pour permettre aux environnements RTOS, ROS et Autoware d'interagir comme vous le souhaitez.
Conclusion
Autoware est conçu pour les applications de véhicules autonomes et fournit un framework logiciel qui évite aux développeurs de créer leur propre pile à partir de zéro. Cette approche peut accélérer le développement et réduire les coûts de projet et de certification. Autoware et ROS satisfont à de nombreuses exigences en matière de conduite autonome, même s'il existe des lacunes, notamment en ce qui concerne les aspects du véhicule qui doivent répondre aux exigences de sûreté fonctionnelle.L'intégration de ROS avec un RTOS sûr et conforme à POSIX tel qu'eMCOS POSIX surmonte ces lacunes et garantit une réponse déterministe. Une solution prête à l'emploi comme ROS sur eMCOS contourne les défis d'intégration et permet au développement de commencer immédiatement, exploitant les fonctionnalités éprouvées de la pile Autoware, ce qui permet une mise sur le marché plus rapide et facilite la conformité en matière de sûreté fonctionnelle.
esol www.esol.com
Cliquez ici pour voir les autres produits de la société