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;
52
53
54 bool contactsHaveChanged(const std::vector<types::Contact>& old_contacts, const std::vector<types::Contact>& new_contacts){
55 if(old_contacts.size() != new_contacts.size())
56 return true;
57 for(uint i = 0; i < old_contacts.size(); i++){
58 if(old_contacts[i].active != new_contacts[i].active)
59 return true;
60 }
61 return false;
62 }
63
64public:
67 }
68
73 virtual bool configure(const std::vector<TaskPtr> &tasks);
74
79 virtual const HierarchicalQP& update();
80
85 virtual const types::JointCommand& solve(const HierarchicalQP& hqp);
86
87};
88
89} // namespace wbc
90
91#endif
Eigen::VectorXd robot_acc
Definition AccelerationSceneTSID.hpp:45
uint dim_contact
Definition AccelerationSceneTSID.hpp:51
virtual const HierarchicalQP & update()
Update the wbc scene and return the (updated) optimization problem.
Definition AccelerationSceneTSID.cpp:59
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:54
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:34
virtual const types::JointCommand & solve(const HierarchicalQP &hqp)
Solve the given optimization problem.
Definition AccelerationSceneTSID.cpp:147
types::JointCommand solver_output_joints
Definition AccelerationSceneTSID.hpp:50
AccelerationSceneTSID(RobotModelPtr robot_model, QPSolverPtr solver, const double dt, uint dim_contact=3)
Definition AccelerationSceneTSID.cpp:15
virtual ~AccelerationSceneTSID()
Definition AccelerationSceneTSID.hpp:66
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