36 bp::class_<PyODEAbstract<>, bp::bases<ContinuousDynamicsAbstract>,
39 "Continuous dynamics described by ordinary differential equations "
41 bp::init<const PolyManifold &, int>(bp::args(
"self",
"space",
"nu")))
43 bp::args(
"self",
"x",
"u",
"data"),
44 "Compute the value of the ODE vector field, i.e. the "
45 "state time derivative :math:`\\dot{x}`.")
47 bp::args(
"self",
"x",
"u",
"data"),
48 "Compute the derivatives of the ODE vector field with respect "
49 "to the state-control pair :math:`(x, u)`.")
53 bp::class_<LinearODETpl<Scalar>, bp::bases<ODEAbstract>>(
55 "Linear ordinary differential equation, :math:`\\dot{x} = Ax + Bu`.",
56 bp::init<PolyManifold, MatrixXs, MatrixXs, VectorXs>(
57 bp::args(
"self",
"A",
"B",
"c")))
58 .def(bp::init<MatrixXs, MatrixXs, VectorXs>(
59 "Constructor with just the matrices; a Euclidean state space is "
61 bp::args(
"self",
"A",
"B",
"c")))
67 bp::class_<CentroidalFwdDynamics, bp::bases<ODEAbstract>>(
68 "CentroidalFwdDynamics",
69 "Nonlinear centroidal dynamics with preplanned feet positions",
72 bp::args(
"self",
"space",
"total mass",
"gravity",
"contact_map",
78 bp::register_ptr_to_python<shared_ptr<CentroidalFwdDataTpl<Scalar>>>();
79 bp::class_<CentroidalFwdDataTpl<Scalar>, bp::bases<ODEData>>(
80 "CentroidalFwdData", bp::no_init);
82 bp::class_<ContinuousCentroidalFwdDynamics, bp::bases<ODEAbstract>>(
83 "ContinuousCentroidalFwdDynamics",
84 "Nonlinear centroidal dynamics with preplanned feet positions and smooth "
88 bp::args(
"self",
"space",
"total mass",
"gravity",
"contact_map",
90 .def_readwrite(
"contact_map",
95 bp::register_ptr_to_python<
96 shared_ptr<ContinuousCentroidalFwdDataTpl<Scalar>>>();
97 bp::class_<ContinuousCentroidalFwdDataTpl<Scalar>, bp::bases<ODEData>>(
98 "ContinuousCentroidalFwdData", bp::no_init);
99 bp::class_<WheeledInvertedPendulumDynamics, bp::bases<ODEAbstract>>(
100 "WheeledInvertedPendulumDynamics",
101 "Wheeled inverted pendulum dynamics with integrator dynamics for the yaw",
102 bp::init<const Scalar, const Scalar>(
103 bp::args(
"self",
"gravity",
"length")))
dynamics::ContinuousDynamicsDataTpl< Scalar > ODEData
dynamics::ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamicsAbstract
dynamics::ODEAbstractTpl< Scalar > ODEAbstract
VectorSpaceTpl< Scalar, Eigen::Dynamic > VectorSpace