aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
expose-constraintfwd.cpp
Go to the documentation of this file.
1
4
5#ifdef ALIGATOR_PINOCCHIO_V3
6
8
9namespace aligator {
10namespace python {
11namespace {
12
13using RigidConstraintModel =
14 pinocchio::RigidConstraintModelTpl<context::Scalar, 0>;
15using RigidConstraintData =
16 pinocchio::RigidConstraintDataTpl<context::Scalar, 0>;
17
18using RigidConstraintModelVector =
19 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintModel);
20using RigidConstraintDataVector =
21 PINOCCHIO_STD_VECTOR_WITH_EIGEN_ALLOCATOR(RigidConstraintData);
22
23} // namespace
24
25void exposeConstrainedFwdDynamics() {
26 using namespace aligator::dynamics;
27 using context::Scalar;
28 using ODEData = ODEDataTpl<Scalar>;
29 using ODEAbstract = ODEAbstractTpl<Scalar>;
30 using MultibodyConstraintFwdData = MultibodyConstraintFwdDataTpl<Scalar>;
31 using MultibodyConstraintFwdDynamics =
32 MultibodyConstraintFwdDynamicsTpl<Scalar>;
33
34 bp::class_<MultibodyConstraintFwdDynamics, bp::bases<ODEAbstract>>(
35 "MultibodyConstraintFwdDynamics",
36 "Constraint forward dynamics using Pinocchio.",
37 bp::init<const shared_ptr<proxsuite::nlp::MultibodyPhaseSpace<Scalar>> &,
38 const context::MatrixXs &, const RigidConstraintModelVector &,
39 const pinocchio::ProximalSettingsTpl<Scalar> &>(
40 bp::args("self", "space", "actuation_matrix", "constraint_models",
41 "prox_settings")))
42 .def_readwrite("constraint_models",
43 &MultibodyConstraintFwdDynamics::constraint_models_)
44 .add_property("ntau", &MultibodyConstraintFwdDynamics::ntau,
45 "Torque dimension.");
46
47 bp::register_ptr_to_python<shared_ptr<MultibodyConstraintFwdData>>();
48
49 bp::class_<MultibodyConstraintFwdData, bp::bases<ODEData>>(
50 "MultibodyConstraintFwdData", bp::no_init)
51 .def_readwrite("tau", &MultibodyConstraintFwdData::tau_)
52 .def_readwrite("dtau_dx", &MultibodyConstraintFwdData::dtau_dx_)
53 .def_readwrite("dtau_du", &MultibodyConstraintFwdData::dtau_du_)
54 .def_readwrite("pin_data", &MultibodyConstraintFwdData::pin_data_)
55 .def_readwrite("constraint_datas",
56 &MultibodyConstraintFwdData::constraint_datas_);
57}
58} // namespace python
59} // namespace aligator
60
61#endif
dynamics::ODEAbstractTpl< Scalar > ODEAbstract
Definition context.hpp:14
Namespace for modelling system dynamics.
Main package namespace.