On Thu, Feb 3, 2011 at 2:25 PM, andy pugh <bodge...@gmail.com> wrote:

> On 3 February 2011 19:56, Igor Chudov <ichu...@gmail.com> wrote:
>
> >> Assuming that the input to the PID is position, then I have a feeling
> >> you could get the same effect by using a very large gain on FF1 with a
> >> limit (maxcmdD) set to ever so slightly less than the current required
> >> to move the table.
>
> > Since you apparently know a lot about how PID loop is implemented (I just
> > looked into pid.c myself after seeing your older message), would you
> think
> > that adding a friction compensation is relatively straightforward?
>
> Well, first I would try doing what I suggested with the existing PID
> parameters, and see if that helps at all.
>
> > tmp1 += *(pid->fffgain) * sign( command - feedback )
> >
> > where sign( ... ) is a function that returns +1 if its argument is above
> 0,
> > 0 if its argument is 0, and -1 if argument is < 0.
>
> x/absf(x) is close to that function, but will have a problem with zero.
> ( (x == 0) ? 0 : absf(x) / x )
> should work.
>
>
Andy, I will just do it in a way that is easiest to read.

So, you think that adding this to PID is sensible?

I can try to code something and use it for a while. The default value of
fffgain is obviously 0, so having it available would be backwards
compatible. I will, of course, not commit anything.

i
------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world? 
http://p.sf.net/sfu/oracle-sfdevnlfb
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to