KeypointsMP.h
Go to the documentation of this file.
1 /**
2  * This file is part of ArmarX.
3  *
4  * ArmarX is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  * ArmarX is distributed in the hope that it will be useful, but
9  * WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  * @author Jianfeng Gao ( jianfeng dot gao at kit dot edu )
17  * @date 2022
18  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19  * GNU General Public License
20  */
21 
22 #pragma once
23 
25 #include <ArmarXCore/interface/serialization/Eigen.h>
27 #include "MP.h"
28 
29 
31 {
32  struct KeypointsMPInput : virtual MPInput
33  {
34  Eigen::VectorXf keypointPosition;
35  Eigen::VectorXf keypointVelocity;
36  double deltaT;
37  };
38 
39  struct KeypointsMPOutput : virtual MPOutput
40  {
41  Eigen::VectorXf keypointPosition;
42  Eigen::VectorXf keypointVelocity;
43  };
44 
45  using KeypointsMPInputPtr = std::shared_ptr<KeypointsMPInput>;
46  using KeypointsMPOutputPtr = std::shared_ptr<KeypointsMPOutput>;
47 
48 
49 
50  class KeypointsMP : virtual public MP
51  {
52  public:
53  KeypointsMP(const MPConfig& c);
55 
56  void run(MPInputPtr, MPOutputPtr) override;
57  };
58 
59  typedef std::shared_ptr<KeypointsMP> KeypointsMPPtr;
60 
61 } /// namespace armarx::control::common::mp
armarx::control::common::mp::MP
Definition: MP.h:48
armarx::control::common::mp::KeypointsMP::~KeypointsMP
~KeypointsMP()
Definition: KeypointsMP.h:54
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:43
armarx::control::common::mp
namespace armarx::control::common::control_law
Definition: aron_conversions.cpp:135
MP.h
armarx::control::common::mp::KeypointsMP::run
void run(MPInputPtr, MPOutputPtr) override
Definition: KeypointsMP.cpp:31
armarx::control::common::mp::KeypointsMPOutput
Definition: KeypointsMP.h:39
armarx::control::common::mp::KeypointsMPOutput::keypointPosition
Eigen::VectorXf keypointPosition
Definition: KeypointsMP.h:41
armarx::control::common::mp::KeypointsMPOutputPtr
std::shared_ptr< KeypointsMPOutput > KeypointsMPOutputPtr
Definition: KeypointsMP.h:46
armarx::control::common::mp::MP::MPConfig
Definition: MP.h:63
armarx::control::common::mp::MPInputPtr
std::shared_ptr< MPInput > MPInputPtr
Definition: MP.h:45
armarx::control::common::mp::MPInput
Definition: MP.h:43
armarx::control::common::mp::KeypointsMPOutput::keypointVelocity
Eigen::VectorXf keypointVelocity
Definition: KeypointsMP.h:42
armarx::control::common::mp::KeypointsMP::KeypointsMP
KeypointsMP(const MPConfig &c)
Definition: KeypointsMP.cpp:15
armarx::control::common::mp::KeypointsMPInput::keypointVelocity
Eigen::VectorXf keypointVelocity
Definition: KeypointsMP.h:35
TripleBuffer.h
armarx::control::common::mp::MPOutputPtr
std::shared_ptr< MPOutput > MPOutputPtr
Definition: MP.h:46
armarx::control::common::mp::KeypointsMPInput
Definition: KeypointsMP.h:32
armarx::control::common::mp::KeypointsMPInput::deltaT
double deltaT
Definition: KeypointsMP.h:36
Logging.h
armarx::control::common::mp::KeypointsMP
Definition: KeypointsMP.h:50
armarx::control::common::mp::KeypointsMPInput::keypointPosition
Eigen::VectorXf keypointPosition
Definition: KeypointsMP.h:34
armarx::control::common::mp::KeypointsMPPtr
std::shared_ptr< KeypointsMP > KeypointsMPPtr
Definition: KeypointsMP.h:59
armarx::control::common::mp::KeypointsMPInputPtr
std::shared_ptr< KeypointsMPInput > KeypointsMPInputPtr
Definition: KeypointsMP.h:45
armarx::control::common::mp::MPOutput
Definition: MP.h:44