visual-tracking-control
FwdKinModel.h
Go to the documentation of this file.
1 #ifndef FWDKINMODEL_H
2 #define FWDKINMODEL_H
3 
4 #include <BayesFilters/ExogenousModel.h>
5 #include <iCub/iKin/iKinFwd.h>
6 #include <yarp/dev/PolyDriver.h>
7 #include <yarp/dev/IEncoders.h>
8 #include <yarp/os/ConstString.h>
9 #include <yarp/sig/Vector.h>
10 
11 
12 class FwdKinModel : public bfl::ExogenousModel
13 {
14 public:
15  FwdKinModel() noexcept;
16 
17  ~FwdKinModel() noexcept;
18 
19  void propagate(const Eigen::Ref<const Eigen::MatrixXf>& cur_state, Eigen::Ref<Eigen::MatrixXf> prop_state) override;
20 
21  Eigen::MatrixXf getExogenousMatrix() override;
22 
23  bool setProperty(const std::string& property) override;
24 
25 protected:
26  virtual Eigen::VectorXd readPose() = 0;
27 
28  bool initialize_delta_ = true;
29  bool setDeltaMotion();
30 
31 private:
32  Eigen::VectorXd prev_ee_pose_ = Eigen::VectorXd::Zero(7);
33  Eigen::VectorXd delta_hand_pose_ = Eigen::VectorXd::Zero(6);
34  double delta_angle_ = 0.0;
35 };
36 
37 #endif /* FWDKINMODEL_H */
virtual Eigen::VectorXd readPose()=0
void propagate(const Eigen::Ref< const Eigen::MatrixXf > &cur_state, Eigen::Ref< Eigen::MatrixXf > prop_state) override
Definition: FwdKinModel.cpp:28
bool setProperty(const std::string &property) override
Definition: FwdKinModel.cpp:56
Eigen::VectorXd delta_hand_pose_
Definition: FwdKinModel.h:33
Eigen::MatrixXf getExogenousMatrix() override
Definition: FwdKinModel.cpp:47
bool initialize_delta_
Definition: FwdKinModel.h:28
double delta_angle_
Definition: FwdKinModel.h:34
Eigen::VectorXd prev_ee_pose_
Definition: FwdKinModel.h:32
~FwdKinModel() noexcept
Definition: FwdKinModel.cpp:25
FwdKinModel() noexcept
Definition: FwdKinModel.cpp:22
bool setDeltaMotion()
Definition: FwdKinModel.cpp:71