PlatformSimulationDevice.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 * @package ArmarXSimulation::ArmarXObjects::RobotUnitSimulation
17 * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
18 * @date 2017
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#pragma once
24
31
32namespace armarx
33{
35
37 virtual public SensorDeviceTemplate<SensorValueHolonomicPlatform>,
38 virtual public ControlDevice
39 {
40 public:
42 {
44
45 void
46 rtRun(const IceUtil::Time&, const IceUtil::Time&) override
47 {
48 }
49
52 {
53 return target;
54 }
55
56 std::string
57 getHardwareControlMode() const override
58 {
59 return "Platform_Velocity";
60 }
61 };
62
64 {
66 void rtRun(const IceUtil::Time&, const IceUtil::Time&) override;
67
70 {
71 return target;
72 }
73
74 const std::string&
75 getControlMode() const override
76 {
77 return ControlModes::EmergencyStop;
78 }
79
80 bool
81 rtIsTargetValid() const override
82 {
83 return true;
84 }
85
86 std::string
87 getHardwareControlMode() const override
88 {
89 return "Platform_Velocity";
90 }
91 };
92
94 {
96 void rtRun(const IceUtil::Time&, const IceUtil::Time&) override;
97
100 {
101 return target;
102 }
103
104 const std::string&
105 getControlMode() const override
106 {
107 return ControlModes::StopMovement;
108 }
109
110 bool
111 rtIsTargetValid() const override
112 {
113 return true;
114 }
115
116 std::string
117 getHardwareControlMode() const override
118 {
119 return "Platform_Velocity";
120 }
121 };
122
123 PlatformSimulationDevice(const std::string& name);
124
126
130
134 };
135} // namespace armarx
#define TYPEDEF_PTRS_SHARED(T)
ControlDevice(const std::string &name)
Create a ControlDevice with the given name.
Brief description of class JointControlTargetBase.
Brief description of class ControlTargetHolonomicPlatformVelocity.
The JointController class represents one joint in one control mode.
PlatformSimulationDevice(const std::string &name)
ControlTargetHolonomicPlatformVelocity target
JointEmergencyStopController jointEmergencyCtrl
JointStopMovementController jointStopMovCtrl
This file offers overloads of toIce() and fromIce() functions for STL container types.
void rtRun(const IceUtil::Time &, const IceUtil::Time &) override
called when this JointController is run
void rtRun(const IceUtil::Time &, const IceUtil::Time &) override
called when this JointController is run
void rtRun(const IceUtil::Time &, const IceUtil::Time &) override
called when this JointController is run