Début de la création de la bibliothèque de développement d'avions Python IAEA. -Chapitre 1-

Bibliothèque de développement d'aéronefs AIEA

introduction

Ravi de vous rencontrer, je suis muratatatsuro, un nouvel ingénieur diplômé de première année. Cela fait un an ou deux (probablement lui) pour construire une bibliothèque de développement d'avions (je veux être OSS) par un homme qui aime les avions, aspire à l'électrification, est obsédé par la conduite autonome et automatisée, et est plongé dans le python et l'optimisation. C'est le début du disque de lutte (je pense que cela peut être fait à peu près). Apprendre ou mourir !!

Comment j'ai décidé de le faire

Au cours de mes années d'études supérieures, je faisais des recherches sur la conception et l'optimisation d'avions à propulsion électrique appelés avions électrifiés. Cependant, jusqu'aux études supérieures, la conception intégrée n'était faite qu'avec l'optimisation du moteur, qui n'est qu'un nom, nous avons donc créé des outils d'optimisation et de conception, y compris des avions, et un environnement où d'autres personnes peuvent facilement toucher l'avion qui mènera la nouvelle ère. Je voulais que vous construisiez et que vous vous intéressiez. En plus de cela, je m'intéresse à la conduite autonome et à la conduite automatique, expérimente la recherche de route optimale au niveau de la simulation pour les avions réellement conçus (en particulier les avions à petite échelle), et complète le processus de la conception à la simulation d'exploitation. J'ai pensé que ce serait intéressant s'il y avait un environnement de conception conceptuelle pour.

Aperçu de la bibliothèque

** IAEA ** (Integrate Analytical Environment for Aircraft) est une bibliothèque Python qui vous permet de concevoir conceptuellement des avions et des moteurs de manière intégrée (bien qu'elle ne soit pas encore terminée). En plus de la conception intégrée de l'avion et du moteur, le cadre d'optimisation comprenant le système de calcul d'évolution et le cadre de vérification du calcul d'optimisation, ainsi que la 2D comprenant un support à la conduite autonome qui combine SLAM et apprentissage par renforcement profond. Ce sera un excellent (?) Equipé d'un simulateur de vol.

La bibliothèque créée est publiée sur le Github suivant (pour être exact, elle sera publiée). Ce sera sûrement merveilleux dans un an. --Désolé, le chemin d'accès au référentiel était incorrect, alors je l'ai corrigé. (2020 5/16)  IAEA Github repository Les seules bibliothèques requises sont numpy, matplotlib et pandas, qui sont trois types de trésors sacrés d'apprentissage automatique (devraient l'être). Avec cette bibliothèque d'avions, vous pouvez fabriquer un tel avion et évaluer ses performances, son schéma conceptuel et même son efficacité économique! !!

Normal

A320

Blended Wing Body

BWB

Air Taxi(Drone)

AT

Hyper Sonic

Hyper Sonic

Formulaire avion et moteur

Les avions et les moteurs traités dans cette bibliothèque seront expliqués. Je connais étrangement les moteurs d'avion parce que mon laboratoire d'études supérieures était un système de moteurs à réaction.

--Avion --Type normal --Machine à corps étroit -Machine Cessna

Dans cette bibliothèque, non seulement des avions conventionnels, mais aussi des ** voitures volantes **, des ** avions intégrés au corps d'aile **, des ** avions supersoniques ** et une large gamme de moteurs, uniquement des moteurs turbo Au lieu de cela, les spécifications seront telles que les performances peuvent être calculées au niveau de la conception conceptuelle, y compris celles équipées de ** batteries ** et celles utilisant ** l'hydrogène carburant ** et ** les batteries solaires **. (Presque toute cette partie a été mise en œuvre au cours de la recherche.) Je voudrais expliquer les détails de chacune lors de sa mise en œuvre.

Présentation du module

Il existe sept modules principaux. Pour plus d'informations sur les spécifications, veuillez lire specs.py.

  1. Calcul des performances des aéronefs
  1. Calcul des performances du moteur
  1. Optimisation (calcul d'évolution) --Calcul d'évolution (optimisation polyvalente)
    • NSGA2(Non-dominated Sort Genetic Algorithm 2)
    • PSO(Partial Swarm Optimization)
    • CMAES(Covariance Matrix Adaptive Evolution Strategy)
  2. Prise en charge de l'apprentissage automatique (réseau neuronal)
  3. Analyse des résultats d'optimisation --Visualisation de la population évolutive --Calcul des coûts (économie)
  1. Environnement de simulation de vol (je pense à la 2D pour l'instant, mais si j'ai la capacité technique, je vais la faire en 3D)
  2. Aide à la conduite automatique (SLAM et apprentissage par renforcement profond)

Bien qu'il soit suspect en théorie, le bruit est également un thème de recherche proche, je voudrais donc inclure le domaine du ** bruit ** (compatibilité environnementale) dans l'analyse des résultats d'optimisation. (Souhait) De plus, lors de la création d'une base de données d'avion, je dois entrer des paramètres, mais je veux extraire des valeurs de la segmentation d'image en utilisant ** Mask-RCNN ** et les automatiser, mais je ne peux pas car je n'ai pas de GPU (je ne peux pas) Pleurs)

Flux de mise en œuvre

Je voudrais le subdiviser et montrer le flux de mise en œuvre, y compris les formules mathématiques et les théories. Pour l'instant, je pense

  1. Que sont les aéronefs et les moteurs?
  2. Quelles sont les variables de conception et les fonctions objectives dans la conception intégrée d'aéronefs / moteurs?
  3. Dessinons réellement l'avion!
  4. Dessinons réellement le moteur!
  5. Visualisons le flux jusqu'à ce que la fonction objectif soit obtenue!
  6. Calcul des performances du moteur (analyse du cycle)
  7. Quel est le modèle de poids du moteur?
  8. Comment voulez-vous les performances aérodynamiques d'un avion?
  9. Quel est le modèle de poids d'un avion?
  10. Intégrons le calcul avion et le calcul moteur!
  11. Calcul évolutif et optimisation polyvalente
  12. Optimisons l'environnement intégré à des fins multiples!
  13. Visualisons le résultat de l'optimisation!
  14. Quelle est l'économie d'un avion?
  15. Simplification et accélération de l'environnement intégré (réseau neuronal)
  16. Créons un environnement d'obstacles 2D!
  17. Qu'est-ce que SLAM?
  18. Tutoriel d'apprentissage de renforcement profond
  19. Conduite autonome avec SLAM
  20. Trouver l'itinéraire optimal grâce à l'apprentissage par renforcement profond

Envie d'en avoir envie! Si vous ne développez pas au niveau de la publication de 2 articles par mois, cela ne se terminera pas ... C'est long, mais si vous êtes intéressé, veuillez le lire ~~

Méthode d'évaluation

Je l'ai développé avec beaucoup d'efforts, mais cela n'a pas de sens s'il s'écarte considérablement, non? Je pense que tu peux entendre la voix. Je voudrais effectuer le calcul et l'optimisation des performances pour une combinaison avion-moteur réelle (une combinaison d'une machine à corps étroit et d'un moteur turbo-ventilateur est courante dans les temps modernes), et comparer les données publiées avec le résultat d'optimisation réel. pense. S'il se détache trop, je réglerai le modèle!

Progression du développement

Il semble que les spécifications de base soient complétées pour le module de calcul des performances des aéronefs et des moteurs, le module de méthode d'optimisation, le module de visualisation des résultats d'optimisation (autre que la visualisation des avions et des moteurs) et le module de soutien à l'apprentissage automatique. Je vais réécrire cette zone proprement.

Actuellement, nous créons une classe de dessin pour l'avion. Un exemple sera montré.

Drone 1 drone_center_1.png

Drone2 drone_edge_1.png

Normal normal_1.png

BWB BlendedWingBody.png!

** Hydrogène / Hyper sonique ** hydrogen_side_fuselage_another.png

Le rond est le moteur, et la forme des ailes et du corps est reproduite. Nous continuerons à mettre à niveau à partir d'ici. Les détails sont expliqués dans le chapitre sur le dessin d'aéronef ~~.

finalement

Si vous le souhaitez, essayez de créer un programme ensemble. Fondamentalement, dans cette implémentation de bibliothèque, je voudrais continuer sans utiliser de mathématiques avancées telles que la différenciation et l'intégration. De plus, la partie calcul des performances devient un goulot d'étranglement (notamment le calcul des performances du moteur et la partie qui estime la forme de l'avion), donc pour cette partie, Cython après implémentation du module d'optimisation. Il peut être réimplémenté par en / latest /) ou C ++. Pour ceux qui apprennent Python ensemble, la relation de préparation est la suivante.

Les références

Wikipedia Airbus A320 NASA Langley Research Center Homepage [Joby Aviation vise l'activité de taxi volant lève 65 milliards de yens sous l'initiative de Toyota](https://jp.techcrunch.com/2020/01/16/2020-01-15-joby-aviation-raises-590-million -led-by-toyota-to-launch-an-electric-air-taxi-service /) Division de la technologie aérospatiale de JAXA

Recommended Posts

Début de la création de la bibliothèque de développement d'avions Python IAEA. -Chapitre 1-
Vérification de l'environnement de développement NAOqi Python
[Python] Chapitre 03-01 graphiques de tortues (création d'une tortue)
[Python] Chapitre 04-06 Différentes structures de données (création de dictionnaire)
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
L'environnement de développement Python le plus puissant Recommandation de PyCharm
L'environnement de développement intégré Python le plus puissant PyCharm
a commencé python
Comment utiliser la bibliothèque C en Python
Introduction à Python Préparons l'environnement de développement
Agréger les résultats des tests à l'aide de la bibliothèque Python QualityForward
Le contenu du didacticiel Python (chapitre 4) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 2) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 8) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 1) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 10) est résumé dans une puce.
[Hikari-Python] Module Chapitre 08-04 (Installation d'une bibliothèque externe)
[Introduction à Python3 Jour 20] Chapitre 9 Démêler le Web (9.1-9.4)
Gérez bien AWS avec la bibliothèque Python Boto
[Hikari-Python] Chapitre 09-02 Classes (Création et instanciation de classes)
Un mémorandum sur la bibliothèque de wrapper Python tesseract
Le contenu du didacticiel Python (chapitre 6) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 3) est résumé dans une puce.
Utilisez l'application LibreOffice en Python (3) Ajouter une bibliothèque