Drake
MultibodyForces< T > Class Template Reference

A class to hold a set of forces applied to a MultibodyTree system. More...

#include <drake/multibody/tree/multibody_forces.h>

## Public Types

template<typename U >
using MultibodyPlantSurrogate = internal::MultibodyTreeSystem< U >

## Public Member Functions

MultibodyForces (const MultibodyPlantSurrogate< T > &plant)
Constructs a force object to store a set of forces to be applied to the multibody model for plant. More...

MultibodyForces (const internal::MultibodyTree< T > &model)

MultibodyForces< T > & SetZero ()
Sets this to store zero forces (no applied forces). More...

int num_bodies () const
Returns the number of bodies for which this force object applies. More...

int num_velocities () const
Returns the number of generalized velocities for the model to which these forces apply. More...

const VectorX< T > & generalized_forces () const
(Advanced) Returns a constant reference to the vector of generalized forces stored by this forces object. More...

VectorX< T > & mutable_generalized_forces ()
(Advanced) Mutable version of generalized_forces(). More...

const std::vector< SpatialForce< T > > & body_forces () const
(Advanced) Returns a constant reference to the vector of spatial body forces F_BBo_W on each body B in the model, at the body's frame origin Bo, expressed in the world frame W. More...

std::vector< SpatialForce< T > > & mutable_body_forces ()
(Advanced) Mutable version of body_forces(). More...

Adds into this the force contribution stored in addend. More...

bool CheckHasRightSizeForModel (const MultibodyPlantSurrogate< T > &plant) const
Utility that checks that the forces stored by this object have the proper sizes to represent the set of forces for the given plant. More...

bool CheckHasRightSizeForModel (const internal::MultibodyTree< T > &model) const

Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
MultibodyForces (const MultibodyForces &)=default

MultibodyForcesoperator= (const MultibodyForces &)=default

MultibodyForces (MultibodyForces &&)=default

MultibodyForcesoperator= (MultibodyForces &&)=default

## Detailed Description

### template<typename T> class drake::multibody::MultibodyForces< T >

A class to hold a set of forces applied to a MultibodyTree system.

Forces can include generalized forces as well as body spatial forces.

Template Parameters
 T The scalar type. Must be a valid Eigen scalar.

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

They are already available to link against in the containing library. No other values for T are currently supported.

## ◆ MultibodyPlantSurrogate

 using MultibodyPlantSurrogate = internal::MultibodyTreeSystem

## ◆ MultibodyForces() [1/4]

 MultibodyForces ( const MultibodyForces< T > & )
default

## ◆ MultibodyForces() [2/4]

 MultibodyForces ( MultibodyForces< T > && )
default

## ◆ MultibodyForces() [3/4]

 MultibodyForces ( const MultibodyPlantSurrogate< T > & plant )
explicit

Constructs a force object to store a set of forces to be applied to the multibody model for plant.

Forces are initialized to zero, meaning no forces are applied. plant must have been already finalized with MultibodyPlant::Finalize() or this constructor will abort.

## ◆ MultibodyForces() [4/4]

 MultibodyForces ( const internal::MultibodyTree< T > & model )
explicit

## Member Function Documentation

Adds into this the force contribution stored in addend.

## ◆ body_forces()

 const std::vector >& body_forces ( ) const

(Advanced) Returns a constant reference to the vector of spatial body forces F_BBo_W on each body B in the model, at the body's frame origin Bo, expressed in the world frame W.

Note
Entries are ordered by BodyNodeIndex.

## ◆ CheckHasRightSizeForModel() [1/2]

 bool CheckHasRightSizeForModel ( const MultibodyPlantSurrogate< T > & plant ) const

Utility that checks that the forces stored by this object have the proper sizes to represent the set of forces for the given plant.

Returns
true if this forces object has the proper sizes for the given plant.

## ◆ CheckHasRightSizeForModel() [2/2]

 bool CheckHasRightSizeForModel ( const internal::MultibodyTree< T > & model ) const

## ◆ generalized_forces()

 const VectorX& generalized_forces ( ) const

(Advanced) Returns a constant reference to the vector of generalized forces stored by this forces object.

## ◆ mutable_body_forces()

 std::vector >& mutable_body_forces ( )

## ◆ mutable_generalized_forces()

 VectorX& mutable_generalized_forces ( )

## ◆ num_bodies()

 int num_bodies ( ) const

Returns the number of bodies for which this force object applies.

Determined at construction from the given model MultibodyTree object.

## ◆ num_velocities()

 int num_velocities ( ) const

Returns the number of generalized velocities for the model to which these forces apply.

The number of generalized forces in a multibody model always equals the number of generalized velocities. Determined at construction from the given model MultibodyTree object.

## ◆ operator=() [1/2]

 MultibodyForces& operator= ( MultibodyForces< T > && )
default

## ◆ operator=() [2/2]

 MultibodyForces& operator= ( const MultibodyForces< T > & )
default

## ◆ SetZero()

 MultibodyForces< T > & SetZero ( )

Sets this to store zero forces (no applied forces).

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