#include <mc_tvm/ContactFunction.h>
Public Types | |
using | Output = tvm::function::abstract::Function::Output |
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 |
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