Struct LoopConstraintBase::QMats#

Nested Relationships#

This struct is a nested type of Class LoopConstraintBase.

Struct Documentation#

struct QMats

Struct for the constraint QMat matrices needed for kinematics analysis, Gamma, TA dynamics algorithm. The constraint requirement is that.

[source_Q, target_Q] * [V_source \\ V_target] = 0

where V_source and V_target are the spatial velocities (with respect to the inertial frame) of the source and target frames respectively for the constraint Karana::Frame::FrameToFrame f2f.

rel_Q on the other hand acts directly on the the relative spatial velocity (source frame derivative) across the constraint oframe/pframe as follows:

    rel_Q * V(source, target) = 0

We also in some cases allow the RHS in the above equations to non-zero for user inputs.

Public Functions

inline void resize(size_t n_c)

Resize the constraint matrices.

Parameters:

n_c – The number of constrained dofs.

Public Members

km::Mat source_Q

acts on V(source), inertial frame derivative

km::Mat target_Q

acts on V(target), inertial frame derivative

km::Mat rel_Q

acts on relative V(source, target), source frame derivative