DSControllerInterface.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 RobotAPI::NJointControllerInterface
17 * @author Mirko Waechter ( mirko dot waechter 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
25#include <RobotAPI/interface/units/RobotUnit/NJointController.ice>
26
27
28module armarx
29{
30 class DSControllerConfig extends NJointControllerConfig
31 {
32 float posiKp = 5;
33 float v_max = 0.15;
34 float posiDamping = 10;
35
37 float oriKp;
38
39 float filterTimeConstant = 0.01;
40 float torqueLimit = 1;
41
42
43 string nodeSetName = "";
44 string tcpName = "";
45
46 Ice::FloatSeq desiredPosition;
47 Ice::FloatSeq desiredQuaternion;
48
49 Ice::FloatSeq qnullspaceVec;
50
53
54
55 Ice::StringSeq gmmParamsFiles;
57
59 };
60
61 interface DSControllerInterface extends NJointControllerInterface{
62
63 };
64
65 class DSRTBimanualControllerConfig extends NJointControllerConfig
66 {
67 float posiKp = 5;
68 float v_max = 0.15;
69 Ice::FloatSeq posiDamping;
72
73 float forwardGain = 1;
74
76 float oriKp;
77
78 float filterTimeConstant = 0.01;
79 float torqueLimit = 1;
80 float NullTorqueLimit = 0.2;
81
82 // string tcpName = "";
83
84 // Ice::FloatSeq desiredPosition;
85
88
89 Ice::FloatSeq leftarm_qnullspaceVec;
91
94
95
96 string gmmParamsFile = "";
98
106
107
108 Ice::FloatSeq left_oriUp;
109 Ice::FloatSeq left_oriDown;
110 Ice::FloatSeq right_oriUp;
111 Ice::FloatSeq right_oriDown;
123
124 Ice::FloatSeq forceLeftOffset;
125 Ice::FloatSeq forceRightOffset;
126 };
127
128 interface DSBimanualControllerInterface extends NJointControllerInterface
129 {
131 };
132
133 class DSJointCarryControllerConfig extends NJointControllerConfig
134 {
135 float posiKp = 5;
136 float v_max = 0.15;
137 Ice::FloatSeq posiDamping;
139 float oriKp;
140
141 float filterTimeConstant = 0.01;
142 float torqueLimit = 1;
143 float NullTorqueLimit = 0.2;
144
149
152
153 string gmmParamsFile = "";
159
160 Ice::FloatSeq defaultGuardOri;
163 };
164
165 interface DSJointCarryControllerInterface extends NJointControllerInterface
166 {
167 void setGuardInHandPosition(Ice::FloatSeq guardCenterToHandsCenter);
168 void setGuardOrientation(Ice::FloatSeq guardOrientationInRobotBase);
169 void setDesiredGuardOri(Ice::FloatSeq desiredGuardOriInRobotBase);
170 void setRotationStiffness(Ice::FloatSeq guardRotationStiffness);
171 void setGuardObsAvoidVel(Ice::FloatSeq guardZVel);
172 float getGMMVel();
173 };
174};
void setGuardObsAvoidVel(Ice::FloatSeq guardZVel)
void setDesiredGuardOri(Ice::FloatSeq desiredGuardOriInRobotBase)
void setRotationStiffness(Ice::FloatSeq guardRotationStiffness)
void setGuardOrientation(Ice::FloatSeq guardOrientationInRobotBase)
void setGuardInHandPosition(Ice::FloatSeq guardCenterToHandsCenter)
This file offers overloads of toIce() and fromIce() functions for STL container types.