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 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/core/Trajectory.ice>
26#include <RobotAPI/interface/units/RobotUnit/NJointController.ice>
27
28module armarx
29{
30 class NJointJointSpaceDMPControllerConfig extends NJointControllerConfig
31 {
32 Ice::StringSeq jointNames;
33 int kernelSize = 100;
34 int baseMode = 1;
35
36 double phaseL = 10;
37 double phaseK = 10;
38 double phaseDist0 = 0.3;
39 double phaseDist1 = 0.1;
40 double phaseKp = 1;
41
42 double timeDuration = 10;
43 double maxJointVel = 10;
44 bool isPhaseStop = false;
45 };
46
47 interface NJointJointSpaceDMPControllerInterface extends NJointControllerInterface
48 {
49 void learnDMPFromFiles(Ice::StringSeq trajfiles);
50 bool isFinished();
51 void runDMP(Ice::DoubleSeq goals, double tau);
52 void setSpeed(double times);
55 void setTemporalFactor(double tau);
56 Ice::DoubleSeq createDMPFromString(string dmpString);
57 void setViaPoints(double canVal, double point);
58
59 void setMPWeights(DoubleSeqSeq weights);
60 DoubleSeqSeq getMPWeights();
61 };
62};
void setViaPoints(double canVal, double point)
Ice::DoubleSeq createDMPFromString(string dmpString)
void learnDMPFromFiles(Ice::StringSeq trajfiles)
void runDMP(Ice::DoubleSeq goals, double tau)
This file offers overloads of toIce() and fromIce() functions for STL container types.