moonbitstack/moonmcl/planning does not have a README file
pub(all) struct DubinsPath {
word : DubinsWord
lengths : (Double, Double, Double)
length : Double
origin : Vec
radius : Double
} derive(Debug)pub(all) struct DynamicWindow {
max_velocity : Double
min_velocity : Double
max_rotation : Double
max_acceleration : Double
max_rotation_acceleration : Double
resolution_velocity : Double
resolution_rotation : Double
predict : Double
clearance : Double
margin : Double
heading_weight : Double
clearance_weight : Double
velocity_weight : Double
} derive(Debug)fn DynamicWindow::command(self : DynamicWindow, pose~ : Vec, velocity~ : Vec, goal~ : Vec, obstacles~ : ArrayView[Vec], dt? : Double) -> Vec raise Refusedimpl Planner for InformedRrtStarfn InformedRrtStar::new(space~ : &Space, validity~ : &Validity, step? : Double, goal_bias? : Double, neighbourhood? : Double, seed? : Int) -> InformedRrtStar raise Refusedfn InformedRrtStar::plan(self : InformedRrtStar, start : Vec, goal : Vec, budget : Budget) -> Array[Vec] raise Refusedpub(all) struct PotentialField {
attraction : Double
repulsion : Double
influence : Double
step : Double
} derive(Debug)fn PotentialField::command(self : PotentialField, position~ : Vec, goal~ : Vec, obstacles~ : ArrayView[Vec]) -> Vecimpl Space for ReedsSheppfn ReedsShepp::candidates(self : ReedsShepp, start~ : Vec, goal~ : Vec) -> Array[ReedsSheppPath] raise Refusedpub(all) struct ReedsSheppPath {
word : ReedsSheppWord
segments : Array[ReedsSheppSegment]
length : Double
origin : Vec
radius : Double
} derive(Debug)pub(all) enum ReedsSheppWord {
LpSpLp
RpSpRp
LmSmLm
RmSmRm
LpSpRp
RpSpLp
LmSmRm
RmSmLm
LpRmLp
RpLmRp
LmRpLm
RmLpRm
LpRmLm
RpLmRm
LmRpLp
RmLpRp
LpRpLm
RpLpRm
LmRmLp
RmRmLp
LpRpLmRm
RpLpRmLm
LmRmLpRp
RmRmLpLp
LpRmLmRp
RpLmRmLp
LmRpLpRm
RmLpRpLm
LpRmSmLm
RpLmSmRm
LmRpSpLp
RmLpSpRp
LpRmSmRm
RpLmSmLm
LmRpSpRp
RmLpSpLp
LpSpRmLm
RpSpLmRm
LmSmRpLp
RmSmLpRp
LpSpLpRm
RpSpRpLm
LmSmLmRp
RmSmRmLp
LpRmSmLmRp
RpLmSmRmLp
LmRpSpLpRm
RmLpSpRpLm
} derive(Debug)impl Planner for RrtConnectfn RrtConnect::new(space~ : &Space, validity~ : &Validity, step? : Double, seed? : Int) -> RrtConnect raise Refusedfn RrtConnect::plan(self : RrtConnect, start : Vec, goal : Vec, budget : Budget) -> Array[Vec] raise Refusedfn grid_path(grid : Grid, start~ : Int, goal~ : Int, search? : GridSearch) -> Array[Int] raise RefusedInstall
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.