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_;
160 Eigen::VectorXd __fix_warnings__;
162 bool solution_found_ =
false;
void deactivateTasksAndConstraints()
Definition: Controller.cc:348
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:380
bool solutionFound() const
Definition: Controller.cc:148
Definition: Controller.h:55
void removeCoriolisTorquesFromSolution(bool do_remove)
Definition: Controller.cc:428
void activateConstraints()
Definition: Controller.cc:391
void deactivateConstraints()
Definition: Controller.cc:367
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:225
const Eigen::VectorXd & getJointTorqueCommand(bool remove_gravity_torques=false, bool remove_coriolis_torques=false)
Definition: Controller.cc:280
QPSolverImplType
Definition: QPSolverImplType.h:44
std::shared_ptr< C > addConstraint(const std::string &name)
Definition: Controller.h:97
std::shared_ptr< task::RegularisationTask< ControlVariable::X > > globalRegularization(int level=0)
Definition: Controller.cc:446
std::shared_ptr< T > addTask(const std::string &name)
Definition: Controller.h:83
ResolutionStrategy getResolutionStrategy() const
Definition: Controller.cc:153
bool addTaskFromString(const std::string &task_description)
Definition: Controller.cc:170
void deactivateTasks()
Definition: Controller.cc:354
const Eigen::VectorXd & getSolution()
Definition: Controller.cc:267
void removeGravityTorquesFromSolution(bool do_remove)
Definition: Controller.cc:424
void activateTasksAndConstraints()
Definition: Controller.cc:342
bool update(double current_time, double dt)
Definition: Controller.cc:122
bool tasksAndConstraintsDeactivated()
Definition: Controller.cc:402
Controller(const std::string &name)
Definition: Controller.cc:15
const Eigen::VectorXd & getJointAccelerationCommand()
Definition: Controller.cc:328
std::shared_ptr< robot::RobotModel > robot()
Definition: Controller.cc:78
bool addTask(std::shared_ptr< task::GenericTask > task)
Definition: Controller.cc:201
const Eigen::VectorXd & computeKKTTorques()
Definition: Controller.cc:322
ResolutionStrategy
Definition: ResolutionStrategy.h:44
Definition: CartesianAccelerationPID.h:44
bool addConstraintFromString(const std::string &task_description)
Definition: Controller.cc:185
void setRobotModel(std::shared_ptr< robot::RobotModel > robot)
Definition: Controller.cc:85
void setPrintLevel(int level)
Definition: Controller.cc:70
common::ReturnCode getReturnCode() const
Definition: Controller.cc:158
void print() const
Definition: Controller.cc:62
bool addConstraint(std::shared_ptr< constraint::GenericConstraint > cstr)
Definition: Controller.cc:246