Drake
Drake C++ Documentation
ContactWrenchFromForceInWorldFrameEvaluator Class Referencefinal

Detailed Description

The contact wrench is τ_AB_W = 0, f_AB_W = λ Namely we assume that λ is the contact force from A to B, applied directly at B's witness point.

#include <drake/multibody/optimization/contact_wrench_evaluator.h>

Public Member Functions

 ContactWrenchFromForceInWorldFrameEvaluator (const MultibodyPlant< AutoDiffXd > *plant, systems::Context< AutoDiffXd > *context, const SortedPair< geometry::GeometryId > &geometry_id_pair)
 
Does not allow copy, move, or assignment
 ContactWrenchFromForceInWorldFrameEvaluator (const ContactWrenchFromForceInWorldFrameEvaluator &)=delete
 
ContactWrenchFromForceInWorldFrameEvaluatoroperator= (const ContactWrenchFromForceInWorldFrameEvaluator &)=delete
 
 ContactWrenchFromForceInWorldFrameEvaluator (ContactWrenchFromForceInWorldFrameEvaluator &&)=delete
 
ContactWrenchFromForceInWorldFrameEvaluatoroperator= (ContactWrenchFromForceInWorldFrameEvaluator &&)=delete
 
- Public Member Functions inherited from ContactWrenchEvaluator
int num_lambda () const
 Returns the size of lambda. More...
 
const SortedPair< geometry::GeometryId > & geometry_id_pair () const
 Returns the pair of geometry IDs. More...
 
const MultibodyPlant< AutoDiffXd > & plant () const
 
const systems::Context< AutoDiffXd > & context () const
 Getter for const context. More...
 
systems::Context< AutoDiffXd > & get_mutable_context ()
 Getter for the mutable context. More...
 
 ContactWrenchEvaluator (const ContactWrenchEvaluator &)=delete
 
ContactWrenchEvaluatoroperator= (const ContactWrenchEvaluator &)=delete
 
 ContactWrenchEvaluator (ContactWrenchEvaluator &&)=delete
 
ContactWrenchEvaluatoroperator= (ContactWrenchEvaluator &&)=delete
 
template<typename T , typename Derived >
std::enable_if_t< std::is_same_v< T, typename Derived::Scalar >, VectorX< T > > ComposeVariableValues (const systems::Context< T > &context, const Derived &lambda_value) const
 Overloads ComposeVariableValues. More...
 
template<typename DerivedQ , typename DerivedLambda >
std::enable_if_t< std::is_same_v< typename DerivedQ::Scalar, typename DerivedLambda::Scalar >, VectorX< typename DerivedQ::Scalar > > ComposeVariableValues (const Eigen::MatrixBase< DerivedQ > &q_value, const Eigen::MatrixBase< DerivedLambda > &lambda_value) const
 Overloads ComposeVariableValues with q, λ as the input instead of context, λ. More...
 
- Public Member Functions inherited from EvaluatorBase
virtual ~EvaluatorBase ()
 
void Eval (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::VectorXd *y) const
 Evaluates the expression. More...
 
void Eval (const Eigen::Ref< const AutoDiffVecXd > &x, AutoDiffVecXd *y) const
 Evaluates the expression. More...
 
void Eval (const Eigen::Ref< const VectorX< symbolic::Variable >> &x, VectorX< symbolic::Expression > *y) const
 Evaluates the expression. More...
 
void set_description (const std::string &description)
 Set a human-friendly description for the evaluator. More...
 
const std::string & get_description () const
 Getter for a human-friendly description for the evaluator. More...
 
std::ostream & Display (std::ostream &os, const VectorX< symbolic::Variable > &vars) const
 Formats this evaluator into the given stream using vars for the bound decision variable names. More...
 
std::ostream & Display (std::ostream &os) const
 Formats this evaluator into the given stream, without displaying the decision variables it is bound to. More...
 
std::string ToLatex (const VectorX< symbolic::Variable > &vars, int precision=3) const
 Returns a LaTeX string describing this evaluator. More...
 
int num_vars () const
 Getter for the number of variables, namely the number of rows in x, as used in Eval(x, y). More...
 
int num_outputs () const
 Getter for the number of outputs, namely the number of rows in y, as used in Eval(x, y). More...
 
void SetGradientSparsityPattern (const std::vector< std::pair< int, int >> &gradient_sparsity_pattern)
 Set the sparsity pattern of the gradient matrix ∂y/∂x (the gradient of y value in Eval, w.r.t x in Eval) . More...
 
const std::optional< std::vector< std::pair< int, int > > > & gradient_sparsity_pattern () const
 Returns the vector of (row_index, col_index) that contains all the entries in the gradient of Eval function (∂y/∂x) whose value could be non-zero, namely if ∂yᵢ/∂xⱼ could be non-zero, then the pair (i, j) is in gradient_sparsity_pattern. More...
 
 EvaluatorBase (const EvaluatorBase &)=delete
 
EvaluatorBaseoperator= (const EvaluatorBase &)=delete
 
 EvaluatorBase (EvaluatorBase &&)=delete
 
EvaluatorBaseoperator= (EvaluatorBase &&)=delete
 

Additional Inherited Members

- Protected Member Functions inherited from ContactWrenchEvaluator
 ContactWrenchEvaluator (const MultibodyPlant< AutoDiffXd > *plant, systems::Context< AutoDiffXd > *context, int num_lambda, const SortedPair< geometry::GeometryId > &geometry_id_pair, const std::string &description)
 Each derived class should call this constructor. More...
 
template<typename Derived >
Eigen::VectorBlock< const Derived > q (const Derived &x) const
 Extract the generalized configuration q from x (x is used in Eval(x, &y)). More...
 
template<typename Derived >
Eigen::VectorBlock< const Derived > lambda (const Derived &x) const
 Extract lambda from x (x is used in Eval(x, &y)). More...
 
- Protected Member Functions inherited from EvaluatorBase
 EvaluatorBase (int num_outputs, int num_vars, const std::string &description="")
 Constructs a evaluator. More...
 
virtual std::ostream & DoDisplay (std::ostream &os, const VectorX< symbolic::Variable > &vars) const
 NVI implementation of Display. More...
 
virtual std::string DoToLatex (const VectorX< symbolic::Variable > &vars, int precision) const
 
void set_num_outputs (int num_outputs)
 

Constructor & Destructor Documentation

◆ ContactWrenchFromForceInWorldFrameEvaluator() [1/3]

◆ ContactWrenchFromForceInWorldFrameEvaluator() [2/3]

◆ ContactWrenchFromForceInWorldFrameEvaluator() [3/3]

Parameters
plantThe MultibodyPlant on which the contact wrench is computed. The lifetime of plant should outlive this object.
contextThe context of the MultibodyPlant. The lifetime of context should outlive this object.
geometry_id_pairThe pair of geometries for which the contact wrench is computed. Notice that the order of the geometries in the pair should match with that in SceneGraphInspector::GetCollisionCandidates().
descriptionThe description of this evaluator. Default to none.

Member Function Documentation

◆ operator=() [1/2]

◆ operator=() [2/2]


The documentation for this class was generated from the following file: