Пікірлер
@shlomixsima
@shlomixsima 2 күн бұрын
minor mistake at 11:45 you encircle the controller transfer function and include the actuator which is part of the plant
@abdulbasetjoma6465
@abdulbasetjoma6465 2 күн бұрын
Hi...what is the best book for guidance plz
@LearnGandC
@LearnGandC 2 күн бұрын
I'd recommend Paul Zarchan's book. You can find it on my list of recommended texts: learngandc.com/recommended-texts
@tanitanimoni4367
@tanitanimoni4367 2 күн бұрын
PN with Zero Effort Miss is linearized PN, it is not a non-linear general PN, is that correct? So we can get criteria designs upon it, not a real implementation.
@LearnGandC
@LearnGandC 2 күн бұрын
Not necessarily. For example, linear analysis and application of linear control methods has been effective in aircraft control for decades!
@tanitanimoni4367
@tanitanimoni4367 3 күн бұрын
At 7:43, it looks like true PN requires less acceleration than pure PN. Is that a definite conclusion from this section? In other words, true PN overcomes pure PN in terms of acceleration requirements. Is that why Dr.Zarchan did explain pure PN in his book? I mean it needs high ap
@tanitanimoni4367
@tanitanimoni4367 3 күн бұрын
From the comparison table between true and pure in control effort, it looks like true PN has less control effort with optimal N for each algorithm. Does it mean that true overcomes pure from control effort perspective? or is that only for the heading error case? Can be generalized to target acceleration case? Also, others say that the forward velocity variation requirement in true PN leads to a relatively large control effort requirement over pure, or should the implementer ignore that component?
@shlomixsima
@shlomixsima 4 күн бұрын
Great series of videos. This video specifically is less clear (and less important) than the other videos in the series. Note that the order of the playlist is wrong - this should be that last video in the playlist.
@LearnGandC
@LearnGandC 4 күн бұрын
Thanks, based on your comment, I've reordered the playlist so they are now in order 2.1 to 2.6!
@halaquin2486
@halaquin2486 6 күн бұрын
in the code at 18:58, shouldn't w_over_v be called w_over_u?
@LearnGandC
@LearnGandC 5 күн бұрын
Yes, you are correct. Thanks for pointing this out. I'll update the errata in the description. Although the name should be w_over_u, it's actually implemented correctly.
@halaquin2486
@halaquin2486 6 күн бұрын
Excellent tutorial! My checks for cases 1,2, and 3 pass successfully. However, when I test check case 4 (C.1.4), which adds a constant C_d to the sphere, I note incorrect results for position x and y in NED (they should remain zero, but instead become non-zero). I believe I've traced the error to the calculation of external forces F{x,y,z}_b_kgmps2, which I think might be incorrect from previous videos. Is this true?
@LearnGandC
@LearnGandC 6 күн бұрын
Thanks. Not to my knowledge, I was able to verify against the check cases. Are you sure your initial conditions are consistent? Note, pitch angle is set to -90 degrees so that the brick accelerates in the positve x-direction.
@salemreguieg2320
@salemreguieg2320 10 күн бұрын
Good evening Sir please How the auto pilote maintain Pitch attitude +2,5° of Boeing and Airbus at flight level 40000 ft speed 480 kts without Switch command on the MCP.
@djredrover
@djredrover 13 күн бұрын
Another Banger of a lecture by Ben! Doesn't get any better than these honestly. Appreciate you mate.
@LearnGandC
@LearnGandC 12 күн бұрын
My pleasure! Thank you!
@dr.moazzamtiwana4743
@dr.moazzamtiwana4743 13 күн бұрын
Thanks for such a nice lecture. will the proportional coefficients once set, be valid/effective for all flight speeds to provide stability? Is it beneficial to use Integral and differential coefficients as well in PID control?
@LearnGandC
@LearnGandC 12 күн бұрын
Your welcome! One set of gains at all conditions will be better than no gains, but it's not ideal. About any flight condition, there will be a set of gains that produces the ideal behavior. So, the pilot can adjust with knobs. A gain-scheduled SAS would be the next step. For integral control, it could certainly by used a in control augmentation system (CAS) where there's an outer loop to enforce tracking of the pilot-commanded variable. Derivative control could help dampen rates more quickly, but of course there's the risk of amplifying noise through the derivative. Proportional control is a simple solution that apparently met requirements based on the number of successful flights. So from an overall experimental space plane program perspective, it's possibly the best approach for its purpose.
@ukaszBartnik
@ukaszBartnik 13 күн бұрын
Ben, those errors which you mention at the end of the video: you found those *prior* to recording this lesson, am I correct? That is, you are telling us that your original code had errors, you attempted the verification, you found discrepancies, looked for errors and fixed them, and then finally recorded the lesson with fixed code. Is that correct?
@LearnGandC
@LearnGandC 13 күн бұрын
Yes, that's correct! I did a poll and people wanted insight into the issues found when developing the simulation.
@ukaszBartnik
@ukaszBartnik 13 күн бұрын
@@LearnGandC got it, thank you. I definitely appreciate that insight, it is consistent with my own experience, I must say, quite unfortunately. I asked because I wasn't sure if I was supposed to look deeper into the plots to see minuscule differences between lines in the plot. Great job by the way, I'm enjoying those videos a great deal.
@salemreguieg2320
@salemreguieg2320 15 күн бұрын
Hi Ben, on the MCP of airbus or Boeing don't existe Switch to commande the pitch attitude,How the Auto Pilote maintien +2,5° in cruise i. want to know the loop
@LearnGandC
@LearnGandC 13 күн бұрын
Hello there. Unfortunately I don't have specific insight into Boeing or Airbus autopilot architecture. However, pitch command tracking controllers have fundamental PI architectures. For example, one could implement integral control on pitch angle error and proportional control on pitch rate for artificial damping. This makes use of navigation and IMU data which should be part of the avionics of modern aircraft. My series on longitudinal flight control (see www.learngandc.com) covers the architecture and tuning of basic controllers like the pitch tracking controller.
@gentveselaj8789
@gentveselaj8789 23 күн бұрын
Very good
@abdelhaksaouli8802
@abdelhaksaouli8802 Ай бұрын
are you saying that we assume that earth is flat so the math can work so we can fly ?
@LearnGandC
@LearnGandC Ай бұрын
It's a valid approximation for aircraft modeling and simulation when speed and distance is limited. For accurate prediction of aircraft flight at high speed or over longer distances, we must account for the oblate and rotating earth.
@Vish-i7c
@Vish-i7c Ай бұрын
How many total video lessons is this series going to have?
@LearnGandC
@LearnGandC Ай бұрын
Hello, at least two more. There's one about initial model development (coming soon) and the one where a more comprehensive model is developed. Over time, new parts of the simulation will likely be added and this simulation will be used for flight control lessons in other series.
@davidtogonidze4281
@davidtogonidze4281 Ай бұрын
I wish I have found this channel during my masters, but better late than never.
@LearnGandC
@LearnGandC Ай бұрын
Haha, true. More lessons coming soon.
@davidtogonidze4281
@davidtogonidze4281 Ай бұрын
This is awesome, very clear explanation
@LearnGandC
@LearnGandC Ай бұрын
Thank you!
@willschafer3592
@willschafer3592 Ай бұрын
This is far and away the best video a student seeking to learn how to simulate aircraft EOMs could watch. I'm a senior at the University of Illinois in Aerospace Engineering and I work on a team funded by a SIIP grant to develop simulation software that can accurately simulate flights and other aerospace-related physics. I have been trying to learn the mathematics behind the EOMs and this was just what I needed! Thank you so much, I am looking forward to your future content.
@LearnGandC
@LearnGandC Ай бұрын
That's great feedback, thank you! It's been a while, but the content for my next lesson is coming to fruition. It's derving a flight dynamic model of the X-15 spaceplane from the literature and simulating its dynamic response. Be sure to check out the errata of this lesson (and my other lessons) in the description below. How many bugs/errors are left after one is found? n-1
@thomas_prada
@thomas_prada Ай бұрын
god i love the internet, thank u ben
@LearnGandC
@LearnGandC Ай бұрын
Haha, you're welcome.
@MATTEOFRASCARELLI
@MATTEOFRASCARELLI Ай бұрын
One question, what methods are used to measure and estimate the acceleration of the target to be fed forward to the APNG?
@russelibrahim4045
@russelibrahim4045 2 ай бұрын
My simulation was coming up as unstable. I removed the minus sign and everything was ok
@LearnGandC
@LearnGandC 2 ай бұрын
Great, that issue has plagued us all at some point.
@ThomasZiervogel
@ThomasZiervogel 2 ай бұрын
Hello. Greatly enjoying the videos and hope you keep posting. However, I would like to note a mistake in one of the formulas you displayed. At approximately 15:55 when you show the Navigation Equations, the first element of the first row in the matrix is wrong. You post it as cos(theta)*cos(phi) which is incorrect. It should be cos(theta) *cos(psi). I believe this is just a typo as you carried out your coordinate transformations correctly everywhere else. Just for reference, this can be found on page 110 of Aircraft Control and Simulation by Stevens and Lewis (2nd Edition) Cheers
@LearnGandC
@LearnGandC 2 ай бұрын
Good catch! Yes, this actually carried over to my sim and caused me several hours of troubleshooting before I found it. I'll post an errata for this lesson. Thanks for watching!
@mberoakoko24
@mberoakoko24 2 ай бұрын
I honestly never thought about a compensator in state space , I always did a z transform and implement the difference equation.
@LearnGandC
@LearnGandC 2 ай бұрын
Yes, it's particularly useful when we have a continuous time simulation.
@mberoakoko24
@mberoakoko24 2 ай бұрын
Absolute Gold mine , thank you very much sir .
@LearnGandC
@LearnGandC 2 ай бұрын
Glad you like it! Thanks!
@arjanriat1602
@arjanriat1602 2 ай бұрын
Great video! Just wanted to clarify why the omega x linear velocity product is in the rotational equation of motion. Should it not be omega x (J omega) as this is the gyroscopic effect rather than rotational effects on translation.
@LearnGandC
@LearnGandC 2 ай бұрын
Thanks for watching! Yes, you are correct. Unfortunately, this is an error. I'll add an errata list to the description. Thanks for catching this mistake.
@SilvioAttanasio
@SilvioAttanasio 2 ай бұрын
do you have any videos or know of resources on the lateral component (localizer)?
@LearnGandC
@LearnGandC 2 ай бұрын
Hello, I do not have lateral control videos but Stengle has an open online course that may cover it. You can access it at www.learngandc.com. Navigate to Resources/Courses then scroll down. Thanks for watching.
@SilvioAttanasio
@SilvioAttanasio 2 ай бұрын
@@LearnGandC thank you!
@fatihklncarslan3352
@fatihklncarslan3352 2 ай бұрын
Sir, thank you for this video. It was so helpful for me to understand the 6DOF baseline. I have a question for code if u don't mind. I think in line 117-118, the variable sign should be negative for Jxz from the formula (-Jxz). I'm not sure if I'm wrong, that's why I wanted to ask. Thank you again.
@LearnGandC
@LearnGandC 2 ай бұрын
It's my pleasure. Could you be more specific? For example, the time of the video and the equation with the error in it? Thank you
@fatihklncarslan3352
@fatihklncarslan3352 2 ай бұрын
@@LearnGandC The time is 22:56. When i compare the equation of yaw and code (117 to 120), i notice that there may be a sign discrepancy. In other words, comparing the code and my opinion: dx[5] = -->(in video) ((Jxx_b_kgm2 * (Jxx_b_kgm2 - Jyy_b_kgm2) + Jxz_b_kgm2**2) * p_b_rps * q_b_rps + \ Jxz_b_kgm2 * (Jxx_b_kgm2 - Jyy_b_kgm2 + Jzz_b_kgm2) * q_b_rps * r_b_rps + \ Jxz_b_kgm2 * l_b_kgm2ps2 + \ Jxz_b_kgm2 * n_b_kgm2ps2)/Den -->(photo of formula (my opinion)) ((Jxx_b_kgm2 * (Jxx_b_kgm2 - Jyy_b_kgm2) + Jxz_b_kgm2**2) * p_b_rps * q_b_rps - \ Jxz_b_kgm2 * (Jxx_b_kgm2 - Jyy_b_kgm2 + Jzz_b_kgm2) * q_b_rps * r_b_rps + \ Jxz_b_kgm2 * l_b_kgm2ps2 + \ Jxz_b_kgm2 * n_b_kgm2ps2)/Den
@LearnGandC
@LearnGandC 13 күн бұрын
Thanks for letting me know! If I have not added it to the errata, I will do so.
@EngineerAnandu
@EngineerAnandu 2 ай бұрын
Thank u Ben Sir.
@LearnGandC
@LearnGandC 2 ай бұрын
Most welcome!
@addmix
@addmix 2 ай бұрын
Is there an additional step required to go from ZEM's lateral acceleration to an angular rate command for a body? Is there a "correct" way of doing this?
@LearnGandC
@LearnGandC 2 ай бұрын
Yes, you can directly translate it to flight path angle rate but I have not tried to convert to pitch rate. You may be able to make a PI-coupler between acceleration and q.
@TheGraecus
@TheGraecus 2 ай бұрын
Hey Ben, this is a great video, and it's already helped me a lot, but while I've been trying to understand control theory, the variable s has confused me thoroughly. How is s defined? Can I choose whatever value s will take on (I know that it at least holds the value wj where j is the imaginary number)? or is it based directly on my delta e variable at that point in time that I am simulating. I appreciate your help.
@TheGraecus
@TheGraecus 2 ай бұрын
A lot of the research I have done into trying to figure this out tells me that omega is the input frequency, but if I am not using discrete time-steps or I just need to figure out what s is when time = 0, I have no idea what I could use to find that value
@LearnGandC
@LearnGandC 2 ай бұрын
Hello there, for our purposes s=jw where w is frequency and j is the imaginary number is sufficient, although there is deeper discussion to be had for sure. Note, the frequency domain analysis assumes that the dynamics are only driven by the oscillatory input and that the transients due to a nonzero initial condition have decayed to where they are negligible. The system output is independent of the initial condition at t=0.
@TheGraecus
@TheGraecus 2 ай бұрын
@@LearnGandC Thank you, this helps my understanding somewhat, but a more specific question. How exactly do I calculate the frequency based on a control input? Also, how would I go from finally building my P controller to actually being able to simulate the flight of my model over time?
@TheGraecus
@TheGraecus 2 ай бұрын
@@LearnGandC Also, is there a way I can access the Octave code that you wrote to do all of this and generate your plots?
@LearnGandC
@LearnGandC 2 ай бұрын
For controller tuning and analysis, we often use a combination of frequency and time domain methods. However, for simulation of the controller in the loop with the plant, it's done completely in the time domain.
@youngbloodbear9662
@youngbloodbear9662 3 ай бұрын
Ive been studying Zarchan a while, friend just recommended this series so looking forward to seeing your take
@LearnGandC
@LearnGandC 3 ай бұрын
Cool, I hope you enjoy it. This largely maps to Chapter 2 in Zarchan, but with a lot more details.
@youngbloodbear9662
@youngbloodbear9662 3 ай бұрын
@@LearnGandC that makes sense, I’m into the optimal control stuff now but still interested in the basics as its been a little while since i had time to make good progress lol
@ashhadrasheed4385
@ashhadrasheed4385 3 ай бұрын
Hi ben great work as usual ! i ran the simulation and i got similar results. just a small correction : in the video, you pointed out that the initial separation is 30000ft, whearas in the simulation it is taken to be 40000ft.
@LearnGandC
@LearnGandC 3 ай бұрын
You are correct, this is a known error. I'll add it to errata in the description if I have not already. Thank you
@kingmoose7454
@kingmoose7454 3 ай бұрын
Hi ben! Amazing video! The only thing I didnt understand is how to transform the acceleration command into the Z and X acceleration commands relative to the pursuer frame. Any insights?
@LearnGandC
@LearnGandC 3 ай бұрын
Hello, to resolve the acceleration command in the body coordinate system, we must transform with the direction cosine matrix that is based on the line of sight angle. See the discussion starting at 12:50.
@mb58993
@mb58993 3 ай бұрын
A320 rated here. I've been messing around with coding for the past few weeks and this gem popped up in my KZbin feed, thank you sir!
@LearnGandC
@LearnGandC 3 ай бұрын
That's awesome. Glad you like the video! You can access my whole library for free at www.LearnGandC.com
@denm8991
@denm8991 3 ай бұрын
One of the best if not the best channel on GNC topics on youtube !
@LearnGandC
@LearnGandC 3 ай бұрын
Thanks so much!
@KakaJdjdjd
@KakaJdjdjd 3 ай бұрын
Wow
@rationalthinker9612
@rationalthinker9612 3 ай бұрын
My God, who figured all of this out
@LearnGandC
@LearnGandC 3 ай бұрын
We stand on the shoulders of many smart people who came before us!
@JMRgamer96
@JMRgamer96 3 ай бұрын
where is code for the sim?
@LearnGandC
@LearnGandC 3 ай бұрын
Hello there, codes are available through Patreon. The guidance codes are all the way at the bottom of the list of posts. www.patreon.com/user?u=86359827
@AB-ts7gi
@AB-ts7gi 4 ай бұрын
7:10 shouldn’t the last equation contain a big M (aka M being Torque/Moment)? As currently shown m is a mass. Great video by the way!
@LearnGandC
@LearnGandC 4 ай бұрын
You are correct! I'll update the errata in the description. Thanks for catching that.
@AB-ts7gi
@AB-ts7gi 4 ай бұрын
18:14 I also noticed that in the flight control section it should be -e i think.
@AB-ts7gi
@AB-ts7gi 4 ай бұрын
Is there also any way to get s more explicit view of how you did some parts of the process/ calculations. For example when you showed us the equations of motion I wasn’t sure if to treat α as a variable or a constant (trim condition) and if α_T was a variable or constant. I also don’t know what exactly you used as inputs for the Moment/Torque in 7:10. The video is magnificent but some things were skipped such that it is quite hard for me (an enthusiast) to follow/ model by myself with the use of Matlab.
@edwardtang3140
@edwardtang3140 4 ай бұрын
probably the best open source resource I've found on implementing stevens and lewis, invaluable stuff!
@LearnGandC
@LearnGandC 4 ай бұрын
Thanks so much! I'm looking forward to getting the next lesson out.
@jorgejesusmorenoperez7733
@jorgejesusmorenoperez7733 4 ай бұрын
Absolutely invaluable series! I plan to make my own flight simulator in C++ and I'll be using this playlist as guidance. Keep up the good work!
@LearnGandC
@LearnGandC 4 ай бұрын
That's awesome! Thanks for watching!!
@mehmetyasinmeric7443
@mehmetyasinmeric7443 4 ай бұрын
Thank you
@LearnGandC
@LearnGandC 4 ай бұрын
You're welcome! Thanks for watching.
@radoraan5272
@radoraan5272 4 ай бұрын
Hi Ben! My name is Braulio Álvarez, and i'm studying aeronautical engineering in the National Polytechnic Institute in Guanajuato, Mexico. I'm so interested in all this series that you're going to explain, not just because the full 6-DOF aircraft simulation, but also because i'd like to apply a kind of similar analysis to a rocket. (I just participated in Spaceport America Cup 2024, and now I want to do some dynamic analysis of our rocket). I'm so excited and i can't wait fot the next videos! Thank you for all your work done Ben :)
@LearnGandC
@LearnGandC 4 ай бұрын
Welcome Braulio! It's great to learn of your background and that you enjoy the course content. The next lesson will appear tonight if all goes to plan!
@josephhayes3239
@josephhayes3239 5 ай бұрын
Hey Ben, love the videos, thanks for the effort. What is the difference between the variables "q" and "q^bar" in the nonlinear aircraft dynamics equations? Also I am assuming that Z_E is the displacement of the thrust vector from the center of mass?
@LearnGandC
@LearnGandC 5 ай бұрын
Hey Joseph, q is pitch rate and qbar is dynamic pressure. Correct on z_e. Thanks for watching!
@willh7663
@willh7663 5 ай бұрын
Hi Ben, unless I've missed something I don't think your video explains the content of your spheres.py which you use for vmod = sphere.BowlingBall() . Nor does the video show contents of your interpolators.py which I get around by using numpy's built in np.interp() function. Is there an explanation available anywhere?
@LearnGandC
@LearnGandC 5 ай бұрын
Hello there! Yes, folks can access the code through support of the channel on Patreon. It's 5 bucks a month and you get all codes, as well as additional content that helps explain the codes. www.patreon.com/user?u=86359827
@smolboi9659
@smolboi9659 5 ай бұрын
Can you do LQR control design for the full nonlinear collision dynamics? I guess the L in LQR refers to the dynamics being a LTI system? So my guess will be no?
@LearnGandC
@LearnGandC 5 ай бұрын
Right, L means you have a linear problem. You can get a solution for a nonlinear problem statement but you may have to resort to numerical results, as opposed to an analytical solution.
@DiamondMiner58
@DiamondMiner58 5 ай бұрын
Great series! The lectures are explained so well
@LearnGandC
@LearnGandC 5 ай бұрын
Thank you! I'm glad you like them.
@luqasc1
@luqasc1 5 ай бұрын
This is great Please carry on! 🎉
@LearnGandC
@LearnGandC 5 ай бұрын
You got it, more coming soon!