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
28module armarx
29{
30 module control
31 {
32
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;
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
void setControllerTarget(Ice::FloatSeq targetTorqueOrVelocity)
void setControllerTarget(Ice::FloatSeq targetTorqueOrVelocity)
This file offers overloads of toIce() and fromIce() functions for STL container types.
This file is part of ArmarX.