|
mc_rtc
2.14.0
|
#include <mc_tvm/ContactFunction.h>


Public Types | |
| using | Output = tvm::function::abstract::Function::Output |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum | Update_ |
| typedef AbstractNode | UpdateParent |
| typedef AbstractNode | UpdateBase |
Public Types inherited from tvm::graph::internal::Inputs | |
| typedef std::unordered_map< abstract::Outputs *, std::set< int > > | inputs_t |
| typedef std::unordered_set< std::shared_ptr< abstract::Outputs > > | store_t |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum | Output_ |
| typedef Outputs | OutputParent |
| typedef Outputs | OutputBase |
Public Member Functions | |
| ContactFunction (const mc_rbdyn::Frame &f1, const mc_rbdyn::Frame &f2, const Eigen::Vector6d &dof=Eigen::Vector6d::Ones()) | |
| const Eigen::Vector6d & | dof () const noexcept |
| void | dof (const Eigen::Vector6d &dof) noexcept |
Public Member Functions inherited from tvm::function::abstract::Function | |
| virtual const Eigen::VectorXd & | velocity () const |
| virtual const Eigen::VectorXd & | normalAcceleration () const |
| virtual MatrixConstRef | JDot (const Variable &x) const |
Public Member Functions inherited from tvm::internal::FirstOrderProvider | |
| virtual const Eigen::VectorXd & | value () const |
| virtual MatrixConstRefWithProperties | jacobian (const Variable &x) const |
| bool | linearIn (const Variable &x) const |
| const Space & | imageSpace () const |
| int | size () const |
| int | rSize () const |
| int | tSize () const |
| const VariableVector & | variables () const |
Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| bool | isUpdateEnabled (EnumT e) const |
| virtual bool | isUpdateStaticallyEnabled (int) const |
| virtual bool | isUpdateCustomEnabled (int) const |
| virtual | ~AbstractNode ()=default |
| void | update (int i) |
Public Member Functions inherited from tvm::graph::internal::Inputs | |
| virtual | ~Inputs ()=default |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| void | addInput (T &source, EnumI i, Args... args) |
| void | removeInput (T *source) |
| void | removeInput (T *source, Args... args) |
| Iterator | getInput (T *source) |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| bool | isOutputEnabled (EnumT e) const |
| bool | isOutputEnabled (int i) const |
| virtual bool | isOutputStaticallyEnabled (int) const |
| virtual bool | isOutputCustomEnabled (int) const |
Additional Inherited Members | |
Static Public Member Functions inherited from tvm::graph::internal::AbstractNode | |
| static constexpr const char * | UpdateName (Update_) |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize |
| static constexpr auto | UpdateBaseName |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize |
| static constexpr auto | OutputBaseName |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| typedef std::map< Outputs *, std::set< int > > | input_dependency_t |
Protected Member Functions inherited from tvm::function::abstract::Function | |
| Function (int m=0) | |
| Function (Space image) | |
| void | resizeCache () override |
| void | resizeVelocityCache () |
| void | resizeNormalAccelerationCache () |
| void | resizeJDotCache () |
| void | addVariable_ (VariablePtr v) override |
| void | removeVariable_ (VariablePtr v) override |
Protected Member Functions inherited from tvm::internal::FirstOrderProvider | |
| FirstOrderProvider (int m) | |
| FirstOrderProvider (Space image) | |
| void | resizeValueCache () |
| void | resizeJacobianCache () |
| void | addVariable (VariablePtr v, bool linear) |
| void | removeVariable (VariablePtr v) |
| void | addVariable (const VariableVector &v, bool linear) |
| void | splitJacobian (const MatrixConstRef &J, const std::vector< VariablePtr > &vars, bool keepProperties=false) |
| void | splitJacobian (const MatrixConstRef &J, const VariableVector &vars, bool keepProperties=false) |
| void | resize (int m) |
Protected Member Functions inherited from Node< FirstOrderProvider > | |
| void | registerUpdates (EnumT u, void(U::*fn)(), Args... args) |
| void | registerUpdates (EnumT u, void(U::*fn)()) |
| void | addOutputDependency (EnumO o, EnumU u) |
| void | addOutputDependency (std::initializer_list< EnumO > os, EnumU u) |
| void | addInternalDependency (EnumU1 uDependent, EnumU2 u) |
| void | addInputDependency (EnumU u, std::shared_ptr< S > source, EnumO i, Args... args) |
| void | addInputDependency (EnumU u, S &source, EnumO i, Args... args) |
| void | addDirectDependency (EnumO o, std::shared_ptr< S > source, EnumI i) |
| void | addDirectDependency (EnumO o, S &source, EnumI i) |
Protected Attributes inherited from tvm::function::abstract::Function | |
| Eigen::VectorXd | velocity_ |
| Eigen::VectorXd | normalAcceleration_ |
| utils::internal::MapWithVariableAsKey< Eigen::MatrixXd, slice_jdot > | JDot_ |
Protected Attributes inherited from tvm::internal::FirstOrderProvider | |
| Eigen::VectorXd | value_ |
| utils::internal::MapWithVariableAsKey< MatrixWithProperties, slice_matrix, true > | jacobian_ |
| Space | imageSpace_ |
| VariableVector | variables_ |
| utils::internal::MapWithVariableAsKey< bool, slice_linear > | linear_ |
Protected Attributes inherited from tvm::graph::internal::AbstractNode | |
| std::map< int, std::function< void(AbstractNode &)> > | updates_ |
| std::map< int, std::vector< int > > | outputDependencies_ |
| std::map< int, std::vector< int > > | internalDependencies_ |
| std::map< int, input_dependency_t > | inputDependencies_ |
| std::map< int, std::pair< Outputs *, int > > | directDependencies_ |
Protected Attributes inherited from tvm::graph::abstract::Outputs | |
| bool | is_node_ |
Represents a geometric contact function
Given two frames (f1, f2) belonging to (r1, r2) this is the difference between their current relative position and their initial relative position. This is a function of r1.q and r2.q.
If r1 or r2 is not actuated, then it is not taken into account in computations. If neither are actuated this does nothing.
The degrees of freedom computed by this function can be specified through a 6x6 dof matrix.
Outputs:
| using mc_tvm::ContactFunction::Output = tvm::function::abstract::Function::Output |
| mc_tvm::ContactFunction::ContactFunction | ( | const mc_rbdyn::Frame & | f1, |
| const mc_rbdyn::Frame & | f2, | ||
| const Eigen::Vector6d & | dof = Eigen::Vector6d::Ones() |
||
| ) |
Constructor
| f1 | First contact frame |
| f2 | Second contact frame |
| dof | Contact dof |
|
inlinenoexcept |
Access the contact dof vector
|
inlinenoexcept |
Set the contact dof vector