Drake
drake Namespace Reference

Namespaces

 core
 
 detail
 
 math
 
 nice_type_name_test
 
 parsers
 
 solvers
 
 systems
 
 test
 
 util
 

Classes

class  FunctionalForm
 Represent an abstract form of a function of zero or more variables. More...
 
class  NAryState
 NAryState is a Drake::Vector (concept implementation) which is a container of zero or more component Drake::Vector instances. More...
 
class  NArySystem
 A System which aggregates multiple instances of a UnitSystem system. More...
 
class  NiceTypeName
 Obtains canonicalized, platform-independent, human-readable names for arbitrarily-complicated C++ types. More...
 

Typedefs

template<typename Scalar >
using Vector1 = Eigen::Matrix< Scalar, 1, 1 >
 A column vector of size 1 (a scalar), templated on scalar type. More...
 
template<typename Scalar >
using Vector2 = Eigen::Matrix< Scalar, 2, 1 >
 A column vector of size 2, templated on scalar type. More...
 
template<typename Scalar >
using Vector3 = Eigen::Matrix< Scalar, 3, 1 >
 A column vector of size 3, templated on scalar type. More...
 
template<typename Scalar >
using Vector4 = Eigen::Matrix< Scalar, 4, 1 >
 A column vector of size 4, templated on scalar type. More...
 
template<typename Scalar >
using Vector6 = Eigen::Matrix< Scalar, 6, 1 >
 A column vector of size 6. More...
 
template<typename Scalar >
using VectorX = Eigen::Matrix< Scalar, Eigen::Dynamic, 1 >
 A column vector of any size, templated on scalar type. More...
 
template<typename Scalar >
using Matrix3 = Eigen::Matrix< Scalar, 3, 3 >
 A matrix of 3 rows and 3 columns, templated on scalar type. More...
 
template<typename Scalar >
using Matrix6 = Eigen::Matrix< Scalar, 6, 6 >
 A matrix of 3 rows and 3 columns, templated on scalar type. More...
 
template<typename Scalar >
using Matrix3X = Eigen::Matrix< Scalar, 3, Eigen::Dynamic >
 A matrix of 3 rows, dynamic columns, templated on scalar type. More...
 
template<typename Scalar >
using Matrix4X = Eigen::Matrix< Scalar, 4, Eigen::Dynamic >
 A matrix of 4 rows, dynamic columns, templated on scalar type. More...
 
template<typename Scalar >
using MatrixX = Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic >
 A matrix of dynamic size, templated on scalar type. More...
 
using VectorUpTo73d = Eigen::Matrix< double, Eigen::Dynamic, 1, 0, 73, 1 >
 A column vector of dynamic size, up to a maximum of 73 elements. More...
 
using AutoDiffUpTo73d = Eigen::AutoDiffScalar< VectorUpTo73d >
 An autodiff variable with a dynamic number of partials, up to 73 maximum. More...
 
using AutoDiffXd = Eigen::AutoDiffScalar< Eigen::VectorXd >
 An autodiff variable with a dynamic number of partials. More...
 
template<typename Scalar >
using TwistVector = Eigen::Matrix< Scalar, kTwistSize, 1 >
 A column vector consisting of one twist. More...
 
template<typename Scalar >
using TwistMatrix = Eigen::Matrix< Scalar, kTwistSize, Eigen::Dynamic >
 A matrix with one twist per column, and dynamically many columns. More...
 
template<typename Scalar >
using SquareTwistMatrix = Eigen::Matrix< Scalar, kTwistSize, kTwistSize >
 A six-by-six matrix. More...
 

Functions

FunctionalForm operator+ (FunctionalForm const &l, FunctionalForm const &r)
 
FunctionalForm operator- (FunctionalForm const &l, FunctionalForm const &r)
 
FunctionalForm operator* (FunctionalForm const &l, FunctionalForm const &r)
 
FunctionalForm operator/ (FunctionalForm const &l, FunctionalForm const &r)
 
FunctionalForm abs (FunctionalForm const &x)
 
FunctionalForm cos (FunctionalForm const &x)
 
FunctionalForm exp (FunctionalForm const &x)
 
FunctionalForm log (FunctionalForm const &x)
 
FunctionalForm sin (FunctionalForm const &x)
 
FunctionalForm sqrt (FunctionalForm const &x)
 
FunctionalFormoperator+= (FunctionalForm &l, FunctionalForm const &r)
 
FunctionalFormoperator-= (FunctionalForm &l, FunctionalForm const &r)
 
FunctionalFormoperator*= (FunctionalForm &l, FunctionalForm const &r)
 
FunctionalFormoperator/= (FunctionalForm &l, FunctionalForm const &r)
 
FunctionalFormoperator+= (FunctionalForm &l, double r)
 
FunctionalFormoperator-= (FunctionalForm &l, double r)
 
FunctionalFormoperator*= (FunctionalForm &l, double r)
 
FunctionalFormoperator/= (FunctionalForm &l, double r)
 
FunctionalForm operator+ (FunctionalForm const &l, double r)
 
FunctionalForm operator+ (double l, FunctionalForm const &r)
 
FunctionalForm operator- (FunctionalForm const &l, double r)
 
FunctionalForm operator- (double l, FunctionalForm const &r)
 
FunctionalForm operator* (FunctionalForm const &l, double r)
 
FunctionalForm operator* (double l, FunctionalForm const &r)
 
FunctionalForm operator/ (FunctionalForm const &l, double r)
 
FunctionalForm operator/ (double l, FunctionalForm const &r)
 
std::ostream & operator<< (std::ostream &os, FunctionalForm const &f)
 
std::ostream & operator<< (std::ostream &os, FunctionalForm::Variable const &v)
 
bool operator== (FunctionalForm::Variable const &l, FunctionalForm::Variable const &r)
 
bool operator!= (FunctionalForm::Variable const &l, FunctionalForm::Variable const &r)
 
bool operator< (FunctionalForm::Variable const &l, FunctionalForm::Variable const &r)
 
bool operator<= (FunctionalForm::Variable const &l, FunctionalForm::Variable const &r)
 
bool operator> (FunctionalForm::Variable const &l, FunctionalForm::Variable const &r)
 
bool operator>= (FunctionalForm::Variable const &l, FunctionalForm::Variable const &r)
 
bool operator== (FunctionalForm::Variables const &lhs, FunctionalForm::Variables const &rhs)
 
bool operator!= (FunctionalForm::Variables const &lhs, FunctionalForm::Variables const &rhs)
 

Variables

constexpr int kQuaternionSize = 4
 
constexpr int kSpaceDimension = 3
 
constexpr int kRpySize = 3
 
constexpr int kTwistSize = 6
 https://en.wikipedia.org/wiki/Screw_theory#Twist More...
 
static const char *const kFunctionalFormNames []
 
static std::size_t constexpr kInvalidIndex = ~static_cast<std::size_t>(0)
 

Typedef Documentation

using AutoDiffUpTo73d = Eigen::AutoDiffScalar<VectorUpTo73d>

An autodiff variable with a dynamic number of partials, up to 73 maximum.

using AutoDiffXd = Eigen::AutoDiffScalar<Eigen::VectorXd>

An autodiff variable with a dynamic number of partials.

using Matrix3 = Eigen::Matrix<Scalar, 3, 3>

A matrix of 3 rows and 3 columns, templated on scalar type.

using Matrix3X = Eigen::Matrix<Scalar, 3, Eigen::Dynamic>

A matrix of 3 rows, dynamic columns, templated on scalar type.

using Matrix4X = Eigen::Matrix<Scalar, 4, Eigen::Dynamic>

A matrix of 4 rows, dynamic columns, templated on scalar type.

using Matrix6 = Eigen::Matrix<Scalar, 6, 6>

A matrix of 3 rows and 3 columns, templated on scalar type.

using MatrixX = Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>

A matrix of dynamic size, templated on scalar type.

using SquareTwistMatrix = Eigen::Matrix<Scalar, kTwistSize, kTwistSize>

A six-by-six matrix.

using TwistMatrix = Eigen::Matrix<Scalar, kTwistSize, Eigen::Dynamic>

A matrix with one twist per column, and dynamically many columns.

using TwistVector = Eigen::Matrix<Scalar, kTwistSize, 1>

A column vector consisting of one twist.

using Vector1 = Eigen::Matrix<Scalar, 1, 1>

A column vector of size 1 (a scalar), templated on scalar type.

using Vector2 = Eigen::Matrix<Scalar, 2, 1>

A column vector of size 2, templated on scalar type.

using Vector3 = Eigen::Matrix<Scalar, 3, 1>

A column vector of size 3, templated on scalar type.

using Vector4 = Eigen::Matrix<Scalar, 4, 1>

A column vector of size 4, templated on scalar type.

using Vector6 = Eigen::Matrix<Scalar, 6, 1>

A column vector of size 6.

using VectorUpTo73d = Eigen::Matrix<double, Eigen::Dynamic, 1, 0, 73, 1>

A column vector of dynamic size, up to a maximum of 73 elements.

using VectorX = Eigen::Matrix<Scalar, Eigen::Dynamic, 1>

A column vector of any size, templated on scalar type.

Function Documentation

FunctionalForm drake::abs ( FunctionalForm const &  x)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::cos ( FunctionalForm const &  x)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::exp ( FunctionalForm const &  x)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::log ( FunctionalForm const &  x)

Here is the call graph for this function:

Here is the caller graph for this function:

bool drake::operator!= ( FunctionalForm::Variable const &  l,
FunctionalForm::Variable const &  r 
)

Here is the caller graph for this function:

bool drake::operator!= ( FunctionalForm::Variables const &  lhs,
FunctionalForm::Variables const &  rhs 
)
FunctionalForm drake::operator* ( FunctionalForm const &  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::operator* ( FunctionalForm const &  l,
double  r 
)

Here is the call graph for this function:

FunctionalForm drake::operator* ( double  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

FunctionalForm& drake::operator*= ( FunctionalForm l,
FunctionalForm const &  r 
)

Here is the caller graph for this function:

FunctionalForm& drake::operator*= ( FunctionalForm l,
double  r 
)
FunctionalForm drake::operator+ ( FunctionalForm const &  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::operator+ ( FunctionalForm const &  l,
double  r 
)

Here is the call graph for this function:

FunctionalForm drake::operator+ ( double  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

FunctionalForm& drake::operator+= ( FunctionalForm l,
FunctionalForm const &  r 
)

Here is the caller graph for this function:

FunctionalForm& drake::operator+= ( FunctionalForm l,
double  r 
)
FunctionalForm drake::operator- ( FunctionalForm const &  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::operator- ( FunctionalForm const &  l,
double  r 
)

Here is the call graph for this function:

FunctionalForm drake::operator- ( double  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

FunctionalForm& drake::operator-= ( FunctionalForm l,
FunctionalForm const &  r 
)

Here is the caller graph for this function:

FunctionalForm& drake::operator-= ( FunctionalForm l,
double  r 
)
FunctionalForm drake::operator/ ( FunctionalForm const &  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

FunctionalForm drake::operator/ ( FunctionalForm const &  l,
double  r 
)

Here is the call graph for this function:

FunctionalForm drake::operator/ ( double  l,
FunctionalForm const &  r 
)

Here is the call graph for this function:

FunctionalForm& drake::operator/= ( FunctionalForm l,
FunctionalForm const &  r 
)

Here is the caller graph for this function:

FunctionalForm& drake::operator/= ( FunctionalForm l,
double  r 
)
bool drake::operator< ( FunctionalForm::Variable const &  l,
FunctionalForm::Variable const &  r 
)

Here is the caller graph for this function:

std::ostream& drake::operator<< ( std::ostream &  os,
FunctionalForm const &  f 
)

The format is one of:

  • "zero"
  • "cons"
  • "lin(x,...)"
  • "aff(x,...)"
  • "poly(x,...)"
  • "diff(x,...)"
  • "arb(x,...)"
  • "undf(x,...)"

where "x,..." represents a comma-separated list of the variables combined by the form.

Here is the call graph for this function:

Here is the caller graph for this function:

std::ostream& drake::operator<< ( std::ostream &  os,
FunctionalForm::Variable const &  v 
)
bool drake::operator<= ( FunctionalForm::Variable const &  l,
FunctionalForm::Variable const &  r 
)

Here is the caller graph for this function:

bool drake::operator== ( FunctionalForm::Variable const &  l,
FunctionalForm::Variable const &  r 
)

Here is the caller graph for this function:

bool drake::operator== ( FunctionalForm::Variables const &  lhs,
FunctionalForm::Variables const &  rhs 
)
bool drake::operator> ( FunctionalForm::Variable const &  l,
FunctionalForm::Variable const &  r 
)

Here is the caller graph for this function:

bool drake::operator>= ( FunctionalForm::Variable const &  l,
FunctionalForm::Variable const &  r 
)

Here is the caller graph for this function:

FunctionalForm drake::sin ( FunctionalForm const &  x)

Here is the call graph for this function:

Here is the caller graph for this function:

FunctionalForm drake::sqrt ( FunctionalForm const &  x)

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

const char* const kFunctionalFormNames[]
static
Initial value:
= {
"zero", "cons", "lin", "aff", "poly", "diff", "arb", "undf",
}
std::size_t constexpr kInvalidIndex = ~static_cast<std::size_t>(0)
static
constexpr int kQuaternionSize = 4
constexpr int kRpySize = 3
constexpr int kSpaceDimension = 3