Drake
DynamicConstraint Class Referenceabstract

Provides a base implementation and interface for a dynamic constraint (which is intended to be used with trajectory optimization, but is not specific to that purpose). More...

#include <drake/systems/plants/constraint/dynamic_constraint.h>

Inheritance diagram for DynamicConstraint:
Collaboration diagram for DynamicConstraint:

Public Member Functions

 DynamicConstraint (int num_states, int num_inputs)
 The format of the input to the eval() function is defined by num_states and num_inputs. More...
 
virtual ~DynamicConstraint ()
 
void eval (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::VectorXd &y) const override
 
void eval (const Eigen::Ref< const Drake::TaylorVecXd > &x, Drake::TaylorVecXd &y) const override
 
- Public Member Functions inherited from Constraint
 Constraint (size_t num_constraints)
 
template<typename DerivedLB , typename DerivedUB >
 Constraint (size_t num_constraints, Eigen::MatrixBase< DerivedLB > const &lb, Eigen::MatrixBase< DerivedUB > const &ub)
 
virtual ~Constraint ()
 
Eigen::VectorXd const & lower_bound () const
 
Eigen::VectorXd const & upper_bound () const
 
size_t num_constraints () const
 

Protected Member Functions

virtual void dynamics (const Drake::TaylorVecXd &state, const Drake::TaylorVecXd &input, Drake::TaylorVecXd *xdot) const =0
 

Additional Inherited Members

- Protected Attributes inherited from Constraint
Eigen::VectorXd lower_bound_
 
Eigen::VectorXd upper_bound_
 

Detailed Description

Provides a base implementation and interface for a dynamic constraint (which is intended to be used with trajectory optimization, but is not specific to that purpose).

This implementation deliberately knows nothing about the underlying system representation.

Each evaluation of the constraint considers a pair of state vectors + input vectors along with an accompanying timestep.

Constructor & Destructor Documentation

DynamicConstraint ( int  num_states,
int  num_inputs 
)

The format of the input to the eval() function is defined by num_states and num_inputs.

The length of the vector will be (1 + num_states * 2 + num_inputs * 2), with the format:

(length) 1: timestep num_states: state 0 num_states: state 1 num_inputs: input 0 num_inputs: input 1

~DynamicConstraint ( )
virtual

Member Function Documentation

virtual void dynamics ( const Drake::TaylorVecXd state,
const Drake::TaylorVecXd input,
Drake::TaylorVecXd xdot 
) const
protectedpure virtual

Here is the caller graph for this function:

void eval ( const Eigen::Ref< const Eigen::VectorXd > &  x,
Eigen::VectorXd &  y 
) const
overridevirtual

Implements Constraint.

Here is the call graph for this function:

void eval ( const Eigen::Ref< const Drake::TaylorVecXd > &  x,
Drake::TaylorVecXd y 
) const
overridevirtual

Implements Constraint.

Here is the call graph for this function:


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