aligator  0.15.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
expose-freefwd.cpp
Go to the documentation of this file.
1
2#ifdef ALIGATOR_WITH_PINOCCHIO
6
8
9namespace aligator {
10namespace python {
11void exposeFreeFwdDynamics() {
12 using namespace aligator::dynamics;
13 using context::Scalar;
17 using MultibodyFreeFwdData = MultibodyFreeFwdDataTpl<Scalar>;
18 using MultibodyFreeFwdDynamics = MultibodyFreeFwdDynamicsTpl<Scalar>;
20
22 ode_visitor;
23
24 bp::class_<MultibodyFreeFwdDynamics, bp::bases<ODEAbstract>>(
25 "MultibodyFreeFwdDynamics",
26 "Free-space forward dynamics on multibodies using Pinocchio's ABA "
27 "algorithm.",
28 bp::init<MultibodyPhaseSpace, const context::MatrixXs &>(
29 "Constructor where the actuation matrix is provided.",
30 ("self"_a, "space", "actuation_matrix")))
31 .def(bp::init<MultibodyPhaseSpace>(
32 "Constructor without actuation matrix (assumed to be the (nu,nu) "
33 "identity matrix).",
34 ("self"_a, "space")))
35 .add_property("ntau", &MultibodyFreeFwdDynamics::ntau,
36 "Torque dimension.")
37 .add_property(
38 "isUnderactuated", &MultibodyFreeFwdDynamics::isUnderactuated,
39 "Whether the system is underactuated, i.e. if the actuation matrix "
40 "rank is lower than the acceleration vector's dimension.")
41 .add_property("actuationMatrixRank",
42 &MultibodyFreeFwdDynamics::getActuationMatrixRank,
43 "Get the rank of the actuation matrix.")
44 .def(ode_visitor);
45
46 bp::register_ptr_to_python<shared_ptr<MultibodyFreeFwdData>>();
47
48 bp::class_<MultibodyFreeFwdData, bp::bases<ODEData>>("MultibodyFreeFwdData",
49 bp::no_init)
50 .def_readwrite("tau", &MultibodyFreeFwdData::tau_)
51 .def_readwrite("dtau_dx", &MultibodyFreeFwdData::dtau_dx_)
52 .def_readwrite("dtau_du", &MultibodyFreeFwdData::dtau_du_)
53 .def_readwrite("pin_data", &MultibodyFreeFwdData::pin_data_);
54}
55} // namespace python
56} // namespace aligator
57#endif
dynamics::ContinuousDynamicsDataTpl< Scalar > ODEData
Definition context.hpp:16
dynamics::ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamicsAbstract
Definition context.hpp:9
MultibodyPhaseSpace< Scalar > MultibodyPhaseSpace
Definition context.hpp:18
dynamics::ODEAbstractTpl< Scalar > ODEAbstract
Definition context.hpp:14
The Python bindings.
Definition blk-matrix.hpp:5
Main package namespace.
Continuous dynamics described by differential-algebraic equations (DAEs) .
Data struct for ContinuousDynamicsAbstractTpl.
Base class for ODE dynamics .