MovePlatformToPose.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 Fabian Reister ( fabian dot reister at kit dot edu )
17 * @date 2021
18 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19 * GNU General Public License
20 */
21
22#pragma once
23
24// ArmarX
26
27// Base Class
29
30// Type
31#include <RobotSkillTemplates/libraries/skill_platform_control/aron/MovePlatformToPoseAcceptedType.aron.generated.h>
32
33// Proxies
34#include <RobotAPI/interface/units/PlatformUnitInterface.h>
35
36// Others
42
43namespace armarx::skills
44{
45
50 platform_control::arondto::MovePlatformToPoseAcceptedType>
51 {
52 public:
53 using ArgType = platform_control::arondto::MovePlatformToPoseAcceptedType;
54
58
59 private:
60 // executor
61 Skill::InitResult init(const SpecializedInitInput& in) final;
62 Skill::ExitResult exit(const SpecializedExitInput& in) final;
63 StepResult step(const SpecializedMainInput& in) final;
64
65 public:
67
68 private:
69 float
70 signedMin(float newValue, float minAbsValue) const
71 {
72 return std::copysign(std::min<float>(fabs(newValue), minAbsValue), newValue);
73 }
74 };
75} // namespace armarx::skills
The memory name system (MNS) client.
MovePlatformToPose(armem::client::MemoryNameSystem &mns, armarx::viz::Client &arviz, PlatformControlSkillContext &context)
platform_control::arondto::MovePlatformToPoseAcceptedType ArgType
PlatformControlSkillContext & context
PlatformControlSkill(armem::client::MemoryNameSystem &mns, armarx::viz::Client &arviz, const std::string &layerName, PlatformControlSkillContext &c)
SimplePeriodicSpecializedSkill(const SkillDescription &skillDescription, const armarx::Frequency &frequency)
This file is part of ArmarX.
A result struct for skill exit function.
Definition Skill.h:69
A result struct for skill initialization.
Definition Skill.h:50
armem::client::MemoryNameSystem mns