Drake
RigidBodyLoop< T > Class Template Reference

Defines a "loop joint" that models a kinematic loop formed by a chain of rigid bodies and their regular joints. More...

#include <drake/attic/multibody/rigid_body_loop.h>

## Public Member Functions

RigidBodyLoop (std::shared_ptr< RigidBodyFrame< T >> frameA, std::shared_ptr< RigidBodyFrame< T >> frameB, const Eigen::Vector3d &axis)
Constructs a kinematic loop by fully constraining the origins and partially constraining the orientations of two frames. More...

## Public Attributes

const std::shared_ptr< RigidBodyFrame< T > > frameA_

const std::shared_ptr< RigidBodyFrame< T > > frameB_

const Eigen::Vector3d axis_

## Friends

std::ostream & operator<< (std::ostream &os, const RigidBodyLoop< double > &obj)

## Detailed Description

### template<typename T> class RigidBodyLoop< T >

Defines a "loop joint" that models a kinematic loop formed by a chain of rigid bodies and their regular joints.

The loop joint is specified by two RigidBodyFrame objects that must be attached to two different RigidBody objects. The coordinate frames defined by the two RigidBodyFrame objects are constrained to have the same origin. The orientations of the two frames are partially constrained based on the axis of rotation (i.e., the two frames are only allowed to rotate relative to each other along the axis of rotation).

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

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

• double
• AutoDiffXd

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

## ◆ RigidBodyLoop()

 RigidBodyLoop ( std::shared_ptr< RigidBodyFrame< T >> frameA, std::shared_ptr< RigidBodyFrame< T >> frameB, const Eigen::Vector3d & axis )

Constructs a kinematic loop by fully constraining the origins and partially constraining the orientations of two frames.

The two frames are defined relative to two rigid bodies that should be connected via a loop joint.

Parameters
 [in] frameA A frame defined relative to the loop joint's "parent" rigid body. [in] frameB A frame defined relative to the loop joint's "child" rigid body. [in] axis The loop joint's axis of rotation expressed in the coordinate frame of frameA.

## ◆ operator<<

 std::ostream& operator<< ( std::ostream & os, const RigidBodyLoop< double > & obj )
friend

## ◆ axis_

 const Eigen::Vector3d axis_

## ◆ frameA_

 const std::shared_ptr > frameA_

## ◆ frameB_

 const std::shared_ptr > frameB_

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