Drake
CompliantContactModel< T > Class Template Reference

This class encapsulates the compliant contact model force computations as described in detail in Compliant Contact in Drake. More...

#include <multibody/rigid_body_plant/compliant_contact_model.h>

Public Member Functions

 CompliantContactModel ()=default
 Instantiates a CompliantContactModel. More...
 
VectorX< T > ComputeContactForce (const RigidBodyTree< T > &tree, const KinematicsCache< T > &kinsol, ContactResults< T > *contacts=nullptr) const
 Computes the generalized forces on all bodies due to contact. More...
 
void set_default_material (const CompliantMaterial &material)
 Defines the default material property values for this model instance. More...
 
const CompliantMaterialdefault_material () const
 
void set_model_parameters (const CompliantContactModelParameters &values)
 Configures the model parameters – these are the global model values that affect all contacts. More...
 
double CalcContactParameters (const multibody::collision::Element &a, const multibody::collision::Element &b, CompliantMaterial *parameters) const
 Given two collision elements (with their own defined compliant material properties, computes the derived parameters for the contact. More...
 
Does not allow copy, move, or assignment
 CompliantContactModel (const CompliantContactModel &)=delete
 
CompliantContactModeloperator= (const CompliantContactModel &)=delete
 
 CompliantContactModel (CompliantContactModel &&)=delete
 
CompliantContactModeloperator= (CompliantContactModel &&)=delete
 

Detailed Description

template<typename T>
class drake::systems::CompliantContactModel< T >

This class encapsulates the compliant contact model force computations as described in detail in Compliant Contact in Drake.

Instantiated templates for the following kinds of T's are provided:

  • double

Constructor & Destructor Documentation

CompliantContactModel ( const CompliantContactModel< T > &  )
delete
CompliantContactModel ( )
default

Instantiates a CompliantContactModel.

Member Function Documentation

double CalcContactParameters ( const multibody::collision::Element a,
const multibody::collision::Element b,
CompliantMaterial parameters 
) const

Given two collision elements (with their own defined compliant material properties, computes the derived parameters for the contact.

Returns the portion of the squish attributable to Element a (sₐ). Element b's squish factor is simply 1 - sₐ. See contact_model_doxygen.h for details.

Parameters
[in]aThe first element in the contact.
[in]bThe second element in the contact.
[out]parametersThe net contact parameters.
Return values
sₐThe "squish" factor of Element a – the fraction of the full penetration deformation that a experiences.

Here is the call graph for this function:

VectorX< T > ComputeContactForce ( const RigidBodyTree< T > &  tree,
const KinematicsCache< T > &  kinsol,
ContactResults< T > *  contacts = nullptr 
) const

Computes the generalized forces on all bodies due to contact.

Parameters
treeA Multibody Dynamics (MBD) model of the world.
kinsolThe kinematics of the rigid body system at the time of contact evaluation.
[out]contactsThe optional contact results. If non-null, stores the contact information for consuming on the output port.
Returns
The generalized forces across all the bodies due to contact response.

Here is the call graph for this function:

const CompliantMaterial& default_material ( ) const
inline
CompliantContactModel& operator= ( CompliantContactModel< T > &&  )
delete
CompliantContactModel& operator= ( const CompliantContactModel< T > &  )
delete
void set_default_material ( const CompliantMaterial material)

Defines the default material property values for this model instance.

All elements with default-configured values will use the values in the provided property set. This can be invoked before or after parsing SDF/URDF files; all fields that were left unspecified will default to these values. See drake_contact and CompliantMaterial for elaboration on these values.

void set_model_parameters ( const CompliantContactModelParameters values)

Configures the model parameters – these are the global model values that affect all contacts.

If values are outside of valid ranges, the program aborts. (See CompliantContactParameters for details on valid ranges.)


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