Retrouvez ici le calendrier ToDo sur Trello concernant la Peugeot 205
Le pourcentage étant la progression générale du module en question. Du plus récent au plus ancien.
Ci-dessous les deux dernière vidéos publiés sur YouTube. Puis clac de fin pour plusieurs mois
afin de préparer une version 2.0
Chapitre 10
https://www.youtube.com/watch?v=jZ76JwlkW3U
Chapitre 11
https://www.youtube.com/watch?v=NEagf07ROok
Vesoul Stellantis - 205Africa - Septembre 2023
Un weekend d'enfer! J'ai à nouveau présenté l'intégralité de la Peugeot 205 autonome au publique, je reste encore bouche bée sur la manière dont ce véhicule attire l'attention, c'est un plaisir monstre à tout expliquer, dévoiler les entrailles du projet !
J'ai pu rencontrer de très bonnes personnes que je suivais déjà sur leurs réseaux tel que 205TotalAventure, Pascal DRAGOTTO, La Clé de 13, Hit the Road et j'en cite... Mais surtout, après bien 15 années, je rencontre pour la première fois Wahid GARCI, le fondateur du moteur de jeux vidéos Tzu3D dont le projet Felly est basé.
Je remercie beaucoup Fanny, son équipe 205Africa ainsi que Stellantis Vesoul ! Un weekend sacrément chargé d’activités !
Merci également à tous les Youtubeurs et Instagrameurs, pour cet élan de solidarité pour que ce projet soit présent à Epoqu'Auto en Novembre 2023 ; ceux cités plus haut, mais également à HoBordel, Ticket For Road, les_merguez_du_hobbit,
Plus qu'à croiser les doigts pour que Epoqu'Auto acceptent ma venue tant qu'exposant. 🙌
Montmorot - JMJ Automobile - 2023
Petit show de Peugeot 205 à JMJ Automobiles, situé à Montmorot, près de Lons le Saunier, il y avait un petit concours « d’élégance » où les visiteurs peuvent voter librement, et j'ai terminé 3ème.
Comme à Sochaux en Juillet 2023. nous avons reçu énormément de personnes curieuses, nous avons pu expliquer son fonctionnement de A à Z, je suis très rassuré et satisfait qu'à première vue, ce véhicule étonne et plaît à beaucoup de personnes dans le public dont certains se prend en photo à côté. 👌
Le projet va sont poursuivre le développement pour être prêt pour l'évènement 205 Africa Raid du 30 septembre au 01 octobre 2023 à Vesoul.
Tests dans un garage sous sol
Suite à l'invitation sur Vesoul pour l'évènement 205 Africa Show, et notamment au fait qu'il serait très potentiellement possible de réaliser une démonstration en autonome, j'ai donc décidé de réécrire cette fonctionnalité PathTracing, présent dans le module décision.
Et pourquoi ?
Étant donné qu'il s'agit de la première version qui a été codé, testé dans un garage en sous-sol, et qu'il n'est pas efficace voir pire en extérieur, cette opération est légitiment nécessaire. Nouveau challenge!
Pour rappel, cette fonctionnalité "Dynamic PathTracing" permet tracer un itinéraire "mécanique" par rapport à la perception de son environnement, l'algorithme à été réécrit, beaucoup d'améliorations commencent à arriver, il y aura au moins pour 1 mois de travail !
Remerciements à Le Nouvel Automobiliste pour ses photos
Le véhicule a été présenté en statique, système Felly, Lidar Ouster, Velodyne et volant tournant, avec un écran et un 3ème lidar Velodyne déporté.
Nous avons reçu énormément de personnes curieuses, nous avons pu expliquer son fonctionnement de A à Z. Nous avons également reçu la visite de Xavier CRESPIN et Gaêl COLIN, un immense honneur!
Je remercie les organisateurs de l’évènement les journalistes photographes et bloggeur(euse) Marie LIZAK, AutoplusMag, DirectAuto C8 et encore...
Ainsi qu'à Florian LAGARRIGUE, Timothée LUSSIAUD, Manon MILLET et à mon entourage d'avoir activement été présent pendant ces 3 jours.
J'ai été invité à présenter à nouveau la Peugeot à Vesoul pour l'évènement 205 Africa Raid du 30 septembre au 01 octobre 2023.
Premiers tests exécutés depuis deux caméra fisheyes.
Ce nouveau module va permette de "labelliser" les obstacles formelles détectés par les Lidars, radars, sonars (représentés dans le module Perception) afin de déterminer le meilleur comportement à adopter depuis le module de décision.
Le cadre passe sur des tons rouge quand l'entité détecté est proche de la caméra, et des tons verts / bleutés quand il est éloigné.
Avoisinant 2 à 5 passes de détections complètes par secondes, avec environs 400ms de retard, pour une première version ... c'est un bon début!
Cette vidéo d'introduction qui va « introduire une série de vidéos » présentant mes bricolages, tests, et mes galères filmées format POV/FPS.
Tests en garage sous-sol - segmentation des zones accessibles. Test via Lidar Ouster & Kinect 360
Le module décision se fait peau neuve, désormais, plus besoin d'une trajectoire, ou angle de direction programmé, relativement au gabarit, le véhicule peut générer lui-même sa propre trajectoire dans des lieux inconnus même s'il n'y a aucune informations de destination, ni de GPS. Cependant, le module de perception devra être amélioré. En effet il serait nécessaire de "merger" les informations de segmentation supplémentaire provenant de la vision caméra RGB pour délimiter (statique ou dynamique) les bordures de routes non visibles au lidar.
L’électronique du VCU (Vehicle Control Unit) ainsi que le firmware (logiciel) à été entièrement réécrit de zéro. Précédemment sur Arduino Nano (qui était un challenge), nous avons atteint ses limites physiques en nombre d'entrés/sorties. Nous sommes donc passés sur un microcontrôleur ATMega2560. Ce VCU, désormais multi-thread, il est capable de gérer indépendamment les pédales, la direction, panneaux LEDS, ainsi que différents capteurs (2x angle de direction, angle des pédales, température...), ainsi que la communication avec le PC. Cette refonte a permis de finaliser la fiabilisation de la direction électrique, désormais précis à 1,5° près !
Vielle et usée, l'arbre de direction à dû être restaurée et améliorée avant de l'adapter avec une direction assistée électrique provenant d'une Bluecar de chez Autopuzz. Cette direction est connecté à un calculateur fait maison qui reçoit les ordres depuis un PC exécutant Felly-Software utilisant un seul lidar pour cette première démonstration.
Un début d'une grande aventure : Vidéo de démonstration
Avec mon ami Florian Lagarrigue, nous avons pu améliorer la précision des impacts de points pour que les autres capteurs puisse s'accorder sur les points en commun. Il reste cependant des améliorations à faire! Nos avis sur quelques problématiques ont été fructueux 👍
Vidéo ici
Notre collaboration maintient une belle trajectoire pour Felly, en effet, le moteur 3D DirectX Tzu3D de Wahid GARCI se perfectionne de plus en plus, avec des fonctionnalités "sur-mesures" pour une utilisation générique qui pourrons être utilisées dans d'autres domaines. Beaucoup de gain d'FPS permettent d'avoir le rendu 3D beaucoup plus fluide. Une belle amélioration de la projection de nuages de points sur les lidars 360° tel que le Ouster OS1 ! Le driver à été réécrit en destination de la plateforme C#.net.
L'implémentation des modèles 3D des capteurs fait maison! La projection des nuages de points sont explicitement relatives à la position et orientation du modèle 3D du capteur. En plus de pouvoir le "labeliser" pour l'identifier, ceci qui permet lors du réglage physique + logicielle, d'avoir la meilleure approche réaliste des condition réelles.
Le petit plus c'est que ces capteurs peuvent être facilement "logiciellement" déplaçables/orientables/focusable/scalables. Une calibration automatisée est en cours d'implémentation, elle permet de placer automatiquement les capteurs sur le véhicule avec minimum deux qui visualisant un quart d'une scène en commun.
Après l'implémentation avec succès de la nouvelle mise à jour du moteur 3D Tzu3D sous DirectX11 en cours de test aux côtés du créateur, afin d'ouvrir l'accès facile à la contribution au code source de Felly-Software, nous avons pensé qu'un capteur 3D "physique", en sa possession (au lieu du mode simulation) semble plus judicieux pour le (futur) développeur(euse).
Les capteurs 3D de bonne qualité sont plutôt onéreux, nous avons remarqué que sur les sites marchands, il y a beaucoup de particuliers qui se séparent de leur kinect xbox360 à très bas prix, pourquoi pas les recycler ?
Alors nous avons eu l'idée d'implémenter le driver de la kinect sur Felly afin que tous les (futurs) contributeurs puisse tester physiquement chez eux (indoor) le logiciel Felly. Pourquoi pas s'amuser avec des petits projets sur roues à la maison !
Chose faîte : vidéo
En contact avec le développeur, cette nouvelle mise à jour de Tzu3D permet de perfectionner la projection des nuages de points avec plusieurs instances de lidars et de caméras 3D. Une mise à jour qui se perfectionne, où il est possible d'afficher une infinité de nuages de points (Bien plus que 2 000 000...)
Nous nous forçons à utiliser de vieux GPU (Intel HD4000, GTX970 ...) pour perfectionner le code avant de perfectionner le matériel. (GTX1050Ti, GTX1080Ti ...)
L'essai à été réalisé sur un terrain près de l'aéroport de St Priest, le but étant de tester simplement l’accélération et la tenue de trajectoire.
Assisté par un STM32F4 contrôlant pédale + volant, le tout orchestré depuis un PC qui à le rôle de percevoir son environnement et transmettre les informations de vitesse et angle de direction.
Le logiciel de guidage n'étant pas une perfection, la reprise du projet Felly avec une nouvelle mise à jour du moteur 3D est en cours de réflexion.....
Retrouvez-donc un aperçu de l'essai du prochain montage « J'ai acheté une bluecar » ici : vidéo
Après 9 mois d'arrêt, le projet reprend petit à petit !
Au programme, le développement d'un calculateur (E)VCU expérimenté sur un carte électronique STM32F4. Équipé d'un CAN BUS, Ethernet, firmware fait maison sous une version minimale de FreeRTOS (multithreading à préemption + temps réel). Ce dernier équipera la Peugeot 205, dépourvus de calculateur. Avec quelques modifications mécaniques, ce projet serait donc axé sur la possibilité de contrôler le carburateur (air/essence), le frein, les feux, clignotants du véhicule. Ainsi que la robotisation de la boîte à vitesse et de la direction.
La préfecture du Rhône, Auvergne Rhône-alpes n'a pas encore des éléments concrets (n'existe pas encore) sur la légalisation de circulation sur voie publique d'un véhicule ancien modifié et autonome. Nous avons lancé une requête qui est en cours.
Les modifications mécaniques seront donc pour le moment, modulaires (possibilité de retirer facilement les éléments physique/électrique non-homologué) pour des raisons évidentes autour de la loi Française concernant un véhicule modifié. Le passage aux mines serait donc une étape à prévoir quand la préfecture aura traité le sujet. L'installation mécanique serait donc enfin définitive. ✅
Beaucoup de changements !
SPinti Software est en cours de conversion vers une SAS (Société Action Simplifiées). Notre projet ThiefShell prend de plus en plus d'ampleur, afin d'assurer notre budget, ainsi que du gain de temps pour son industrialisation et sa commercialisation, nous avons décidé de mettre en pause le projet de Felly. Jusqu'en octobre.
Les dépenses pour le projet Felly (Capteurs, cartes électroniques...) ne peuvent pas être assurées en parallèle.
Le logiciel Felly reprendra donc ses activités de développement d'ici la fin d'année 2021.
A très bientôt ! 😉
Afin d'exploiter pleinement les shaders des GPUs, nous avons réécrit le module de perception de zéro en se basant sur le moteur 3D de bas niveau Sokol/GZE sous DirectX 12.
Tzu3D sera finalement exploité pour le module de fusion 3D, moins gourmand en puissance.
Nous développons une solution qui permet d'exploiter Felly sur des GPUs d'anciennes générations tel que les série Nvidia GTX 700 de 2014 afin d'assurer un code très optimisé pour faire face à la loi de Moore et l'évolution des GPU sur du très long terme. Ce qui permet d'explorer des solutions a très bas coût et ne pas se reposer sur les dernières générations de GPUs sans optimiser le code.
Ce module va permettre, aux informations perçues tel que le module Perception (capteurs, lidar, sonar), Navigation (GPS, boussole, gyroscope), Vision (Reconnaissance IA, tracés au sol...), d'être FUSIONNEES dans ce module. Le rassemblement de ces informations va permettre au module décision d'avoir tout ce qu'il faut pour fonctionner correctement.
Ce prototype équippée d'une batterie, va permettre de tester le logiciel et ses petit ajustement dans les locaux ou dans une petite cours, sans à devoir sortir uns des véhicules du garage. Il comporte un moteur électrique, d'une direction assisté par un contrôleur programmable, d'un PC, GPU Nvidia, chargeur de batterie interne, et des capteurs (Lidar, sonar, caméra 3D)
Cette fonctionnalité permet de transmettre le moins d'informations possible au module de décision sur les détails qui n'ont pas d'importances. Ce qui permet par exemple de transformer le relief détaillé d'une voiture en un gros cube rectangulaire qui est une informations suffisante. Sur l'image du centre, on peut perçevoir l'angle d'une porte (entouré en noir), comportant une cinquantaines de point d'impact. Ces points sont donc alégés par un cube. Et ceci pour tout le reste !