Home 9 💻 Tech & Web 9 OSCC : Comment ce projet open source démocratise les voitures autonomes

OSCC : Comment ce projet open source démocratise les voitures autonomes

Article publié le 11 décembre 2016

Itamde est également une école de programmation en ligne.

Le rêve de construire son propre véhicule autonome semblait jusqu’à récemment réservé aux laboratoires universitaires richement dotés et aux géants de la technologie disposant de budgets à huit chiffres. Cette époque touche à sa fin grâce à OSCC, un projet révolutionnaire qui chamboule les règles du jeu. Pour moins de mille dollars et avec des composants disponibles dans le commerce, n’importe quel développeur peut désormais transformer une voiture ordinaire en plateforme de développement pour véhicules autonomes. Cette accessibilité sans précédent ouvre des horizons fascinants pour l’innovation dans la conduite autonome.

Pourquoi OSCC bouleverse le développement des voitures autonomes

Open Source Car Control, connu sous l’acronyme OSCC, représente bien plus qu’un simple projet GitHub parmi d’autres. Cette initiative de PolySync Technologies propose un ensemble complet de matériel et de logiciels permettant le contrôle informatique de voitures modernes. L’objectif affiché consiste à faciliter le développement de technologies de véhicules autonomes en rendant accessible ce qui coûtait traditionnellement plus de 140 000 dollars pour des plateformes propriétaires équivalentes.

Le contraste avec les solutions commerciales existantes frappe immédiatement. Les plateformes professionnelles de développement de véhicules autonomes vendues par des entreprises spécialisées s’accompagnent non seulement de prix exorbitants mais également de boîtes noires impénétrables. Les développeurs achètent ces systèmes sans vraiment comprendre comment ils fonctionnent en profondeur, les empêchant d’innover véritablement ou d’adapter la technologie à leurs besoins spécifiques. OSCC pulvérise cette barrière en publiant intégralement ses schémas matériels et son code source.

L’approche modulaire adoptée par OSCC constitue un autre atout majeur du projet. Le système se décompose en modules individuels gérant séparément la direction, l’accélération, le freinage et la passerelle CAN. Chaque module fonctionne sur une carte Arduino spécialement conçue, permettant aux développeurs de tester et de modifier chaque sous-système indépendamment. Cette architecture facilite considérablement le débogage et l’expérimentation progressive sans risquer de compromettre l’ensemble du système.

La philosophie open source portée par OSCC ne se limite pas à rendre le code accessible. Le projet publie également les schémas des cartes électroniques, les plans 3D des boîtiers, les diagrammes de câblage et toute la documentation technique nécessaire. Cette transparence totale permet à quiconque de comprendre exactement comment fonctionne chaque composant, de reproduire le système, de l’améliorer ou de l’adapter à d’autres véhicules. Cette ouverture stimule l’innovation collective d’une manière impossible dans un écosystème fermé.

Comment OSCC contrôle réellement une voiture

Comprendre le fonctionnement technique d’OSCC révèle l’ingéniosité de son approche. Contrairement aux systèmes qui modifient ou piratent les systèmes d’assistance à la conduite existants, OSCC interagit directement avec les capteurs de bas niveau du véhicule. Cette méthode préserve intégralement les systèmes de sécurité d’origine de la voiture tout en permettant un contrôle complet par ordinateur.

Pour la direction, OSCC s’interface avec le capteur de couple du volant. Ce capteur mesure normalement la force que le conducteur applique sur le volant pour assister électriquement la direction. En envoyant des signaux appropriés à ce capteur, OSCC peut commander la direction sans modifier physiquement le système de direction assistée d’origine. Cette approche élégante signifie que si OSCC se désactive ou rencontre un problème, la direction redevient immédiatement normale et utilisable par le conducteur.

Le contrôle de l’accélération fonctionne selon un principe similaire en interagissant avec le capteur de position de l’accélérateur. Au lieu de modifier mécaniquement la pédale de gaz, OSCC envoie des commandes électroniques simulant une pression sur cette pédale. Le calculateur du moteur répond à ces signaux exactement comme il répondrait à un conducteur humain appuyant physiquement sur l’accélérateur. Cette méthode maintient tous les systèmes de protection du moteur actifs et fonctionnels.

Le freinage représente le défi technique le plus complexe pour OSCC, particulièrement sur les versions essence de la Kia Soul qui ne disposent pas de freinage électrique d’origine. Le projet résout ce problème en installant un actionneur auxiliaire qui applique mécaniquement les freins. Cette addition matérielle reste néanmoins réversible et n’altère pas le système de freinage principal. Sur les versions électriques qui disposent de freinage régénératif contrôlé électroniquement, l’intégration s’avère plus simple et plus directe.

La passerelle CAN constitue le cerveau du système OSCC, gérant toutes les communications entre l’ordinateur de contrôle et les différents modules. Le bus CAN, standard dans les automobiles modernes, transporte les messages entre les divers calculateurs du véhicule. OSCC se connecte à ce bus pour lire l’état actuel du véhicule – vitesse, angle de braquage, activation des freins – et pour envoyer les commandes de contrôle. Cette architecture permet une intégration propre sans nécessiter de modifications invasives du câblage d’origine.

Pourquoi la Kia Soul a été choisie pour OSCC

Le choix de la Kia Soul comme véhicule de référence pour OSCC n’est pas anodin. Cette voiture compacte combine plusieurs caractéristiques qui en font une plateforme idéale pour le développement de véhicules autonomes accessibles. Disponible en versions essence et électrique depuis 2014, la Soul offre une flexibilité appréciable selon les préférences et budgets des développeurs.

L’architecture électronique de la Kia Soul, particulièrement dans ses versions récentes, facilite grandement l’intégration d’OSCC. La voiture dispose déjà d’une direction assistée électrique et de nombreux systèmes contrôlés électroniquement, réduisant la complexité d’interfaçage. Les ingénieurs de PolySync ont méticuleusement documenté l’architecture CAN de ce véhicule, créant un savoir collectif précieux pour la communauté des développeurs.

Le coût relativement abordable des Kia Soul d’occasion constitue un autre avantage décisif. Contrairement aux véhicules de luxe souvent utilisés pour les démonstrations de conduite autonome, une Soul de 2014 se trouve facilement sur le marché de l’occasion pour quelques milliers de dollars. Cette accessibilité financière signifie que le coût total d’un véhicule de développement autonome – voiture plus kit OSCC – reste inférieur à 10 000 dollars, une fraction infime du prix des solutions commerciales.

La taille compacte de la Soul présente également des avantages pratiques souvent sous-estimés. Travailler sur un véhicule plus petit simplifie le stockage, facilite les manœuvres dans les environnements de test restreints et réduit les coûts d’assurance et d’entretien. Pour les équipes universitaires ou les développeurs individuels disposant d’espace limité, ces considérations pratiques peuvent s’avérer déterminantes.

Cependant, OSCC ne se limite pas éternellement à la Kia Soul. L’architecture modulaire du projet a été conçue dès l’origine pour faciliter le portage vers d’autres véhicules. La séparation claire entre l’API de haut niveau et le firmware spécifique à chaque véhicule signifie qu’adapter OSCC à une nouvelle voiture nécessite principalement de comprendre l’architecture CAN de ce nouveau véhicule et d’ajuster les modules en conséquence. Des versions pour la Kia Niro hybride ont d’ailleurs été annoncées, élargissant progressivement le catalogue de véhicules compatibles.

Comment installer concrètement OSCC sur votre véhicule

L’installation d’OSCC nécessite des compétences techniques certaines mais reste à la portée d’un bricoleur averti disposant de connaissances en électronique et en mécanique automobile. Le processus complet s’étale généralement sur plusieurs jours de travail minutieux, mais la documentation exhaustive fournie par le projet guide les utilisateurs pas à pas à travers chaque étape.

La première phase consiste à acquérir et assembler les modules matériels. Le kit OSCC complet comprend plusieurs cartes Arduino personnalisées avec leurs shields spécialisés, conçues spécifiquement pour interfacer avec les différents systèmes du véhicule. Ces cartes se trouvent soit en kit prêt à souder auprès de fournisseurs partenaires, soit les plans permettent de les fabriquer soi-même si vous disposez d’accès à des services de fabrication de circuits imprimés. L’assemblage des cartes demande des compétences basiques en soudure électronique.

La compilation et le flash du firmware sur les modules Arduino constituent l’étape logicielle préalable à l’installation physique. OSCC utilise CMake plutôt que l’IDE Arduino standard, offrant plus de flexibilité et facilitant la gestion de projets complexes. Les commandes de compilation restent relativement simples une fois l’environnement de développement configuré. Le dépôt GitHub d’OSCC inclut tous les scripts nécessaires et une documentation détaillée du processus de compilation pour différentes plateformes.

L’installation physique des modules dans le véhicule représente la phase la plus délicate, nécessitant de démonter partiellement certains panneaux intérieurs pour accéder aux connecteurs appropriés. Le module de direction se connecte au capteur de couple du volant, généralement accessible après avoir retiré les panneaux sous le volant. Le module d’accélération se branche sur le capteur de position de pédale. L’installation de l’actionneur de frein sur les versions essence demande plus de travail mécanique, nécessitant de monter physiquement le dispositif sur le système de freinage.

Le câblage soigné de tous les modules vers la passerelle CAN centrale requiert attention et méthode. OSCC fournit des schémas de câblage complets montrant exactement où et comment connecter chaque fil. Utiliser des connecteurs de qualité automobile et protéger correctement les câbles contre l’abrasion et la chaleur garantit la fiabilité à long terme du système. Le câblage bâclé représente la source principale de problèmes intermittents frustrants lors des tests ultérieurs.

La validation et la calibration du système une fois installé nécessitent des tests progressifs dans des conditions contrôlées. OSCC inclut des modes de test permettant d’exercer chaque sous-système individuellement avant d’activer le contrôle complet. Commencer par tester la lecture des capteurs sans envoyer de commandes de contrôle vérifie que la communication fonctionne correctement. Progresser ensuite vers des commandes douces de direction, accélération et freinage tout en restant prêt à reprendre le contrôle manuel permet d’identifier et de corriger les problèmes avant qu’ils ne deviennent dangereux.

Pourquoi la sécurité reste absolument prioritaire avec OSCC

Transformer une voiture en véhicule contrôlé par ordinateur soulève évidemment des questions de sécurité majeures. Les développeurs d’OSCC ont intégré de multiples couches de protections pour minimiser les risques inhérents à cette modification. Comprendre et respecter scrupuleusement ces mécanismes de sécurité reste absolument crucial pour quiconque travaille avec ce système.

La détection de tentative de reprise de contrôle par le conducteur constitue la première ligne de défense. Chaque module OSCC surveille continuellement les signaux indiquant qu’un humain essaie de reprendre le contrôle manuel. Si le système détecte une pression sur la pédale de frein, un couple important sur le volant ou une tentative d’accélération manuelle, il se désactive immédiatement et rend le contrôle au conducteur. Cette fonctionnalité activée par défaut peut se configurer mais sa désactivation complète reste fortement déconseillée.

Le bouton d’arrêt d’urgence externe fournit une méthode de coupure physique instantanée en cas de problème. Cet interrupteur facilement accessible interrompt l’alimentation électrique des modules OSCC, restaurant immédiatement le fonctionnement normal du véhicule. Positionner ce bouton à portée immédiate du conducteur et des passagers avant toute expérimentation avec le système relève du bon sens élémentaire. Certains utilisateurs installent même plusieurs boutons d’arrêt d’urgence à différents emplacements dans l’habitacle.

Les tests unitaires et les tests de propriétés fournis avec OSCC aident à vérifier que le firmware fonctionne correctement avant de le déployer sur un véhicule réel. Ces tests automatisés exercent différents scénarios et conditions limites, détectant les bugs potentiels dans un environnement de simulation sûr. Exécuter systématiquement cette suite de tests après toute modification du code avant de reflasher les modules constitue une pratique essentielle.

L’environnement de test contrôlé représente un impératif absolu lors des premières expérimentations. Tester OSCC sur la voie publique avant d’avoir complètement validé son fonctionnement serait criminellement irresponsable. Les parkings privés vides, les pistes d’essai ou les terrains privés fermés offrent des environnements appropriés pour les tests initiaux. Progresser graduellement des vitesses très lentes vers des vitesses plus élevées une fois la fiabilité établie minimise les risques d’accident.

La documentation légale et réglementaire varie considérablement selon les juridictions. Dans de nombreux pays et états, modifier les systèmes de contrôle d’un véhicule peut violer les réglementations sur la sécurité automobile et invalider l’assurance. OSCC est explicitement présenté comme un système de recherche et développement destiné à un usage hors route. Vérifier la légalité de votre projet spécifique avant de commencer et obtenir les autorisations nécessaires évite des problèmes juridiques potentiellement graves.

Comment OSCC s’intègre dans l’écosystème des véhicules autonomes

OSCC ne fonctionne pas en isolation mais s’intègre dans un écosystème plus large d’outils et de technologies pour le développement de véhicules autonomes. Cette interopérabilité constitue l’une des forces majeures du projet, permettant aux développeurs de combiner OSCC avec d’autres solutions open source pour créer des systèmes complets.

L’intégration avec ROS, le Robot Operating System, représente probablement la connexion la plus importante d’OSCC. ROS domine l’industrie robotique comme framework de développement, offrant des bibliothèques pour la perception, la planification de trajectoires, la localisation et de nombreuses autres fonctions essentielles aux véhicules autonomes. OSCC fournit un nœud ROS prêt à l’emploi permettant aux développeurs de contrôler le véhicule directement depuis leur stack ROS. Cette intégration simplifie drastiquement le développement d’applications de conduite autonome complètes.

OpenXC complète OSCC en fournissant une interface standardisée pour accéder aux données des véhicules via les protocoles de communication OBD-II. Alors qu’OSCC se concentre sur l’envoi de commandes de contrôle au véhicule, OpenXC facilite la lecture des multiples capteurs et états internes de la voiture. Combiner ces deux projets crée un système bidirectionnel complet capable à la fois de percevoir l’état du véhicule et de le contrôler.

Les outils de simulation comme CARLA ou Gazebo permettent de développer et de tester des algorithmes de conduite autonome dans des environnements virtuels avant de les déployer sur un véhicule réel équipé d’OSCC. Cette approche réduit considérablement les risques et accélère les cycles de développement. Les développeurs peuvent itérer rapidement sur leurs algorithmes dans la simulation, puis transférer le code validé vers le véhicule physique avec une confiance accrue.

Les capteurs de perception externes – caméras, lidars, radars – se connectent généralement à l’ordinateur de contrôle principal qui exécute les algorithmes de conduite autonome. Cet ordinateur communique ensuite avec OSCC via le bus CAN pour traduire les décisions de haut niveau (tourner à gauche, accélérer, freiner) en commandes de bas niveau appropriées. Cette séparation des responsabilités entre perception/décision et contrôle véhicule simplifie l’architecture globale du système.

Quels projets innovants utilisent déjà OSCC

Depuis son lancement, OSCC a inspiré de nombreux projets de recherche et de développement dans des universités et des startups du monde entier. Ces applications concrètes démontrent la viabilité et la flexibilité de la plateforme pour différents cas d’usage au-delà de la simple recherche en conduite autonome.

Plusieurs laboratoires universitaires ont adopté OSCC comme plateforme standard pour leurs recherches sur les véhicules autonomes. L’accessibilité financière permet à ces institutions d’équiper plusieurs véhicules pour le prix d’une seule plateforme commerciale, facilitant des expériences à plus grande échelle. Les étudiants en ingénierie bénéficient également d’une expérience pratique sur du matériel réel plutôt que de se limiter à des simulations.

Des compétitions de véhicules autonomes comme celles organisées par DIY Robocars ont vu apparaître des participants utilisant OSCC. Bien que ces compétitions se déroulent souvent à échelle réduite avec des modèles RC, certains organisateurs proposent maintenant des catégories pour véhicules à taille réelle où OSCC trouve naturellement sa place. Ces événements stimulent l’innovation et créent une communauté d’échange de connaissances précieuse.

Des startups de mobilité explorent OSCC pour prototyper rapidement de nouveaux concepts de services de transport. La flexibilité de la plateforme permet d’expérimenter différentes approches de conduite autonome ou assistée sans investissement initial prohibitif. Même si ces entreprises migrent éventuellement vers des solutions commerciales plus robustes pour le déploiement à grande échelle, OSCC accélère leur phase de recherche et développement initiale.

Les makers et passionnés de technologie représentent une autre communauté d’utilisateurs d’OSCC. Ces individus construisent des projets personnels allant de simples démonstrations de contrôle à distance à des systèmes de stationnement autonome pour leur garage. Cette diversité d’applications, même ludiques, contribue à l’amélioration continue du projet par le retour d’expérience et les contributions de code.

Pourquoi contribuer à OSCC bénéficie à toute la communauté

La nature open source d’OSCC signifie que tout développeur peut contribuer à améliorer le projet. Ces contributions prennent diverses formes, de la correction de bugs à l’ajout de fonctionnalités majeures, et chaque amélioration profite à l’ensemble des utilisateurs.

L’extension du support à de nouveaux véhicules représente probablement la contribution la plus demandée. Bien que la Kia Soul reste le véhicule de référence, adapter OSCC à d’autres modèles élargit considérablement l’audience potentielle du projet. Documenter l’architecture CAN d’un nouveau véhicule, créer les fichiers de configuration appropriés et valider le fonctionnement demande du travail mais ouvre la voie à tous les futurs utilisateurs de ce modèle.

L’amélioration de la documentation aide particulièrement les nouveaux utilisateurs. Clarifier des points obscurs, ajouter des schémas explicatifs, traduire dans d’autres langues ou documenter des cas d’usage spécifiques réduisent la barrière d’entrée. Ces contributions, bien que moins techniques que le code, ont un impact considérable sur l’accessibilité du projet.

Le développement d’outils auxiliaires enrichit l’écosystème OSCC. Des interfaces graphiques pour visualiser l’état du véhicule, des utilitaires de diagnostic, des scripts d’installation automatisés ou des bibliothèques d’intégration pour différents frameworks simplifient le travail quotidien avec OSCC. Ces outils partagés avec la communauté multiplient les gains de productivité.

Les plateformes de formation comme Itamde pourraient développer des cours spécifiques sur OSCC et le développement de véhicules autonomes. Ces ressources pédagogiques structurées accélèrent l’apprentissage des concepts complexes impliqués et forment la prochaine génération d’ingénieurs capables de faire progresser la technologie.

La révolution de la conduite autonome ne se fera pas uniquement dans les laboratoires secrets des géants technologiques. Des projets open source comme OSCC démocratisent l’accès à cette technologie, permettant à une diversité d’acteurs d’innover et d’expérimenter. Cette ouverture accélère probablement les progrès collectifs bien plus efficacement qu’une approche fermée et propriétaire ne pourrait jamais le faire.

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pourriez être intéressé par…