Talk:Backstepping
This article is rated Start-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||
|
Hyphenated name
editThere is a need to resolve whether backstepping or back-stepping is the proper spelling (maybe both?) and to merge the two articles backstepping and back-stepping. Encyclops (talk) 16:28, 2 April 2008 (UTC)
- They refer to the same technique and I merged the two articles. Back-stepping now redirects to the current page (because I think "Backstepping" is the correct spelling). Jiuguang Wang (talk) 17:19, 2 April 2008 (UTC)
From Lyapunov to Control
editIt is not obvious how one comes from the lyaponuv function to the control law????? can someone elaborate this? مبتدئ (talk) 23:27, 2 October 2008 (UTC)
- I have tried to explain this. Does the new version of the article work well for you? The idea is that we choose a control law that ensures that the new system has a true Lyapunov function. That is, the CANDIDATE DERIVATIVE must be less than a known negative definite function. By bounding the candidate's derivative in a strictly negative region, we ensure that it always DECAYS to zero. If the Lyapunov function (think "energy of the system") decays to zero, the state must also decay to zero. —TedPavlic | (talk) 20:44, 21 November 2008 (UTC)
- Yes Ted, the math part of that is very clear now! Very good work. Thanks! مبتدئ (talk) 23:39, 31 May 2009 (UTC)
Stub? Expert?
editIs this article still in need of help from an expert? Is it still a stub? Or does it stand on its own now? I think it's not so bad right now. —TedPavlic | (talk) 20:50, 21 November 2008 (UTC)
- You have made quite a number of improvements, so I think I will take the initiative of removing the Stub and Help from Expert markers. Nonlinear control is a difficult subject, so a truly simple explanation of Backstepping is probably not possible. But I think this article does a reasonable job. Encyclops (talk) 04:19, 22 November 2008 (UTC)
Block Diagrams
editSomeday, it would be nice if someone added some block diagrams to some of these sections. That might help people new to systems to understanding these things. —TedPavlic | (talk) 01:50, 25 November 2008 (UTC)
Comment
editIn principle it seems to be a vety simple method: you let input 2 behave in a way that lets input 1 behave in a stabilizing manner for the system. The point that i dont understand is: Wher do the first Lyaponuv function comes from? and this u(x) where does it come from? i mean at the end i dont need a u(x) but an explit function (something like x^2+x+....) where does that comes from?..... It will be great if someone can work that out, because i got confused by this article مبتدئ (talk) 05:54, 31 May 2009 (UTC)
What i want to say is that i understood all the math, but still dont understand how that solves the problem of finding the u(x). ?مبتدئ (talk) 05:54, 31 May 2009 (UTC)
(or did i understand the article correctly: you can choose W and u arbitrarly (as lon as -w is negative of course))? مبتدئ (talk) 05:54, 31 May 2009 (UTC)
- Backstepping is a method of taking a large and ugly nonlinear problem and stripping off all of the trivial layers so that you're left with a simpler system. Rather than having to design a controller for a 100th order system, I might use backstepping to show me that all I REALLY need to do is find a controller for a 2nd order system and then use backstepping to extend that controller to the 98th other orders. Once I realize that the system is in strict-feedback form, then I know I can strip away all of the "z" system until I'm left with the simpler "x" system. I use other nonlinear control methods to deal with the "x" system. Does that make sense? —TedPavlic (talk) 16:00, 31 May 2009 (UTC)
- I've just made some additional edits which hopefully clear things up a bit. Backstepping says that GIVEN a system in strict-feedback form with a stabilizable lower-order subsystem, we can extend that stabilization to the rest of the system. —TedPavlic (talk) 16:09, 31 May 2009 (UTC)
- Hi Ted, the article was not bad at all (not worse than my lecture notes :-) ). You know, i didn't read a lot of the text and focused on the math formulas, so i didn't notice the key sentence saying that u(x) and W should be found using other methods. Your changes made the article more clear (may be one should use a bold font for peoples like me :-) ). Anyway thanks for the quick response (now i have to think about some equations of motions and whether they fit in this problem :-)). مبتدئ (talk) 23:37, 31 May 2009 (UTC)
- I forgot to say that may be in this article (and similar ones) one should speak about the advantages/ disadvantages of the methods. If i remember it correctly this method leads to High order controllers and slow controllers (because of the chain of integrators that brings a delay into the system). مبتدئ (talk) 23:43, 31 May 2009 (UTC)
- That's not quite correct. The chain of integrators is NOT part of the controller; they already exist within the system. At each step, a COORDINATE TRANSFORMATION reveals the integrator. Once the integrator is revealed, the integrator-backsteping approach can be followed to ensure stability. In other words, the approach reveals the delay that is already present between the original input and the rest of the system. Once we determine that the system is in this form, the backstepping procedure is the natural one to stabilize the system. Let me try to give some other motivating examples:
- Have you studied feedback linearization (Wikipedia has an article on it, but I haven't had as much of a hand in forming its content; I tried to buff it up recently for my own students, but I didn't make a lot of changes)? There is a similar transformation there. In that case, you seek to put the system into a normal form that is as close to controllable canonical form (see state space canonical realizations) as possible. You find a coordinate transformation whose Jacobian is nonsingular, which ensures that it is a local diffeomorphism. Put another way, the coordinate transformation preserves differentiability so that the transformed dynamics are an ordinary differential equation that represents the system equally as well as the original dynamics. However, the transformation reveals that the system is a chain of integrators (in fact, the relative degree of the system tells you how many integrators are there). In the best case scenario, the system is a chain of integrators with an input that has all of the nonlinearity in it. In that case, it's trivial to create a feedback control law that removes the input nonlinearity. Then the system acts just like any other chain of integrators.
- Let's step back a moment and think about high-order differential equations. Any ordinary differential equation with multiple states necessarily has a lot of delay built into it. In fact, that's what the coupled equations relate. They're telling you that a small input at one state will get shaped and then integrated before it enters another state. The resulting integrated curve will be shaped and then integrated again. This process can go on for as many orders as there are in the system. It takes time for wiggles in one part of the system to reach the other -- delay is built into all systems. Things like feedback linearization and backstepping just let us look at that delay in a different way.
- So I hope you see that we're not augmenting the system at all. We're just looking at it in a natural way to simplify generation of the feedback stabilizing control law. Of course, the control law we build might not be as "good" as another one that takes into account peculiarities of the particular system. Additionally, there are LOTS of ways to make sure your Lyapunov function candidate is properly bounded away from zero in all of the right ways. We chose one obvious way here, but I hope you can see that there are other ways (i.e., other choices of ) to keep . With all of that in mind, I wouldn't feel comfortable with adding a generic statement about the "slowness" of backstepping without a particular reference that defines what that means. It's true that backstepping is a general approach that might not be best for all systems, but it's not NECESSARILY worse, and it works really well when your system is in that very special form. In fact, it has very attractive robustness characteristics (that are not discussed in this article). —TedPavlic (talk) 13:25, 1 June 2009 (UTC)
- That's not quite correct. The chain of integrators is NOT part of the controller; they already exist within the system. At each step, a COORDINATE TRANSFORMATION reveals the integrator. Once the integrator is revealed, the integrator-backsteping approach can be followed to ensure stability. In other words, the approach reveals the delay that is already present between the original input and the rest of the system. Once we determine that the system is in this form, the backstepping procedure is the natural one to stabilize the system. Let me try to give some other motivating examples:
- Yes Mr. Pavlic, you are right! Its my mistake again. I admit that slowness is not the result of the backstapping method but an inherent property of the systems in the presented form. Concerning the transformation you spoke about: yes i remember it ( i guess we called it bayrnes isidori normal form according to the creator of the form). It was a good hint from you about the robustness charachteristics of backstepping (thanks). What about the resulting controller order/ complexity. I remember they showed us for a small system the backstepping controller in mathematica and the solution was about 3 or 4 pages of formulas for the controller. Is that worth to be mentioned? Best regards مبتدئ (talk) 02:40, 4 June 2009 (UTC)
- I think the complexity of the control law is obvious from the examples (note that the control law has "zero order" -- we're not augmenting the state space any). That is, you have to use the derivative of the previous control, and the previous control may have been ugly to begin with. In the end though, the resulting controller is just a "simple" coordinate transformation. It's true that in some cases you may have difficulties implementing all of the necessary functions, but in other cases even a backstepping controller that has to step back many times will have a relatively simple controller. Oh, and I always wince a little when I see someone mention using Mathematica (or Maple) to do their analysis. Not only do you lose out on gaining understanding of all of the subsystems when you don't do the math by hand, but there's a very good chance that Mathematica has neglected several simplifications. A four or five page mess in Mathematica often turns into two or three lines on a piece of paper. When you're unsure of your own work, Mathematica can help you check it, but you should never leave out the paper step; it's a necessary part of control design. —TedPavlic (talk) 13:50, 4 June 2009 (UTC)
Neutral point of view in the new flexible-joint section? Advertising of less recognized academic work?
editThe newer section needs much cleaning up just to get the referencing in check with Wikipedia conventions. However, before spending a lot of time on the edits, is it clear that it has not been added by someone close to Lozano or Brogliato who is advertising these papers and the more recent book? The phrase "and has remained a largely ignored fact in the Control literature" seems to imply that both the references given are obscure and that the editor is upset by this. Are they appropriate here? Backstepping itself is very common across control literature (as are references to Kokotovic and his association with backstepping). —TedPavlic (talk/contrib/@) 05:05, 28 September 2011 (UTC)
- This section seems written to enhance the visibility of a piece of work and to establish claims of priority ("published almost at the same time as..."). Author may have a conflict of interest. While these types of controversies are common in academic discussions, they do not belong in an Encyclopedia in my view (it is not the purpose of Wikipedia to draw attention to neglected work). Encyclops (talk) 13:32, 28 September 2011 (UTC)
- Okay. So then is removing the new section entirely warranted? What is a good next action to take? —TedPavlic (talk/contrib/@) 04:16, 29 September 2011 (UTC)
I propose we wait a few days for other comments (especially from past contributors to this page) and then I will remove this section (if there are no objections). Encyclops (talk) 14:02, 29 September 2011 (UTC)
- Okay. Sounds good. I've been responsible for most of the major edits to this page since 2008 (which I think is the bulk of the page), and I'm OK with either removing it or folding the references into existing text (perhaps in the introduction if not the lede?). —TedPavlic (talk/contrib/@) 15:49, 29 September 2011 (UTC)
- OK. Done. 96.250.107.109 (talk) 02:23, 17 October 2011 (UTC)