ocra-recipes
Doxygen documentation for the ocra-recipes repository
controlUtils.h
Go to the documentation of this file.
1 
14 #ifndef _OCRACONTROL_UTILS_H_
15 #define _OCRACONTROL_UTILS_H_
16 
17 #include <ocra/util/MathTypes.h>
18 #include <Eigen/Lgsm>
19 #include "ocra/control/Model.h"
20 
21 namespace ocra
22 {
23 
24  namespace utils
25  {
29  Eigen::Matrix<double,6,1> cartesianPDCoupling(const Eigen::Matrix<double,6,1>& kp, const Eigen::Displacementd& Hdes, const Eigen::Displacementd& H,
30  const Eigen::Matrix<double,6,1>& kv, const Eigen::Twistd& Tdes, const Eigen::Twistd& T);
31 
35  Eigen::Matrix<double,6,1> cartesianPCoupling(const Eigen::Matrix<double,6,1>& kp, const Eigen::Displacementd& Hdes, const Eigen::Displacementd& H);
36 
40  Eigen::Matrix<double,6,1> cartesianDCoupling(const Eigen::Matrix<double,6,1>& kv, const Eigen::Twistd& Tdes, const Eigen::Twistd& T);
41 
45  Eigen::VectorXd adaptKToInertia(const Eigen::VectorXd& K, const Model& model, double scale = 1.);
46 
52  Eigen::Displacementd compute_H_2_in_1(const Eigen::Displacementd& H_1_in_ref, const Eigen::Displacementd& H_2_in_ref);
53 
61  Eigen::Displacementd computeEgoFrame(Model& model, const Eigen::Vector3d& fwdDirection_in_phantom);
62 
65  Eigen::Displacementd interpolate(const Eigen::Displacementd& Hstart, const Eigen::Displacementd& Hend, double t);
66 
70  Eigen::Displacementd projectRotation(const Eigen::Displacementd& H, const Eigen::Vector3d& n, double& theta);
71  }
72 }
73 
74 
75 #endif //_OCRACONTROL_UTILS_H_
76 
77 // cmake:sourcegroup=Api
Eigen::Displacementd compute_H_2_in_1(const Eigen::Displacementd &H_1_in_ref, const Eigen::Displacementd &H_2_in_ref)
Declaration file of the Model class.
Eigen::Displacementd interpolate(const Eigen::Displacementd &Hstart, const Eigen::Displacementd &Hend, double t)
Eigen::Matrix< double, 6, 1 > cartesianPCoupling(const Eigen::Matrix< double, 6, 1 > &kp, const Eigen::Displacementd &Hdes, const Eigen::Displacementd &H)
Definition: controlUtils.cpp:7
Optimization-based Robot Controller namespace. a library of classes to write and solve optimization p...
Eigen::Matrix< double, 6, 1 > cartesianDCoupling(const Eigen::Matrix< double, 6, 1 > &kv, const Eigen::Twistd &Tdes, const Eigen::Twistd &T)
Eigen::Displacementd projectRotation(const Eigen::Displacementd &H, const Eigen::Vector3d &n, double &theta)
Eigen::Matrix< double, 6, 1 > cartesianPDCoupling(const Eigen::Matrix< double, 6, 1 > &kp, const Eigen::Displacementd &Hdes, const Eigen::Displacementd &H, const Eigen::Matrix< double, 6, 1 > &kv, const Eigen::Twistd &Tdes, const Eigen::Twistd &T)
Eigen::Displacementd computeEgoFrame(Model &model, const Eigen::Vector3d &fwdDirection_in_phantom)
Eigen::VectorXd adaptKToInertia(const Eigen::VectorXd &K, const Model &model, double scale=1.)
Declaration file of the OptimizationVariable class.