コンテンツにスキップ

cpp_robotics::OCPFunctionalConstraint

#include <ocp_constraint.hpp>

Inherits from cpp_robotics::OCPConstraint

Public Types

Name
using std::function< double(const Eigen::VectorXd &, const Eigen::VectorXd &)> func_t
using std::function< Eigen::VectorXd(const Eigen::VectorXd &, const Eigen::VectorXd &)> grad_func_t
using std::function< Eigen::MatrixXd(const Eigen::VectorXd &, const Eigen::VectorXd &)> hessian_func_t

Public Functions

Name
OCPFunctionalConstraint(OCPConstraintType type, func_t f)
virtual double eval(const Eigen::VectorXd & x, const Eigen::VectorXd & u) const override
virtual Eigen::VectorXd grad_x(const Eigen::VectorXd & x, const Eigen::VectorXd & u) const override
virtual Eigen::VectorXd grad_u(const Eigen::VectorXd & x, const Eigen::VectorXd & u) const override
virtual Eigen::MatrixXd hessian_xx(const Eigen::VectorXd & x, const Eigen::VectorXd & u) const override
virtual Eigen::MatrixXd hessian_uu(const Eigen::VectorXd & x, const Eigen::VectorXd & u) const override
virtual Eigen::MatrixXd hessian_ux(const Eigen::VectorXd & x, const Eigen::VectorXd & u) const override

Public Attributes

Name
func_t f
std::optional< grad_func_t > f_grad_x
std::optional< grad_func_t > f_grad_u
std::optional< hessian_func_t > f_hessian_xx
std::optional< hessian_func_t > f_hessian_ux
std::optional< hessian_func_t > f_hessian_uu

Additional inherited members

Public Types inherited from cpp_robotics::OCPConstraint

Name
using std::shared_ptr< OCPConstraint > SharedPtr

Public Functions inherited from cpp_robotics::OCPConstraint

Name
OCPConstraint()
OCPConstraint(OCPConstraintType type)
bool satisfy(const Eigen::VectorXd & x, const Eigen::VectorXd & u, const double tol) const

Public Attributes inherited from cpp_robotics::OCPConstraint

Name
double eps
OCPConstraintType type

Public Types Documentation

using func_t

using cpp_robotics::OCPFunctionalConstraint::func_t =  std::function<double(const Eigen::VectorXd &, const Eigen::VectorXd &)>;

using grad_func_t

using cpp_robotics::OCPFunctionalConstraint::grad_func_t =  std::function<Eigen::VectorXd(const Eigen::VectorXd &, const Eigen::VectorXd &)>;

using hessian_func_t

using cpp_robotics::OCPFunctionalConstraint::hessian_func_t =  std::function<Eigen::MatrixXd(const Eigen::VectorXd &, const Eigen::VectorXd &)>;

Public Functions Documentation

function OCPFunctionalConstraint

inline OCPFunctionalConstraint(
    OCPConstraintType type,
    func_t f
)

function eval

inline virtual double eval(
    const Eigen::VectorXd & x,
    const Eigen::VectorXd & u
) const override

Reimplements: cpp_robotics::OCPConstraint::eval

function grad_x

inline virtual Eigen::VectorXd grad_x(
    const Eigen::VectorXd & x,
    const Eigen::VectorXd & u
) const override

Reimplements: cpp_robotics::OCPConstraint::grad_x

function grad_u

inline virtual Eigen::VectorXd grad_u(
    const Eigen::VectorXd & x,
    const Eigen::VectorXd & u
) const override

Reimplements: cpp_robotics::OCPConstraint::grad_u

function hessian_xx

inline virtual Eigen::MatrixXd hessian_xx(
    const Eigen::VectorXd & x,
    const Eigen::VectorXd & u
) const override

Reimplements: cpp_robotics::OCPConstraint::hessian_xx

function hessian_uu

inline virtual Eigen::MatrixXd hessian_uu(
    const Eigen::VectorXd & x,
    const Eigen::VectorXd & u
) const override

Reimplements: cpp_robotics::OCPConstraint::hessian_uu

function hessian_ux

inline virtual Eigen::MatrixXd hessian_ux(
    const Eigen::VectorXd & x,
    const Eigen::VectorXd & u
) const override

Reimplements: cpp_robotics::OCPConstraint::hessian_ux

Public Attributes Documentation

variable f

func_t f;

variable f_grad_x

std::optional< grad_func_t > f_grad_x;

variable f_grad_u

std::optional< grad_func_t > f_grad_u;

variable f_hessian_xx

std::optional< hessian_func_t > f_hessian_xx;

variable f_hessian_ux

std::optional< hessian_func_t > f_hessian_ux;

variable f_hessian_uu

std::optional< hessian_func_t > f_hessian_uu;

Updated on 2024-05-28 at 06:55:39 +0000