|
TVM
0.9.4
|
#include <tvm/robot/internal/GeometricContactFunction.h>


Public Types | |
| using | Output = function::abstract::Function::Output |
Public Types inherited from tvm::graph::internal::AbstractNode | |
| enum class | Update_ |
| using | UpdateParent = AbstractNode |
| using | UpdateBase = AbstractNode |
Public Types inherited from tvm::graph::internal::Inputs | |
| using | inputs_t = std::unordered_map< abstract::Outputs *, std::set< int > > |
| using | store_t = std::unordered_set< std::shared_ptr< abstract::Outputs > > |
Public Types inherited from tvm::graph::abstract::Outputs | |
| enum class | Output_ |
| using | OutputParent = Outputs |
| using | OutputBase = Outputs |
Public Member Functions | |
| GeometricContactFunction (ContactPtr contact, Eigen::Matrix6d dof) | |
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 | |
| template<typename EnumT > | |
| 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 |
| template<typename T , typename EnumI , typename... Args> | |
| void | addInput (std::shared_ptr< T > source, EnumI i, Args... args) |
| template<typename T , typename EnumI , typename... Args, typename std::enable_if< std::is_base_of< abstract::Outputs, T >::value, int >::type = 0> | |
| void | addInput (T &source, EnumI i, Args... args) |
| template<typename T > | |
| void | removeInput (T *source) |
| template<typename T , typename... Args> | |
| void | removeInput (T *source, Args... args) |
| template<typename T > | |
| Iterator | getInput (T *source) |
| template<typename T > | |
| Iterator | getInput (const std::shared_ptr< T > &source) |
Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| virtual | ~Outputs ()=default |
| template<typename EnumT > | |
| 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_) |
| template<typename EnumT > | |
| static constexpr bool | UpdateStaticallyEnabled (EnumT) |
Static Public Member Functions inherited from tvm::graph::abstract::Outputs | |
| static constexpr const char * | OutputName (Output_) |
| template<typename EnumT > | |
| static constexpr bool | OutputStaticallyEnabled (EnumT) |
Static Public Attributes inherited from tvm::graph::internal::AbstractNode | |
| static constexpr unsigned int | UpdateSize = 0 |
| static constexpr auto | UpdateBaseName = "AbstractNode" |
Static Public Attributes inherited from tvm::graph::abstract::Outputs | |
| static constexpr unsigned int | OutputSize = 0 |
| static constexpr auto | OutputBaseName = "Outputs" |
Protected Types inherited from tvm::graph::internal::AbstractNode | |
| using | input_dependency_t = std::map< Outputs *, std::set< int > > |
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 tvm::graph::abstract::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_ = false |
Represents a geometric contact function
Given a Contact (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 both are not actuated this does nothing.
The degrees of freedom computed by this function can be specified through a 6x6 dof matrix.
Outputs:
| tvm::robot::internal::GeometricContactFunction::GeometricContactFunction | ( | ContactPtr | contact, |
| Eigen::Matrix6d | dof | ||
| ) |
Constructor
| contact | The Contact that this function computes |
| dof | The function dof matrix |