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
28#include "MP.h"
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 class KeypointsMP : virtual public MP
49 {
50 public:
51 KeypointsMP(const MPConfig& c);
53
54 void run(MPInputPtr, MPOutputPtr, const PhaseStopResult&) override;
55 };
56
57 typedef std::shared_ptr<KeypointsMP> KeypointsMPPtr;
58
59} // namespace armarx::control::common::mp
constexpr T c
void run(MPInputPtr, MPOutputPtr, const PhaseStopResult &) override
MP(const MPConfig &c)
Definition MP.cpp:17
This file is part of ArmarX.
std::shared_ptr< KeypointsMPInput > KeypointsMPInputPtr
Definition KeypointsMP.h:45
std::shared_ptr< MPInput > MPInputPtr
Definition MP.h:70
std::shared_ptr< KeypointsMPOutput > KeypointsMPOutputPtr
Definition KeypointsMP.h:46
std::shared_ptr< MPOutput > MPOutputPtr
Definition MP.h:71
std::shared_ptr< KeypointsMP > KeypointsMPPtr
Definition KeypointsMP.h:57