Teaching Chemical Engineering with MATLAB, Simulink, and TCLab - MATLAB
Video Player is loading.
Current Time 0:00
Duration 47:56
Loaded: 0.34%
Stream Type LIVE
Remaining Time 47:56
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
    Video length is 47:56

    Teaching Chemical Engineering with MATLAB, Simulink, and TCLab

    John Hedengren, Brigham Young University

    MATLAB® and Simulink® are widely used in the chemical processing industries for various applications, including data analysis, optimization, and process control. In this webinar, you will hear industrial success stories about the use of MATLAB in the chemical processing industries. App-based workflows, interactive live scripts, automated grading tools (MATLAB Grader™), and self-paced online courses ease students into programming and offer a scalable way for instructors to teach programming. MathWorks products and resources align well with many chemical engineering courses, including heat transfer, fluid dynamics, reaction kinetics, chemical engineering laboratory, and process control.

    In this webinar, you will learn relevant resources for chemical engineering courses, including process control. Dr. John Hedengren highlights curriculum modules that he developed with the low-cost Temperature Control Lab (TCLab) using MATLAB and Simulink for process control courses. The Arduino-based TCLab provides experimental data similar to a lab setting in a portable and accessible manner, as each student has access to their own device. The examples demonstrated will engage students and reinforce conceptual understanding of process control using live scripts and Simulink.

    Published: 8 Sep 2021

    Hello, everyone. Welcome to today's webinar on teaching chemical engineering with MATLAB, Simulink, and TCLab. My name is Aycan Hacioglu. I'm a customer success engineer at MathWorks, and this webinar is very dear and near to my heart because before joining MathWorks, I was a chemical engineering faculty.

    And today, I'm also joined by Samvith Rao, our chemical and petroleum industry marketing manager and Dr. John Hedengren from Brigham Young University. Dr. John Hedengren, we will talk about the critical modules he developed using MATLAB, and Simulink, TCLab to teach process control, and he will talk about those modules today.

    So I see from the polls that actually, many of you are using MATLAB to some extent, but for those that might be new to MATLAB, MATLAB is a high-level technical computing language. You can use MATLAB for general purpose programming, such as algorithm development, data analysis, and visualization numeric and symbolic computations.

    But with the add-on tools, you can also do specialized tasks, such as machine learning, deep learning, image processing, signal processing, and so on. And Simulink is another core product that MathWorks has developed. Simulink allows you to represent dynamic systems as graphical and functional blocks, and it's a model-based design tool. You can design your system, simulate them, and test them, and it really helps you going from software to hardware work.

    These tools are used widely in industrial and academia since with these specialized tools, you can do your tasks very easily and quickly. It's a preferred tool by many engineers and scientists across industry and academia.

    So today, we will talk about integrating computational thinking to chemical engineering curriculum, When I'm having conversations with faculty, I get many questions about how to introduce computation, when to introduce computation, or how they can make sure that students retain this knowledge because usually, programming is introduced in the early years of curriculum. But if it's not reinforced by the time students graduate, they forget about what they have learned.

    And another thing is students want to learn knowledge that they can apply when they join the workforce. They want to learn something that is really useful to them, and instructors want to prepare them well for their future careers in the workforce.

    So today, we will talk a little bit about how MATLAB is used in industry, especially for process control applications, so that you can get the sense of how your students might be using common tools when they join the workforce. And then you're integrating MATLAB or Simulink into your curriculum. If you need any help, we're always here to help you. We will talk a little bit about how you can get help from us or from the resources on our website as well.

    So to introduce MATLAB to a busy chemical engineering curriculum, it might be challenging because some courses in chemical engineering are not programming courses. And there's a lot of subjects that you want to cover, so you might be wondering how you can make time to introduce computation on top of all the other topics that you want to cover.

    To help you with that, we developed self-paced courses. Using these self-paced courses, you don't have to spend your classroom time teaching computation. You can assign your students these self-paced online courses, and they can retrieve the certificate of completion or progress report. And then they can have a baseline when they come to your course.

    In that way, you can focus more on the applications or more complex problems and wouldn't have to spend your classroom time. And many of those self-paced courses are freely available. You don't even need to have a MATLAB license to take those courses, or you don't need to have MATLAB installed on your computers. They are accessible via a web browser.

    And when students are taking these courses, they will be writing actual MATLAB code. So that will prepare them well for your courses and for any computational tasks that they have to go through. And so some of these courses include MATLAB programs, Simulink programs that are also more specialized courses like machine learning, deep learning courses.

    We also have longer courses on computational math or some foundational courses, so that you can supplement your teaching with these resources. And for once you introduce MATLAB to your courses, you can solve many different problems. But another question I get from instructors is how they can ease students into programming because many students have some programming fear for when they start programming.

    Using MATLAB, you can overcome that fear very easily because in MATLAB, there are some apps. Those are called graphical user interfaces, and these apps let you complete many different tasks by following point and click workflows. And you can automatically generate code out of these apps, so that you can see one-on-one matching of how interactive workflows match to the code.

    And if you can't find an app that you're looking for, there's another app called App Designer that helps you build your own apps. Using drag-and-drop workflows, you can create professional-looking apps, and you can create interactive lecture material for your students. And you can package those apps as MATLAB apps, or standalone executables, or web apps, and that's exactly what professors at Lund University did. They created some web apps to teach reaction kinetics to their students.

    And another way to keep your students engaged during these programming courses is through Live Editor. You can create MATLAB live scripts. These live scripts consist of code output of the code. You can add equations, images, interactive controls, and tasks, and you can create nicely organized, easy-to-follow, engaging lecture material for your students.

    And students can experience a more active learning through interactions with these live scripts. Doctor Hedengren will also show us today some live scripts that he developed for teaching controls. Another challenge instructors face when they introduce computing to their courses is how much time it will take to grade all those programming assignments.

    With MATLAB assignments, you don't have to worry about this piece a lot because we developed an automated grading tool called MATLAB Grader. Using MATLAB Grader, you can give your students instant feedback, and when they see those check marks in MATLAB grades that actually gamifies learning. And they get very excited and motivated to learn more.

    And with MATLAB Grader, you can create your own problems, or you can get started with our problem collections. And some of those problem collections, such as introduction to programming and numerical methods, are relevant for chemical engineers as well, and they provide more room for practice for students.

    So after you introduce computational thinking to your students, how will you make sure that they remember that and apply that in their other courses? Well, there are many courses in chemical engineering where you can utilize MATLAB, and you can reinforce computational thinking throughout the curriculum. Such courses include reaction kinetics, fluid dynamics, process design, and heat transfer. And this list can be expanded even further.

    For these courses, we already have some existing examples of file exchange or in our documentation that are ready to use, and Dr. Hedengren will talk about resources he developed for process control. But if you don't see a course that you are teaching over here, or if you want to integrate MATLAB to another course, you can always reach out to us. We are happy to point you to relevant resources or help you come up with lecture material for your own course.

    And what I would say is as long as there is room for computation in your course, probably there is room for MATLAB or Simulink. And I also get questions from many instructors about how to integrate data science to chemical engineer courses. That became very popular nowadays, and Dr. Miller from Imperial College gave an excellent talk at MATLAB Expo on how he integrated machine learning to his freshman course using MATLAB.

    If you want to learn more about his course and take a look at his material, you can visit our website and watch this expo talk, and you can also visit teaching data science with MATLAB page to get more resources to integrate MATLAB with machine learning or deep learning to your courses.

    With that, I would like to leave the floor to Samvith to talk about industrial applications of our tools in chemical processing industries, especially on process control applications.

    Yes, thank you, Aycan. So like you all know, the ultimate aim of learning these concepts in university is to successfully apply them in industry, and there are multiple case studies from our customers where applying these concepts have yielded significant benefits and logged value. So let us look at a few of these examples from process control.

    So TATA Steel is one of the world's largest steel manufacturers. The issue they were facing is that the cooling tower associated with their biggest blast furnace was inefficient, so they applied model predictive control and variable to compensate for the changing weather conditions. This way, they were able to save tens of thousands of dollars every year along with making a meaningful reduction in their carbon emissions.

    And that example comes from another stell company, which was able to bring the acidity of their effluent water stream to an acceptable level by developing control algorithms and deploying it on their PLCs on the DCS. Using MATLAB and Simulink, they were able to develop the control strategy and develop and deploy it in just three months, which is rather short for an industrial project. And then the acceptable pH levels, like you can see, they rose to 100% from the variable of 84%.

    And this example is from the pharmaceutical manufacturing industry where Genentech had a bioreactor, a pilot plant bioreactor. They developed control algorithms that monitored these bioreactor sensors such as pH, dissolved oxygen levels, and other environmental conditions. The controller took those inputs and outputted the optimal nutrient flow rates, and they deployed this also, as well, in the plant.

    Using that, they were able to cut the algorithm development time from months to weeks using MATLAB and Simulink. We are aware that several customers in industry use other commercial packages for process simulation. A popular one is Aspen Plus. And keeping that in mind, we worked with them to develop an extension called Aspen Plus control design interface, which generates linear state-based model from a process model that you developed in Aspen Plus.

    So you can take your rigorous, nonlinear plant model that you developed in Aspen Plus and export that to Simulink and work with that just within Simulink like it is just another Simulink block. Same thing with gPROMS. You can use gPROMS for developing your process model, and you can use MATLAB and Simulink for data analysis, post-processing, or control algorithms.

    An example of that application comes from a gasification plant in the US, which had issues controlling emissions. Rather than upgrade hardware, they decided to implement better control algorithms. So what they did was they built a rigorous plant model within Aspen Plus, exported that to Aspen Plus Dynamics where they added simple PID loops, and then they exported that to MATLAB and Simulink using the Aspen Plus control design interface.

    Once they brought it into Simulink, they were able to implement plant-wide MPC strategies. So my implementing control strategies saved them a lot of money and a lot of trouble without having to purchase expensive equipment, essentially a software upgrade on the plant.

    So apart from the developed control strategies, most process plants have hundreds of process control loops, and it is well known that loop behavior deteriorates with time. Monitoring these is a very manual task, and Tupras, which is a Turkish refining company, developed innovative software in MATLAB to A, diagnose the controller problems, and B, give the optimal tuning values for the loops.

    So I strongly recommend watching the whole doc for this. It's saved, like you can see, $12 to $20 million in estimated-- And this was, of course, annual savings. Apart from that, they were also able to save hundreds of engineers' hours by automating this extremely manual task.

    So I'd like to end my portion off the talk today by requesting the educators and students in the audience to look at and sign up for the capstone project on monitoring a bioreactor. I have spoken with leading pharmaceutical manufacturing companies in this space who mentioned scaling up the vaccine, the COVID vaccine, manufacturing as a major issue.

    And this capstone project was inspired by their challenges. By working on this project, you get exposed to a real industrial challenge while working on MATLAB and Simulink that industry professionals use. With that, I'd like to hand it back to Aycan.

    Thank you very much, Samvith. It was awesome to see all those user stories from many different companies, and especially the Tupras one was very near and dear to my heart because I did my internship over there when I was a chemical engineering student. It was awesome to see MATLAB in action over there.

    With that, I would like to talk a little bit about the resources available to you and how you can get help from our website and from our software integrating computational thinking to chemical engineering curriculum.

    Well, first of all, we have a dedicated site for academia. On this page, you'll find many resources for teaching and research, especially the curriculum material showcased in this website is curated and they're ready to use. You can also visit MATLAB Help Center. You can use several keywords to filter out different resources for yourself.

    For example, you can search for resources for chemical engineering by typing chemical engineering to search bar, and you'll find many examples or relevant documentation and so on. Lastly not lastly, also by using MATLAB, you'll be part of a large user comments. You can interact with this huge user comment through MATLAB Central. You can ask questions, answer questions, and share your knowledge.

    And you can always reach out to a customer success team. I'm part of this team, and customer success team consists of customer success engineers and customer success specialists. Customer success engineers would help you in integrating MathWorks to your courses or research, and customer success specialists spread the word about our tools and resources to generate awareness about our tools.

    And you might be wondering how you can stay connected with us. One way to stay connected is attending our other webinars. You can visit our events site to see upcoming events and join them. We have a variety of webinars and events throughout the year on many different topics.

    And if you're also planning on participating in the 2021 AIChE annual meeting, we will be presenting four talks over there. And Dr. Hedengren is part of one of those talks, and we would love to see you join our talks at the AIChE meeting as well.

    We gathered some resources for you for several chemical engineering courses over here. These resources are some documentation examples, some product pages. But if you need any further resources, or if you would like to discuss another course that you are teaching, you can always reach out to us. We are happy to help you integrate MathWorks tools to your courses as well as your research.

    With that, I would like to thank you, and I would like to hand it over to Dr. John Hedengren for his excellent talk about integrating MATLAB and Simulink to process control courses with TCLab.

    Oh, thank you, Aycan, and thank you, Samvith. Great overviews and certainly impressive, all the case studies. Spending seven years in industry working with ExxonMobil and others, you see the potential, the power of some of these industry 4.0 initiatives.

    I'll go ahead and start sharing my screen now, and I looked through the attendee list as well. I was very pleased to see many on the attendee list that I know, either from online communications or in-person as well. So welcome. Glad that you're able to join, and I hope to make this as interactive as possible today.

    I'd like to also acknowledge the support of Joshua Hammond, who's on the call today as well. He's a research assistant that took on this fairly substantial project of developing these course modules with a team of his own, and so over the last year, he's worked quite a bit to do that. He's going to be starting as a graduate student at UT Austin, my Alma mater, so glad that he's on that journey as well.

    Well, let me just get started with some appreciation for all the response that we got on LinkedIn about a week ago. I shared this, and about 20,000 views and many-- You can see some of the stats of who was interested in some of this and some of the companies as well. These are some of the analytics that come from LinkedIn.

    So many from oil and gas industries is interesting that I've seen that many are perhaps trying to retool at this time and look in other industries, maybe the oil and gas industry and transitioning to others. Or you see many students, professors, research fellows, and others, and then here are some of the locations where people viewed that.

    Today, I want to talk a little bit about automation needs across the industries, a little bit about these 35 lesson modules, and how you might be able to use these in your course. Or if you're self-study, if you're a student, how you might be able to pick some of these up and develop some of these skills. I'll talk about this pocket-sized lab and some of the MATLAB Simulink and Live Script demos.

    So one of the things that I've really enjoyed working with over the last little bit are some of these live scripts make very interactive modules for students and also for teaching. And then also share some other collaborative community resources. I was the new chair of the control system society, the IEEE control system society technical committee on education, and so we're collaborating and developing some of these resources as well.

    So automation impact across the industry. Next time you get an operation done, it might be done by a robot maybe with more precision and control. People transportation as well, some of the self-driving cars. We've seen some of the recent news about government probing some of the mistakes, but maybe the self-driving cars are safer. Maybe it'll become safer than people eventually, even though they're not perfect.

    And then you look at product transportation as well, how we buy things and how those things are delivered as well. It's going to be changing in the next couple of years. We look also at traditional industries like the oil and gas industry with some of the new topics that are of high interest, such as data science analytics, machine learning cybersecurity, and digitalization.

    So let me talk about the control course that I teach, and I'd love to get your thoughts if you have comments on how you teach the course or also if they're particular modules that might be missing from this. We've tried to develop modules around each of these, and I'll give a little bit of our philosophy on each of these blocks, and how this all fits together.

    And how we take a student from controller design where they're thinking about the application and what they want to accomplish to identify things like the output PV set point. If they don't have data, then some of the things that Samvith and Aycan mentioned about some of the simulators or others where we use physics-based models and linear ISOs. Or we simulate the data and then come back to step tests and do either graphical fits or regression.

    And then we develop models, simple mathematical models, of our processes. It's like digital twins of the process in a simplified way. They give us the opportunity to say, OK, do I have a measured disturbance? If yes, I'll design a feed for a cascade controller. If not, I'll decide if it's an integrating system. If it is, then I might only need a P only controller. And if not, I could use an integral or derivative action as well.

    In the course, we also look at stability analysis. With some of our limits, how far can we drive the game? How much performance can we get out of this system before it goes unstable? Then we use tuning correlations to convert the simplified process models, like a first surplus dead time, into PID tuning parameters and then go through this additional loop of controller performance, monitoring, and tuning.

    So for each of these blocks in this course, we've developed some modules that have theory simulation and then a lab. And then we'll repeat that again. We cover the theory, the equations, the fundamentals. We have the student simulate, and then we give them the TCLab to work with real data and work with these modules interactively through Live Script, Simulink modules, or MATLAB scripts.

    And if you'd like to go to the course, I've got this, the course schedule here. You can pull that up, and on each of these, next to the MATLAB symbol, you'll see the Live Scripts that are there. There's also a GitHub archive, and if you go down, you'll see the schedule with each of the modules listed with the theory, simulation, and then lab exercise for each of those.

    So these are a total of-- It lists 40, but there are actually 35 with some of the exams. And then some additional resources. You can also download that from the MATLAB Online So that's where you can find all of this development. You're welcome to use it, modify it, republish it however you'd like. It's listed under the MIT license so open source and freely available.

    Now, let's talk about teaching process control from the instructor perspective. So you have maybe something that you're trying to teach the students about process dynamics control, and that you want to give them a laboratory experiment. These are often found in a unit operations lab. They typically accompany the teaching material, and students schedule time to come in and work with the lab maybe one after the other or in small groups.

    There's also this. The new TCLab modules allow you to, instead of assigning a single piece of process control equipment, you can give one of these to each student. They can take it home and learn it or within class activities that you could do as you're teaching the materials. So you can say let's do a step test, and then they all do a step test with the module and collect their own data.

    So I also want to talk about the student. So I've highlighted one student in blue here, so let's just look at the course from their perspective. So in the first case, if they're scheduling time on this piece of equipment, they're only going to have a fraction of the time divided by the number of students or the number of groups to be able to work with this. Also, they need to schedule time to come in.

    Maybe once or twice during the semester, they can do something like that versus if they bring their lab home, and they can work with it, then they can do it at their own pace. They have the time to work with it maybe on each assignment or more frequently throughout the semester.

    But one of the things that we've seen as well from students is maybe they took a freshman or sophomore programming class, but they may have forgotten a lot of things about programming. Half of the students might feel intimidated by the course, and Samvith and Aycan mentioned, there are many great MathWorks resources that help them get onto the on-ramp and really refresh some of their memory about programming.

    We have these additional 12 modules designed for about two to three hours to do a quick crash course on MATLAB, in particular with the TCLab generating their own data, but everything from debugging, variables, printing, how to work with the Arduino functions, loops, input if statements, arrays, cell arrays, and then plotting. So just the basic things they need to really--

    If you liken this to a trip, it's like getting off the ground. Feeling like you're starting to gain altitude. You're putting in a lot of effort initially, but you're just going down the runway. You've got to get a critical background or speed to really take off in this course.

    And then beyond that, they really start to gain this elevation as they go through this cycle of learning theory, doing simulations, interactive modules to give them intuition about the concepts, and then applying it to data. So that's the second part of the course, and these are all of the modules that we mentioned. We'll go through just two of these out of the 35.

    So they'll do theory simulation, practice with their own device and with data. So as we look at this course map, we also, on landing, I think this is part of the synthesizing as part of the course, is to have them also do a project with this lab. So a little bit more open-ended that gives them the big picture.

    We've identified each of these individual blocks and how they're going through them, but at some point, you want to give them a project and say, OK, here's a controller. See if you can have good control performance, and then so they go through this themselves, the whole thing. So instead of just one block at a time, they're going through the entire map.

    So let's talk just a little bit more about this. I've given many other webinars and presentations on this, but for those that aren't familiar with this, we have a temperature sensor. There are actually two of them, and they're these little thermometers. And then they're attached to some heaters on this side.

    So the heater level is listed here between 0% and 100%, and then you can see a set point. We have a target set point for the temperature, and the measured value is in orange. So this comes from this value. The heater we can adjust through MATLAB, or Simulink or the Live Scripts with a plug-and-play device.

    So this just gives an overview of the two temperature sensors and two heaters, and we can also want simplified command so that a student doesn't get lost in the programming. So these are the commands to connect. You connect to the lab. That automatically loads any firmware needed as well. And then this is the command to turn on the LED to 80%.

    So we'll flash this one right here to 80%, and then we can display the first temperature and adjust the heater to 50%. So very simple commands to be able to control this, and then if you have two heaters instead and two temperature sensors, then it's likewise very simple to just add. The disturbance, for example, Q2 could be a disturbance, or you could have multivariate control for example.

    But let's start from the beginning, and I just want to review this very first one, which is the step test. So you have a process, and you have a controller output that you're going to run in manual. And you want to just be able to step that to step the heater value, turn it on to a certain level, and then observe the temperature response.

    And then they can do things like calculate gain time constant and dead time from that. So let's just go on here. I'm going to show how to build this in Simulink just from the ground up, from the raw signals that come from the Arduino. And then once they start this, then they can do the step test.

    So this becomes the physical lab right here, and then you could see the Q1 and the Q2. Those are your two heaters and then temperature one and temperature two. Those are shown right here, and I've turned the heater on to 53%.

    And what we should see here is that temperature two should stay about because it might rise just a little bit as it feels some of the effect from the other heater that's next to it, but this is temperature one right here. And this one should come up and then level out at a certain point.

    You can also see bad data here as well. So measurement noise. And so this is very realistic for the students. They've maybe only done simulations in the past, and so they might have a fundamental model just from an energy balance that predicted this. And maybe the model is doing something else.

    And so this is for many students, it's a very interesting exercise because I think they can understand. Try to dig down deeper. What is the difference between these two?

    So I want to talk about some of the other modules as well. We have this FOPDT graphical fit, and this allows us to use Live Scripts to give them some interactive modules. So this is an example of the Live Script, and you can view the lecture material right there with the solution guide. It's a video that Joshua has created, and then you have the game.

    So as they adjust this slider bar back and forth, you'll see that the model changes. So the FOPDT model here, and they've previously collected their data. So they want these two to fit as best they can, and so they're going to drag these back and forth and adjust them until they get it to align best they can. And later, we'll do regression to make that happen. It gives them more of an intuitive understanding about what's happening with these parameters.

    And then we're going to go on to another module. It's just another example. This one's going to be the tune a PID controller. So this is going to be the next step where we do this in simulation. They can adjust their PID parameters here, and so after they do this, they want to get a good performance out of their controller. Maybe they use IMC, or ITAE, or other types of tuning rules to come up with initial values.

    And then they're going to try it out with the device as well all from this Live Script. So they tune it in simulation, and then, we'll go down here. If they get stuck at all, you'll see this view solution right here, or they can select that and then some code help will appear if they get stuck.

    I've connected it to the TCLab, and we've sped it up 12 times just so it's a little bit faster. But these are in seconds right here. So you saw the performance up above what we expected, and then we collect data down below from our physical device. And all of this is done from the Live Script, so they're able to simulate and then collect the data. And it makes it more interactive for them.

    So we can also do this in, instead of a pre-built module, you can also have them build a block diagram directly in Simulink, so I'm just going to change this open loop into a closed loop model and a block diagram. I'm going to add another port here, and I want to be able to view the set point. I'll drag a PID block in and then also a summation block as well. Change the signs to plus and minus, so it's a feedback controller.

    And I'll right click that, and there's my feedback control. Now, I'm just going to plot some of those signals, and so it's very similar to what they'd see in a textbook, for example, with block diagrams. But instead, we have this physical device there in the middle in our Simulink block. Put in some tuning parameters, change my output limits from 0 to 100, implement some anti-windup, and then it's ready to go.

    So now we're going to go ahead and simulate this, or not simulate. This is physical data, and then when I change the set point to 50, so my set point is this yellow line. And you can see the controller response. At a certain point, if the student isn't satisfied with the controller tuning, they can change it as the Simulink model is running. You can see the controller became more aggressive with it increasing gain from 10 to 15.

    And then you can see the output. There's the heater value, PV, and set point. So the dynamics for this are long enough. This is a five minute exercise. They're long enough that students can respond to it and actively change it as they go.

    Also other modules as well, such as model predictive control, and so this is an example of a multivariate control problem where you can see into the future. You can predict into the future what the move plan is going to be, and what the controller's response is going to do as well.

    There's also estimation and control, so these are more advanced control topics like moving our ISA estimation to type of machine learning where we go. As we're going, we identify the model, and then you predict into the future. So this combines model predictive control and an estimator.

    And there are also data science modules as Aycan and Samvith mentioned. They're very good ones on the MathWorks website as well. We recently translated this one into Spanish. This also uses the TCLab. I just want to give one example of a module here. This is equipment monitoring where you're monitoring the heater, and to see that it's working correctly.

    So I'm just going to play this. The heater turns on or off, and you are recording the temperature. We also use some features. These are the derivatives of the temperature, and these three features then become the input to some of our machine learning methods. Everything from logistic regression, stochastic gradient descent, K-nearest neighbors, neural network.

    Those top eight are all-- Those are supervised learning methods, and then the bottom three are unsupervised learning methods or clustering methods. And so you could see here the heater turned on, and it was able to learn just from these temperature signals. You say, well, your heater's on.

    But let's say you commanded it to be on, but this said that it's actually off. Then you'd say, well, the heater's broken. It's not working correctly. So you can have students unplug the heater power, and then see if the machine learning can detect a faulty heater for example. So that's just another exercise.

    I just wanted to, for all of the instructors that are here on the call, if you'd like an evaluation version of the TCLab, please send me an email with your name, should be an address, and the course that you teach. In the US, they typically arrive in about two to three business days. International, I've had more trouble with those. The custom seems to be a little bit slower right now, some of the precautions they're taking.

    But I'd be glad to send one of these to you, and I just need your shipping information. There's some countries that the packages do not arrive, unfortunately. India is one of those. Brazil is another. So for those cases, if you would like one, please just let me know. If somebody that is traveling to the US, I'll ship it to them, and then they can take it back to you. So it might take just a little bit longer, but packages unfortunately don't arrive to those locations.

    And you're welcome to just keep the lab and use it. If you would like to use it in your course, one of the things that many instructors have done is ordered bulk from their department budget, and then students check those out. Another way that has been more appealing recently is just have the students get the lab, and it becomes like a textbook fee or something like that for as part of the course. And then they just keep the lab, and instructors don't have to manage those.

    So there is a link here on Amazon if you'd like to give that to students for them to use it in your course. I wanted to mention also some other community teaching resources, and these are some that I've worked with other faculty to develop. The ones that I maintain are here in process control and then also in computer programming.

    So if you have resources for those that you'd like to suggest, please reach out. This is computing and chemical engineering, so it's everything to do with computing and initiatives about how to introduce computing into these courses and resources and links that we share. And so if any of the courses you're teaching, even intro to chemical engineering, fluid mechanics, or others, just search for this.

    You're welcome to use those resources. Also, if you have some of your own, I'd love to be able to add those to the list. Also, another thing that we're doing with the IEEE control system society this year. We're working with Brian Douglas on Resourcium.org. And so I recommend this as well, especially for those teaching process controller learning. You can develop a custom journey.

    Feature journeys, learning about PID control. Brian's done a great job aggregating some of these resources for things like Kalman filter, PID, or others. So I recommend this site as well.

    And then finally, to finish it off, I'd like to thank collaborators on this. To develop this community resource, Melda, Samvith, and Aycan from MathWorks for the technical but also the financial support for some of our students who developed these modules. And then Abe Martin, Junho Park, Colin Anderson, Nathanael Nelson for their great work in addition to Joshua Hammond, who led the effort on these modules.

    And then Jeff Kantor and Carl Sandrock, Jeff at Notre Dame and Carl at University of Pretoria in South Africa for some of their leading guidance on developing this course and feedback from them using it. Also others that have translated it to other languages like Paulo Moura Oliveira, Portugal, and others that have adopted the course and used it.

    And then John Anthony Rossiter and other faculty who have helped to publish some of the pedagogical research surrounding this lab and some of the effect that it's having on students to quantify the improvement in learning.

    Here are some of the articles just in the past year. Here are the 2020 articles and then 2019, so you can see a number of articles where we have talked about our experience with the class and this module.

    Well, thank you, Aycan, and thanks, Melvin and Samvith, for hosting us as well. I really appreciate this opportunity, and thanks, everybody, for joining.

    View more related videos