moonbitstack/moonmcl/control does not have a README file
impl Controller for Cascadefn ComputedTorque::effort(self : ComputedTorque, q~ : Vec, qd~ : Vec, q_desired~ : Vec, qd_desired~ : Vec, qdd_desired~ : Vec) -> Vec raise Refusedfn ComputedTorque::new(inertia~ : (Vec) -> Mat, gravity~ : (Vec) -> Vec, kp? : Double, kd? : Double) -> ComputedTorque raise Refusedpub(all) struct FeedforwardRunner {
feedforward : Feedforward
previous_reference : Double
previous_velocity : Double
primed : Bool
}fn FeedforwardRunner::update(self : FeedforwardRunner, reference : Vec, measurement : Vec, dt : Double) -> Vecimpl Controller for IntegralLqrimpl Controller for Lqrpub(all) struct Mpc {
model : StateSpace
state_weight : Mat
input_weight : Mat
config : MpcConfig
previous : Vec
}pub(all) struct Pid {
config : PidConfig
integral : Double
previous_input : Double
derivative : Double
primed : Bool
}impl Controller for Pidpub(all) struct PidConfig {
kp : Double
ki : Double
kd : Double
weight_p : Double
weight_d : Double
derivative_on_measurement : Bool
anti_windup : AntiWindup
tracking_time : Double
filter : Double
output : Output
} derive(Debug)impl Controller for RateLimitedimpl Controller for Saturatingfn clamp_scalar(value : Double, low : Double, high : Double) -> DoubleInstall
Download zipMoonBit Motion Control Library: contracts for models, controllers, estimators, trajectories and planners, with dense linear algebra, PID and LQR/MPC control, Kalman and particle filtering, jerk-limited trajectories, sampling-based planning over user spaces, and robot kinematics.