60 , std::shared_ptr<robot::RobotModel>
robot 68 std::shared_ptr<robot::RobotModel>
robot();
72 bool update(
double current_time,
double dt);
76 bool addTask(std::shared_ptr<task::GenericTask> task);
83 std::shared_ptr<T>
addTask(
const std::string& name)
85 auto t = std::make_shared<T>(name);
91 std::shared_ptr<task::GenericTask>
getTask(
const std::string& name,
int level = 0);
92 std::shared_ptr<task::GenericTask>
getTask(
unsigned int index,
int level = 0);
94 bool addConstraint(std::shared_ptr<constraint::GenericConstraint> cstr);
99 auto c = std::make_shared<C>(name);
110 ,
bool remove_coriolis_torques =
false);
126 std::shared_ptr<task::RegularisationTask<ControlVariable::X> >
globalRegularization(
int level = 0);
139 bool isProblemDry(std::shared_ptr<const optim::Problem> problem);
140 std::shared_ptr<Problem> getProblemAtLevel(
int level);
141 void insertNewLevel();
142 void updateTasks(
double current_time,
double dt);
143 void updateConstraints(
double current_time,
double dt);
153 std::function<void(double,double)> update_cb_;
155 std::list< Problem::Ptr > problems_;
157 Eigen::VectorXd joint_torque_command_;
158 Eigen::VectorXd kkt_torques_;
159 Eigen::VectorXd joint_acceleration_command_;
161 bool solution_found_ =
false;
void deactivateTasksAndConstraints()
Definition: Controller.cc:339
Represents a set of parameters that can be loaded from a YAML file.
Definition: ConfigurableOrcaObject.h:14
void setUpdateCallback(std::function< void(double, double)> update_cb)
Definition: Controller.cc:92
ReturnCode
Definition: ReturnCode.h:45
void activateTasks()
Definition: Controller.cc:371
void print() const
Definition: Controller.cc:62
Definition: Controller.h:55
void removeCoriolisTorquesFromSolution(bool do_remove)
Definition: Controller.cc:419
common::ReturnCode getReturnCode() const
Definition: Controller.cc:157
void activateConstraints()
Definition: Controller.cc:382
void deactivateConstraints()
Definition: Controller.cc:358
common::MutexRecursive mutex
The recursive mutex to protect the update function.
Definition: Controller.h:135
std::shared_ptr< task::GenericTask > getTask(const std::string &name, int level=0)
Definition: Controller.cc:223
const Eigen::VectorXd & getJointTorqueCommand(bool remove_gravity_torques=false, bool remove_coriolis_torques=false)
Definition: Controller.cc:275
QPSolverImplType
Definition: QPSolverImplType.h:44
std::shared_ptr< C > addConstraint(const std::string &name)
Definition: Controller.h:97
bool solutionFound() const
Definition: Controller.cc:147
std::shared_ptr< task::RegularisationTask< ControlVariable::X > > globalRegularization(int level=0)
Definition: Controller.cc:436
std::shared_ptr< T > addTask(const std::string &name)
Definition: Controller.h:83
bool addTaskFromString(const std::string &task_description)
Definition: Controller.cc:168
void deactivateTasks()
Definition: Controller.cc:345
const Eigen::VectorXd & getSolution()
Definition: Controller.cc:264
void removeGravityTorquesFromSolution(bool do_remove)
Definition: Controller.cc:415
void activateTasksAndConstraints()
Definition: Controller.cc:333
bool update(double current_time, double dt)
Definition: Controller.cc:122
bool tasksAndConstraintsDeactivated()
Definition: Controller.cc:393
Controller(const std::string &name)
Definition: Controller.cc:15
const Eigen::VectorXd & getJointAccelerationCommand()
Definition: Controller.cc:321
std::shared_ptr< robot::RobotModel > robot()
Definition: Controller.cc:78
bool addTask(std::shared_ptr< task::GenericTask > task)
Definition: Controller.cc:199
const Eigen::VectorXd & computeKKTTorques()
Definition: Controller.cc:315
ResolutionStrategy
Definition: ResolutionStrategy.h:44
Definition: CartesianAccelerationPID.h:44
bool addConstraintFromString(const std::string &task_description)
Definition: Controller.cc:183
void setRobotModel(std::shared_ptr< robot::RobotModel > robot)
Definition: Controller.cc:85
void setPrintLevel(int level)
Definition: Controller.cc:70
ResolutionStrategy getResolutionStrategy() const
Definition: Controller.cc:152
bool addConstraint(std::shared_ptr< constraint::GenericConstraint > cstr)
Definition: Controller.cc:243