aligator 0.18.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
expose-constrained-fwd.cpp
Go to the documentation of this file.
1
3#ifdef ALIGATOR_WITH_PINOCCHIO
4
5// Boost.Python 1.74 include manually mpl/vector/vector20.hpp
6// that prevent us to define mpl::list and mpl::vector with
7// the right size.
8// To avoid this issue this header should be included first.
9#include <pinocchio/fwd.hpp>
10
12
16
17namespace aligator {
18namespace python {
19namespace {
20
22 pinocchio::RigidConstraintModelTpl<context::Scalar, 0>;
24 pinocchio::RigidConstraintDataTpl<context::Scalar, 0>;
25
27 PINOCCHIO_ALIGNED_STD_VECTOR(RigidConstraintModel);
29 PINOCCHIO_ALIGNED_STD_VECTOR(RigidConstraintData);
30
31} // namespace
32
34 using namespace aligator::dynamics;
37 using context::ODEData;
38 using context::Scalar;
39 using MultibodyConstraintFwdData = MultibodyConstraintFwdDataTpl<Scalar>;
40 using MultibodyConstraintFwdDynamics =
42
44 ode_visitor;
45 bp::class_<MultibodyConstraintFwdDynamics, bp::bases<ODEAbstract>>(
46 "MultibodyConstraintFwdDynamics",
47 "Constraint forward dynamics using Pinocchio.",
48 bp::init<const MultibodyPhaseSpace<Scalar> &, const context::MatrixXs &,
50 const pinocchio::ProximalSettingsTpl<Scalar> &>(
51 ("self"_a, "space", "actuation_matrix", "constraint_models",
52 "prox_settings")))
53 .def(ode_visitor)
54 .def_readwrite("constraint_models",
55 &MultibodyConstraintFwdDynamics::constraint_models_)
56 .add_property("ntau", &MultibodyConstraintFwdDynamics::ntau,
57 "Torque dimension.");
58
59 bp::register_ptr_to_python<shared_ptr<MultibodyConstraintFwdData>>();
60
61 bp::class_<MultibodyConstraintFwdData, bp::bases<ODEData>>(
62 "MultibodyConstraintFwdData", bp::no_init)
63 .def_readwrite("tau", &MultibodyConstraintFwdData::tau_)
64 .def_readwrite("dtau_dx", &MultibodyConstraintFwdData::dtau_dx_)
65 .def_readwrite("dtau_du", &MultibodyConstraintFwdData::dtau_du_)
66 .def_readwrite("pin_data", &MultibodyConstraintFwdData::pin_data_)
67 .def_readwrite("constraint_datas",
68 &MultibodyConstraintFwdData::constraint_datas_);
69}
70} // namespace python
71} // namespace aligator
72
73#endif // ifdef ALIGATOR_WITH_PINOCCHIO
dynamics::ContinuousDynamicsDataTpl< Scalar > ODEData
Definition context.hpp:16
dynamics::ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamicsAbstract
Definition context.hpp:9
dynamics::ODEAbstractTpl< Scalar > ODEAbstract
Definition context.hpp:14
Namespace for modelling system dynamics.
The Python bindings.
Definition blk-matrix.hpp:7
pinocchio::RigidConstraintModelTpl< context::Scalar, 0 > RigidConstraintModel
PINOCCHIO_ALIGNED_STD_VECTOR(RigidConstraintModel) RigidConstraintModelVector
PINOCCHIO_ALIGNED_STD_VECTOR(RigidConstraintData) RigidConstraintDataVector
pinocchio::RigidConstraintDataTpl< context::Scalar, 0 > RigidConstraintData
Main package namespace.
Constraint multibody forward dynamics, using Pinocchio.