Re: Double Pole Balancing
- The pole balancing code did not originate with me; I copied it from
the prior-existing ESP source code for the experiment. I believe the
ESP version may in turn have come even from a package before ESP
(like SANE for example). In any case, I don't recall the original
source for the code, but as you can see it has been passed down for a
few generations of systems, which is actually a good thing to make
Unfortunately I therefore do not know the explanation for the missing
term. It is likely that Jean-Baptiste's explanation is correct. In
any case, I think the important thing is that the domain code is
consistent among systems being compared.
--- In firstname.lastname@example.org, "Cesar G. Miguel" <cesargm@...> wrote:
> I'm trying to reproduce the double pole balancing experiment
> (following Stanley's code), but something is not clear to me.
> According to Wieland's equations, we have:
> dx^2/dt^2 = F - mi_c * sgn(dx/dt) + ... (ignored for simplicity)
> where F is the force applied to the cart. But in Stanley's C++ code:
> experiments.cpp (line 1349), this is only implemented as:
> force = (action - 0.5) * FORCE_MAG * 2;
> where 'action' is the network output and FORCE_MAG = 10.0. But isn't
> [mi_c * sgn(dx/dt)] missing? Is that because the term is almost
> meaninglessness since mi_c = 0.0005?