AI For Product Design Optimization in Aircraft Systems
Overview
In this focused webinar, we will discuss how AI techniques can be used to better a product’s design while working in a multi-disciplinary system.
- Often times, an aircraft sub-system design has to meet multiple design objectives, and it becomes challenging to manually execute trade studies and optimize the design in such a way that all the design requirements are satisfied in quick time.
- With a propulsion system example, we will deep dive into the workflow for low-code reduced order modeling for replicating the physical system response, and further generating a design space for a multi-parameter driven multi-objective system while using data from numerical simulation results.
- We will further learn about how to build design-of-experiments for carrying out trade studies, leverage AutoML capabilities of MATLAB to get an accurate AI model, run multi-objective optimization using AI models and, effectively visualize a design space map.
- Also hear from our Industry expert Mr. Bimal Raj share his rich insights on this topic
About the Presenter
Peeyush Pankaj| Sr. Application Engineer | MathWorks
Peeyush is a senior application engineer at MathWorks, where he promotes MATLAB products for data science. He works closely with customers in the areas of predictive maintenance, digital twins, enterprise integration, and big data. Peeyush has over 11 years of industry experience with a strong background in aviation. Prior to joining MathWorks, he worked on aircraft engine design, testing, and certification. Peeyush holds a master’s degree in advanced mechanical engineering from the University of Sussex, UK. He has filed 25 patents on advanced jet engine technologies and prognostic health monitoring of aircraft engines.
Mukesh Prasad | Application Engineer | MathWorks
Mukesh Prasad is a Principal Application Engineer in MathWorks India and enables engineers & scientists to adopt Model-based Design workflows. He closely works with customers in Aerospace & Defence industry to help them use MATLAB® and Simulink® products for control system design, multi-domain physical modeling, production code generation, test automation and software verification & validation. Mukesh has over 17 years of experience in jet engine control and flight control systems. Prior to joining MathWorks, Mukesh worked as Systems Specialist with Moog India, where he gained hands-on experience in Model-Based Systems Engineering (MBSE) and Test Equipment Design for aircraft applications. He started his career as Scientist at Gas Turbine Research Establishment (GTRE), one of the labs of DRDO, and worked on aircraft engine control design, testing, and certification using model-based design workflows. Mukesh holds a master’s degree in mechatronics engineering from NIT Surathkal while bachelor’s degree in mechanical engineering from NIT Kurukshetra
Recorded: 22 Feb 2024
Good evening to all and welcome to the MathWorks Modern Aircraft Design and Engineering Series. I'm Prashant. I'm part of the marketing team here at MathWorks. And I'll be your host for today. The series aims to provide you insight into some of the most important elements of aircraft design and engineering and how modern applications have evolved to support advanced aerodynamics to proportional systems, both in the commercial and defense domain.
As you can see over here, the series has five topics of which we have covered three of them. And most of you who have registered have already received the recording of these webinars. We really hope the series helps you in your respective project areas and how MathWorks can support.
All right, so good afternoon everyone. So basically, in this part of the webinar, we will be covering how do we do the design optimization of any particular engineering asset of interest, particularly in the context of aircraft systems. So basically, we will first look at what is reduced order modeling, how do we blend in the insights that AI models basically give us in order to achieve the optimal design of a system and specifically in the context of achieving an optimal design for multi-objective system because typically these system engineering projects involve multiple different objectives that a user wants to achieve.
And then basically, there are multiple parameters that you want to control in order to influence the design. So basically, how can we use AI or reduced order model techniques? So that is where we will first leverage some of the use case basically on a turboshaft engine. And while doing so, we will also uncover that how understanding your volume of design space, how it is impacting the optimal design, rather than just running an optimization solver routine on your problem statement is something that we will cover in this webinar.
So to start with, what is reduced order modeling? It is basically a data-driven technique, where basically you can have some historical data, whether it is coming from physics-based simulations or whether it is coming from field data sets, and then use that historical data to model an AI model to reflect the same set of physics insights that actually your simulation results or the fielded asset was giving you.
So we have seen these kind of use cases in different type of requirements basically. So one could be that your simulation setup might be taking a large amount of time. And in complex systems, we have seen that engineers spend days or mostly hours of time in basically running one set of iteration. And that is where large complex systems can take up to days or up to weeks of time. So if any computational block in the system, which is physics-driven and takes a lot of simulation time-- so that is where one can look at replacing that particular physics-based block with an AI driven block.
The other use case could be that some of the nonlinear physics that cannot be explained by your model, but it can be seen using-- I mean, in some test simulation. Then basically that test simulation data can be used to build data-driven reduced order models, and then integrate that reduced order model in your simulation setup. And there could be requirements around simulating hardware in loop simulation and that is where also it can be used.
So there are multiple use cases, if you have a data-driven approach towards it. But in today's webinar, we are going to look at a turboshaft engine use case. In this particular use case, the turboshaft engine is basically having a controller, which will take inputs like commanded speed and commanded surge margin to, I mean, basically achieve a rotor speed.
And at the same time, you know this particular model is fairly complex. And depending upon the number of degrees of freedom, your model could also be slow in simulation. Just to highlight the inner details of this particular model, you can see that this is a compressor coupled with a turbine. That is the core region. And this is aerodynamically driving a power turbine at the end of the day.
And then basically, this whole model architecture has got multiple parameters. And this kind of model can be built in third party tools as well. In this particular case, we have used Simulink and Simscape. Whatever blocks you are seeing in green is where Simscape based components have been used. And whatever is seen in black and orange, those are the Simulink components.
So we also have got Simscape libraries basically, where these blocks can be just drag and drop operation onto your model canvas. And then you can manually connect them and create your models. So that is what the model-based design platform of Matlab called Simulink and Simscape.
And in this particular example, we will look at how do we create a high-level system reduced order model where the different types of system parameters that we are considering for this are like the inertias of different sorts, the damping of the system, the volume of the combustor, et cetera. And the main system level objectives could be the mechanical power of the rotor and the thrust of the code and the power turbine, et cetera.
So I will cover this particular use case in much more detail. But before that, you can also go through our set of shipping examples that we have with every release. And you will find out that we have multiple examples with complete source code around design optimization, as well as machine learning and deep learning segment. That is the AI portion. But this particular use case is unique, where we are going to see a blend of how do we use AI, and then do the design optimization using AI as a solver.
So I would like to also bring up a user story or a success story in front of you. So this is basically with TWT, which is a German automotive company. And in order to improve their design of the suspension, they basically used design of experiments and also trained different types of neural networks. They also explored Keras-based neural network and Matlab-based neural network.
And at the end of the day, coupled with the optimization routine, they found that Matlab and Simulink platform offered them complete end-to-end solution, where the simulation was also carried out in Simulink. And at the same time, the reduced order model was also built in Matlab. And overall, they were able to use the Global Optimization Toolbox also. And you can look at the productivity gain that they were able to achieve.
So in order to go through that complete development time of running just the optimization solver, they used to consume 16 days in order to optimize the systems and design that they could cut down to less than five minutes. So that kind of productivity hack is what I'm talking about over here.
So the use case is of a turboshaft engine as I mentioned earlier. Now, on the screen, you will see that there is a Simscape model of that. I mean, there is a controller also attached to this model, which takes inputs, such as the surge margin and the rotor speed that you want to achieve.
And then basically, there are two components or two spools of the system. The first spool is the core, where the compressor is coupled with the turbine. And this compressor and turbine have a fixed compressor map and a turbine map. And then the core of the system is aerodynamically coupled with the power turbine.
So the exhaust gases, which flow out of the turbine, moves on to the power turbine, which gets rotated. And then power turbine is coupled with a gearbox with the helicopter blade. That is the last rotor that we want to, I mean, decide the speed. So the controller is controlling the speed of this particular rotor.
Now, there are multiple tunable parameters of this system. So on the screen are the nine different parameters that we have tuned in this set of experiments so that we can achieve some high-level system performance, such as the net core thrust that we want to generate. This is the axial force, not the power.
So the axial force, which is there on the core turbine minus the axial force on the compressor, is the net core thrust. And so we want to achieve a particular number on that. The axial thrust on the power turbine is also something that we want to achieve. And then I mean, the mechanical power of this particular rotor is something that we want to have a control on.
So basically, it is a multi-objective problem that we are dealing. And at the same time, one kind of speed profile or the throttle profile that we have taken, which is going to be a fixed scenario, is ramp and hold in this particular case. Now, with respect to turbofan engine, turbojet engine, helicopter engine, your speed profile or the mission profile could be different. And that is understandable. This is an example problem. And the workflow is going to be the same in all these cases.
And the commanded rotor speed is what I've shown over here. And the surge margin is around 20%. That is fixed that we have taken. And in this design of experiments, I could have easily kept surge margin as one of parameters that we want to tune. That is completely up to the user, that what are the tunable parameters if you understand that and club it with multiple different objectives that you want to achieve. That qualifies for a multi-objective problem that you want to solve.
All right, so our workflow is going to look like this, that we will approach this strategically. We will cover a design of experiment to generate the synthetic data. Some simulations have to be carried out to gather the data. And then based on this data, we will try to train an AI model to understand the whole operating envelope of the system and followed by an optimization routine, which can be interchanged-- I mean, which can be interchangeable with respect to the design space visualization because the results from the simulation, the AI model is going to be the input for both the system, whether it is optimization solver or the design space visualization.
All right, so basically, as I mentioned earlier, this kind of simulation can be carried out in third party tools, like Ansys, Nastran, et cetera. In this particular case, the experiments that we have done, it is Simulink and Simscape based model. But strategically approaching this problem with first creating a design of experiments-- so basically, with respect to each independent tunable parameter, you can decide the number of experiments or the number of iterations or simulations that you want to run.
If you try something conventional, which is full factorial design, in this particular case, we are having nine system level parameters which we want to tune. If you have 10 levels on each of these parameters, we are easily talking about a 1 billion simulation. Now, nobody would like to carry a 1 billion number of simulations.
Even with just having three levels on these nine system parameters, we are looking at a 20,000 number of lessons that you want to carry out. So that is where conventional techniques, like full factorial design, is going to be computationally expensive. And that is where, in this particular problem statement, we have carried out Latin Hypercube design with 2,000 number of points over here, which still covers the whole the design envelope.
And you can see in this scatter plot couple of parameters are there on the x and y-axis. And it shows that the full design space is basically is-- I mean, it is covered out very well. And now, in order to run the simulation, what we have done is we have parameterized the full model so that all these parameters that I showed in the turboshaft schematic can be controlled using a script.
And then we have run the parallel simulation over here so that if I am having access to more number of workers-- in this case, I have run the setup on my laptop, which is a quad core machine I7 processor. So that is where I could basically use four cores. But if you are having access to high performance cluster or if you are having access to a GPU device, Matlab also has this Parallel Computing Toolbox, which can club that particular device or the cluster with your Matlab session.
And then basically, you can fire the simulations in parallel and access the larger number of compute that you are having. And it is understandable that some of these simulations might fail because the solutions cannot converge. The system is dynamic in nature. Some portions of your model could also be non-linear. So having a converged solution is something where, for each of the iterations, you might not be able to achieve.
So in this particular case, we were able to get 262 successful iterations done, which is fairly a good number. But in the context of 1 billion simulations, this is a very small proportion. Now moving on to the second part of this particular workflow, which is now using the data from the simulation.
Now, how can we train an AI model? And that is where Matlab has got Machine Learning Toolbox and Deep Learning Toolbox. And there are dedicated GUI apps which can be leveraged in order to have a very low code kind of environment and train these multiple models in parallel as well.
So what I'm going to show you is a Regression Learner app. But if you are looking to train neural networks in a specific, that is where the complete architecture can be created using Deep Network Designer app also. But for this particular webinar, we will focus on the Regression Learner.
And if you recollect, this is the set of tunable parameters, the nine parameters that I'm talking about, which is going to be an input to the AI model. And here, we are looking to model steady state operation of the system, which is the case when the throttle position is in the steady state and the turboshaft rotor speed is also kind of flat.
So just to show you how the data looks like, so as I mentioned earlier, this is the ramp and hold throttle position. And the turboshaft final rotor speed is something which is held static after 600 seconds. There are different system objectives or outcomes that we have stored from the simulation results. And these are the time series plots.
And you can see that the system also reacts accordingly with respect to throttle position. It is ramping up the shaft power and then holding steady. And the controller, the way it is adding heat is also similar in nature. For different iterations, it is first increasing the heat input to the combustor, and then holding it at a steady state after 600 seconds.
So it is the steady state portion of the results where we are extracting the mean of these results and storing in a variable called data table over here. If I open the data table, you will see that, instead of having different time tables, these are more like numerical values over here-- so nine inputs and different the outputs that we are targeting to model.
Now, there is this particular app in our machine learning and deep learning gallery called Regression Learner. We have got multiple apps. So this Regression Learner app, I am defining a new session over here and loading the data from the workspace. So the variable where I stored the data is the data table.
I can try to train the model for the core thrust and just have the system inputs as the tunable parameters. And you can set aside the 20% data for maybe checking the accuracy of this model on an unseen data. And 80% of the data we can use for training the model.
Now, this is how, by default, the scatter plot looks like in the app. You can just change and see how the system output is behaving with respect to individual inputs. And you can also do a feature ranking over here. So on some statistical f-test ranking, we can see that the core damping is basically playing a very prominent role over here. So that is a technical insight that this app is giving us basically.
But if you are a newbie, I mean, basically you can go ahead and select from a bunch of machine learning models that you want to train. And you will see that there is a large gallery of machine learning models which are available in Matlab. And then you can train multiple models in parallel.
And once you start training these models, Matlab automatically makes use of all the codes that are available with you, if you have this Use Parallel button on. And you can see that, on my machine, I had four cores. So four models are running in parallel. And something like a neural network model, in this particular case, is actually giving me the best accuracy.
These are feedforward neural networks. And in this case, this is a tri-layer neural network. We also have optimizable neural networks. But just pausing the recorded video over here, you will see that this is something called as validation of the AI model, where the true response coming out from the simulation model at a steady state is on the x-axis. And the response that the model is predicting is labeled on the y-axis.
If it is a perfect match, near perfect match, everything should align perfectly with respect to this 45 degree line. And that is what we are seeing happening over here. Right now, we would like to understand how this model behaves on an unseen data. Remember that 20% of the data we had stored for validating this model? And that is where this particular plot on the test data also looks equally good.
Now, you can export this model back into your workspace. And you can just do that by click of a button. And then you can also look to create a Matlab function so that if the same model you want to train on some new data in the future, you can just generate code for that and train that particular model.
So that is where a domain engineer can also do data science model training over here using app-based workflow. So as you had seen in this complete approach, I did not write any code. Everything was done behind the screen using a GUI app. So that is the benefit where you can explore how multiple models accuracy looks like and whether one model, like support vector machine, is better than something like random forest or neural network. So that call MATLAB shows you what is the accuracy that every model is giving you over here.
So just to actually show the plot for all these different types of system objectives, you can see that, for all the objectives that we had around mechanical soft power, mechanical-- or sorry, max core thrust or max power turbine thrust, you will see that we were able to achieve the test case accuracy over 98%-99% in all these cases.
So the training of the model went really well. And these are the statistics on an unseen data. That is what a test case is. But at the same time, we also try to understand that when we are looking at a nine-dimensional space and we have considered, remember, only 2,000 points in this particular case, and while looking at the full factorial design, we saw that even with three levels, we are going to have 20,000 values.
So these models, actually you are training are very less amount of data from the whole-- I mean, from the whole design spectrum. And that is where it is important to visualize some of these carpet plots or the response surface plots. So in this particular case, you can see that the soft power core thrust and power turbine thrust is shown on the top. And sum of the controller performance is something also that we extracted, that how controller is adding heat input or opening the nozzle of the core turbine over here is something that we also explored.
So you can see that the prediction of the AI model is in purple and while in blue is the actual simulation results. And for creating this surface plot, only the data point which is mentioned over here has been used from the Latin Hypercube design sampling that we had in the beginning. So just by using one reference point in this cross-section of a nine-dimensional space, you could train the AI model with such great accuracy that a lot of these carpet plots are looking very good.
So the AI model predictions are very satisfactory in this particular case. That is the first phase of this problem. Now, I want to leverage this and understand how AI model can be used to run optimization on this or maybe visualize the design space. So that is where Matlab has got Optimization Toolbox and Global Optimization Toolbox. And we have a lot of different solvers in this.
So basically, our use case is around multi-objective optimization. And that is where solvers like Genetic Algorithm and Particle Search. In this particular case, we have used genetic algorithm which is also using Particle Search engine underneath. So basically, if we set some target for three objectives that we are talking about-- something like soft power core thrust and power turbine thrust.
If we set some threshold that these value should be more than 150 Newton, more than 5000 watts-- so basically, we are trying to tell the algorithm that we are looking at this particular box in the three-dimensional space of the three objective functions. And once we run such a routine in our optimization solver, what it does is it gives you the set of optimal parameter combinations for which you will be able to get an optimized design.
So it gave me an end result like something like 70 combinations of these nine parameters you are able to get an optimal design. But to an engineer, this doesn't give any insight. This is just the raw result that you are getting after the end of the simulation. If, let's say, in future I'm working with some cross-disciplinary team and I'm passing my inputs to that particular team and for that team this set of inputs are not working, then you have to come back and figure out some other combination where both the teams will be happy at the end of the day.
And in such scenarios, understanding how the design space-- in other words, the full set of feasible design solutions-- look so that is what you want to explore, being an engineer, and also getting an insight which of the parameters could be more sensitive. Now, if you remember in the Regression Learner feature ranking video, I showed you that something like rotor damping as well as the gear ratio were the most influential parameters. And that is where what I have used is the response surfaces that I had brought earlier.
I mean, the projection of this response surfaces on the xy plane, that is the rotor damping and the gear ratio. I have taken contour plots of that and overlaid the contour plots from all these three figures on top of each other. And you will see that once we draw the boundaries of this contour plots for-- I mean, these are color coded in red, blue, and black.
So red represents your soft mechanical power. Blue represents your power turbine thrust. And the black represents your net core thrust. So that is where having the design requirements set around each of these parameters now you can see that these two are the most influential parameters, as seen in the statistical ranking test.
But at the same time, in order to visualize this particular cross-section of the whole design volume, the nine-dimensional volume, the other parameters are kept constant over here. So we are getting a projection that this is the family of feasible solutions that you want to achieve at the end of the day.
Now, another thing is, as you vary the other parameters over here, that is where you will see that this design space becomes dynamic. As I am changing just one parameter-- that is, the nozzle opening on the power turbine-- you can see how the lines are shifting. And then your design space is actually shrinking because, in this particular case, I am basically increasing the nozzle opening.
And as you are increasing the nozzle opening, you are expecting lesser amount of thrust to be generated by that power turbine because you are running it more open. So that is where you will see that the requirement on the power turbine thrust is moving up and up. And this design space is actually shrinking. So that is where, being an engineer, one should look to visualize the design space, understand what is my complete set of feasible solutions rather than just the most optimal solution.
So just to wrap up, so basically, we took this approach of curating a design of experiment and also generated some synthetic data. And as I mentioned earlier, this could be done in your Simulink Simscape platform if you are having first principles based model. If you are having higher degrees of freedom and you are looking at 2D and 3D, that is where third party tools can also be used.
Then basically followed by modeling the model in Matlab with proper validation and ensuring that you get a good you know response matched with respect to the system simulation. Then we carried out design optimization using multi-objective solver and also got some optimal setup points. But parallelly, we also created some design space so that we can understand what are the full family of design solutions that is possible for me in complete 9D spectrum, not just 2D or 3D.