Started creating the Python aircraft development library IAEA. -Chapter 1-

Aircraft Development Library IAEA


Nice to meet you, I'm muratatatsuro, a new graduate first year engineer. This is a year or two (probably it) to build an aircraft development library (I want to be OSS) by a man who loves aircraft, longs for electrification, is obsessed with autonomous and autonomous driving, and is immersed in python and optimization. It's an introduction to the struggle (I think it can be done in about). Learn or Die !!

How I decided to make it

During graduate school, I was researching the conceptual design and optimization of electrically driven aircraft called electrified aircraft. However, until graduate school, integrated design was only an engine optimization that was just a name, so we created optimization and design tools including aircraft, and an environment where other people could easily touch the aircraft that will lead the new era. I wanted to build and get interested. In addition to this, I am interested in autonomous driving and autonomous driving, experience the optimum road search at the simulation level for the actually designed aircraft (especially small scale ones), and complete the process from design to operation simulation I thought it would be interesting if there was a conceptual design environment for.

Library overview

** IAEA ** (Integrate Analytical Environment for Aircraft) is a Python library that allows you to conceptually design aircraft and engines in an integrated manner (although it is not yet completed). In addition to the integrated design of aircraft and engine, 2D including optimization framework and optimization calculation verification framework including evolutionary computation system, and autonomous driving support that combines SLAM and deep reinforcement learning. It will be an excellent one (?) Equipped with a flight simulator.

The created library is published on the following Github (to be exact, it will be published). This will surely be wonderful in a year. --Sorry, the path to the repository was incorrect, so I corrected it. (2020 5/16)  IAEA Github repository The only required libraries are numpy, matplotlib, and pandas machine learning 3 types of sacred treasures (should). With this aircraft library, you can make such an aircraft and evaluate its performance, concept diagram, and even economic efficiency! !!



Blended Wing Body


Air Taxi(Drone)


Hyper Sonic

Hyper Sonic

Aircraft and engine form

The aircraft and engines handled in this library will be explained. I am strangely familiar with aircraft engines because my laboratory in graduate school was a jet engine system.

--Aircraft --Normal type --Narrow body machine --Cessna machine -[Wing Body Integrated Aircraft (BWB)]( % 83% 83% E3% 83% 89% E3% 82% A6% E3% 82% A3% E3% 83% B3% E3% 82% B0% E3% 83% 9C% E3% 83% 87% E3% 82 % A3) -[Hypersonic Passenger Aircraft (Hyper Sonic)]( 80% 81% E6% A9% 9F) --Drone (UAV) / Flying car (Air Taxi) --Propeller machine --Engine -[Turbojet Engine]( E3% 83% 83% E3% 83% 88% E3% 82% A8% E3% 83% B3% E3% 82% B8% E3% 83% B3) -[Turbofan Engine]( E3% 83% B3% E3% 82% A8% E3% 83% B3% E3% 82% B8% E3% 83% B3) -[Turboprop engine]( E3% 83% 83% E3% 83% 97% E3% 82% A8% E3% 83% B3% E3% 82% B8% E3% 83% B3) -[Geared Turbofan Engine]( % E3% 83% BC% E3% 83% 9C% E3% 83% 95% E3% 82% A1% E3% 83% B3% E3% 82% A8% E3% 83% B3% E3% 82% B8% E3 % 83% B3) --Electric fan --Turbo Electric Engine (TeDP) --Partial electric engine --All Electric -Hydrogen Fuel --Solar battery --Partial hybrid engine --Hybrid engine --Parallel hybrid engine

In this library, not only conventional aircraft, but also ** flying vehicles **, ** wing-body integrated aircraft **, ** supersonic aircraft **, and a wide range of engines, only turbo engines. Instead, the specifications will be such that performance can be calculated at the conceptual design level, including those equipped with ** batteries ** and those using ** hydrogen fuel ** and ** solar batteries **. (Almost all of this part was implemented during the research.) I would like to explain the details of each when it is implemented.

Module overview

There are 7 modules. The specifications are detailed in, so please read it.

  1. Aircraft performance calculation --Aerodynamic performance (lift-drag ratio) --Weight --Shape
  2. Engine performance calculation --Fuel efficiency / thrust --Weight --Shape
  3. Optimization (evolutionary computation) --Evolutionary computation (multipurpose optimization)
    • NSGA2(Non-dominated Sort Genetic Algorithm 2)
    • PSO(Partial Swarm Optimization)
    • CMAES(Covariance Matrix Adaptive Evolution Strategy)
  4. Machine learning support (neural network)
  5. Optimization result analysis --Visualization of evolutionary computation population --Cost calculation (economics) --Optimization result heat map --Aircraft / engine visualization --Self Organized Map
  6. Flight simulation environment (I'm thinking about 2D for now, but if I have the technical ability, I'll make it 3D)
  7. Autonomous driving support (SLAM and deep reinforcement learning)

Theoretically, it is suspicious, but noise is also a close research theme, so I would like to include the field of ** noise ** (environmental compatibility) in the optimization result analysis. (Wish) Also, when creating an aircraft database, I have to enter parameters, but I want to extract values from image segmentation using ** Mask-RCNN ** and automate them, but I can't because I don't have a GPU (I can't) Crying)

Implementation flow

I would like to subdivide it and show the implementation flow including mathematical formulas and theory. For now, I'm thinking

  1. What are aircraft and engines?
  2. What are design variables and objective functions in aircraft / engine integrated design?
  3. Let's actually draw the aircraft!
  4. Let's actually draw the engine!
  5. Let's visualize the flow to find the objective function!
  6. Engine performance calculation (cycle analysis)
  7. What is the weight model of the engine?
  8. How do you expect the aerodynamic performance of an aircraft?
  9. What is the weight model of an aircraft?
  10. Let's integrate aircraft calculation and engine calculation!
  11. Evolutionary computation and multipurpose optimization
  12. Let's optimize the integrated environment for multiple purposes!
  13. Let's visualize the result of optimization!
  14. What is the economics of an aircraft?
  15. Simplified and faster integrated environment (neural network)
  16. Let's create a 2D obstacle environment!
  17. What is SLAM?
  18. Deep Reinforcement Learning Tutorial
  19. Autonomous driving with SLAM
  20. Finding the optimal route with deep reinforcement learning

Feel like it! If you don't develop at the level of posting 2 posts a month, it won't end ... It's a long time, but if you're interested, please read it ~~

Evaluation method

I developed it with much effort, but it doesn't make sense if it deviates significantly, right? I think you can hear the voice. I would like to perform performance calculation and optimization for an actual aircraft and engine combination (a combination of a narrow body machine and a turbofan engine is common in modern times), and compare the published data with the actual optimization result. think. If it comes off too much, I will tune the model!

Development progress

It seems that the basic specifications have been completed for aircraft and engine performance calculation modules, optimization method modules, optimization result visualization modules (other than aircraft and engine visualization), and machine learning support modules. I will rewrite this area neatly.

Currently, we are creating a drawing class for an aircraft. An example will be shown.

Drone 1 drone_center_1.png

Drone2 drone_edge_1.png

Normal normal_1.png

BWB BlendedWingBody.png!

** Hydrogen / Hyper sonic ** hydrogen_side_fuselage_another.png

The round one is the engine, and the shape of the wings and fuselage is being reproduced. We will continue to upgrade from here. For details, see the chapter on aircraft drawing ~~.


If you like, please try to create a program together. Basically, in this library implementation, I would like to proceed without using advanced mathematics such as differentiation and integration. In addition, the performance calculation part becomes a bottleneck (especially the part that estimates engine performance calculation and aircraft shape), so for that part, Cython after implementing the optimization module It may be reimplemented by en / latest /) or C ++. For those who are learning Python together, the preparations are as follows.

-Python3 installation article (Mac OS), Python3 installation article (Windows10) /windows/install_py3.html) -Installation of numpy, matplotlib -PyCharm, [Visual Studio Code]( /), Install Anaconda


Wikipedia Airbus A320 NASA Langley Research Center Homepage [Joby Aviation aiming for flying taxi business raises 65 billion yen led by Toyota]( -led-by-toyota-to-launch-an-electric-air-taxi-service /) JAXA Aerospace Technology Division

Recommended Posts

Started creating the Python aircraft development library IAEA. -Chapter 1-
[Python] How to import the library
Checking the NAOqi Python development environment
[Python] Chapter 03-01 turtle graphics (creating a turtle)
[Python] Chapter 04-06 Various data structures (creating dictionaries)
What is "mahjong" in the Python library? ??
The strongest Python development environment PyCharm's recommendation
The strongest Python integrated development environment PyCharm
started python
How to use the C library in Python
Introduction to Python Let's prepare the development environment
Aggregate test results using the QualityForward Python library
The contents of the Python tutorial (Chapter 4) are itemized.
The contents of the Python tutorial (Chapter 2) are itemized.
The contents of the Python tutorial (Chapter 8) are itemized.
The contents of the Python tutorial (Chapter 1) are itemized.
The contents of the Python tutorial (Chapter 10) are itemized.
[Python of Hikari-] Chapter 08-04 Module (Installation of external library)
[Introduction to Python3 Day 20] Chapter 9 Unraveling the Web (9.1-9.4)
Manage AWS nicely with the Python library Boto
[Python for Hikari] Chapter 09-02 Classes (Creating and instantiating classes)
A memorandum about the Python tesseract wrapper library
The contents of the Python tutorial (Chapter 6) are itemized.
The contents of the Python tutorial (Chapter 3) are itemized.
Use the LibreOffice app in Python (3) Add library
[Modint] Decoding the AtCoder Library ~ Implementation in Python ~