PID tuning/setting on the actual transmitter
- stevecox
- Topic Author
- Offline
- Keep swinging
Adelaide
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
I know the term "PID" only in some scopes which do not seem to fit here. Can you explain what it means for you?
Please Log in or Create an account to join the conversation.
- RandMental
- Offline
- Posts: 521
P - proportion control law
I - Integral Control law
D - Differential control law
When flying an RC model there are a large number of closed-loop control loops that in fact may already be use PID control algorithms, eg. inside every servo on the model, inside the gyro and FBL controllers. On the highest (outer) level the pilot is also part of the closed control loop and the pilot is in fact is the learning control element closing the loop to keep the model in the air.
Deviation and other programmable TX's all provide a programmable P term (loop gain or scale/range). The I and D elements however require high speed, fixed period or continuous analogue feedback to work properly (the y(t) above in the diagram) otherwise it dynamically affects the D and I gain terms. The low cost telemetry we have cannot provide this level of feedback nor provide the reliability required for safety purposes.
This is where Drones and UAV comes in, their sensors, control algorithms and control/feedback loops are all local on the model and you have a remote command feed to initiate the required actions - the mission critical control functions are not distributed across the TX and Model.
Please Log in or Create an account to join the conversation.
- stevecox
- Topic Author
- Offline
- Keep swinging
Adelaide
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
Ok. But how should be determined when the new zero point has to be set new? If the stick was not moved for a constant time? Or when the direction changes?
I think it might be possible to realize such a function (we would have to extrapolate the expo function to +/-200% and apply it shifted), but I am not imaginative enough to see how to get it working in a meaningful way.
Please Log in or Create an account to join the conversation.
- RandMental
- Offline
- Posts: 521
I am trying to visualize what effect this would have on the control of the model. Adding to the issues that RBE mentioned of how to implement it, that same issues will affect the aircraft's control.
Lets explain:
If you apply the dynamic expo immediately then you will have the 30% dynamic expo applied the whole time - which means it just reduce the scale/range by 30%.
If you apply it after a period, say one second at the same 80% stick position, suddenly the movement required to stop or maintain the roll will change. I think this will confuse the pilot as the gain will change dynamically and perhaps in a non predictive way.
Please Log in or Create an account to join the conversation.
- stevecox
- Topic Author
- Offline
- Keep swinging
Adelaide
Please Log in or Create an account to join the conversation.
- PhracturedBlue
- Offline
- Posts: 4402
Instead, what we'd need to do is to use the rate of change to compute the curve. The problem is that we are sampling at a very high rate, so detecting rate of change isn't so easy. That is to say, we've already applied the change as it occurs because we sample every 5msec. We don't ever get a chance to say something like 'If the stick moved less than 5% in the past 100msec, apply expo' because when you turn that into 5msec, you get 'If the stick moved less than 0.25% in the past 5msec, apply expo' Since that is in the noise or the sensor, we'd never get the behavior we want.
Of course the ideal implementation would be a smooth curve so there is no knife-edge to the controls. Something like this:
0-3% over 100msec = derate movement by 50%
3-5% over 100msec = derate movement by 30%
5-7% over 100msec = deeate movement by 15%
etc
(though even better would be to apply the actual expo function based on stick speed)
Anyhow, I'm not sure how to actually do it with our current implementation.
Please Log in or Create an account to join the conversation.
- rbe2012
- Offline
- So much to do, so little time...
- Posts: 1433
Please Log in or Create an account to join the conversation.
- RandMental
- Offline
- Posts: 521
PhracturedBlue wrote: ... Instead, what we'd need to do is to use the rate of change to compute the curve. The problem is that we are sampling at a very high rate, so detecting rate of change isn't so easy.....
Thinking about it we already have the PI components in the RC control loop and it might just benefit to an open-loop feed-forward D term, eg. the gain increase the higher the rate of stick movement.
- The P-term provided by the TX Scale/Range and Expo settings
- The I-term provided by the Pilot - based on the movement history/trend of the model, corrections are applied and on a plane the trim buttons are used to remove the constant offset corrections
- The D-term based on the stick rate of change.
The D term would thus reduce the gain (scale) at slow stick movements, i.e. you would have the normal 100% scale and anything slower (than a threshold to set by each pilot) the gain is proportionally reduced
Please Log in or Create an account to join the conversation.
- vlad_vy
- Offline
- Posts: 3333
Please Log in or Create an account to join the conversation.
- RandMental
- Offline
- Posts: 521
vlad_vy wrote: I wonder how you can get used to the transmitter, which dynamically changes the response. I think it's impossible.
Hi Vlad
That is true, also my first thought. But if it's based on the stick rate of change (and not position as Steve originally suggested) it would be a defined and predictable gain change that the Pilot would become use to.
It is not that unusual to have D-terms in HID devices control loops to assist the pilots of full scale aircraft.
Please Log in or Create an account to join the conversation.
- stevecox
- Topic Author
- Offline
- Keep swinging
Aside from this unrelated but related ... I think the current implementation can perhaps already do this with some careful tx setup? Can you have the 'position' of the throttle stick say between the stick movement of 40%->100% used as a reference to the amount of expo being applied to a different channel. In this scenario of 30% expo, having throttle of 0%-40% having an effect of 0% expo on the channel, then as the throttle is increased from 40% through to 100% have the expo weight increase from 0% expo through to 30% expo at 100% throttle stick movement on a different assigned channel?
Adelaide
Please Log in or Create an account to join the conversation.
- RandMental
- Offline
- Posts: 521
Please Log in or Create an account to join the conversation.
- Home
- Forum
- General
- General Discussions
- PID tuning/setting on the actual transmitter