drake::examples::particles Namespace Reference


class  Particle
 A linear 1DOF particle system. More...


template<typename T >
std::unique_ptr< typename systems::MatrixGain< T > > MakeDegenerateEulerJoint (const MatrixX< T > &translator)
 Makes an NDOF to 6DOF poses mapping system. More...
template std::unique_ptr< systems::MatrixGain< double > > MakeDegenerateEulerJoint< double > (const MatrixX< double > &translator)

Function Documentation

◆ MakeDegenerateEulerJoint()

std::unique_ptr< typename systems::MatrixGain< T > > MakeDegenerateEulerJoint ( const MatrixX< T > &  translator)

Makes an NDOF to 6DOF poses mapping system.

The given matrix \( \mathbf{M}_{\mathrm{6,N}} \) is augmented to deal with position and velocity state input \( [\mathbf{q} ; \mathbf{v}] \) as follows:

\[ M^*_{\mathrm{12,2N}} = \begin{bmatrix} \mathbf{M}_{\mathrm{6,N}} & \mathbf{0}_{\mathrm{6,N}} \\ \mathbf{0}_{\mathrm{6,N}} & \mathbf{M}_{\mathrm{6,N}} \end{bmatrix} \]

[in]translator6xN matrix to translate inputs to outputs, where 0 < N < 6.
MatrixGain representing the joint.
std::runtime_errorwhenever translator matrix implies M DOF output where M is not 6, or an N DOF input where N is not a positive non-zero integer that is less than 6.
Template Parameters
Tmust be a valid Eigen ScalarType.
Instantiated templates for the following scalar types T are provided:
  • double

◆ MakeDegenerateEulerJoint< double >()

template std::unique_ptr<systems::MatrixGain<double> > drake::examples::particles::MakeDegenerateEulerJoint< double > ( const MatrixX< double > &  translator)