|
| ConfigurationSpaceCost (const Robot &robot) |
| Constructor. More...
|
|
| ConfigurationSpaceCost (const Robot &robot, const std::shared_ptr< ConfigurationSpaceRefBase > &ref) |
| Constructor. More...
|
|
| ConfigurationSpaceCost () |
| Default constructor. More...
|
|
| ~ConfigurationSpaceCost () |
| Destructor. More...
|
|
| ConfigurationSpaceCost (const ConfigurationSpaceCost &)=default |
| Default copy constructor. More...
|
|
ConfigurationSpaceCost & | operator= (const ConfigurationSpaceCost &)=default |
| Default copy operator. More...
|
|
| ConfigurationSpaceCost (ConfigurationSpaceCost &&) noexcept=default |
| Default move constructor. More...
|
|
ConfigurationSpaceCost & | operator= (ConfigurationSpaceCost &&) noexcept=default |
| Default move assign operator. More...
|
|
void | set_ref (const std::shared_ptr< ConfigurationSpaceRefBase > &ref) |
| Sets the reference configuration. More...
|
|
void | set_q_ref (const Eigen::VectorXd &q_ref) |
| Sets the const reference configuration q. More...
|
|
void | set_v_ref (const Eigen::VectorXd &v_ref) |
| Sets the const reference velocity v. More...
|
|
void | set_u_ref (const Eigen::VectorXd &u_ref) |
| Sets the const reference control input torques u. More...
|
|
void | set_q_weight (const Eigen::VectorXd &q_weight) |
| Sets the weight vector on the configuration q. More...
|
|
void | set_v_weight (const Eigen::VectorXd &v_weight) |
| Sets the weight on the velocity v. More...
|
|
void | set_a_weight (const Eigen::VectorXd &a_weight) |
| Sets the weight on the acceleration a. More...
|
|
void | set_u_weight (const Eigen::VectorXd &u_weight) |
| Sets the weight on the control input torques u. More...
|
|
void | set_q_weight_terminal (const Eigen::VectorXd &q_weight_terminal) |
| Sets the weight vector on the configuration q at the terminal stage. More...
|
|
void | set_v_weight_terminal (const Eigen::VectorXd &v_weight_terminal) |
| Sets the weight vector on the velocity v at the terminal stage. More...
|
|
void | set_q_weight_impact (const Eigen::VectorXd &q_weight_impact) |
| Sets the weight vector on the configuration q at impact stages. More...
|
|
void | set_v_weight_impact (const Eigen::VectorXd &v_weight_impact) |
| Sets the weight vector on the velocity v at the impact stages. More...
|
|
void | set_dv_weight_impact (const Eigen::VectorXd &dv_weight_impact) |
| Sets the weight vector on the impact change in the velocity dv at the impact stages. More...
|
|
bool | isCostConfigActive (const GridInfo &grid_info) const |
| Evaluate if the cost on the configuration q is active for given grid_info. More...
|
|
void | evalConfigDiff (const Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const Eigen::VectorXd &q) const |
| Evaluate the difference between the configuration and the reference configuration. More...
|
|
void | evalConfigDiffJac (const Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const Eigen::VectorXd &q) const |
| Evaluate the Jacobian of the difference between the configuration and the reference configuration. More...
|
|
double | evalStageCost (Robot &robot, const ContactStatus &contact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s) const override |
| Computes the stage cost. More...
|
|
void | evalStageCostDerivatives (Robot &robot, const ContactStatus &contact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTResidual &kkt_residual) const override |
| Computes the first-order partial derivatives of the stage cost. This function is always called just after evalStageCost(). More...
|
|
void | evalStageCostHessian (Robot &robot, const ContactStatus &contact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTMatrix &kkt_matrix) const override |
| Computes the Hessian, i.e., the second-order partial derivatives of the stage cost. This function is always called just after evalStageCostDerivatives(). More...
|
|
double | evalTerminalCost (Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s) const override |
| Computes the terminal cost. More...
|
|
void | evalTerminalCostDerivatives (Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTResidual &kkt_residual) const override |
| Computes the first-order partial derivatives of the terminal cost. This function is always called just after evalTerminalCost(). More...
|
|
void | evalTerminalCostHessian (Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTMatrix &kkt_matrix) const override |
| Computes the Hessian, i.e., the second-order partial derivatives of the teminal cost. This function is always called just after evalTerminalCostDerivatives(). More...
|
|
double | evalImpactCost (Robot &robot, const ImpactStatus &impact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s) const override |
| Computes the impact cost. More...
|
|
void | evalImpactCostDerivatives (Robot &robot, const ImpactStatus &impact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTResidual &kkt_residual) const override |
| Computes the first-order partial derivatives of the impact cost. This function is always called just after evalImpactCost(). More...
|
|
void | evalImpactCostHessian (Robot &robot, const ImpactStatus &impact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTMatrix &kkt_matrix) const override |
| Computes the Hessian, i.e., the second-order partial derivatives of the impact cost. This function is always called just after evalImpactCostDerivatives(). More...
|
|
| CostFunctionComponentBase () |
| Default constructor. More...
|
|
virtual | ~CostFunctionComponentBase () |
| Destructor. More...
|
|
| CostFunctionComponentBase (const CostFunctionComponentBase &)=default |
| Default copy constructor. More...
|
|
CostFunctionComponentBase & | operator= (const CostFunctionComponentBase &)=default |
| Default copy operator. More...
|
|
| CostFunctionComponentBase (CostFunctionComponentBase &&) noexcept=default |
| Default move constructor. More...
|
|
CostFunctionComponentBase & | operator= (CostFunctionComponentBase &&) noexcept=default |
| Default move assign operator. More...
|
|
virtual double | evalStageCost (Robot &robot, const ContactStatus &contact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s) const =0 |
| Computes the stage cost. More...
|
|
virtual void | evalStageCostDerivatives (Robot &robot, const ContactStatus &contact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTResidual &kkt_residual) const =0 |
| Computes the first-order partial derivatives of the stage cost. This function is always called just after evalStageCost(). More...
|
|
virtual void | evalStageCostHessian (Robot &robot, const ContactStatus &contact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTMatrix &kkt_matrix) const =0 |
| Computes the Hessian, i.e., the second-order partial derivatives of the stage cost. This function is always called just after evalStageCostDerivatives(). More...
|
|
virtual double | evalTerminalCost (Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s) const =0 |
| Computes the terminal cost. More...
|
|
virtual void | evalTerminalCostDerivatives (Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTResidual &kkt_residual) const =0 |
| Computes the first-order partial derivatives of the terminal cost. This function is always called just after evalTerminalCost(). More...
|
|
virtual void | evalTerminalCostHessian (Robot &robot, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTMatrix &kkt_matrix) const =0 |
| Computes the Hessian, i.e., the second-order partial derivatives of the teminal cost. This function is always called just after evalTerminalCostDerivatives(). More...
|
|
virtual double | evalImpactCost (Robot &robot, const ImpactStatus &impact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s) const =0 |
| Computes the impact cost. More...
|
|
virtual void | evalImpactCostDerivatives (Robot &robot, const ImpactStatus &impact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTResidual &kkt_residual) const =0 |
| Computes the first-order partial derivatives of the impact cost. This function is always called just after evalImpactCost(). More...
|
|
virtual void | evalImpactCostHessian (Robot &robot, const ImpactStatus &impact_status, CostFunctionData &data, const GridInfo &grid_info, const SplitSolution &s, SplitKKTMatrix &kkt_matrix) const =0 |
| Computes the Hessian, i.e., the second-order partial derivatives of the impact cost. This function is always called just after evalImpactCostDerivatives(). More...
|
|
template<typename Derived > |
std::shared_ptr< Derived > | as_shared_ptr () |
| Gets the shared ptr of this object as the specified type. If this fails in dynamic casting, throws an exception. More...
|
|
Configuration space cost.