Rockwell PID AOI

Just to clarify to others what l'm doing via non linear CMD, the spread sheet (excel 2010) attached shows linear rudder CMD, with the non linear result beside the linear.
So you can see when say a linear 10 degrees of rudder is asked for at /70 = 11.4, /50 = 12, /40=12.5, /30 = 13.3 so not alot of CMD (CV) different at minior CMD's, but when more rudder CMD is required the non linear result quickly gives full 45 degree rudder at /70 = 31 /50 = 29, /40 = 27, /30 = 25. I actual use the /30 in my AP.

So do PLC's PID have non linear ability or built in as standard and are they doing anything else that maybe an improvement over mine which l could incorporate?
If not then PID's are pretty straight forward/basic when you understand them and not some magic in a function block.
I will admit that l'm nearly as passionate about AP's as Peter is about Motion Controllers.
 
Just go buy yourself a copy of Control Stations PID Loop Tuner Pro
The problem is more complicated than just tuning a PID. duckman has potentially 3 loops and the gains are speed dependent, not time dependent.

People that use PID on dynamic problems like cars that follow lines or duckman's auto pilot must execute PIDs as a function of distance traveled not time. It should be obvious that executing the PID as a function of time, the integrator would wind up while the car or boat is just sitting there.

There are people on this forum that have had similar problems with industrial applications.
 
Just to clarify to others what l'm doing via non linear CMD, the spread sheet (excel 2010) attached shows linear rudder CMD, with the non linear result beside the linear.
So you can see when say a linear 10 degrees of rudder is asked for at /70 = 11.4, /50 = 12, /40=12.5, /30 = 13.3 so not alot of CMD (CV) different at minior CMD's, but when more rudder CMD is required the non linear result quickly gives full 45 degree rudder at /70 = 31 /50 = 29, /40 = 27, /30 = 25. I actual use the /30 in my AP.

So do PLC's PID have non linear ability or built in as standard and are they doing anything else that maybe an improvement over mine which l could incorporate?
If not then PID's are pretty straight forward/basic when you understand them and not some magic in a function block.
I will admit that l'm nearly as passionate about AP's as Peter is about Motion Controllers.

What does /70 and /50 mean? You never explained that.
basically you need a two dimensional interpolation program. One coordinate is angle. The other is whatever /?? means.
What is needed is a two dimensional cubic spline.
Look at chapter 3.6 in Numerical Recipes in C or C++
It is called bicubic interpolation. I have a graphics book where they use 5th order polynomials for covering the wire framed objects.

We use cubic splines or curves to linearize feedback and change gains on-the-fly.

PIDs are simple. :)
It is the rest of the stuff that is complicated.
 
Hi Peter, l do need to own up and say a countryman of yours, Jack Edwards designed the AP, were l have in my case got it to function correctly because of compass lockup issues and l have added numerous features to it, including MOB, non linear CMD( which by the sound of it maybe incorrect, but it seems to work), compass deviation correction and other IMU's, but it is Jacks baby and he is an ex nuclear sub engineer and is my Guru all things Arduino.
/70 was divide by 70. To get my non linear CMD
PID_output = PID_output + PID_output * abs(PID_output) / 70; // to increase rudder disproportionately to errors X= X + X* ABS(X)/70
Have just been looking up I-PD and it's all that stuff in the magic PID block, so l need to sit down and have a read and play.
I see l need to just brake down I-PD into something l can understand, relating to my AP errors. As the AP code is broken up into different tabs doing the control loops outside the PID (hence why the PID formula looks so easy compared to the started formula with all the loops included.
Or if you were so kind an example would be great.
 
Just go buy yourself a copy of Control Stations PID Loop Tuner Pro
As l said earlier tuning the PD is very easy, subject only to the speed the boat is going and how fast you want it to turn, so after a few turns you now what to set P +D for what speed the boat is doing.
 
I haven't looked at your PDF yet (thanks) but just a go at I-PD formula.
CMD = -P*heading + I *heading error - D * heading to steer
close?
I see the full formula use, s =disturbances (wind gusts/waves = XTE ?), N= derivative filter value (another adjustable gain?), b+c = set point weigths on P+D (not sure what they are yet).
Just looked at the PDF, brain starting to over heat!
understanding now about discrete and 2 DOF so understanding about b+c

I see l certainly haven't got formula right as l don't have ROT
maybe?
CMD = -P * heading + I * heading error - D * ROT * heading to steer
 
Last edited:
Of course l'm guessing a lot, but did some examples long hand
integral_error = integral_error * heading_error;//subject to scan speed, 50hz
CMD = -P * rudder reference + integral_error - D * ROT
Actually l will give up now before making a bigger fool of myself.
Luckily the AP works beautifully with PD:beerchug:
 

Similar Topics

I've got quite a few questions to fire. In the velocity form, why does the P term now act like the D term in the positional form? The D term...
Replies
2
Views
988
Hello all, A group I am involved with is just completing converting a Siemens APACS control system over to an RSLogix PLC. The subject came up of...
Replies
1
Views
1,154
Good morning, I have a Rockwell CompactLogix PLC which sits on the same panel Ethernet network as a Eurotherm PID controller, and I am trying to...
Replies
5
Views
3,313
Hi Guys, I have a requirement to contol a pump speed with a VSD to achieve a steady temperature in a process environment. Hot water is being...
Replies
6
Views
4,800
Hi, I'd like to ask does anyone come across the PID tuning software from Rockwell - RSTUNE (if not mistaken). What's the difference using RSTune...
Replies
10
Views
18,827
Back
Top Bottom