//! Control: feedback controllers, signal filters, and path-following laws.
//!
//! - [`Pid`] — PID with anti-windup.
//! - [`Lqr`] — optimal linear state feedback, with a check that the loop it closes settles.
//! - [`GeometricAttitudeController`] — attitude control on rotations, for a rigid body.
//! - [`thrust_command_from_acceleration`] — how to point and how hard to push, for a wanted
//! acceleration. What joins a position loop to an attitude loop.
//! - [`OnePoleLowPass`] — the filter on the PID's derivative term, re-exported from
//! [`signal_processing`](crate::signal_processing).
//! - [`pure_pursuit_curvature`] — the pure-pursuit path-following law (takes a lookahead point).
//! - [`FollowTheGap`] — reactive gap-following over a range scan.
//!
//! Everything is generic over [`Numeric`](crate::Numeric) (so `f32`/`f64`/autodiff), in SI units and
//! radians, on a fixed timestep `dt`. Depends on [`linear_algebra`](crate::linear_algebra),
//! [`spatial`](crate::spatial), and [`kinematics`](crate::kinematics), not on
//! [`motion`](crate::motion).
pub use crateOnePoleLowPass;
pub use ;
pub use GeometricAttitudeController;
pub use Lqr;
pub use Pid;
pub use ;
pub use ;