History#
0.6.1 (2026-10-10)#
FeedbackTFnow uses its documentedx_initargument (it was ignored).Remove
pyadrc.models.RandomSystem(never exported or documented).Docs render both notebooks; stale pages removed.
Internal: one shared rate/magnitude limiter, type hint fixes, faster tests.
0.6.0 (2026-10-10)#
Add
TrackingDifferentiatorandfhan(Han 2009, eqs. (10)-(11)) to shape reference signals. Usesd = r0 * h0**2infhan; the paper printsd = h0 * r0**2, which does not give the time-optimal transient it describes.
0.5.2 (2026-10-10)#
Fix incremental
StateSpace:reset()no longer causes a jump in the control signal (regression in 0.5.1), andzoh=Trueholds return a zero increment instead of repeating the last one.StateSpace.reset()accepts any iterable again.Quadcopter notebook: physical displacement and thrust-loss disturbances, text matches the code.
0.5.1 (2026-10-10)#
Apply rate and magnitude limiters in incremental
StateSpace(inc_form=True), following eqs. (22)-(24) of Herbst, arXiv:1908.04610. Matches the normal form in closed loop (#25).Raise
ValueErrorinstead ofassertfor invalid arguments.QuadAltitudeandSystemaccept ints for float parameters.
0.5.0 (2026-10-10)#
Fix crash with NumPy 2 (
StateSpaceand models returned 1x1 arrays).Fix first-order
StateSpaceproportional gain (was2 * w_cl, noww_cl), matchingTransferFunctionandFeedbackTF.Fix
TransferFunctioncoefficients: first-orderbandwidthprefilter, second-ordergeneral_termsprefilter and second-orderbandwidthbe2. All implementations now produce the same closed-loop response.Remove unused
eso_init,r_lim,m_limandhalf_gainarguments fromTransferFunction.Export
FeedbackTFandsaturationin__all__.Require Python 3.10+, move packaging to
pyproject.toml, CI to GitHub Actions, lint to ruff.
0.1.0 (2021-01-30)#
First release on PyPI.