13 using namespace Eigen;
18 std::unique_ptr<StateModel> state_model,
19 const Ref<const VectorXd>& initial_state,
20 const unsigned int simulation_time
22 simulation_time_(simulation_time),
23 state_model_(std::move(state_model))
25 target_ = MatrixXd(initial_state.rows(), simulation_time_);
26 target_.col(0) = initial_state;
28 for (
int k = 1; k < simulation_time_; ++k)
29 state_model_->motion(target_.col(k - 1), target_.col(k));
35 ++current_simulation_time_;
39 MatrixXd process_information = target_.col(current_simulation_time_ - 1);
41 data_simulated_state_model_ = std::move(process_information);
49 return data_simulated_state_model_;
55 if (property ==
"reset")
57 current_simulation_time_ = 0;
58 std::cout <<
"Successfully reset state model." << std::endl;
75 logger(target_.col(current_simulation_time_ - 1).transpose());