|
aligator
0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
Nonlinear centroidal forward dynamics with smooth control. More...
#include <aligator/modelling/dynamics/continuous-centroidal-fwd.hpp>
Public Types | |
| using | Scalar = _Scalar |
| using | Base = ODEAbstractTpl<Scalar> |
| using | BaseData = ContinuousDynamicsDataTpl<Scalar> |
| using | ContDataAbstract = ContinuousDynamicsDataTpl<Scalar> |
| using | Data = ContinuousCentroidalFwdDataTpl<Scalar> |
| using | Manifold = ::aligator::VectorSpaceTpl<Scalar> |
| using | Matrix3s = Eigen::Matrix<Scalar, 3, 3> |
| using | ContactMap = ContactMapTpl<Scalar> |
Public Types inherited from aligator::dynamics::ODEAbstractTpl< _Scalar > | |
| using | Scalar = _Scalar |
| using | Base = ContinuousDynamicsAbstractTpl<Scalar> |
| using | Data = ContinuousDynamicsDataTpl<Scalar> |
Public Types inherited from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar > | |
| using | Scalar = _Scalar |
| using | Manifold = ManifoldAbstractTpl<Scalar> |
| using | ManifoldPtr = xyz::polymorphic<Manifold> |
| using | Data = ContinuousDynamicsDataTpl<Scalar> |
Public Member Functions | |
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
| const Manifold & | space () const |
| ContinuousCentroidalFwdDynamicsTpl (const Manifold &state, const double mass, const Vector3s &gravity, const ContactMap &contact_map, const int force_size) | |
| void | forward (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const |
| Evaluate the ODE vector field: this returns the value of \(\dot{x}\). | |
| void | dForward (const ConstVectorRef &x, const ConstVectorRef &, BaseData &data) const |
| Evaluate the vector field Jacobians. | |
| shared_ptr< ContDataAbstract > | createData () const |
| Create a data holder instance. | |
Public Member Functions inherited from aligator::dynamics::ODEAbstractTpl< _Scalar > | |
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
| virtual | ~ODEAbstractTpl ()=default |
| void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override |
| void | computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override |
| Differentiate the vector field. | |
Public Member Functions inherited from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar > | |
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
| int | ndx () const |
| int | nu () const |
| const Manifold & | space () const |
| Return a reference to the state space. | |
| ContinuousDynamicsAbstractTpl (ManifoldPtr space, const int nu) | |
| virtual | ~ContinuousDynamicsAbstractTpl ()=default |
Public Attributes | |
| Manifold | space_ |
| std::size_t | nk_ |
| double | mass_ |
| Vector3s | gravity_ |
| ContactMap | contact_map_ |
| int | force_size_ |
Public Attributes inherited from aligator::dynamics::ODEAbstractTpl< _Scalar > | |
| const int | nu_ |
| Control space dimension. | |
| ManifoldPtr | space_ |
| State space. | |
Public Attributes inherited from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar > | |
| ManifoldPtr | space_ |
| State space. | |
| const int | nu_ |
| Control space dimension. | |
Nonlinear centroidal forward dynamics with smooth control.
This is described in state-space \(\mathcal{X} = T\mathcal{Q}\) (the phase space \(x = (c,h,L,u)\) with c CoM position, h linear momentum, L angular momentum and u forces) using the differential equation
\[ \dot{x} = f(x, u) = F_x * x + F_u(x) * u \]
as described by the Newton-Euler law of momentum. Control parameter is set to be the derivative of u to ensure force smoothness.
Definition at line 25 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::Scalar = _Scalar |
Definition at line 27 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::Base = ODEAbstractTpl<Scalar> |
Definition at line 29 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::BaseData = ContinuousDynamicsDataTpl<Scalar> |
Definition at line 30 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::ContDataAbstract = ContinuousDynamicsDataTpl<Scalar> |
Definition at line 31 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::Data = ContinuousCentroidalFwdDataTpl<Scalar> |
Definition at line 32 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::Manifold = ::aligator::VectorSpaceTpl<Scalar> |
Definition at line 33 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::Matrix3s = Eigen::Matrix<Scalar, 3, 3> |
Definition at line 34 of file continuous-centroidal-fwd.hpp.
| using aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::ContactMap = ContactMapTpl<Scalar> |
Definition at line 35 of file continuous-centroidal-fwd.hpp.
| aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::ContinuousCentroidalFwdDynamicsTpl | ( | const Manifold & | state, |
| const double | mass, | ||
| const Vector3s & | gravity, | ||
| const ContactMap & | contact_map, | ||
| const int | force_size ) |
| aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | Scalar | ) |
|
inline |
Definition at line 46 of file continuous-centroidal-fwd.hpp.
|
virtual |
Evaluate the ODE vector field: this returns the value of \(\dot{x}\).
Implements aligator::dynamics::ODEAbstractTpl< _Scalar >.
|
virtual |
Evaluate the vector field Jacobians.
Implements aligator::dynamics::ODEAbstractTpl< _Scalar >.
|
virtual |
Create a data holder instance.
Reimplemented from aligator::dynamics::ContinuousDynamicsAbstractTpl< _Scalar >.
| Manifold aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::space_ |
Definition at line 39 of file continuous-centroidal-fwd.hpp.
| std::size_t aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::nk_ |
Definition at line 40 of file continuous-centroidal-fwd.hpp.
| double aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::mass_ |
Definition at line 41 of file continuous-centroidal-fwd.hpp.
| Vector3s aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::gravity_ |
Definition at line 42 of file continuous-centroidal-fwd.hpp.
| ContactMap aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::contact_map_ |
Definition at line 43 of file continuous-centroidal-fwd.hpp.
| int aligator::dynamics::ContinuousCentroidalFwdDynamicsTpl< _Scalar >::force_size_ |
Definition at line 44 of file continuous-centroidal-fwd.hpp.