18 #ifndef COB_TWIST_CONTROLLER_CONSTRAINT_SOLVERS_FACTORIES_SOLVER_FACTORY_H 19 #define COB_TWIST_CONTROLLER_CONSTRAINT_SOLVERS_FACTORIES_SOLVER_FACTORY_H 24 #include <kdl/jntarray.hpp> 38 std::set<ConstraintBase_t>& constraints)
const = 0;
52 constraint_solver_.reset(
new T(params, limiter_params, task_stack_controller));
57 constraint_solver_.reset();
75 std::set<ConstraintBase_t>& constraints)
const 77 constraint_solver_->setJacobianData(jacobian_data);
78 constraint_solver_->setConstraints(constraints);
79 constraint_solver_->setDamping(damping_method);
80 Eigen::MatrixXd new_q_dot = constraint_solver_->solve(in_cart_velocities, joint_states);
88 #endif // COB_TWIST_CONTROLLER_CONSTRAINT_SOLVERS_FACTORIES_SOLVER_FACTORY_H
virtual ~ISolverFactory()
Eigen::Matrix< double, 6, 1 > Vector6d_t
Abstract base class defining interfaces for the creation of a specific solver.
Eigen::MatrixXd calculateJointVelocities(Matrix6Xd_t &jacobian_data, const Vector6d_t &in_cart_velocities, const JointStates &joint_states, boost::shared_ptr< DampingBase > &damping_method, std::set< ConstraintBase_t > &constraints) const
SolverFactory(const TwistControllerParams ¶ms, const LimiterParams &limiter_params, TaskStackController_t &task_stack_controller)
Interface definition to support generic usage of the solver factory without specifying a typename in ...
virtual Eigen::MatrixXd calculateJointVelocities(Matrix6Xd_t &jacobian_data, const Vector6d_t &in_cart_velocities, const JointStates &joint_states, boost::shared_ptr< DampingBase > &damping_method, std::set< ConstraintBase_t > &constraints) const =0
Eigen::Matrix< double, 6, Eigen::Dynamic > Matrix6Xd_t
boost::shared_ptr< T > constraint_solver_