damping.h
Go to the documentation of this file.
1 /*
2  * Copyright 2017 Fraunhofer Institute for Manufacturing Engineering and Automation (IPA)
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9 
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 
18 #ifndef COB_TWIST_CONTROLLER_DAMPING_METHODS_DAMPING_H
19 #define COB_TWIST_CONTROLLER_DAMPING_METHODS_DAMPING_H
20 
22 
23 /* BEGIN DampingBuilder *****************************************************************************************/
26 {
27  public:
28  static DampingBase* createDamping(const TwistControllerParams& params);
29 
30  private:
33 };
34 /* END DampingBuilder *******************************************************************************************/
35 
36 /* BEGIN DampingNone ****************************************************************************************/
38 class DampingNone : public DampingBase
39 {
40  public:
41  explicit DampingNone(const TwistControllerParams& params)
42  : DampingBase(params)
43  {}
44 
46 
47  virtual Eigen::MatrixXd getDampingFactor(const Eigen::VectorXd& sorted_singular_values,
48  const Eigen::MatrixXd& jacobian_data) const;
49 };
50 /* END DampingNone **********************************************************************************************/
51 
52 /* BEGIN DampingConstant ****************************************************************************************/
55 {
56  public:
57  explicit DampingConstant(const TwistControllerParams& params)
58  : DampingBase(params)
59  {}
60 
62 
63  virtual Eigen::MatrixXd getDampingFactor(const Eigen::VectorXd& sorted_singular_values,
64  const Eigen::MatrixXd& jacobian_data) const;
65 };
66 /* END DampingConstant ******************************************************************************************/
67 
68 /* BEGIN DampingManipulability **********************************************************************************/
71 {
72  public:
74  : DampingBase(params)
75  {}
76 
78 
79  virtual Eigen::MatrixXd getDampingFactor(const Eigen::VectorXd& sorted_singular_values,
80  const Eigen::MatrixXd& jacobian_data) const;
81 };
82 /* END DampingManipulability ************************************************************************************/
83 
84 /* BEGIN DampingLeastSingularValues **********************************************************************************/
87 {
88  public:
90  : DampingBase(params)
91  {}
92 
94 
95  virtual Eigen::MatrixXd getDampingFactor(const Eigen::VectorXd& sorted_singular_values,
96  const Eigen::MatrixXd& jacobian_data) const;
97 };
98 /* END DampingLeastSingularValues ************************************************************************************/
99 
100 /* BEGIN DampingSigmoid **********************************************************************************/
103 {
104  public:
105  explicit DampingSigmoid(const TwistControllerParams& params)
106  : DampingBase(params)
107  {}
108 
110 
111  virtual Eigen::MatrixXd getDampingFactor(const Eigen::VectorXd& sorted_singular_values,
112  const Eigen::MatrixXd& jacobian_data) const;
113 };
114 /* END DampingSigmoid ************************************************************************************/
115 
116 #endif // COB_TWIST_CONTROLLER_DAMPING_METHODS_DAMPING_H
DampingNone(const TwistControllerParams &params)
Definition: damping.h:41
DampingBuilder()
Definition: damping.h:31
Class implementing a method to return the constant factor.
Definition: damping.h:54
DampingConstant(const TwistControllerParams &params)
Definition: damping.h:57
Class implementing a method to return a factor corresponding to the measure of manipulability.
Definition: damping.h:70
DampingManipulability(const TwistControllerParams &params)
Definition: damping.h:73
Class implementing a method to return a damping factor based on a sigmoid function.
Definition: damping.h:102
~DampingConstant()
Definition: damping.h:61
DampingLeastSingularValues(const TwistControllerParams &params)
Definition: damping.h:89
~DampingNone()
Definition: damping.h:45
Class implementing a method to return the constant factor.
Definition: damping.h:38
~DampingBuilder()
Definition: damping.h:32
static DampingBase * createDamping(const TwistControllerParams &params)
Definition: damping.cpp:25
Class providing a static method to create damping method objects.
Definition: damping.h:25
DampingSigmoid(const TwistControllerParams &params)
Definition: damping.h:105
Base class for solvers, defining interface methods.
Definition: damping_base.h:24
Class implementing a method to return a damping factor based on least singular value.
Definition: damping.h:86


cob_twist_controller
Author(s): Felix Messmer , Marco Bezzon , Christoph Mark , Francisco Moreno
autogenerated on Thu Apr 8 2021 02:40:00