Public Member Functions | Private Member Functions | Private Attributes
CollisionAvoidance< T_PARAMS, PRIO > Class Template Reference

Class providing methods that realize a CollisionAvoidance constraint. More...

#include <constraint.h>

Inheritance diagram for CollisionAvoidance< T_PARAMS, PRIO >:
Inheritance graph
[legend]

List of all members.

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_recursivefk_solver_vel_
KDL::ChainJntToJacSolverjnt_to_jac_
Eigen::MatrixXd task_jacobian_
Eigen::VectorXd values_

Detailed Description

template<typename T_PARAMS, typename PRIO = uint32_t>
class CollisionAvoidance< T_PARAMS, PRIO >

Class providing methods that realize a CollisionAvoidance constraint.

Definition at line 52 of file constraint.h.


Constructor & Destructor Documentation

template<typename T_PARAMS , typename PRIO = uint32_t>
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.

template<typename T_PARAMS , typename PRIO = uint32_t>
virtual CollisionAvoidance< T_PARAMS, PRIO >::~CollisionAvoidance ( ) [inline, virtual]

Definition at line 65 of file constraint.h.


Member Function Documentation

template<typename T_PARAMS , typename PRIO >
void CollisionAvoidance< T_PARAMS, PRIO >::calcDerivativeValue ( ) [private]

Definition at line 220 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
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.

template<typename T_PARAMS , typename PRIO >
void CollisionAvoidance< T_PARAMS, PRIO >::calcPredictionValue ( ) [private]

Definition at line 344 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
void CollisionAvoidance< T_PARAMS, PRIO >::calculate ( ) [virtual]

Implements ConstraintBase< T_PARAMS, PRIO >.

Definition at line 79 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
void CollisionAvoidance< T_PARAMS, PRIO >::calcValue ( ) [private]

Definition at line 191 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
double CollisionAvoidance< T_PARAMS, PRIO >::getActivationGain ( ) const [virtual]

Implements ConstraintBase< T_PARAMS, PRIO >.

Definition at line 137 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
double CollisionAvoidance< T_PARAMS, PRIO >::getActivationGain ( double  current_cost_func_value) const

Definition at line 113 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO = uint32_t>
double CollisionAvoidance< T_PARAMS, PRIO >::getActivationThresholdWithBuffer ( ) const [private]
template<typename T_PARAMS , typename PRIO >
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.

template<typename T_PARAMS , typename PRIO >
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.

template<typename T_PARAMS , typename PRIO >
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.

template<typename T_PARAMS , typename PRIO >
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.

Returns:
The derivative value.

Reimplemented from ConstraintBase< T_PARAMS, PRIO >.

Definition at line 73 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
std::string CollisionAvoidance< T_PARAMS, PRIO >::getTaskId ( ) const [virtual]

Implements ConstraintBase< T_PARAMS, PRIO >.

Definition at line 43 of file constraint_ca_impl.h.

template<typename T_PARAMS , typename PRIO >
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.

Returns:
Partial values as task Jacobian.

Reimplemented from ConstraintBase< T_PARAMS, PRIO >.

Definition at line 62 of file constraint_ca_impl.h.


Member Data Documentation

template<typename T_PARAMS , typename PRIO = uint32_t>
Eigen::VectorXd CollisionAvoidance< T_PARAMS, PRIO >::derivative_values_ [private]

Definition at line 94 of file constraint.h.

template<typename T_PARAMS , typename PRIO = uint32_t>
KDL::ChainFkSolverVel_recursive& CollisionAvoidance< T_PARAMS, PRIO >::fk_solver_vel_ [private]

Definition at line 91 of file constraint.h.

template<typename T_PARAMS , typename PRIO = uint32_t>
KDL::ChainJntToJacSolver& CollisionAvoidance< T_PARAMS, PRIO >::jnt_to_jac_ [private]

Definition at line 90 of file constraint.h.

template<typename T_PARAMS , typename PRIO = uint32_t>
Eigen::MatrixXd CollisionAvoidance< T_PARAMS, PRIO >::task_jacobian_ [private]

Definition at line 95 of file constraint.h.

template<typename T_PARAMS , typename PRIO = uint32_t>
Eigen::VectorXd CollisionAvoidance< T_PARAMS, PRIO >::values_ [private]

Definition at line 93 of file constraint.h.


The documentation for this class was generated from the following files:


cob_twist_controller
Author(s): Felix Messmer , Marco Bezzon , Christoph Mark , Francisco Moreno
autogenerated on Thu Jun 6 2019 21:19:26