minor mistake at 11:45 you encircle the controller transfer function and include the actuator which is part of the plant
@abdulbasetjoma64652 күн бұрын
Hi...what is the best book for guidance plz
@LearnGandC2 күн бұрын
I'd recommend Paul Zarchan's book. You can find it on my list of recommended texts: learngandc.com/recommended-texts
@tanitanimoni43672 күн бұрын
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.
@LearnGandC2 күн бұрын
Not necessarily. For example, linear analysis and application of linear control methods has been effective in aircraft control for decades!
@tanitanimoni43673 күн бұрын
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
@tanitanimoni43673 күн бұрын
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?
@shlomixsima4 күн бұрын
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.
@LearnGandC4 күн бұрын
Thanks, based on your comment, I've reordered the playlist so they are now in order 2.1 to 2.6!
@halaquin24866 күн бұрын
in the code at 18:58, shouldn't w_over_v be called w_over_u?
@LearnGandC5 күн бұрын
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.
@halaquin24866 күн бұрын
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?
@LearnGandC6 күн бұрын
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.
@salemreguieg232010 күн бұрын
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.
@djredrover13 күн бұрын
Another Banger of a lecture by Ben! Doesn't get any better than these honestly. Appreciate you mate.
@LearnGandC12 күн бұрын
My pleasure! Thank you!
@dr.moazzamtiwana474313 күн бұрын
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?
@LearnGandC12 күн бұрын
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.
@ukaszBartnik13 күн бұрын
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?
@LearnGandC13 күн бұрын
Yes, that's correct! I did a poll and people wanted insight into the issues found when developing the simulation.
@ukaszBartnik13 күн бұрын
@@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.
@salemreguieg232015 күн бұрын
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
@LearnGandC13 күн бұрын
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.
@gentveselaj878923 күн бұрын
Very good
@abdelhaksaouli8802Ай бұрын
are you saying that we assume that earth is flat so the math can work so we can fly ?
@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Ай бұрын
How many total video lessons is this series going to have?
@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Ай бұрын
I wish I have found this channel during my masters, but better late than never.
@LearnGandCАй бұрын
Haha, true. More lessons coming soon.
@davidtogonidze4281Ай бұрын
This is awesome, very clear explanation
@LearnGandCАй бұрын
Thank you!
@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Ай бұрын
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Ай бұрын
god i love the internet, thank u ben
@LearnGandCАй бұрын
Haha, you're welcome.
@MATTEOFRASCARELLIАй бұрын
One question, what methods are used to measure and estimate the acceleration of the target to be fed forward to the APNG?
@russelibrahim40452 ай бұрын
My simulation was coming up as unstable. I removed the minus sign and everything was ok
@LearnGandC2 ай бұрын
Great, that issue has plagued us all at some point.
@ThomasZiervogel2 ай бұрын
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
@LearnGandC2 ай бұрын
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!
@mberoakoko242 ай бұрын
I honestly never thought about a compensator in state space , I always did a z transform and implement the difference equation.
@LearnGandC2 ай бұрын
Yes, it's particularly useful when we have a continuous time simulation.
@mberoakoko242 ай бұрын
Absolute Gold mine , thank you very much sir .
@LearnGandC2 ай бұрын
Glad you like it! Thanks!
@arjanriat16022 ай бұрын
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.
@LearnGandC2 ай бұрын
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.
@SilvioAttanasio2 ай бұрын
do you have any videos or know of resources on the lateral component (localizer)?
@LearnGandC2 ай бұрын
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.
@SilvioAttanasio2 ай бұрын
@@LearnGandC thank you!
@fatihklncarslan33522 ай бұрын
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.
@LearnGandC2 ай бұрын
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
@fatihklncarslan33522 ай бұрын
@@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
@LearnGandC13 күн бұрын
Thanks for letting me know! If I have not added it to the errata, I will do so.
@EngineerAnandu2 ай бұрын
Thank u Ben Sir.
@LearnGandC2 ай бұрын
Most welcome!
@addmix2 ай бұрын
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?
@LearnGandC2 ай бұрын
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.
@TheGraecus2 ай бұрын
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.
@TheGraecus2 ай бұрын
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
@LearnGandC2 ай бұрын
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.
@TheGraecus2 ай бұрын
@@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?
@TheGraecus2 ай бұрын
@@LearnGandC Also, is there a way I can access the Octave code that you wrote to do all of this and generate your plots?
@LearnGandC2 ай бұрын
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.
@youngbloodbear96623 ай бұрын
Ive been studying Zarchan a while, friend just recommended this series so looking forward to seeing your take
@LearnGandC3 ай бұрын
Cool, I hope you enjoy it. This largely maps to Chapter 2 in Zarchan, but with a lot more details.
@youngbloodbear96623 ай бұрын
@@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
@ashhadrasheed43853 ай бұрын
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.
@LearnGandC3 ай бұрын
You are correct, this is a known error. I'll add it to errata in the description if I have not already. Thank you
@kingmoose74543 ай бұрын
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?
@LearnGandC3 ай бұрын
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.
@mb589933 ай бұрын
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!
@LearnGandC3 ай бұрын
That's awesome. Glad you like the video! You can access my whole library for free at www.LearnGandC.com
@denm89913 ай бұрын
One of the best if not the best channel on GNC topics on youtube !
@LearnGandC3 ай бұрын
Thanks so much!
@KakaJdjdjd3 ай бұрын
Wow
@rationalthinker96123 ай бұрын
My God, who figured all of this out
@LearnGandC3 ай бұрын
We stand on the shoulders of many smart people who came before us!
@JMRgamer963 ай бұрын
where is code for the sim?
@LearnGandC3 ай бұрын
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-ts7gi4 ай бұрын
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!
@LearnGandC4 ай бұрын
You are correct! I'll update the errata in the description. Thanks for catching that.
@AB-ts7gi4 ай бұрын
18:14 I also noticed that in the flight control section it should be -e i think.
@AB-ts7gi4 ай бұрын
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.
@edwardtang31404 ай бұрын
probably the best open source resource I've found on implementing stevens and lewis, invaluable stuff!
@LearnGandC4 ай бұрын
Thanks so much! I'm looking forward to getting the next lesson out.
@jorgejesusmorenoperez77334 ай бұрын
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!
@LearnGandC4 ай бұрын
That's awesome! Thanks for watching!!
@mehmetyasinmeric74434 ай бұрын
Thank you
@LearnGandC4 ай бұрын
You're welcome! Thanks for watching.
@radoraan52724 ай бұрын
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 :)
@LearnGandC4 ай бұрын
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!
@josephhayes32395 ай бұрын
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?
@LearnGandC5 ай бұрын
Hey Joseph, q is pitch rate and qbar is dynamic pressure. Correct on z_e. Thanks for watching!
@willh76635 ай бұрын
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?
@LearnGandC5 ай бұрын
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
@smolboi96595 ай бұрын
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?
@LearnGandC5 ай бұрын
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.