ComponentInterface.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 control::controller_creator
17 * author Jianfeng Gao ( jianfeng dot gao at kit dot edu )
18 * date 2023
19 * copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23
24#pragma once
25
26#include <ArmarXCore/interface/core/BasicTypes.ice>
27#include <ArmarXCore/interface/serialization/Eigen.ice>
28
29#include <RobotAPI/interface/armem/client/MemoryListenerInterface.ice>
30#include <RobotAPI/interface/aron.ice>
31
32
33module armarx
34{
35 module control
36 {
37 module components
38 {
39 module controller_creator
40 {
41 // using MyRowMajorMatrix4f = Eigen::Matrix<float, 4, 4, Eigen::RowMajor>;
42 // using MyRowMajorVectorXf = Eigen::Matrix<float, Eigen::Dynamic, 1, Eigen::RowMajor>;
43 // dictionary<string, Eigen::Matrix4f> TargetPoseMap;
44 // dictionary<string, Eigen::VectorXf> TargetNullspaceMap;
45
46 dictionary<string, FloatSeqSeq> TargetPoseMap;
47 dictionary<string, Ice::FloatSeq> TargetNullspaceMap;
48
49 interface ComponentInterface extends armarx::armem::client::MemoryListenerInterface
50 {
51 string createController(string namePrefix,
52 string controllerType,
53 armarx::aron::data::dto::Dict configDict,
54 string configFilename,
55 bool activate,
56 bool allowReuse,
57 bool cfgFromMemory);
59 string kinematicChainName, string side, string nameSuffix, string fileName);
61 void toggleZeroTorque(string leftNodesetName, string rightNodesetName);
62
63
64 Ice::FloatSeq getPoseInRootFrame(string node_name);
65 Ice::FloatSeq getPoseInGlobalFrame(string node_name);
66 };
67 };
68 };
69 };
70};
void toggleZeroTorque(string leftNodesetName, string rightNodesetName)
string kinestheticTeaching(string kinematicChainName, string side, string nameSuffix, string fileName)
string createController(string namePrefix, string controllerType, armarx::aron::data::dto::Dict configDict, string configFilename, bool activate, bool allowReuse, bool cfgFromMemory)
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.