wbc
AccelerationSceneTSID.hpp
Go to the documentation of this file.
1#ifndef WBCACCELERATIONSCENETSID_HPP
2#define WBCACCELERATIONSCENETSID_HPP
3
6
7namespace wbc{
8
40protected:
42
43 // Helper variables
44 std::vector<types::Contact> contacts;
45 Eigen::VectorXd robot_acc, solver_output_acc;
46 std::vector< TaskPtr > tasks;
47 std::vector< ConstraintPtr > constraints;
51
52 bool contactsHaveChanged(const std::vector<types::Contact>& old_contacts, const std::vector<types::Contact>& new_contacts){
53 if(old_contacts.size() != new_contacts.size())
54 return true;
55 for(uint i = 0; i < old_contacts.size(); i++){
56 if(old_contacts[i].active != new_contacts[i].active)
57 return true;
58 }
59 return false;
60 }
61
62public:
65 }
66
71 virtual bool configure(const std::vector<TaskPtr> &tasks);
72
77 virtual const HierarchicalQP& update();
78
83 virtual const types::JointCommand& solve(const HierarchicalQP& hqp);
84
85};
86
87} // namespace wbc
88
89#endif
AccelerationSceneTSID(RobotModelPtr robot_model, QPSolverPtr solver, const double dt)
Definition AccelerationSceneTSID.cpp:14
Eigen::VectorXd robot_acc
Definition AccelerationSceneTSID.hpp:45
virtual const HierarchicalQP & update()
Update the wbc scene and return the (updated) optimization problem.
Definition AccelerationSceneTSID.cpp:53
static SceneRegistry< AccelerationSceneTSID > reg
Definition AccelerationSceneTSID.hpp:41
bool contactsHaveChanged(const std::vector< types::Contact > &old_contacts, const std::vector< types::Contact > &new_contacts)
Definition AccelerationSceneTSID.hpp:52
std::vector< types::Contact > contacts
Definition AccelerationSceneTSID.hpp:44
virtual bool configure(const std::vector< TaskPtr > &tasks)
Configure the WBC scene. Create tasks and sort them by priority given the task config.
Definition AccelerationSceneTSID.cpp:29
virtual const types::JointCommand & solve(const HierarchicalQP &hqp)
Solve the given optimization problem.
Definition AccelerationSceneTSID.cpp:151
types::JointCommand solver_output_joints
Definition AccelerationSceneTSID.hpp:50
virtual ~AccelerationSceneTSID()
Definition AccelerationSceneTSID.hpp:64
bool configured
Definition AccelerationSceneTSID.hpp:49
std::vector< ConstraintPtr > constraints
Definition AccelerationSceneTSID.hpp:47
Eigen::VectorXd solver_output_acc
Definition AccelerationSceneTSID.hpp:45
HierarchicalQP hqp
Definition AccelerationSceneTSID.hpp:48
std::vector< TaskPtr > tasks
Definition AccelerationSceneTSID.hpp:46
RobotModelPtr robot_model
Definition Scene.hpp:18
Scene(RobotModelPtr robot_model, QPSolverPtr solver, const double dt)
Definition Scene.cpp:9
QPSolverPtr solver
Definition Scene.hpp:19
Definition JointCommand.hpp:8
Definition ContactsAccelerationConstraint.cpp:3
std::shared_ptr< QPSolver > QPSolverPtr
Definition QPSolver.hpp:33
std::shared_ptr< RobotModel > RobotModelPtr
Definition RobotModel.hpp:315
Describes a hierarchy of quadratic programs.
Definition QuadraticProgram.hpp:53
Definition Scene.hpp:114