Explaining bode plot
  • Can someone please explain how to interpret bode plot data in simple terms?
    I have read explanataion refered by the manual (http://support.motioneng.com/utilities/bode/bode_16.html) but it was explaining just some dry points about how one would analyze two signals of the same nature which allowed to compare input and output amplitudes and phases.
    But here in basecam I can't really understand how can be data analyzed. What is the input signal and output signal - those are signal representing the same data? Is it an input data for PID regulator and output data - what is coming from him? If so, how can they be compared - they are supposed to be of differing nature, aren't they?
    Or are those some physical characteristics, showing just how current flows over the controller and how fast it is transferred to motors?
    Or maybe I just said completely wrong things and you could say how things work for real?
    Anyway, I will highly appreeciate any knowledgeable responce!
  • And most importantly - can those Phase responce/ Gain responce parameters be improved by PID regulator calibration or any other controller setting?
  • Hello,

    Bode plot analysis is indeed not an easy to explain. It's required to understand the basics of control theory. In basecam controllers, it is used to analyze several systems, comparing it's input and output like it is stated in the description. For example, to analyze signal transfer in the "Plant", its "input" is a torque generated by the motor, and output is a signal on the IMU sensor. It shows the path of the signal from the motor via mechanics to the sensor, so it is very usable in analyzing mechanical properties of a gimbal. If you analyze "Plant + Controller", it will show this signal amplified and filtered by PID controller and all filters. This information is extremally useful, but still, it's not clear how to use it to estimate the performance of the system, right?

    Fortunately, right now we are working on improved version of this tool. It will be able to make some calculations and show additional information about the system that allows estimating it's robustness (stability margins) and performance in a stabilization task. Moreover, it allows to automatically find optimal PID parameters analyzing multiple responses (different positions, different payloads) at a time, that works much better the existing PID auto-tuning algorithm, that does it only for the current position and payload.

    We expect to release the new version of GUI with the updated tool in January (or February, as a deadline) and prepare detailed documentation on how to use it.

    Regards, Aleksey.
  • Thanks alexmos, those are some wonderful news to hear!
    But still is it possible you could drop a few lines about "Plant + Controller" case where
    you said "it will show this signal amplified and filtered by PID controller and all filters".
    According to the manual it takes data fed to a controller (to filters+PID regulator) as an input. Then after the data is processed by the controller it is passed to a plant (Motor+Mechanics) and then after a stabilization iteraton was done the data from sensor is taken as an output.
    What I don't understand is how can you compare frequency and phase patterns of electric signals representing different data (and , apparently, sources) - they are not supposed to have comparable amplitude or phase structure as they represent different bit sequences. I don't really know what is the input to PID regulator and output from sensor in that case but I have this question thinking that they are not the same (or are they?).
    Clearly I know next to nothing about control theory. But this question had me stuck while digging related literature so maybe you (or someone else) could help me figure it out.
  • The output of a gyroscope sensor is measured in "rotation rate" units. The input of PID is the same (remember it is closed loop controller), so in this case units matches and we can use amplitude and phase response directly. If we analyze different system, like "Plant" - units do not match, so amplitude response has an uncertain multiplier. But we still can compare two responses, to see how changes in mechanics affect system behavior. For example, if we install 2x heavier payload, amplitude response will proportionally decrease 2x time. Also, it still shows a distribution of amplitude response over the frequencies and phase delay (that does not depend on units at all).
  • Thanks again, alexmos!
    Could u please clarify the folowing:
    "it still shows a distribution of amplitude response over the frequencies" - what are those frequencies? Are they just artificially generated identical signals? (like same input is fed once, then twice per second) Or is it something else?
    Thanks again for your time.
  • Each signal can be considered as a sum of harmonic signals (sinusoidal). If you send pure harmonic signal with the 10Hz frequency on input, you can expect an amplitude and phase response on the output that exactly matches with the Bode plot at 10 Hz point.

    For testing, random noise is used that cover frequencies in a wide range.
  • Thanks, alexmos!
  • Hello, alemos, a followup question...
    When I log the results of bode plot I dont get the values depicted on the bode chart. More like I am getting some sort of raw data which is later used to calculate values for the chart.
    Could you please explain what are those values and how to read them? There is two columns, each showing values ranging (in me case) from -1000 to 251 in the first column and from -89 to 377 in the second one. Could you please tell how values on the bode plot can be calculated out of those or at least what do those raw numbers mean.
  • This data are input and output of a system. You can use any tool for any kind of analysis. Bode plot is just one method among many others. The commonly used tools are Matlab, Octave. but you need some specific skills to work with them.

    Regards, Aleksey.
  • Thanks, Aleksey!
    Could you recommend any literature to obtain those skills?
    And what are the units of measure of those input/output numbers? Do they represent "rotation rate"?
    And if so then why didn't I observe any rotation while this test was run?
  • I can recommend to search tutorials where there are keywords "control theory", "bode plot", "PID controller".
    Yes, the units are most often for the rate of rotation. You do not see it because direction changes from 5 to 500 times per second. Though low-frequency band is visible: system shakes.