|
Moby
|
Defines an actuated screw (helical) joint. More...
#include <ScrewJoint.h>
Public Member Functions | |
| ScrewJoint () | |
| Initializes the joint. More... | |
| ScrewJoint (boost::weak_ptr< RigidBody > inboard, boost::weak_ptr< RigidBody > outboard) | |
| Initializes the joint with the specified inboard and outboard links. More... | |
| const Ravelin::Vector3d & | get_axis () const |
| void | set_axis (const Ravelin::Vector3d &axis) |
| Sets the global axis for this joint. More... | |
| virtual void | update_spatial_axes () |
| Updates the spatial axis for this joint. | |
| virtual void | determine_q (VectorN &q) |
| Determines (and sets) the value of Q from the axis and the inboard link and outboard link transforms. | |
|
virtual boost::shared_ptr < const Ravelin::Pose3d > & | get_induced_pose () |
| Gets the (local) transform for this joint. | |
|
virtual const std::vector < Ravelin::SVelocityd > & | get_spatial_axes_dot () |
| Gets the derivative for the spatial axes for this joint. | |
| virtual void | load_from_xml (boost::shared_ptr< const XMLTree > node, std::map< std::string, BasePtr > &id_map) |
| Implements Base::load_from_xml() | |
| virtual void | save_to_xml (XMLTreePtr node, std::list< boost::shared_ptr< const Base > > &shared_objects) const |
| Implements Base::save_to_xml() | |
| virtual unsigned | num_dof () const |
| virtual void | evaluate_constraints (double C[]) |
| Evaluates the constraint equations. | |
| double | get_pitch () const |
| Gets the pitch of the joint. | |
| virtual bool | is_sngular_config () const |
| Screw joint can never be in a singular configuration. | |
| void | set_pitch (double pitch) |
| Sets the pitch of the joint. | |
Public Member Functions inherited from Moby::Joint | |
| Joint () | |
| Initializes the joint. More... | |
| Joint (boost::weak_ptr< RigidBody > inboard, boost::weak_ptr< RigidBody > outboard) | |
| Initializes the joint with the specified inboard and outboard links. More... | |
| void | set_location (const Point3d &p, RigidBodyPtr inboard, RigidBodyPtr outboard) |
| Sets the location of this joint with specified inboard and outboard links. | |
| Ravelin::VectorNd & | get_scaled_force (Ravelin::VectorNd &f) |
| Gets the scaled actuator forces. More... | |
| virtual void | set_inboard_link (RigidBodyPtr link, bool update_pose) |
| Sets the pointer to the inboard link for this joint (and updates the spatial axes, if the outboard link has been set) | |
| virtual void | set_outboard_link (RigidBodyPtr link, bool update_pose) |
| Sets the pointer to the outboard link for this joint. More... | |
| void | set_articulated_body (ArticulatedBodyPtr abody) |
| Sets the articulated body corresponding to this body. More... | |
| ArticulatedBodyPtr | get_articulated_body () |
| Gets the articulated body corresponding to this body. More... | |
| RigidBodyPtr | get_inboard_link () const |
| Gets the inboard link for this joint. | |
| RigidBodyPtr | get_outboard_link () const |
| Gets the outboard link for this joint. | |
Public Member Functions inherited from Moby::Visualizable | |
| Visualizable (const Visualizable *v) | |
| virtual void | update_visualization () |
| Updates the visualization using the appropriate transform. More... | |
| void | set_visualization_relative_pose (const Ravelin::Pose3d &P) |
| Sets the visualization relative pose. | |
| virtual void | set_visualization_data (osg::Node *vdata) |
| Sets the visualization data from a node. | |
| virtual void | set_visualization_data (OSGGroupWrapperPtr vdata) |
| Sets the visualization data from a OSGGroupWrapper. | |
| osg::Group * | get_visualization_data () const |
| Gets the visualization data for this object. | |
|
boost::shared_ptr< const Ravelin::Pose3d > | get_visualization_pose () |
| Gets the pose for this visualizable object. | |
Public Member Functions inherited from Moby::Base | |
| Base (const Base *b) | |
Additional Inherited Members | |
Public Types inherited from Moby::Joint | |
| enum | ConstraintType { eUnknown, eExplicit, eImplicit } |
| enum | DOFs { DOF_1 =0, DOF_2 =1, DOF_3 =2, DOF_4 =3, DOF_5 =4, DOF_6 =5 } |
Static Public Member Functions inherited from Moby::Visualizable | |
| static osg::Group * | construct_from_node (boost::shared_ptr< const XMLTree > node, const std::map< std::string, BasePtr > &id_map) |
| Utility method for load_from_xml() More... | |
Static Public Member Functions inherited from Moby::Base | |
| template<class T > | |
| static boost::shared_ptr< T > | clone (boost::shared_ptr< T > x) |
| Static method for cloning a shared pointer. | |
Public Attributes inherited from Moby::Joint | |
| Ravelin::VectorNd | lolimit |
| The lower joint limit. | |
| Ravelin::VectorNd | hilimit |
| The upper joint limit. | |
| double | limit_restitution |
| The coefficient of restitution applied when this joint reaches a limit. | |
| double | mu_fc |
| The coulomb friction coefficient for this joint. | |
| double | mu_fv |
| The viscous friction coefficient for this joint. | |
| double | compliant_layer_depth |
| The depth of the compliant layer around the joint limit. | |
Public Attributes inherited from Moby::Base | |
| boost::shared_ptr< void > | userdata |
| Any relevant userdata. | |
| std::string | id |
| The unique ID for this object. | |
Protected Member Functions inherited from Moby::Joint | |
| void | determine_q_dot () |
| (Relatively slow) method for determining the joint velocity from current link velocities | |
| virtual void | init_data () |
| Computes the constraint Jacobian for this joint with respect to the given body in Rodrigues parameters. More... | |
Protected Attributes inherited from Moby::Visualizable | |
|
boost::shared_ptr < Ravelin::Pose3d > | _vF |
| The relative pose. | |
| OSGGroupWrapperPtr | _vizdata |
| The underlying visualization data. | |
Defines an actuated screw (helical) joint.
| ScrewJoint::ScrewJoint | ( | ) |
Initializes the joint.
The axis is set to [0 0 0]. The pitch is set to 1.0. The inboard and outboard links are set to NULL.
References Moby::Joint::init_data().
| ScrewJoint::ScrewJoint | ( | boost::weak_ptr< RigidBody > | inboard, |
| boost::weak_ptr< RigidBody > | outboard | ||
| ) |
Initializes the joint with the specified inboard and outboard links.
The axis is set to [0 0 0] and the pitch is set to 1.0.
References Moby::Joint::init_data().
| void ScrewJoint::set_axis | ( | const Ravelin::Vector3d & | axis | ) |
Sets the global axis for this joint.
The global axis for this joint takes the orientation of the inboard link into account; thus, if the orientation of the inboard link changes, then the global axis changes.
References Moby::Joint::get_inboard_link(), Moby::Joint::get_outboard_link(), and update_spatial_axes().
Referenced by load_from_xml().
1.8.6