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<types::Wrench> contact_wrenches;
48 std::vector< TaskPtr > tasks;
49 std::vector< ConstraintPtr > constraints;
53 Eigen::VectorXd solver_output;
54
55 bool contactsHaveChanged(const std::vector<types::Contact>& old_contacts, const std::vector<types::Contact>& new_contacts){
56 if(old_contacts.size() != new_contacts.size())
57 return true;
58 for(uint i = 0; i < old_contacts.size(); i++){
59 if(old_contacts[i].active != new_contacts[i].active)
60 return true;
61 }
62 return false;
63 }
64
65public:
68 }
69
74 virtual bool configure(const std::vector<TaskPtr> &tasks);
75
80 virtual const HierarchicalQP& update();
81
86 virtual const types::JointCommand& solve(const HierarchicalQP& hqp);
87
91 const std::vector<types::Wrench>& getContactWrenches(){return contact_wrenches;}
92
98
103
107 const Eigen::VectorXd& getSolverOutputRaw() const { return solver_output; }
108};
109
110} // namespace wbc
111
112#endif
const std::vector< types::Wrench > & getContactWrenches()
Get estimated contact wrenches.
Definition AccelerationSceneTSID.hpp:91
AccelerationSceneTSID(RobotModelPtr robot_model, QPSolverPtr solver, const double dt)
Definition AccelerationSceneTSID.cpp:14
Eigen::VectorXd robot_acc
Definition AccelerationSceneTSID.hpp:45
double hessian_regularizer
Definition AccelerationSceneTSID.hpp:47
virtual const HierarchicalQP & update()
Update the wbc scene and return the (updated) optimization problem.
Definition AccelerationSceneTSID.cpp:54
static SceneRegistry< AccelerationSceneTSID > reg
Definition AccelerationSceneTSID.hpp:41
double getHessianRegularizer()
Return the current value of hessian regularizer.
Definition AccelerationSceneTSID.hpp:102
Eigen::VectorXd solver_output
Definition AccelerationSceneTSID.hpp:53
bool contactsHaveChanged(const std::vector< types::Contact > &old_contacts, const std::vector< types::Contact > &new_contacts)
Definition AccelerationSceneTSID.hpp:55
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:30
virtual const types::JointCommand & solve(const HierarchicalQP &hqp)
Solve the given optimization problem.
Definition AccelerationSceneTSID.cpp:152
const Eigen::VectorXd & getSolverOutputRaw() const
Get current solver output in raw values.
Definition AccelerationSceneTSID.hpp:107
types::JointCommand solver_output_joints
Definition AccelerationSceneTSID.hpp:52
virtual ~AccelerationSceneTSID()
Definition AccelerationSceneTSID.hpp:67
bool configured
Definition AccelerationSceneTSID.hpp:51
std::vector< ConstraintPtr > constraints
Definition AccelerationSceneTSID.hpp:49
void setHessianRegularizer(const double reg)
setHessianRegularizer
Definition AccelerationSceneTSID.hpp:97
Eigen::VectorXd solver_output_acc
Definition AccelerationSceneTSID.hpp:45
HierarchicalQP hqp
Definition AccelerationSceneTSID.hpp:50
std::vector< types::Wrench > contact_wrenches
Definition AccelerationSceneTSID.hpp:46
std::vector< TaskPtr > tasks
Definition AccelerationSceneTSID.hpp:48
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:90