1. Contexte
Récemment, alors que je parlais de la transformation des entreprises de haute technologie dans le domaine de la conduite autonome, plusieurs amis m'ont posé la même question : "Quels sont les postes pour la conduite autonome L2~L4 ? Quel métier spécifique le contenu correspond-il ?" ? Quelles sont les compétences nécessaires ? "Aujourd'hui, je vais partager sur ce sujet que tout le monde veut connaître.
Tout d'abord, introduisons le schéma fonctionnel du système de conduite autonome (version simplifiée) pour donner à chacun un concept global de conduite autonome
- Ensuite, nous l'introduirons en deux catégories : les ingénieurs algorithmiques et les ingénieurs non algorithmiques.
- Ingénieur en algorithme
- Ingénieur en algorithme SLAM laser
- Ingénieur en algorithme SLAM visuel
- Ingénieur en algorithme de fusion multi-capteurs
- Ingénieur en algorithme d'apprentissage automatique
- Ingénieur en algorithme de vision par ordinateur
- Natur al Ingénieur en algorithme de traitement du langage
- Décision Ingénieur algorithmique
- Ingénieur algorithmique de planification
- Ingénieur algorithmique de contrôle
- Ingénieur non algorithmique
- Ingénieur développement de plateforme logicielle
- Ingénieur système
- Ingénieur sécurité fonctionnelle
- Ingénieur étalonnage
- S ingénieur environnement imitation
- Ingénieur de test
- Ingénieur de données
- Ingénieur de développement d'interface utilisateur
- Ce qui suit est une introduction détaillée aux responsabilités du poste et au contenu requis pour apprendre pour chaque poste
2. Ingénieur d'algorithmes
2.1. Ingénieur
- Présentation du poste :
- Collectez les données des capteurs laser et construisez une carte de l'environnement environnant du véhicule autonome sur la base de données de nuages de points.
- Responsable de la conception et du développement d'algorithmes SLAM basés sur des capteurs laser, capables de mettre à jour et de produire des cartes de haute précision couvrant diverses scènes complexes.
- Exigences de compétences :
- Utiliser la programmation c, c++ ;
- Exiger une connaissance des algorithmes de filtrage : ESKF, EKF, UKF, etc.
- En même temps, vous devez apprendre G2O, ceres et d'autres frameworks C++ ; utilisé pour optimiser les fonctions d’erreur non linéaires.
- La familiarité avec les frameworks SLAM open source, tels que GLoam, Kimera, VINS, etc. est préférable.
2.2.2.2.2.2.2.2.2.2.Basé sur VSLAM, développer des algorithmes de navigation et de positionnement autonomes de robots, y compris la construction de modèles de mouvement de robots basés sur le lidar, le gyroscope, l'odométrie, la vision et d'autres fusions d'informations
Exigences de compétences :
Apprenez les algorithmes VSLAM couramment utilisés, tels que ORB-SLAM, SVO, DSO, MonoSLAM, VINS et RGB-D, etc. - Système d'exploitation du robot ROS ;
Nécessite une connaissance des algorithmes de filtrage : ESKF, EKF, UKF, etc. ; ceres et d'autres frameworks C++ utilisés pour optimiser les fonctions d'erreur non linéaires. -
- 2.3. Ingénieur en algorithme de fusion multi-capteurs
-
-
- Présentation du poste :
- Traiter et fusionner les informations provenant de plusieurs capteurs tels que les caméras, le lidar et le radar à ondes millimétriques pour améliorer les capacités de perception environnementale des véhicules à conduite autonome
- Responsable de la détection, du suivi et du suivi des cibles ; sur la fusion d'informations multi-sources. Identification et positionnement ;
- est responsable de l'extraction de caractéristiques environnementales basée sur la fusion d'informations multi-sources, fournissant un support à la construction de cartes et fournissant un support à la navigation et au positionnement basés sur la fusion d'informations multi-sources.
- Exigences de compétences :
- Caméra principale, radar à ondes millimétriques, lidar, navigation inertielle et autres algorithmes d'analyse et de fusion de données connexes
- Baccalauréat ou supérieur en sciences de l'information informatique, en génie électronique ou en mathématiques, avec un ordinateur solide ; théorie Base
- modèle de caméra de précision, géométrie multi-visuelle, principes d'ajustement des bundles, expérience en SfM, télémétrie géométrique et autres projets
- Maîtrise de C/C++, familiarité avec Matlab, bonnes idées de programmation orientée objet et habitudes de codage
- Familiaire avec IMU, GPS, DR et d'autres cadres d'algorithmes de positionnement de navigation inertielle
- Familier avec IMU, GPS, principes du système corporel, caractéristiques matérielles, algorithmes d'étalonnage
2.4.4. Ingénieur en algorithmes d'apprentissage automatique
- Présentation du poste :
- Cette direction est principalement responsable de la conduite des véhicules. L'application des données générées dans le processus en ingénierie est orientée vers la direction de l'analyse des données, telle que l'analyse d'impact du kilométrage du véhicule, la modélisation de l'analyse des mégadonnées, etc.
- Exigences de compétences :
- Python, C/C++
- Apprendre les algorithmes théoriques de base de l'apprentissage automatique, tels que LR, GBDT, SVM, DNN, etc.
- Apprendre la formation de modèles de cadres d'apprentissage automatique traditionnels tels que scikit ; -apprendre ;
- Familier avec les frameworks d'apprentissage profond tels que PyTorch, TensorFlow (partiellement sur les réseaux de neurones), etc.
2.5. Ingénieur en algorithme de vision par ordinateur
- Introduction au poste :
- Cette direction est principalement basée sur des capteurs de caméra, comprenant principalement : la détection de lignes de voie, la détection de véhicules et autres obstacles, la détection de zones carrossables, feux de circulation En attente de la détection des informations routières, etc.
- Exigences de compétences :
- C/C++, Python, OpenCV ;
- Nécessite des algorithmes de base d'apprentissage automatique (réduction de dimensionnalité, classification, régression, etc.)
- Besoin d'apprendre le deep learning, le framework d'apprentissage profond ;
Apprendre l'informatique Méthodes courantes de vision et de traitement d'images (détection d'objets, suivi, segmentation, reconnaissance de classification, etc.). -
2.6. Ingénieur en algorithmes de traitement du langage naturel
- Présentation du poste :
Cette direction est principalement responsable de la reconnaissance vocale dans les scénarios de véhicules, de la conception d'interactions vocales, etc. -
- Exigences de compétences :
Apprendre Algorithme d'apprentissage automatique, algorithme d'apprentissage profond (RNN) - Tâches de base du traitement du langage naturel (segmentation de mots, marquage de parties du discours, analyse syntaxique, extraction de mots clés)
- Besoin d'utiliser des méthodes d'apprentissage automatique telles que le clustering, la classification, régression, tri et autres modèles pour résoudre des problèmes de gestion de texte ;
- Familial avec les frameworks d'apprentissage profond tels que PyTorch, TensorFlow (partie partiellement RNN), etc.
-
2.7. Ingénieur en algorithme de décision
- Introduction au poste :
La prise de décision en matière de conduite autonome consiste à convertir les informations transmises par le module de détection en comportement du véhicule pour atteindre l'objectif de conduite. Par exemple, l'accélération, la décélération, le virage à gauche, le virage à droite, le changement de voie et les dépassements sont tous des résultats du module de prise de décision. Les décisions doivent prendre en compte la sécurité et le confort de la voiture, garantir la sécurité des passagers et atteindre la destination le plus rapidement possible. -
- Exigences de compétences :
c/c++/python, familier avec le système ROS ; - Apprendre les algorithmes de prise de décision couramment utilisés, tels que les machines à états de décision, les arbres de décision, les processus de décision de Markov, POMDP, etc. ; Si vous allez plus loin Si vous voulez apprendre, vous devez être familier avec les algorithmes d'apprentissage automatique (RNN, LSTM, RL), maîtriser au moins un cadre d'apprentissage profond (comme gym ou univers et autres plateformes d'apprentissage par renforcement profond
- ) ; être familier avec les modèles de cinématique et de dynamique des véhicules.
-
- 2.8. Ingénieur en algorithme de planification
- Présentation du poste :
- La planification comprend la planification du trajet et la planification de la vitesse
- Dans l'algorithme de planification, le véhicule autonome détermine d'abord le chemin que le véhicule peut parcourir grâce à la planification du chemin, puis sélectionne le chemin pour déterminer la vitesse de déplacement.
- Exigences de compétences :
- c/c++/python, système d'exploitation de robot ROS (certaines entreprises sont développées en utilisant Matlab/simulink)
- Apprendre des algorithmes de planification de chemin communs, tels que A, D, RRT, etc. ;
Apprenez certaines méthodes de représentation de courbes, telles que : courbe quintique, Clothoïde, spline cubique, B-spline, etc. - Si vous souhaitez en savoir plus, apprenez les algorithmes de prédiction de trajectoire, tels que MDP, POMDP, Came Theory, etc. .;
-
Apprendre les technologies de deep learning et d'apprentissage par renforcement est également un plus, comme RNN, LSTM, Deep Q-Learning, etc. - Avoir une base et une formation théoriques mathématiques, et être familier avec les modèles cinématiques et dynamiques des véhicules.
-
2.9. Ingénieur en algorithme de contrôle
- Présentation du poste :
- Généralement, il est utilisé pour modéliser la dynamique horizontale et verticale du véhicule, puis développer des algorithmes de contrôle pour réaliser le contrôle du mouvement du véhicule, etc.
- Ce poste a plus à voir avec les véhicules, et convient aux constructeurs automobiles traditionnels pour se transformer dans le domaine de la conduite autonome. Pour les partenaires, c'est une bonne opportunité d'entrer.
- Exigences de compétences :
- C/C++, Matlab/Simulink
- Apprendre les bases de la théorie du contrôle automatique et de la théorie du contrôle moderne
- Apprendre les algorithmes PID, LQR, MPC
- Apprendre les modèles cinématiques et dynamiques des véhicules ; une certaine compréhension du châssis de la voiture ;
- Apprendre des logiciels de simulation tels que CarSim
- Apprendre le développement de fonctions auxiliaires de conduite telles que ACC, AEB, APA, LKA, LCC, etc. est un bonus
- Avoir un véritable débogage de véhicule ; l'expérience est également un plus.
3. Ingénieur non-algorithme
3.1. Ingénieur de développement de plate-forme logicielle
- Introduction au poste :
- Concevoir et mettre en œuvre une plate-forme logicielle de conduite autonome, y compris la modification/extension du noyau, la mise en œuvre/l'amélioration du pilote, implémentation/amélioration du middleware, intégration du système, optimisation des performances/consommation d'énergie, tests de stress/stabilité/conformité ;
- Responsable de la construction de l'architecture du système et de l'écriture des pilotes sous-jacents ; , DSP, ARM et autres plateformes) ;
- Aider les ingénieurs en algorithmes à terminer la transplantation, l'intégration, les tests et l'optimisation des algorithmes sur les plateformes embarquées.
- Exigences de compétences :
-
Compétences en programmation C/C++, Python ;
- Avoir une expérience en développement de noyaux ou de pilotes de systèmes d'exploitation embarqués et de systèmes d'exploitation temps réel, familier avec QNX, ROS ;
- Familial avec le débogage et le débogage de logiciels ; outils de débogage ;
- Comprendre les calculateurs et capteurs ADAS des véhicules, tels que les radars, les caméras, les ultrasons et le lidar ;
- Familiarisé avec le service de diagnostic universel (UDS), le réseau de zone de contrôleur (CAN) ; , DoIP, SOME/IP , DDS, MQTT, REST, etc.) est un plus.
-
- 3.2. Ingénieur système
Introduction au poste :
- Responsable de la connexion des besoins des clients avec les développeurs internes Responsable de la construction du cadre du système logiciel de conduite autonome ; , Conception d'architecture logicielle système vérifiable et optimisation des performances en temps réel ;
- Travailler avec les équipes de matériel, d'algorithmes et de tests pour intégrer et optimiser les systèmes de conduite autonomes ;
- Exigences de compétences :
-
- Avoir de solides connaissances théoriques de base en informatique (telles que : contrôle automatique, reconnaissance de formes, apprentissage automatique, vision par ordinateur, traitement de nuages de points)
- Avoir le noyau du système d'exploitation embarqué et le temps réel ; Expérience en développement de système d'exploitation ou de pilote ;Avoir de bonnes compétences en communication et une conscience du travail d'équipe
-
- 3.3.3.3. Ingénieur en sécurité fonctionnelle
-
Introduction au poste :
Supporter la sécurité fonctionnelle du produit tout au long du cycle de vie du produit
- . Responsable de la conception des systèmes de sécurité fonctionnelle des produits de systèmes de conduite sans pilote/autonome et proposer des suggestions d'amélioration des processus existants ; Responsable de l'analyse des dangers (HARA, FMEA, FMEDA, FTA) des systèmes de conduite sans pilote/autonome ; Définition des objectifs de sécurité pour les systèmes de conduite sans pilote/autonome ;
- Responsable de la définition des exigences de sécurité pour les systèmes de conduite sans pilote/autonome ;
- Exigences de compétences :
-
- Maîtrise de la norme ISO26262 et expérience dans la mise en œuvre de projets de sécurité fonctionnelle pour la conduite autonome ; ou les systèmes ADAS ; (Ceux qui travaillent dans la sécurité fonctionnelle dans les usines automobiles traditionnelles et souhaitent changer de carrière peuvent également envisager
- Comprendre FMEA, FMEDA, FMEA-MSR, FTA et autres méthodes correspondantes
-
;
-
- Introduction au poste :
Responsable de l'étalonnage de multi-capteurs pour la conduite autonome, notamment GPS, IMU, LiDAR, caméra, radar et USS, etc. Concevoir et mettre en œuvre des algorithmes d'étalonnage des paramètres internes et externes des capteurs ; , et construire un système d'étalonnage multi-capteurs ;
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!