Class providing methods that realize a CollisionAvoidance constraint. More...
#include <constraint.h>
Public Member Functions | |
virtual void | calculate () |
CollisionAvoidance (PRIO prio, T_PARAMS constraint_params, CallbackDataMediator &cbdm, KDL::ChainJntToJacSolver &jnt_to_jac, KDL::ChainFkSolverVel_recursive &fk_solver_vel) | |
virtual double | getActivationGain () const |
double | getActivationGain (double current_cost_func_value) const |
virtual double | getSelfMotionMagnitude (const Eigen::MatrixXd &particular_solution, const Eigen::MatrixXd &homogeneous_solution) const |
Returns a value for k_H to weight the partial values for e.g. GPM. | |
double | getSelfMotionMagnitude (double current_cost_func_value) const |
Returns a value for magnitude. | |
virtual Eigen::VectorXd | getTaskDerivatives () const |
virtual std::string | getTaskId () const |
virtual Eigen::MatrixXd | getTaskJacobian () const |
virtual | ~CollisionAvoidance () |
Private Member Functions | |
void | calcDerivativeValue () |
void | calcPartialValues () |
void | calcPredictionValue () |
void | calcValue () |
double | getActivationThresholdWithBuffer () const |
virtual double | getCriticalValue () const |
Private Attributes | |
Eigen::VectorXd | derivative_values_ |
KDL::ChainFkSolverVel_recursive & | fk_solver_vel_ |
KDL::ChainJntToJacSolver & | jnt_to_jac_ |
Eigen::MatrixXd | task_jacobian_ |
Eigen::VectorXd | values_ |
Class providing methods that realize a CollisionAvoidance constraint.
Definition at line 52 of file constraint.h.
CollisionAvoidance< T_PARAMS, PRIO >::CollisionAvoidance | ( | PRIO | prio, |
T_PARAMS | constraint_params, | ||
CallbackDataMediator & | cbdm, | ||
KDL::ChainJntToJacSolver & | jnt_to_jac, | ||
KDL::ChainFkSolverVel_recursive & | fk_solver_vel | ||
) | [inline] |
Definition at line 55 of file constraint.h.
virtual CollisionAvoidance< T_PARAMS, PRIO >::~CollisionAvoidance | ( | ) | [inline, virtual] |
Definition at line 65 of file constraint.h.
void CollisionAvoidance< T_PARAMS, PRIO >::calcDerivativeValue | ( | ) | [private] |
Definition at line 220 of file constraint_ca_impl.h.
void CollisionAvoidance< T_PARAMS, PRIO >::calcPartialValues | ( | ) | [private] |
Calculate the partial values for each obstacle with the current link. For GPM the partial values are summed. For task constraint the task Jacobian is created: Each row is the partial value vector of one collision pair. ATTENTION: The magnitude and activation gain are considered only for GPM here.
Definition at line 233 of file constraint_ca_impl.h.
void CollisionAvoidance< T_PARAMS, PRIO >::calcPredictionValue | ( | ) | [private] |
Definition at line 344 of file constraint_ca_impl.h.
void CollisionAvoidance< T_PARAMS, PRIO >::calculate | ( | ) | [virtual] |
Implements ConstraintBase< T_PARAMS, PRIO >.
Definition at line 79 of file constraint_ca_impl.h.
void CollisionAvoidance< T_PARAMS, PRIO >::calcValue | ( | ) | [private] |
Definition at line 191 of file constraint_ca_impl.h.
double CollisionAvoidance< T_PARAMS, PRIO >::getActivationGain | ( | ) | const [virtual] |
Implements ConstraintBase< T_PARAMS, PRIO >.
Definition at line 137 of file constraint_ca_impl.h.
double CollisionAvoidance< T_PARAMS, PRIO >::getActivationGain | ( | double | current_cost_func_value | ) | const |
Definition at line 113 of file constraint_ca_impl.h.
double CollisionAvoidance< T_PARAMS, PRIO >::getActivationThresholdWithBuffer | ( | ) | const [private] |
double CollisionAvoidance< T_PARAMS, PRIO >::getCriticalValue | ( | ) | const [private, virtual] |
Reimplemented from ConstraintBase< T_PARAMS, PRIO >.
Definition at line 174 of file constraint_ca_impl.h.
double CollisionAvoidance< T_PARAMS, PRIO >::getSelfMotionMagnitude | ( | const Eigen::MatrixXd & | particular_solution, |
const Eigen::MatrixXd & | homogeneous_solution | ||
) | const [virtual] |
Returns a value for k_H to weight the partial values for e.g. GPM.
Implements ConstraintBase< T_PARAMS, PRIO >.
Definition at line 168 of file constraint_ca_impl.h.
double CollisionAvoidance< T_PARAMS, PRIO >::getSelfMotionMagnitude | ( | double | current_cost_func_value | ) | const |
Returns a value for magnitude.
Definition at line 144 of file constraint_ca_impl.h.
Eigen::VectorXd CollisionAvoidance< T_PARAMS, PRIO >::getTaskDerivatives | ( | ) | const [virtual] |
1x1 Vector returning the task derivative of a CA constraint. One row task Jacobian <-> One dim derivative.
Reimplemented from ConstraintBase< T_PARAMS, PRIO >.
Definition at line 73 of file constraint_ca_impl.h.
std::string CollisionAvoidance< T_PARAMS, PRIO >::getTaskId | ( | ) | const [virtual] |
Implements ConstraintBase< T_PARAMS, PRIO >.
Definition at line 43 of file constraint_ca_impl.h.
Eigen::MatrixXd CollisionAvoidance< T_PARAMS, PRIO >::getTaskJacobian | ( | ) | const [virtual] |
Critical Point Jacobian: Each critical point is represented by one CA constraint. So the partial values represent a one row task Jacobian.
Reimplemented from ConstraintBase< T_PARAMS, PRIO >.
Definition at line 62 of file constraint_ca_impl.h.
Eigen::VectorXd CollisionAvoidance< T_PARAMS, PRIO >::derivative_values_ [private] |
Definition at line 94 of file constraint.h.
KDL::ChainFkSolverVel_recursive& CollisionAvoidance< T_PARAMS, PRIO >::fk_solver_vel_ [private] |
Definition at line 91 of file constraint.h.
KDL::ChainJntToJacSolver& CollisionAvoidance< T_PARAMS, PRIO >::jnt_to_jac_ [private] |
Definition at line 90 of file constraint.h.
Eigen::MatrixXd CollisionAvoidance< T_PARAMS, PRIO >::task_jacobian_ [private] |
Definition at line 95 of file constraint.h.
Eigen::VectorXd CollisionAvoidance< T_PARAMS, PRIO >::values_ [private] |
Definition at line 93 of file constraint.h.