Ravelin
RCArticulatedBodyInvDynAlgo.h
1 /****************************************************************************
2  * Copyright 2006 Evan Drumwright
3  * This library is distributed under the terms of the Apache V2.0
4  * License (obtainable from http://www.apache.org/licenses/LICENSE-2.0).
5  ****************************************************************************/
6 
7 #ifndef _RC_ARTICULATED_BODY_INV_DYN_ALGO_H
8 #define _RC_ARTICULATED_BODY_INV_DYN_ALGO_H
9 
10 #include <map>
11 
12 namespace Ravelin {
13 
14 class RCArticulatedBody;
15 
18 {
19  public:
20 
22  Ravelin::SForced wext;
23 
25  Ravelin::VectorNd qdd;
26 };
27 
29 class RCArticulatedBodyInvDynAlgo : public virtual Base
30 {
31  public:
33  virtual ~RCArticulatedBodyInvDynAlgo() {}
34 
36 
44  virtual std::map<boost::shared_ptr<Joint>, Ravelin::VectorNd> calc_inv_dyn(boost::shared_ptr<RCArticulatedBody> body, const std::map<boost::shared_ptr<RigidBody>, RCArticulatedBodyInvDynData>& inv_dyn_data) = 0;
45 }; // end class
46 } // end namespace
47 
48 #endif
Abstract class for performing inverse dynamics computation on a reduced-coordinate articulatedc body...
Definition: RCArticulatedBodyInvDynAlgo.h:29
Ravelin::SForced wext
External force applied to this link.
Definition: RCArticulatedBodyInvDynAlgo.h:22
Ravelin::VectorNd qdd
Inner joint acceleration (desired)
Definition: RCArticulatedBodyInvDynAlgo.h:25
virtual std::map< boost::shared_ptr< Joint >, Ravelin::VectorNd > calc_inv_dyn(boost::shared_ptr< RCArticulatedBody > body, const std::map< boost::shared_ptr< RigidBody >, RCArticulatedBodyInvDynData > &inv_dyn_data)=0
Classes must implement the method below.
Wrapper class for passing data to and from inverse dynamics algorithms.
Definition: RCArticulatedBodyInvDynAlgo.h:17