VelocityControllerHelper.h
Go to the documentation of this file.
1 /*
2  * This file is part of ArmarX.
3  *
4  * Copyright (C) 2012-2016, High Performance Humanoid Technologies (H2T),
5  * Karlsruhe Institute of Technology (KIT), all rights reserved.
6  *
7  * ArmarX is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10  *
11  * ArmarX is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * @author Simon Ottenhaus (simon dot ottenhaus at kit dot edu)
20  * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
21  * GNU General Public License
22  */
23 
24 #pragma once
25 
26 #include <memory>
27 
28 #include <RobotAPI/interface/units/RobotUnit/NJointCartesianVelocityControllerWithRamp.h>
29 #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
30 
31 #include <Eigen/Dense>
32 
33 namespace armarx
34 {
35  class VelocityControllerHelper;
36  using VelocityControllerHelperPtr = std::shared_ptr<VelocityControllerHelper>;
37 
39  {
40  public:
41  VelocityControllerHelper(const RobotUnitInterfacePrx& robotUnit, const std::string& nodeSetName, const std::string& controllerName);
42  VelocityControllerHelper(const RobotUnitInterfacePrx& robotUnit, NJointCartesianVelocityControllerWithRampConfigPtr config, const std::string& controllerName);
43 
44  void init();
45 
47 
48  void setNullSpaceControl(bool enabled);
49 
50  void cleanup();
51 
52  NJointCartesianVelocityControllerWithRampConfigPtr config;
53  NJointCartesianVelocityControllerWithRampInterfacePrx controller;
55  std::string controllerName;
56  bool controllerCreated = false;
57 
58  float initialKp;
59  };
60 }
armarx::VelocityControllerHelper::controllerCreated
bool controllerCreated
Definition: VelocityControllerHelper.h:56
armarx::VelocityControllerHelper::config
NJointCartesianVelocityControllerWithRampConfigPtr config
Definition: VelocityControllerHelper.h:52
armarx::VelocityControllerHelper::controllerName
std::string controllerName
Definition: VelocityControllerHelper.h:55
armarx::VelocityControllerHelper::initialKp
float initialKp
Definition: VelocityControllerHelper.h:58
enabled
std::atomic< bool > * enabled
Definition: RemoteGuiWidgetController.cpp:75
armarx::VelocityControllerHelper::VelocityControllerHelper
VelocityControllerHelper(const RobotUnitInterfacePrx &robotUnit, const std::string &nodeSetName, const std::string &controllerName)
Definition: VelocityControllerHelper.cpp:30
armarx::VelocityControllerHelper
Definition: VelocityControllerHelper.h:38
armarx::VelocityControllerHelper::init
void init()
Definition: VelocityControllerHelper.cpp:44
armarx::VelocityControllerHelper::setNullSpaceControl
void setNullSpaceControl(bool enabled)
Definition: VelocityControllerHelper.cpp:65
IceInternal::ProxyHandle<::IceProxy::armarx::RobotUnitInterface >
Eigen::Matrix< float, 6, 1 >
cv
Definition: helper.h:35
armarx::VelocityControllerHelper::setTargetVelocity
void setTargetVelocity(const Eigen::Vector6f &cv)
Definition: VelocityControllerHelper.cpp:60
armarx::VelocityControllerHelper::cleanup
void cleanup()
Definition: VelocityControllerHelper.cpp:79
armarx::VelocityControllerHelper::robotUnit
RobotUnitInterfacePrx robotUnit
Definition: VelocityControllerHelper.h:54
armarx::VelocityControllerHelper::controller
NJointCartesianVelocityControllerWithRampInterfacePrx controller
Definition: VelocityControllerHelper.h:53
armarx::VelocityControllerHelperPtr
std::shared_ptr< VelocityControllerHelper > VelocityControllerHelperPtr
Definition: VelocityControllerHelper.h:36
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28