1#![forbid(unsafe_code)]
2pub mod experiments;
5
6pub mod admm_consensus;
7pub mod arm_obstacle_navigation;
8pub mod behavior_tree;
9pub mod cbf_safety_filter;
10pub mod cgmres_nmpc;
11pub mod ddp;
12pub mod drone_3d_trajectory;
13pub mod lqr_control;
14pub mod lqr_speed_steer_control;
15pub mod lqr_steer_control;
16pub mod minimum_snap_trajectory;
17pub mod model_predictive_trajectory_generator;
18pub mod move_to_pose;
19pub mod mpc;
20pub mod mpc_control;
21pub mod mppi;
22pub mod n_joint_arm_3d;
23pub mod n_joint_arm_control;
24pub mod person_following_mppi;
25pub mod pure_pursuit;
26pub mod pusher_slider;
27pub mod racing_mppi_3d;
28pub mod racing_mppi_motor;
29pub mod racing_mppi_powertrain;
30pub mod racing_mppi_quadrotor;
31pub mod rear_wheel_feedback;
32pub mod rocket_landing;
33pub mod rrt_star_seven_joint_arm;
34pub mod stanley_controller;
35pub mod state_machine;
36pub mod two_joint_arm_control;
37
38pub mod backstepping_control;
39pub mod feedback_linearization;
40pub mod ilqr;
41pub mod pid_controller;
42pub mod sliding_mode_control;
43
44pub use admm_consensus::{
46 solve_formation_consensus, solve_graph_consensus, solve_horizon_consensus, AdmmConfig,
47 AdmmReport, AgentSpec, AgentTrajectory, GraphConsensusReport, HorizonConsensusReport,
48};
49pub use behavior_tree::{BehaviorStatus, BehaviorTree, Blackboard};
50pub use cbf_safety_filter::{
51 simulate_cbf_navigation, CbfConvexObstacle2D, CbfFilterResult, CbfHalfspace2D, CbfNavConfig,
52 CbfNavReport, CbfSafetyFilter,
53};
54pub use lqr_control::InvertedPendulumLQR;
55pub use lqr_steer_control::{LQRSteerConfig, LQRSteerController};
56pub use move_to_pose::{MoveToPoseConfig, MoveToPoseController};
57pub use mppi::{
58 MppiCircularObstacle2D, MppiConfig, MppiControl2D, MppiController2D, MppiGateRace2D,
59 MppiGateRaceReport2D, MppiMovingObstacle2D, MppiPlan2D, MppiRacingGate2D,
60 MppiSamplingDiagnostics2D, MppiState2D, MppiTerminalValueGrid2D,
61 MppiTerminalValueReplayBuffer2D, MppiTerminalValueReplayUpdateReport2D,
62 MppiTerminalValueUpdateConfig2D, MppiTerminalValueUpdateReport2D, MppiTerminalValueUpdater2D,
63 MppiTrackProjection2D, MppiWaypointTrack2D,
64};
65pub use person_following_mppi::{
66 MppiPersonFollowingCandidate2D, MppiPersonFollowingConfig2D, MppiPersonFollowingSampler2D,
67 PersonFollowingMetricsAccumulator2D, PersonFollowingMetricsConfig2D,
68 PersonFollowingRolloutMetrics2D,
69};
70pub use pure_pursuit::{PurePursuitConfig, PurePursuitController};
71pub use pusher_slider::{
72 simulate_multi_push, simulate_push, simulate_push_with_obstacles, ContactMode, MultiPushReport,
73 PushReport, PusherCommand, PusherMppiConfig, PusherMppiPlan, PusherSliderMppiController,
74 PusherSliderParams, SliderState,
75};
76pub use racing_mppi_3d::{
77 simulate_lap_race, RacingDroneControl3D, RacingDroneDynamics3D, RacingDroneState3D,
78 RacingGateLap3D, RacingGatePlane3D, RacingLapReport3D, RacingMppi3DConfig,
79 RacingMppi3DController, RacingMppi3DPlan,
80};
81pub use racing_mppi_motor::{
82 simulate_motor_race, MotorCommand, MotorMppiConfig, MotorMppiController, MotorMppiPlan,
83 MotorQuadParams, MotorQuadState, MotorRacingLapReport,
84};
85pub use racing_mppi_powertrain::{
86 simulate_powertrain_race, simulate_powertrain_race_aware, simulate_powertrain_race_budgeted,
87 ChargeBudget, PowertrainLapReport, PowertrainMppiController, PowertrainParams, PowertrainState,
88};
89pub use racing_mppi_quadrotor::{
90 simulate_quadrotor_race, QuadrotorControl, QuadrotorLapReport, QuadrotorMppiConfig,
91 QuadrotorMppiController, QuadrotorMppiPlan, QuadrotorParams, QuadrotorState,
92};
93pub use rear_wheel_feedback::{RearWheelFeedbackConfig, RearWheelFeedbackController};
94pub use stanley_controller::{StanleyConfig, StanleyController};
95pub use state_machine::StateMachine;
96pub use two_joint_arm_control::TwoJointArm;