#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 |