37 #ifndef POLICY_IMPROVEMENT_LOOP_H_
38 #define POLICY_IMPROVEMENT_LOOP_H_
42 #include <boost/shared_ptr.hpp>
47 #include "policy_improvement.hpp"
48 #include "API/ConfigSpace/configuration.hpp"
51 namespace stomp_motion_planner
62 bool initialize(boost::shared_ptr<Task> task,
bool singleRollout);
63 bool runSingleIteration(
int iteration_number);
69 bool generateSingleNoisyTrajectory();
70 void getRollouts(std::vector<std::vector<confPtr_t> >& traj);
73 void resetReusedRollouts();
81 int num_reused_rollouts_;
86 bool use_cumulative_costs_;
87 bool set_parameters_in_policy_;
90 int limits_violations_;
93 boost::shared_ptr<Task> task_;
94 boost::shared_ptr<Policy> policy_;
98 std::vector<std::vector<Eigen::VectorXd> > rollouts_;
99 std::vector<std::vector<Eigen::VectorXd> > reused_rollouts_;
101 std::vector<Eigen::MatrixXd> parameter_updates_;
102 std::vector<Eigen::VectorXd> parameters_;
103 Eigen::MatrixXd rollout_costs_;
104 std::vector<double> noise_stddev_;
105 std::vector<double> noise_decay_;
106 double control_cost_weight_;
109 Eigen::VectorXd tmp_rollout_cost_;
111 bool readParameters();
114 bool readParametersSingleRollout();
115 void resampleParameters();
117 int policy_iteration_counter_;
118 bool readPolicy(
const int iteration_number);
119 bool writePolicy(
const int iteration_number,
bool is_rollout =
false,
int rollout_id = 0);
122 void addStraightLineRollout(std::vector<std::vector<Eigen::VectorXd> >& extra_rollout,
123 std::vector<Eigen::VectorXd>& extra_rollout_cost);
124 void parametersToVector(std::vector<Eigen::VectorXd>& rollout);
125 void getSingleRollout(
const std::vector<Eigen::VectorXd>& rollout, std::vector<confPtr_t>& traj);
126 void addSingleRolloutsToDraw(
const std::vector<Eigen::VectorXd>& rollout,
int color);
127 void addRolloutsToDraw(
bool add_reused);
void testSampler()
Functions added by jim.
Definition: policy_improvement_loop.cpp:520
Definition: policy_improvement_loop.hpp:54
Definition: policy_improvement.hpp:79