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 2024
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 
28 module armarx
29 {
30  module control
31  {
32 
33  module RobotUnitControllerNames
34  {
35  const string NJointZeroTorqueController = "NJointZeroTorqueController";
37  "NJointZeroTorqueOrVelocityController";
38  };
39 
40  // class NJointZeroTorqueControllerConfig extends NJointControllerConfig
41  // {
42  // Ice::StringSeq jointNames;
43  // float maxTorque = 10.0f;
44  // };
45 
46  // interface NJointZeroTorqueControllerInterface extends NJointControllerInterface
47  // {
48  // void setControllerTarget(Ice::FloatSeq targetTorques);
49  // };
50 
51  class NJointZeroTorqueOrVelocityControllerConfig extends NJointControllerConfig
52  {
53  Ice::StringSeq jointNamesZeroTorque;
54  Ice::StringSeq jointNamesZeroVelocity;
55  float maxTorque = 10.0f;
56  float maxVelocity = 2.0f;
57  };
58 
59  interface NJointZeroTorqueOrVelocityControllerInterface extends NJointControllerInterface
60  {
61  void setControllerTarget(Ice::FloatSeq targetTorqueOrVelocity);
62  };
63 
64  class NJointZeroTorqueOrVelocityWithFTControllerConfig extends NJointControllerConfig
65  {
66  Ice::StringSeq robotNodeSetList;
67  bool useZeroVelocityModeForWrist = true;
68  float maxTorque = 10.0f;
69  float maxVelocity = 2.0f;
70  };
71 
73  NJointControllerInterface
74  {
75  void setControllerTarget(Ice::FloatSeq targetTorqueOrVelocity);
76  };
77  }; // control
78 }; // armarx
armarx::control::NJointZeroTorqueOrVelocityWithFTControllerConfig::robotNodeSetList
Ice::StringSeq robotNodeSetList
Definition: ControllerInterface.ice:66
armarx::control::NJointZeroTorqueOrVelocityControllerConfig::jointNamesZeroVelocity
Ice::StringSeq jointNamesZeroVelocity
Definition: ControllerInterface.ice:54
armarx::control::NJointZeroTorqueOrVelocityWithFTControllerConfig
Definition: ControllerInterface.ice:64
armarx::control::RobotUnitControllerNames::NJointZeroTorqueController
const string NJointZeroTorqueController
Definition: ControllerInterface.ice:35
armarx::control::NJointZeroTorqueOrVelocityWithFTControllerInterface
Definition: ControllerInterface.ice:72
armarx::control::NJointZeroTorqueOrVelocityControllerConfig
Definition: ControllerInterface.ice:51
armarx::control::NJointZeroTorqueOrVelocityControllerInterface
Definition: ControllerInterface.ice:59
armarx::control::NJointZeroTorqueOrVelocityControllerConfig::jointNamesZeroTorque
Ice::StringSeq jointNamesZeroTorque
Definition: ControllerInterface.ice:53
control
This file is part of ArmarX.
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
armarx::control::RobotUnitControllerNames::NJointZeroTorqueOrVelocityController
const string NJointZeroTorqueOrVelocityController
Definition: ControllerInterface.ice:36