1#ifndef __PRIORITYLEVEL_H__
2#define __PRIORITYLEVEL_H__
5#include <eigen3/Eigen/Dense>
34 void AddTask(
const std::shared_ptr<Task> task);
39 auto ID() const -> const std::
string& {
return ID_; }
56 auto Jacobian() const -> const Eigen::MatrixXd& {
return J_; }
81 auto Level() const -> const std::vector<std::shared_ptr<
Task>>& {
return level_; }
85 auto DeltaY() -> Eigen::VectorXd& {
return deltaY_; }
89 auto DeltaY() const -> const Eigen::VectorXd& {
return deltaY_; }
95 return os <<
"\033[1;37m"
96 <<
"PriorityLevel ID " << priorityLevel.ID_ <<
"\n"
97 << std::setprecision(4) <<
"\033[1;37m"
98 <<
"Internal Activation Function \n"
99 <<
"\033[0m" << priorityLevel.Ai_ <<
"\n"
101 <<
"External Activation Function "
102 <<
"\033[0m" << priorityLevel.actionTransitionA_ <<
"\n"
105 <<
"\033[0m" << priorityLevel.J_ <<
"\n"
108 <<
"\033[0m" << priorityLevel.x_dot_ <<
"\n"
110 <<
"svdParameters\nThrehsold "
111 <<
"\033[0m" << priorityLevel.regularizationData_.params.threshold
115 <<
"\033[0m" << priorityLevel.regularizationData_.params.lambda
123 void UpdateJacobian();
128 void UpdateActivationFunction();
133 void UpdateReferenceRate();
135 std::vector<std::shared_ptr<Task>> level_;
138 Eigen::MatrixXd Aextern_;
141 Eigen::VectorXd x_dot_;
142 double actionTransitionA_;
143 rml::RegularizationData regularizationData_;
144 Eigen::VectorXd deltaY_;
145 int priorityLevelSpace_;
Definition PriorityLevel.h:19
auto RegularizationData() -> rml::RegularizationData &
Definition PriorityLevel.h:47
friend std::ostream & operator<<(std::ostream &os, PriorityLevel const &priorityLevel)
Definition PriorityLevel.h:93
auto RegularizationData() const -> const rml::RegularizationData &
Definition PriorityLevel.h:51
auto Jacobian() const -> const Eigen::MatrixXd &
Definition PriorityLevel.h:56
void AddTask(const std::shared_ptr< Task > task)
auto DeltaY() const -> const Eigen::VectorXd &
Definition PriorityLevel.h:89
PriorityLevel(const std::string ID)
auto InternalActivationFunction() const -> const Eigen::MatrixXd &
Definition PriorityLevel.h:66
auto ReferenceRate() const -> const Eigen::VectorXd &
Definition PriorityLevel.h:76
auto DeltaY() -> Eigen::VectorXd &
Definition PriorityLevel.h:85
auto ActivationFunction() const -> const Eigen::MatrixXd &
Definition PriorityLevel.h:61
auto Level() const -> const std::vector< std::shared_ptr< Task > > &
Definition PriorityLevel.h:81
auto ID() const -> const std::string &
Definition PriorityLevel.h:39
auto ActionTransitionActivation(double x) -> void
Definition PriorityLevel.h:71