Skip to content
Draft

MPPI #257

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Google DeepMind.
MJPC allows the user to easily author and solve complex robotics tasks, and
currently supports multiple shooting-based planners. Derivative-based methods include iLQG and
Gradient Descent, while derivative-free methods include a simple yet very competitive planner
called Predictive Sampling and the Cross Entropy Method (with diagonal covariance).
called Predictive Sampling, the Cross Entropy Method (with diagonal covariance), and Model Predictive Path Integral control (with fixed, diagonal covariance).

- [Overview](#overview)
- [Graphical User Interface](#graphical-user-interface)
Expand Down
3 changes: 3 additions & 0 deletions docs/OVERVIEW.md
Original file line number Diff line number Diff line change
Expand Up @@ -289,6 +289,9 @@ This library includes multiple planners that use different techniques to perform
- **Cross Entropy Method**
- all properties of Predictive Sampling
- refits a nominal policy to mean of elite samples instead of using the best
- **Model Predictive Path Integral Control**
- all properties of Predictive Sampling
- refits a nominal policy to a weighted average of perturbed policies centered around the previous nominal policy
- **Gradient Descent**
- requires gradients
- spline representation for controls
Expand Down
2 changes: 2 additions & 0 deletions mjpc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ add_library(
planners/model_derivatives.h
planners/cross_entropy/planner.cc
planners/cross_entropy/planner.h
planners/mppi/planner.cc
planners/mppi/planner.h
planners/robust/robust_planner.cc
planners/robust/robust_planner.h
planners/sampling/planner.cc
Expand Down
5 changes: 4 additions & 1 deletion mjpc/planners/include.cc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include "mjpc/planners/gradient/planner.h"
#include "mjpc/planners/ilqg/planner.h"
#include "mjpc/planners/ilqs/planner.h"
#include "mjpc/planners/mppi/planner.h"
#include "mjpc/planners/planner.h"
#include "mjpc/planners/robust/robust_planner.h"
#include "mjpc/planners/sampling/planner.h"
Expand All @@ -32,7 +33,8 @@ const char kPlannerNames[] =
"iLQG\n"
"iLQS\n"
"Robust Sampling\n"
"Cross Entropy";
"Cross Entropy\n"
"MPPI";

// load all available planners
std::vector<std::unique_ptr<mjpc::Planner>> LoadPlanners() {
Expand All @@ -46,6 +48,7 @@ std::vector<std::unique_ptr<mjpc::Planner>> LoadPlanners() {
planners.emplace_back(
new RobustPlanner(std::make_unique<mjpc::SamplingPlanner>()));
planners.emplace_back(new mjpc::CrossEntropyPlanner);
planners.emplace_back(new mjpc::MPPIPlanner);
return planners;
}

Expand Down
Loading