aligator 0.17.1
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
expose-kinodynamics.cpp
Go to the documentation of this file.
1
2
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
14#include <pinocchio/multibody/model.hpp>
15
16namespace aligator {
17namespace python {
18
20 using namespace aligator::dynamics;
22 using context::Scalar;
29 using KinodynamicsFwdData = KinodynamicsFwdDataTpl<Scalar>;
30 using KinodynamicsFwdDynamics = KinodynamicsFwdDynamicsTpl<Scalar>;
32 using Vector3s = typename math_types<Scalar>::Vector3s;
33
35 ode_visitor;
36
37 bp::class_<KinodynamicsFwdDynamics, bp::bases<ODEAbstract>>(
38 "KinodynamicsFwdDynamics",
39 "Centroidal forward dynamics + kinematics using Pinocchio.",
40 bp::init<const MultibodyPhaseSpace &, const PinModel &, const Vector3s &,
41 const std::vector<bool> &,
42 const std::vector<pinocchio::FrameIndex> &, const int>(
43 "Constructor.", ("self"_a, "space", "model", "gravity",
44 "contact_states", "contact_ids", "force_size")))
45 .def_readwrite("contact_states",
46 &KinodynamicsFwdDynamics::contact_states_)
47 .def(ode_visitor);
48
49 bp::register_ptr_to_python<shared_ptr<KinodynamicsFwdData>>();
50
51 bp::class_<KinodynamicsFwdData, bp::bases<ODEData>>("KinodynamicsFwdData",
52 bp::no_init)
53 .def_readwrite("pin_data", &KinodynamicsFwdData::pin_data_);
54}
55
56} // namespace python
57} // namespace aligator
58#endif
dynamics::ContinuousDynamicsDataTpl< Scalar > ODEData
Definition context.hpp:16
dynamics::ContinuousDynamicsAbstractTpl< Scalar > ContinuousDynamicsAbstract
Definition context.hpp:9
pinocchio::ModelTpl< Scalar, Options > PinModel
Definition fwd.hpp:21
StageFunctionTpl< Scalar > StageFunction
Definition context.hpp:17
UnaryFunctionTpl< Scalar > UnaryFunction
Definition context.hpp:18
MultibodyPhaseSpace< Scalar > MultibodyPhaseSpace
Definition fwd.hpp:27
dynamics::ODEAbstractTpl< Scalar > ODEAbstract
Definition context.hpp:14
StageFunctionDataTpl< Scalar > StageFunctionData
Definition context.hpp:19
Namespace for modelling system dynamics.
The Python bindings.
Definition blk-matrix.hpp:7
Main package namespace.
Continuous dynamics described by differential-algebraic equations (DAEs) .
Data struct for ContinuousDynamicsAbstractTpl.
Nonlinear centroidal and full kinematics forward dynamics.
Base class for ODE dynamics .
Typedefs for math (Eigen vectors, matrices) depending on scalar type.
Definition math.hpp:122