aligator  0.16.0
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
3
4#ifdef ALIGATOR_WITH_PINOCCHIO
7#include <pinocchio/multibody/model.hpp>
8
9namespace aligator {
10namespace python {
11
13 using namespace aligator::dynamics;
15 using context::Scalar;
22 using KinodynamicsFwdData = KinodynamicsFwdDataTpl<Scalar>;
23 using KinodynamicsFwdDynamics = KinodynamicsFwdDynamicsTpl<Scalar>;
25 using Vector3s = typename math_types<Scalar>::Vector3s;
26
28 ode_visitor;
29
30 bp::class_<KinodynamicsFwdDynamics, bp::bases<ODEAbstract>>(
31 "KinodynamicsFwdDynamics",
32 "Centroidal forward dynamics + kinematics using Pinocchio.",
33 bp::init<const MultibodyPhaseSpace &, const PinModel &, const Vector3s &,
34 const std::vector<bool> &,
35 const std::vector<pinocchio::FrameIndex> &, const int>(
36 "Constructor.", ("self"_a, "space", "model", "gravity",
37 "contact_states", "contact_ids", "force_size")))
38 .def_readwrite("contact_states",
39 &KinodynamicsFwdDynamics::contact_states_)
40 .def(ode_visitor);
41
42 bp::register_ptr_to_python<shared_ptr<KinodynamicsFwdData>>();
43
44 bp::class_<KinodynamicsFwdData, bp::bases<ODEData>>("KinodynamicsFwdData",
45 bp::no_init)
46 .def_readwrite("pin_data", &KinodynamicsFwdData::pin_data_);
47}
48
49} // namespace python
50} // namespace aligator
51#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:5
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