ControllerInterface.ice
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 armarx::skills::control
17 * @author Jianfeng Gao ( jianfeng dot gao at kit dot edu )
18 * @date 2021
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#pragma once
24
25#include <ArmarXCore/interface/core/BasicTypes.ice>
26#include <ArmarXCore/interface/serialization/Eigen.ice>
27
28#include <RobotAPI/interface/aron.ice>
29#include <RobotAPI/interface/core/Trajectory.ice>
30#include <RobotAPI/interface/units/RobotUnit/NJointController.ice>
31
32#include <armarx/control/interface/ConfigurableNJointControllerInterface.ice>
33
34
35module armarx
36{
37 module control
38 {
39 dictionary<string, FloatSeqSeq> TargetPoseMap;
40 dictionary<string, Ice::FloatSeq> TargetNullspaceMap;
41
42 interface TSCtrlInterface extends ConfigurableNJointControllerInterface
43 {
44 Ice::FloatSeq getTCPVel(string rns);
45 bool updateTargetPose(TargetPoseMap targetPoseMap,
46 TargetNullspaceMap targetNullspaceMap);
47
48 /// ft sensor
50 void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard);
51 bool isSafeForceTorque(string nodeSetName);
52 bool wasNotSafeForceTorque(string nodeSetName);
53
54 void useCoordinator(string type, armarx::aron::data::dto::Dict dto);
56
57 Ice::DoubleSeq getCurrentTCPPose(string nodeSetName);
58 armarx::aron::data::dto::Dict getRTStatus();
59 };
60
62 {
63 void updateCollisionAvoidanceConfig(armarx::aron::data::dto::Dict config);
64 armarx::aron::data::dto::Dict getCollisionAvoidanceConfig();
65 // void updateCollisionObjects(string primitiveSourceName, armarx::aron::data::dto::Dict scene);
66 }
67
70 {
71 void updateCollisionObjects(string primitiveSourceName,
72 armarx::aron::data::dto::Dict scene);
74 }
75
78 {
79 void updateCollisionObjects(string primitiveSourceName,
80 armarx::aron::data::dto::Dict scene);
81 }
82
84 ConfigurableNJointControllerInterface {
85 Ice::FloatSeq getTCPVel(string rns);
86 bool updateTargetPose(TargetPoseMap targetPoseMap,
87 TargetNullspaceMap targetNullspaceMap);
88
89 /// ft sensor
91 void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard);
92 bool isSafeForceTorque(string nodeSetName);
93 void useCoordinator(string type, armarx::aron::data::dto::Dict dto);
94 void updateObjectTargetPose(FloatSeqSeq targetPose);
96 };
97
103
109
111 ConfigurableNJointControllerInterface
112 {
113 Ice::FloatSeq getTCPVel(string rns);
114 bool updateTargetPose(TargetPoseMap targetPoseMap,
115 TargetNullspaceMap targetNullspaceMap);
116
117 /// ft sensor
119 void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard);
120 bool isSafeForceTorque(string nodeSetName);
121 };
122
124 ConfigurableNJointControllerInterface
125 {
126 Ice::FloatSeq getTCPVel(string rns);
127 bool updateTargetPose(TargetPoseMap targetPoseMap,
128 TargetNullspaceMap targetNullspaceMap);
129
130 /// ft sensor
132 void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard);
133 bool isSafeForceTorque(string nodeSetName);
134 void useCoordinator(string type, armarx::aron::data::dto::Dict dto);
136 Ice::DoubleSeq getCurrentTCPPose(string nodeSetName);
137 armarx::aron::data::dto::Dict getRTStatus();
138 };
139
141 ConfigurableNJointControllerInterface
142 {
143 Ice::FloatSeq getTCPVel(string rns);
144 bool updateTargetPose(TargetPoseMap targetPoseMap,
145 TargetNullspaceMap targetNullspaceMap);
146
147 /// ft sensor
149 void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard);
150 bool isSafeForceTorque(string nodeSetName);
151 };
152
158
160 ConfigurableNJointControllerInterface
161 {
162 Ice::FloatSeq getTCPVel(string rns);
163 bool updateTargetPose(TargetPoseMap targetPoseMap,
164 TargetNullspaceMap targetNullspaceMap);
165
166 /// ft sensor
167 void toggleGravityCompensation(bool toggle);
169 void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard);
170 bool isSafeForceTorque(string nodeSetName);
171 };
172
173 // interface NJointTaskspaceBimanualImpedanceControllerInterface extends
174 // NJointTaskspaceImpedanceControllerInterface
175 // {
176 // };
177
179 ConfigurableNJointControllerInterface
180 {
181 // string getKinematicChainName();
182 };
183
184 // class NJointTaskspaceZeroTorqueOrVelocityControllerConfig extends NJointControllerConfig
185 // {
186 // Ice::StringSeq robotNodeSetList;
187 // bool useZeroVelocityModeForWrist = true;
188 // float maxTorque = 10.0f;
189 // float maxVelocity = 2.0f;
190 // };
191
193 ConfigurableNJointControllerInterface
194 {
195 // void setControllerTarget(Ice::FloatSeq targetTorqueOrVelocity);
197 };
198
199 }; /// control
200}; /// armarx
void updateCollisionAvoidanceConfig(armarx::aron::data::dto::Dict config)
armarx::aron::data::dto::Dict getCollisionAvoidanceConfig()
void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard)
bool updateTargetPose(TargetPoseMap targetPoseMap, TargetNullspaceMap targetNullspaceMap)
void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard)
void useCoordinator(string type, armarx::aron::data::dto::Dict dto)
bool updateTargetPose(TargetPoseMap targetPoseMap, TargetNullspaceMap targetNullspaceMap)
void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard)
void useCoordinator(string type, armarx::aron::data::dto::Dict dto)
bool updateTargetPose(TargetPoseMap targetPoseMap, TargetNullspaceMap targetNullspaceMap)
void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard)
bool updateTargetPose(TargetPoseMap targetPoseMap, TargetNullspaceMap targetNullspaceMap)
void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard)
bool updateTargetPose(TargetPoseMap targetPoseMap, TargetNullspaceMap targetNullspaceMap)
void updateCollisionObjects(string primitiveSourceName, armarx::aron::data::dto::Dict scene)
void updateCollisionObjects(string primitiveSourceName, armarx::aron::data::dto::Dict scene)
armarx::aron::data::dto::Dict getRTStatus()
bool isSafeForceTorque(string nodeSetName)
void enableSafeGuardForceTorque(string rns, bool forceGuard, bool torqueGuard)
Ice::DoubleSeq getCurrentTCPPose(string nodeSetName)
bool wasNotSafeForceTorque(string nodeSetName)
void useCoordinator(string type, armarx::aron::data::dto::Dict dto)
bool updateTargetPose(TargetPoseMap targetPoseMap, TargetNullspaceMap targetNullspaceMap)
Ice::FloatSeq getTCPVel(string rns)
dictionary< string, Ice::FloatSeq > TargetNullspaceMap
dictionary< string, FloatSeqSeq > TargetPoseMap
This file offers overloads of toIce() and fromIce() functions for STL container types.
This file is part of ArmarX.