#include <RBDyn/RBDyn/Joint.h>
Public Types | |
enum | Type { Rev, Prism, Spherical, Planar, Cylindrical, Free, Fixed } |
Joint type. More... | |
enum | OldType { RevX, RevY, RevZ, PrismX, PrismY, PrismZ } |
Old joint type for Api compatibility. More... | |
Public Member Functions | |
Joint () | |
Joint (OldType type, bool forward, std::string name) | |
Joint (Type type, const Eigen::Vector3d &axis, bool forward, std::string name) | |
Joint (Type type, bool forward, std::string name) | |
Joint (std::string name) | |
void | makeMimic (const std::string &name, double multiplier, double offset) |
Type | type () const |
double | direction () const |
bool | forward () const |
void | forward (bool forward) |
int | params () const |
int | dof () const |
const std::string & | name () const |
bool | isMimic () const |
const std::string & | mimicName () const |
double | mimicMultiplier () const |
double | mimicOffset () const |
const Eigen::Matrix< double, 6, Eigen::Dynamic > & | motionSubspace () const |
template<typename T > | |
sva::PTransform< T > | pose (const std::vector< T > &q) const |
sva::MotionVecd | motion (const std::vector< double > &alpha) const |
sva::MotionVecd | tanAccel (const std::vector< double > &alphaD) const |
std::vector< double > | zeroParam () const |
std::vector< double > | zeroDof () const |
sva::PTransformd | sPose (const std::vector< double > &q) const |
sva::MotionVecd | sMotion (const std::vector< double > &alpha) const |
sva::MotionVecd | sTanAccel (const std::vector< double > &alphaD) const |
bool | operator== (const Joint &b) const |
bool | operator!= (const Joint &b) const |
Static Public Member Functions | |
static std::vector< double > | ZeroParam (Type type) |
static std::vector< double > | ZeroDof (Type type) |
Joint representation. Hold joint name (used as identifier) and compute transformation, speed and motion subspace. WARNING : Free joint translation parameters are in FP coordinate (Example 4.5 p81).
enum rbd::Joint::OldType |
enum rbd::Joint::Type |
Joint type.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Creates a fixed joint
name | Joint name, must be unique in a multibody. |
|
inline |
|
inline |
Number of degree of freedom of the joint.
|
inline |
|
inline |
forward | Put the joint in forward direction if true. |
|
inline |
|
inline |
Make the joint mimic and specify mimic information.
This change cannot be reversed.
name | Name of the joint that will be mimiced. |
multiplier | Mimic multiplier |
offset | Mimic offset |
|
inline |
|
inline |
|
inline |
|
inline |
Compute the joint velocity.
alpha | vector of generalized speed variable. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Number of parameters of the joint.
|
inline |
Compute the joint transformation from predecessor to successor frame.
q | vector of generalized position variable. |
|
inline |
Safe version of motion method.
std::domain_error | If the number of generalized speed variable is wrong. |
|
inline |
Safe version of pose method.
std::domain_error | If the number of generalized position variable is wrong. |
|
inline |
Safe version of tanAccel method.
std::domain_error | If the number of generalized acceleration variable is wrong. |
|
inline |
Compute the tangential part of the acceleration S*alphaD.
alphaD | vector of generalized acceleration variable. |
|
inline |
|
inline |
|
inlinestatic |