Moby
Public Member Functions | List of all members
Moby::PrismaticJoint Class Reference

Defines an actuated prismatic joint. More...

#include <PrismaticJoint.h>

Inheritance diagram for Moby::PrismaticJoint:
Moby::Joint Moby::Visualizable Moby::Base

Public Member Functions

 PrismaticJoint ()
 Initializes the joint. More...
 
 PrismaticJoint (boost::weak_ptr< RigidBody > inboard, boost::weak_ptr< RigidBody > outboard)
 Initializes the joint with the specified inboard and outboard links. More...
 
virtual unsigned num_dof () const
 
virtual bool is_singular_config () const
 
virtual void evaluate_constraints (double C[])
 
virtual const std::vector
< Ravelin::SVelocityd > & 
get_spatial_axes_dot ()
 
virtual void determine_q (Ravelin::VectorNd &q)
 
virtual boost::shared_ptr
< const Ravelin::Pose3d > 
get_induced_pose ()
 
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()
 
- 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.
 

Detailed Description

Defines an actuated prismatic joint.

Todo:
implement a rest position for q?

Constructor & Destructor Documentation

PrismaticJoint::PrismaticJoint ( )

Initializes the joint.

The axis of rotation is set to [0 0 0]. The inboard and outboard links are set to NULL.

References Moby::Joint::init_data().

PrismaticJoint::PrismaticJoint ( boost::weak_ptr< RigidBody inboard,
boost::weak_ptr< RigidBody outboard 
)

Initializes the joint with the specified inboard and outboard links.

The axis of rotation is set to [0 0 0].


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