Bonjour chers auditeurs ! C’est à nouveau l’heure du programme Simulation Grand View Garden ! Aujourd'hui, je vais vous donner une brève introduction à l'industrie de la simulation de conduite autonome.
Tout d’abord, parlons des raisons pour lesquelles la conduite autonome nécessite une simulation. Il y a quelques années, en regardant If You Are the One, l'invitée Huang Lan a déclaré qu'elle n'accepterait la conduite autonome que si les 2/3 des personnes l'acceptaient, ce qui reflétait l'inquiétude du grand public pour la sécurité de la conduite autonome. Afin de garantir la sécurité, les algorithmes de conduite autonome doivent subir de nombreux tests routiers avant de pouvoir être véritablement appliqués à grande échelle. Cependant, les tests des systèmes de conduite autonome sont très « coûteux » : le temps et les coûts en capital sont énormes, donc les gens espèrent déplacer autant de tests que possible vers des systèmes informatiques, utiliser la simulation pour exposer la plupart des problèmes du système de conduite autonome, et réduire la demande d'essais routiers sur site, nos emplois sont donc apparus.
Le scénario de simulation est le cas de test du système de conduite autonome. Selon la classification du China Automotive Technology and Research Center, les scénarios de tests de conduite autonome peuvent être divisés en quatre grandes catégories : [scénarios de conduite naturelle] [scénarios de conditions de travail dangereuses] [scénarios réglementaires standards] [scénarios de réorganisation des paramètres] : scénarios de conduite naturelle sont dérivés des conditions réelles de la voiture. L'état de conduite naturel est la source de données la plus fondamentale pour la construction de scénarios de tests de conduite autonome. Les scénarios de conditions de travail dangereuses incluent principalement un grand nombre d'environnements météorologiques extrêmes, un trafic routier complexe et des accidents de la route typiques, tels que ; la base de données CIDAS ; des scénarios réglementaires standard sont utilisés pour vérifier l'efficacité de la conduite autonome. Un scénario de test de base consiste à construire un scénario de test à travers les normes et procédures d'évaluation existantes, dans le but de tester les capacités de base que devraient avoir les véhicules autonomes lors de la réorganisation des paramètres ; Le scénario consiste à paramétrer et à compléter les scénarios de simulation existants. La génération aléatoire ou la réorganisation automatique des scénarios de simulation présente les caractéristiques d'illimité, d'évolutivité, de traitement par lots et d'automatisation.
Le processus de création d'une bibliothèque de scènes peut être grossièrement divisé en [Collecte de données] : c'est-à-dire les données routières réelles et les données réglementaires, etc., [Traitement des données] : c'est-à-dire extraire des caractéristiques des données et les combiner pour former des scénarios, et [Données d'application] : tester la bibliothèque de scènes et fournir des commentaires.
À l'heure actuelle, la génération de scènes de conduite naturelles peut être fondamentalement automatisée : le véhicule de collecte collecte des données selon un certain format, l'algorithme filtre les données des fragments clés qui peuvent être utiles, l'algorithme calcule les trajectoires de la voiture et d'autres véhicules environnants dans les données de fragment, puis écrivez la trajectoire dans un fichier de description de scène, tel qu'un fichier de scène au format OpenScenario. De nombreux logiciels de simulation existants peuvent utiliser directement le fichier de scène ainsi obtenu pour la simulation. Il convient de noter que dans ce cas, ce qui est restitué dans le logiciel de simulation n'est que la « logique » de la scène minière réelle. Les participants à la scène portent le « gilet » du modèle de véhicule dans la bibliothèque de modèles 3D du logiciel de simulation. et des scènes mises en scène de la vie réelle. En d'autres termes, la scène ainsi restaurée peut certainement satisfaire au test de l'algorithme de contrôle, mais elle ne peut pas restaurer les informations de détection du capteur à ce moment-là, car après tout, le véhicule au premier plan et l'arrière-plan sont toujours joués par le modèle tridimensionnel. du logiciel de simulation. Maintenant, si vous souhaitez restaurer les informations de détection du capteur, vous pouvez appliquer NERF.
Alors, quels types de scénarios de simulation sont utiles ? La restauration des données de conduite naturelle collectées par les véhicules d’essai routier est considérée comme la plus proche des conditions routières réelles et très aléatoire. Mais ne dit-on pas que l’essai routier actuel prend trop de temps pour suivre le trajet ? Cela nous oblige à traiter les données des essais routiers, à extraire l'identification des usagers de la route, puis à les réorganiser et à les combiner pour former une scène aléatoire basée sur des données réelles.
Par exemple, le journal populaire de Baidu a présenté en 2019 son système de simulation AADS : dans ce système, une voiture équipée de caméras lidar et binoculaires est utilisée pour scanner la rue pour obtenir tous les matériaux pour la simulation de conduite autonome, puis automatiquement en panne. les images d'entrée en arrière-plan, en éclairage de scène et en objets de premier plan. Grâce à la technologie de synthèse de vue, le point de vue peut être modifié sur un arrière-plan statique pour générer des images réelles sous n'importe quelle perspective, simulant ainsi le mouvement d'une voiture marchant dans différents environnements. Alors comment prouver l’efficacité de ces scénarios de restructuration ? L'article mentionne une méthode d'évaluation comparant les effets de reconnaissance des algorithmes de perception dans des scènes virtuelles et des scènes réelles. Il est également intéressant d'utiliser les performances de l'objet mesuré pour évaluer des outils de mesure. Plus tard, certaines recherches NERF appliquées à la conduite autonome ont également utilisé cet ensemble d'idées, comme UniSim.
Je crois personnellement que quelle que soit l'efficacité du scénario de simulation de données de conduite naturelle, il ne convient que pour tester certains algorithmes : quelle que soit la manière dont cette méthode est utilisée, les trajectoires des objets environnants sont enregistrées et ne peuvent pas être modifiées en fonction du comportement. du véhicule. C'est comme la différence entre un film et un jeu. Les scènes du film ne peuvent être jouées, mais le jeu peut changer la scène en fonction de l'interaction.
Peut-être que dans un avenir proche, combinée à la simulation du flux de circulation et aux données réelles, la génération de scènes aléatoires pourra créer par lots des scènes de simulation cohérentes avec les conditions de circulation réelles et pouvant également changer en fonction du comportement du véhicule.
On peut dire que la bibliothèque de scènes dont nous avons parlé précédemment prépare des données pour les tests de simulation de conduite autonome, le travail de développement de simulation consiste donc à créer ou à améliorer des outils.
Le développement de simulation comprend probablement les aspects suivants :
Enfin, je pense qu'il peut y avoir un 8ème point avec des exigences plus avancées : la possibilité de "ne cliquer nulle part". Par exemple, et si votre objet testé n'était qu'une partie du cadre des fonctions de conduite autonome ? Pouvez-vous utiliser des algorithmes open source pour remplir le reste et laisser fonctionner la « boucle fermée » ?
Avec les données et les outils requis pour le test de simulation de conduite autonome, l'étape suivante est le test de simulation. Aujourd'hui, nous présentons principalement plusieurs liens de tests de simulation courants.
J'ai tellement dit dans les sections précédentes, qui présentent toutes notre industrie en général. Ce sont tous des éléphants que moi, une personne aveugle, j'ai découvert dans cette section. parlera de ce que nous faisons tous les jours en général. Ces tâches quotidiennes sont bien entendu incluses dans les deuxième et troisième sections :
Autre point 6. [Analyse des exigences] : En tant qu'ingénieur de développement de simulation, vous devez être la personne qui connaît le mieux les outils que vous utilisez, donc une fois que les clients (internes et externes) ont de nouveaux besoins, l'ingénieur de développement de simulation doit être capable de concevoir des solutions techniques, de proposer des exigences logicielles et matérielles et des plans de projet en fonction des besoins et des conditions spécifiques de l'objet testé. Ainsi, parfois, vous devez effectuer à la fois un travail de gestion de produit et de projet.
Le mot « pile technologique » semble très étranger, mais en fait, ce poste devrait tout savoir. Il y a longtemps, j'ai regardé une série télévisée dans laquelle un médecin des urgences se moquait de lui-même : nous sommes comme de l'huile de serpent et ce sont les autres chirurgiens qui ne peuvent jamais changer. J'ai toujours pensé que les ingénieurs en simulation sont comme les médecins urgentistes des hôpitaux. Ils ont besoin de tout savoir : quel algorithme tester, et tout sauf cet algorithme doit être préparé, y compris la navigation et le positionnement, la planification des contrôles, le traitement des données, l'étalonnage des paramètres, etc. Astronomie et géographie, divination médicale, astrologie, peinture sur or, groupes de jugement et saules... vous n'avez pas besoin de demander une explication détaillée, et répondre rapidement aux besoins des tests d'algorithmes est le plus important.
Cette soi-disant « vue d'ensemble » est l'avantage des ingénieurs en simulation, mais ce n'est qu'avec une véritable compréhension de l'algorithme que nous pouvons effectuer un travail de simulation qui peut réellement contribuer à améliorer l'algorithme, et nous pouvons aller plus loin. Je vais trop loin, ramenons-le :
Ce qui précède n'est que mon résumé personnel, vos collègues sont invités à l'ajouter ici !
Pour compléter l'article, je présenterai également brièvement dans cette section quelques logiciels de simulation couramment utilisés sur le marché (ce n'est vraiment pas une publicité ! Ne vous découragez pas s'il ne figure pas dans la liste).
Enfin, encore un lgsvl : A l'origine, l'avantage de lgsvl c'est qu'il est mieux intégré à Apollo, mais j'ai entendu dire que le lgsvl officiel a abandonné ce projet, je vous conseille donc d'abandonner cet écueil.
Je crois que grâce à mon introduction dans les cinq premières sections, les élèves des écoles intelligentes peuvent déjà comprendre le parcours d'apprentissage pour devenir ingénieur en simulation de conduite autonome, et en critiquant le contenu de mes cinq premières sections, Les jeunes collègues peuvent également apprendre à progresser. Mais dans cette section, j'écris encore quelques compréhensions superficielles à cet égard.
Je l'ai déjà dit, je pense que vous pouvez également voir que la simulation de conduite autonome est un domaine multidisciplinaire qui peut accepter des étudiants de nombreuses disciplines, y compris, mais sans s'y limiter : ordinateur/contrôle/robot/machine/véhicule. /Électronique de puissance, etc.
En termes d'expérience et de technologie, je vais essayer d'énumérer quelques exigences du poste :
L'industrie actuelle de la conduite autonome connaît de grandes fluctuations, mais en résumé, les principaux types d'entreprises qui peuvent faire appel à des ingénieurs en simulation sont les types d'entreprises suivants : les OEM, qui intègrent principalement des logiciels de simulation de moulage d'application, mais les nouvelles forces doivent essentiellement faire leurs propres recherches ; les fournisseurs de solutions de conduite autonome, c'est-à-dire les algorithmes de niveau 1, peuvent également être pour la plupart des simulations auto-développées ; les sociétés de logiciels de simulation viennent de démarrer dans ce domaine en Chine, et ce sont essentiellement des start-ups.
À la fin de cette section, je parlerai de mon expérience de « passage » des machines traditionnelles. L'école où j'ai obtenu mon master possède une forte culture du transcodage. Parmi les étudiants chinois qui sont entrés dans l'école supérieure de mécanique de ma classe, environ soixante-dix-huit sur dix se sont engagés dans l'industrie informatique après l'obtention de leur diplôme. En raison du système de sélection de cours relativement souple, les étudiants sont encouragés à suivre autant de cours que possible à l'École d'informatique. Ainsi, au cours de ces deux années, de l’huile d’onction était brûlée pour conserver le cadran solaire, et la pauvreté était la norme. Mais je ne me souviens pas si j’avais besoin de réussir l’examen pour trouver un emploi. En un mot, comment les machines se transforment-elles en ordinateurs : obtenez un demi-diplôme en informatique. En fait, à cette époque, non seulement la mécanique, mais toutes les spécialisations changeaient, et il ne s'agissait pas seulement des étudiants chinois, mais des gens du monde entier.
Mais avec le recul, j'ai réalisé que je n'étais pas dans la même situation, j'ai donc raté la meilleure opportunité de transformation. Lorsqu’il s’agit d’auto-apprentissage, c’est beaucoup plus difficile : le plus important est qu’il n’y a pas de temps, ce qui nécessite du matériel et des méthodes d’apprentissage efficaces. Donc, relativement parlant, les cours en ligne sont plus efficaces, après tout, il y a des professeurs pour vous guider. Les cours de Coursera sont bons, mais ils semblent relativement chers. Ces dernières années, il y a eu de plus en plus de ressources réseau open source, mais les cours suivis ne sont pas trop raffinés. Après tout, les ordinateurs sont les plus pratiques et les plus faciles à mettre en pratique. Il existe également de nombreux livres informatiques classiques, tels que les structures de données et les algorithmes, l'introduction au C++... Je n'en ai jamais lu. Certaines choses sont vraiment perdues une fois manquées.
En fait, je pense que l'un des moyens les plus simples de se transformer est de s'engager directement dans un travail lié à l'informatique. Le moyen le plus rapide d'augmenter la demande est de résoudre les problèmes d'orientation et de temps d'apprentissage que j'ai mentionnés ci-dessus. Cependant, s’il y a un problème de performances inférieures aux normes à cause de cela, faites comme si je ne l’avais pas mentionné.
NERF fait des vagues dans le domaine de la conduite autonome avec des mots chauds émergents tels que « boucle fermée de données », « grand modèle » et « de bout en bout ». En quelques années seulement, NERF n'est plus le simple rendu MLP+volume qu'il était à ses débuts. Il existe différents supports pour stocker les informations spatiales : tables de hachage, grilles de voxels, fonctions gaussiennes multidimensionnelles... De nouvelles méthodes d'imagerie sont également apparues. émergeant à l'infini : U-net, CNN, rastérisation... le sens de la conduite autonome n'est qu'une petite branche applicative de NERF.
Lorsque NERF sera appliqué à la simulation de conduite autonome, il sera principalement confronté aux problèmes suivants :
La méthode de collecte de données de conduite autonome fait que la portée de la scène est "non fermée" : les scènes extérieures contiendront un grand nombre de vues distantes. , ce qui constitue un problème pour le stockage des informations spatiales de NERF. C'est un grand défi ; les scènes de conduite autonome contiennent un grand nombre d'objets dynamiques, et NERF doit être capable de gérer la séparation des objets dynamiques et statiques (ou du premier plan et de l'arrière-plan) ; Les modèles NERF n'ont généralement pas de capacités de transfert, et chaque scène peut nécessiter la formation d'un modèle NERF distinct, et la formation du NERF est encore relativement lente, il y a donc encore des problèmes dans l'application à grande échelle du NERF sur les données de conduite autonome.
Cependant, j’attends toujours avec impatience et je crois que NERF apportera un développement perturbateur à la simulation de conduite autonome, éliminera à terme le fossé de domaine dans l’algorithme de perception de la simulation, et fera même plus. À en juger par les informations que j'ai apprises, NERF apportera au moins les avancées suivantes :
La nouvelle capacité de synthèse d'images en perspective de NERF peut améliorer l'ensemble de données d'entraînement de l'algorithme de perception : elle peut générer de nouveaux paramètres internes du capteur (équivalent à changer la configuration du capteur) , des images externes, des nuages de points lidar et d'autres données sous le paramètre (trajectoire modifiée du véhicule autonome) peuvent fournir davantage de données de formation pour l'algorithme de perception. À cet égard, vous pouvez vous référer à des recherches telles que StreetSurf et UniSim. Lorsque les objets dynamiques seront modifiables, NERF pourra à l’avenir générer des situations extrêmes ciblées et des scénarios de situations aléatoires pour compléter les lacunes des simples tests de conduite et de WorldSim. Si NERF peut résoudre efficacement en même temps la reconstruction de la formation et le rendu en temps réel des scènes au niveau de la ville, alors NERF peut être complètement utilisé comme plate-forme pour les tests de simulation en boucle XIL sans le problème de détection des lacunes dans le domaine des données. et cela favorisera également le développement d'algorithmes de bout en bout. De plus, le modèle NERF peut même être intégré au moteur de jeu sous forme de plug-in (par exemple, le plug-in UE pour 3D Gaussian Splatting a été publié), de sorte que la reconstruction de la scène de rue de NERF puisse être intégrée au système WorldSim original. . S'il est combiné avec de grands modèles dans le sens AIGC, NERF aura plus de possibilités pour générer de nouvelles scènes : l'éclairage, la météo, l'apparence et le comportement des objets, etc. pourront être modifiés arbitrairement.
En tant qu'ingénieur en simulation, je recommande fortement à mes collègues de prêter une attention particulière aux progrès de NERF. Bien que les projets de recherche de NERF en soient encore à leurs débuts, les progrès de l'apprentissage profond deviennent de plus en plus rapides avec l'accélération du matériel.
J'ai tellement écrit de manière diverse, et j'ai encore quelques réflexions à la fin.
Quels sont les pièges du développement de la simulation ? Les pièges techniques ne sont pas abordés ici, mais voici quelques réflexions générales. Il faut donc se méfier de savoir si vous vous impliquez trop dans un travail dénué de sens : réaliser des projets similaires pour différentes personnes ne compte pas, mener à bien chaque projet est précieux si vous n'utilisez pas d'outils prêts à l'emploi et devez faire des recherches personnelles dans le domaine ; à long terme, cela n'a pas d'importance. En calculant, il est utile de rompre avec la dépendance à l'égard d'outils spécifiques ; de nombreuses tentatives de R&D qui se sont révélées par la suite déraisonnables ne peuvent pas être comptées, et l'échec de la R&D est également précieux. Alors, qu’est-ce qu’un travail « dénué de sens » exactement ? C'est une question d'opinion et je ne peux pas bien la résumer.
Et que puis-je faire à partir de cette position ? Si vous avez une compréhension approfondie de l'objet mesuré au travail, vous pouvez essayer de passer à un poste de développement d'algorithmes dans une certaine direction. Vous pouvez également envisager le développement de simulations de robots et de drones.
Il va sans dire que les robots mobiles et la conduite autonome sont similaires. Mentionnons ici les drones. L’industrie des drones n’est certes pas aussi importante que l’industrie automobile, mais elle dispose déjà de sites d’atterrissage, tels que des inspections, des photographies aériennes, des levés et des cartographies, etc. Les drones ont également besoin d'algorithmes de contrôle automatique pour éviter les obstacles, planifier leur trajectoire, etc. Les capteurs utilisés par les drones sont également similaires à ceux des véhicules sans pilote. On peut donc dire que les tests de simulation ont quelque chose en commun : les drones ont également besoin d'une vision perceptuelle riche. les entrées telles que les images et les nuages de points radar nécessitent des modèles dynamiques plus sophistiqués, etc.
Les étudiants qui souhaitent en savoir plus sur la simulation de robots et de drones peuvent commencer avec la plateforme de simulation open source Gazebo (https://classic.gazebosim.org/). Sa demande en ressources informatiques ne sera pas aussi élevée que celle d'Isaac de Nvidia.
Cette année est la onzième année depuis qu'OSRF est devenu indépendant de Willow Garage, et les systèmes d'exploitation de robots ROS et Gazebo ont un historique de développement de plus de 20 ans. Gazebo est progressivement passé d'un outil de recherche scientifique d'un groupe de recherche diplômé à un outil logiciel de simulation indépendant avec 11 versions et 7 versions d'allumage de deuxième génération aujourd'hui.
Gazebo prend en charge les moteurs physiques tels que ODE et Bullet. Il utilise OGRE comme moteur de rendu pour créer un environnement tridimensionnel et simuler les informations provenant de divers capteurs tels que les caméras et le lidar. Il propose une riche gamme de modèles de robots : des bras robotiques aux robots à roues, en passant par les robots humanoïdes. Plus important encore, Gazebo fournit naturellement une prise en charge complète des algorithmes sous la plate-forme ROS : après tout, si vous téléchargez et installez une version de bureau complète de ROS, Gazebo l'accompagne. Bien sûr, en tant que logiciel open source, Gazebo ne fournit qu'un point de départ. Ses fonctions sont équilibrées, mais il est approximatif et pas assez approfondi dans tous les aspects. Mais tout comme Taizu Changquan, Qiao Feng sera toujours différent lorsqu'il l'utilisera dans le village de Juxian.
Je suis entré en contact avec Gazebo quand j'étais à l'école. Plus tard, j'ai travaillé dans la simulation de robots et j'ai utilisé Gazebo jusqu'à ce que je passe à la conduite autonome. C'est comme si Gazebo et moi étions camarades de classe. Nous étions jeunes et ignorants à cette époque. Après avoir travaillé, elle et moi nous sommes revus et avons décidé de renouveler notre relation. Nous étions inséparables depuis plus de deux ans. Maintenant que nous avons plus de 30 ans, je lui ai laissé un message : je veux avoir un meilleur développement, alors je. je la quitterai... Maintenant, je ne dirai qu'une chose quand je lui dirai au revoir : Ça fait longtemps que je ne vois pas...
Lien original : https://mp.weixin.qq.com/s/_bOe_g3mqoobJUbFS3SNWg
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!