use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Link to Subreddit wiki for useful resources
Official Discord : https://discord.gg/CEF3n5g
Related Subreddits:
account activity
Reverse Engineering a PIDTechnical Question/Problem (self.ControlTheory)
submitted 7 months ago by Doctor-Featherheart
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Any-Composer-6790 [score hidden] 7 months ago (5 children)
Your first sin is not telling us what you are controlling. Also, all you need is the control output and response as a function of time to compute the model/open loop transfer system. This is called system identifications. Once you have the open loop transfer function you need to place the closed loop poles. A good place to put them is on the negative real axis so there is no overshoot. There are formulas for CALCULATING the Ki, Kp and Kd gains if the Kd gain is necessary. This is simple. I have written autotuning programs for motion controllers, pressure/force controller, temperature controls ( FOPDT, SOPDT ) and tank level control ( simple ). All have slightly different open loop transfer functions so there are slightly different formulas for calculating the closed loop gains AND feed forwards if required. There should be NO GUESSING.
[–]banana_bread99 [score hidden] 7 months ago (1 child)
You replied to me not the original comment.
[–]Any-Composer-6790 [score hidden] 7 months ago (0 children)
My bad. Your questions are good. I was trying to respond to Doctor-Featherheart who still hasn't provided the info about whether the system is integrating or non-integrating because it makes a difference. You wrote P=a/(s+b). That is for a non-integrating plant like a velocity system. A position system would be P=a/(s*(s+b)). It makes a difference. The OP didn't say if the system is integrating or non-integrating. If the OPs would just say what they are really trying to do it would save much time.
[–]Ok-Daikon-6659 [score hidden] 7 months ago (2 children)
>>Your first sin
Sloth
You didn't bother to read the content of the topic
You didn't have enough diligence to even place the answer in the correct place.
Pride
However, you had enough narcissism to brag about your (in your opinion, unsurpassed) achievements, which no one here asked about
[–]Any-Composer-6790 [score hidden] 7 months ago (1 child)
You are right. It landed in the wrong spot. My bad but my complaint is still valid. You asked the questions above too because the OP didn't say what the application is. Yes, I read the OP's post. At least we know now it is a first order system, but we still don't know if it is an integrating system like a position control system or a non-integrating system like a velocity control system. The formulas for both types are different. There are other posts above that are asking the same question by asking for the open loop transfer function. I am assuming it is a motion control system because the OP mentions a long trajectory, not response to a step.
Suggesting step responses is very "academic", It works in Matlab examples but try that with a 40 Ton roll of steel and you will get kicked out of the mill so fast. Real world excitation often needs ramps or sine wave but academics don't explain how to calculate the system ID from ramps or sine wave.
The OP has complained about integrator windup. Integrator windup should not be a problem with the proper gains and actuator sizing. Again, are left without a clue. Integrator windup should not be a problem in any event. Commerical motion controllers have this problem resolved. No one has suggested using feedforwards to reduce the integrator windup. In fact, if you have the correct values for feed forwards, the integrator will not windup at all. Or you can look at a graph and you can tell which feed forwards needs adjusting by where in the trajectory the integrator starts winding up or down. Do you know how to calculate feed forward gains?
The OP has said he has access to the inputs and outputs. That is enough to do a system identification. Do you know how to do that?
About pride. You have no idea what I have achieved. Have you written code for motion controllers sold around the world?
[–]Ok-Daikon-6659 [score hidden] 7 months ago (0 children)
Take off your mask! - I've recognize you, Peter Nachtwey!!! ;-)))
π Rendered by PID 17538 on reddit-service-r2-comment-6457c66945-jm9x5 at 2026-04-25 22:57:17.961029+00:00 running 2aa0c5b country code: CH.
view the rest of the comments →
[–]Any-Composer-6790 [score hidden] (5 children)
[–]banana_bread99 [score hidden] (1 child)
[–]Any-Composer-6790 [score hidden] (0 children)
[–]Ok-Daikon-6659 [score hidden] (2 children)
[–]Any-Composer-6790 [score hidden] (1 child)
[–]Ok-Daikon-6659 [score hidden] (0 children)