8 using DynamicsType = DynamicsModelTpl<context::Scalar>;
9 using ExplicitDynamics = ExplicitDynamicsModelTpl<context::Scalar>;
11 using rollout_generic_t = context::VectorOfVectors (*)(
12 const DynamicsType &,
const context::VectorXs &,
13 const context::VectorOfVectors &);
15 using rollout_vec_generic_t = context::VectorOfVectors (*)(
16 const std::vector<shared_ptr<DynamicsType>> &,
const context::VectorXs &,
17 const context::VectorOfVectors &);
19 using rollout_explicit_t = context::VectorOfVectors (*)(
20 const ExplicitDynamics &,
const context::VectorXs &,
21 const context::VectorOfVectors &);
23 using rollout_vec_explicit_t = context::VectorOfVectors (*)(
24 const std::vector<shared_ptr<ExplicitDynamics>> &,
25 const context::VectorXs &,
const context::VectorOfVectors &);
27 bp::def<rollout_generic_t>(
29 "Perform a dynamics rollout, for a dynamics model.");
31 bp::def<rollout_explicit_t>(
33 "Perform a rollout of a single explicit dynamics model.");
35 bp::def<rollout_vec_generic_t>(
37 bp::args(
"dyn_models",
"x0",
"us"),
38 "Perform a dynamics rollout, for multiple discrete dynamics models.");
40 bp::def<rollout_vec_explicit_t>(
42 "Perform a rollout of multiple explicit dynamics model.");
math_types< Scalar >::VectorOfVectors rollout(const std::vector< shared_ptr< DynamicsModelTpl< Scalar > > > &dyn_models, const typename math_types< Scalar >::VectorXs &x0, const typename math_types< Scalar >::VectorOfVectors &us, typename math_types< Scalar >::VectorOfVectors &xout)
Perform a rollout of the supplied dynamical models.