Drake
Drake C++ Documentation
SystemConstraintBounds Class Referencefinal

Detailed Description

The bounds of a SystemConstraint.

This also encompasses the form of the constraint: equality constraints occur when both the lower and upper bounds are all zeros.

#include <drake/systems/framework/system_constraint.h>

Public Member Functions

 SystemConstraintBounds ()
 Creates constraint bounds with zero size. More...
 
 SystemConstraintBounds (const Eigen::Ref< const Eigen::VectorXd > &lower, const Eigen::Ref< const Eigen::VectorXd > &upper)
 Creates a constraint with the given upper and lower bounds for f(x). More...
 
 SystemConstraintBounds (const Eigen::Ref< const Eigen::VectorXd > &lower, std::nullopt_t)
 Creates an inequality constraint with the given lower bounds for f(x). More...
 
 SystemConstraintBounds (std::nullopt_t, const Eigen::Ref< const Eigen::VectorXd > &upper)
 Creates an inequality constraint with the given upper bounds for f(x). More...
 
int size () const
 
SystemConstraintType type () const
 
const Eigen::VectorXd & lower () const
 
const Eigen::VectorXd & upper () const
 
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 SystemConstraintBounds (const SystemConstraintBounds &)=default
 
SystemConstraintBoundsoperator= (const SystemConstraintBounds &)=default
 
 SystemConstraintBounds (SystemConstraintBounds &&)=default
 
SystemConstraintBoundsoperator= (SystemConstraintBounds &&)=default
 

Static Public Member Functions

static SystemConstraintBounds Equality (int size)
 Creates constraint of type SystemConstraintType::kEquality, with the given size for f(x). More...
 

Constructor & Destructor Documentation

◆ SystemConstraintBounds() [1/6]

◆ SystemConstraintBounds() [2/6]

◆ SystemConstraintBounds() [3/6]

Creates constraint bounds with zero size.

◆ SystemConstraintBounds() [4/6]

SystemConstraintBounds ( const Eigen::Ref< const Eigen::VectorXd > &  lower,
const Eigen::Ref< const Eigen::VectorXd > &  upper 
)

Creates a constraint with the given upper and lower bounds for f(x).

The type() of this constraint will be kInequality, except in the unusual case where both lower and upper are all zeros (in which case it is kEquality). It is not currently allowed to set lower == upper (creating an equality constraint in the form f(x) = b), except when b == 0. Using a non-zero b might be allowed in the future.

◆ SystemConstraintBounds() [5/6]

SystemConstraintBounds ( const Eigen::Ref< const Eigen::VectorXd > &  lower,
std::nullopt_t   
)

Creates an inequality constraint with the given lower bounds for f(x).

The upper bounds are all positive infinity.

◆ SystemConstraintBounds() [6/6]

SystemConstraintBounds ( std::nullopt_t  ,
const Eigen::Ref< const Eigen::VectorXd > &  upper 
)

Creates an inequality constraint with the given upper bounds for f(x).

The lower bounds are all negative infinity.

Member Function Documentation

◆ Equality()

static SystemConstraintBounds Equality ( int  size)
static

Creates constraint of type SystemConstraintType::kEquality, with the given size for f(x).

◆ lower()

const Eigen::VectorXd& lower ( ) const

◆ operator=() [1/2]

SystemConstraintBounds& operator= ( SystemConstraintBounds &&  )
default

◆ operator=() [2/2]

SystemConstraintBounds& operator= ( const SystemConstraintBounds )
default

◆ size()

int size ( ) const

◆ type()

SystemConstraintType type ( ) const

◆ upper()

const Eigen::VectorXd& upper ( ) const

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