├── .gitignore ├── README.md ├── __init__.py ├── controllers ├── __init__.py ├── abstract_controller.py ├── acc_unicycle_controller.py ├── feedforward_controller.py ├── linear_controller.py ├── quad_backstepping_controller.py └── unicycle_controller.py ├── costs ├── __init__.py ├── abstract_cost.py ├── lqr_cost.py ├── lqr_obstacle_cost.py └── obstacle.py ├── discrete_integrators ├── __init__.py ├── abstract_integrator.py ├── euler_integrator.py ├── semi_implicit_car_integrator.py └── semi_implicit_quad_integrator.py ├── dynamics ├── __init__.py ├── abstract_casadi_dynamics.py ├── abstract_dynamics.py ├── casadi_quadrotor_dynamics.py ├── casadi_unicycle_dynamics.py ├── linear_dynamics.py ├── linearize_dynamics.py ├── quadrotor_dynamics.py ├── quadrotor_dynamics_extended.py ├── simple_car_dynamics.py ├── unicycle_acc_dynamics.py └── unicycle_dynamics.py ├── examples ├── quadrotor_ddp.py ├── sampling_unicycle_dynamics.py ├── simple_car_ddp.py ├── unicycle_obst_avoidance.py └── unicycle_obst_avoidance_single_case.py ├── integrators ├── __init__.py ├── abstract_integrator.py └── euler_integrator.py ├── mpc_solvers ├── __init__.py └── ddp.py ├── sampling ├── __init__.py ├── discrete_sampler.py └── sampling_dynamics.py └── tests ├── __init__.py ├── controllers ├── __init__.py ├── test_acc_unicycle_controller.py ├── test_linear_controller.py ├── test_quad_backstepping_controller.py └── test_unicycle_controller.py ├── costs ├── __init__.py ├── test_lqr_cost.py ├── test_lqr_cost_obstacle.py └── test_obstacle.py ├── dynamics ├── __init__.py ├── test_casadi_quadrotor_dynamics.py ├── test_casadi_unicycle_dynamics.py ├── test_linear_dynamics.py └── test_linearization.py ├── integrators ├── __init__.py └── test_euler_integrator.py ├── mpc_solvers ├── __init__.py └── test_ddp_linear_dynamics.py └── sampling ├── __init__.py └── test_sampling_dynamics.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/README.md -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /controllers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/__init__.py -------------------------------------------------------------------------------- /controllers/abstract_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/abstract_controller.py -------------------------------------------------------------------------------- /controllers/acc_unicycle_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/acc_unicycle_controller.py -------------------------------------------------------------------------------- /controllers/feedforward_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/feedforward_controller.py -------------------------------------------------------------------------------- /controllers/linear_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/linear_controller.py -------------------------------------------------------------------------------- /controllers/quad_backstepping_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/quad_backstepping_controller.py -------------------------------------------------------------------------------- /controllers/unicycle_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/controllers/unicycle_controller.py -------------------------------------------------------------------------------- /costs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/costs/__init__.py -------------------------------------------------------------------------------- /costs/abstract_cost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/costs/abstract_cost.py -------------------------------------------------------------------------------- /costs/lqr_cost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/costs/lqr_cost.py -------------------------------------------------------------------------------- /costs/lqr_obstacle_cost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/costs/lqr_obstacle_cost.py -------------------------------------------------------------------------------- /costs/obstacle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/costs/obstacle.py -------------------------------------------------------------------------------- /discrete_integrators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/discrete_integrators/__init__.py -------------------------------------------------------------------------------- /discrete_integrators/abstract_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/discrete_integrators/abstract_integrator.py -------------------------------------------------------------------------------- /discrete_integrators/euler_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/discrete_integrators/euler_integrator.py -------------------------------------------------------------------------------- /discrete_integrators/semi_implicit_car_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/discrete_integrators/semi_implicit_car_integrator.py -------------------------------------------------------------------------------- /discrete_integrators/semi_implicit_quad_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/discrete_integrators/semi_implicit_quad_integrator.py -------------------------------------------------------------------------------- /dynamics/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/__init__.py -------------------------------------------------------------------------------- /dynamics/abstract_casadi_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/abstract_casadi_dynamics.py -------------------------------------------------------------------------------- /dynamics/abstract_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/abstract_dynamics.py -------------------------------------------------------------------------------- /dynamics/casadi_quadrotor_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/casadi_quadrotor_dynamics.py -------------------------------------------------------------------------------- /dynamics/casadi_unicycle_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/casadi_unicycle_dynamics.py -------------------------------------------------------------------------------- /dynamics/linear_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/linear_dynamics.py -------------------------------------------------------------------------------- /dynamics/linearize_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/linearize_dynamics.py -------------------------------------------------------------------------------- /dynamics/quadrotor_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/quadrotor_dynamics.py -------------------------------------------------------------------------------- /dynamics/quadrotor_dynamics_extended.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/quadrotor_dynamics_extended.py -------------------------------------------------------------------------------- /dynamics/simple_car_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/simple_car_dynamics.py -------------------------------------------------------------------------------- /dynamics/unicycle_acc_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/unicycle_acc_dynamics.py -------------------------------------------------------------------------------- /dynamics/unicycle_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/dynamics/unicycle_dynamics.py -------------------------------------------------------------------------------- /examples/quadrotor_ddp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/examples/quadrotor_ddp.py -------------------------------------------------------------------------------- /examples/sampling_unicycle_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/examples/sampling_unicycle_dynamics.py -------------------------------------------------------------------------------- /examples/simple_car_ddp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/examples/simple_car_ddp.py -------------------------------------------------------------------------------- /examples/unicycle_obst_avoidance.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/examples/unicycle_obst_avoidance.py -------------------------------------------------------------------------------- /examples/unicycle_obst_avoidance_single_case.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/examples/unicycle_obst_avoidance_single_case.py -------------------------------------------------------------------------------- /integrators/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/integrators/__init__.py -------------------------------------------------------------------------------- /integrators/abstract_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/integrators/abstract_integrator.py -------------------------------------------------------------------------------- /integrators/euler_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/integrators/euler_integrator.py -------------------------------------------------------------------------------- /mpc_solvers/__init__.py: -------------------------------------------------------------------------------- 1 | from ddp import Ddp 2 | -------------------------------------------------------------------------------- /mpc_solvers/ddp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/mpc_solvers/ddp.py -------------------------------------------------------------------------------- /sampling/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/sampling/__init__.py -------------------------------------------------------------------------------- /sampling/discrete_sampler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/sampling/discrete_sampler.py -------------------------------------------------------------------------------- /sampling/sampling_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/sampling/sampling_dynamics.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/controllers/test_acc_unicycle_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/controllers/test_acc_unicycle_controller.py -------------------------------------------------------------------------------- /tests/controllers/test_linear_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/controllers/test_linear_controller.py -------------------------------------------------------------------------------- /tests/controllers/test_quad_backstepping_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/controllers/test_quad_backstepping_controller.py -------------------------------------------------------------------------------- /tests/controllers/test_unicycle_controller.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/controllers/test_unicycle_controller.py -------------------------------------------------------------------------------- /tests/costs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/costs/test_lqr_cost.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/costs/test_lqr_cost.py -------------------------------------------------------------------------------- /tests/costs/test_lqr_cost_obstacle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/costs/test_lqr_cost_obstacle.py -------------------------------------------------------------------------------- /tests/costs/test_obstacle.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/costs/test_obstacle.py -------------------------------------------------------------------------------- /tests/dynamics/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/dynamics/test_casadi_quadrotor_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/dynamics/test_casadi_quadrotor_dynamics.py -------------------------------------------------------------------------------- /tests/dynamics/test_casadi_unicycle_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/dynamics/test_casadi_unicycle_dynamics.py -------------------------------------------------------------------------------- /tests/dynamics/test_linear_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/dynamics/test_linear_dynamics.py -------------------------------------------------------------------------------- /tests/dynamics/test_linearization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/dynamics/test_linearization.py -------------------------------------------------------------------------------- /tests/integrators/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/integrators/test_euler_integrator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/integrators/test_euler_integrator.py -------------------------------------------------------------------------------- /tests/mpc_solvers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/mpc_solvers/test_ddp_linear_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/mpc_solvers/test_ddp_linear_dynamics.py -------------------------------------------------------------------------------- /tests/sampling/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/sampling/test_sampling_dynamics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jhu-asco/optimal_control_framework/HEAD/tests/sampling/test_sampling_dynamics.py --------------------------------------------------------------------------------