AdmittanceController.h
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 ...
17
* @author Jianfeng Gao ( jianfeng dot gao at kit dot edu )
18
* @date 2021
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#pragma once
24
25
#include <
armarx/control/common/mp/TSMP.h
>
26
#include <
armarx/control/common/mp/MPPool.h
>
27
#include <
armarx/control/njoint_controller/task_space/AdmittanceController.h
>
28
#include <armarx/control/njoint_mp_controller/task_space/ControllerInterface.h>
29
#include <armarx/control/njoint_mp_controller/task_space/aron/NJointMPControllerConfig.aron.generated.h>
30
31
32
namespace
armarx::control::njoint_mp_controller::task_space
33
{
34
using namespace
armarx::control::njoint_controller::task_space
;
35
using namespace
armarx::control::common
;
36
37
struct
TSAdmittanceMPConfig
:
38
virtual
public
control_law::TaskspaceAdmittanceController::Config
39
{
40
mp::MP::MPListConfig
mpConfig
;
41
};
42
43
/**
44
* @defgroup Library-NJointTSAdmittanceMPController NJointTSAdmittanceMPController
45
* @ingroup Library-RobotUnit-NJointControllers
46
* A description of the library NJointTSAdmittanceMPController.
47
*
48
* @class NJointTSAdmittanceMPController
49
* @ingroup Library-NJointTSAdmittanceMPController
50
* @brief Brief description of class NJointTSAdmittanceMPController.
51
*
52
* Detailed description of class NJointTSAdmittanceMPController.
53
*/
54
class
NJointTSAdmittanceMPController
:
55
virtual
public
NJointTaskspaceAdmittanceController
56
,
virtual
public
mp::MPPool
57
,
virtual
public
NJointTSAdmittanceMPControllerInterface
58
{
59
public
:
60
using
AronDTO
= arondto::TSAdmittanceMPConfig;
61
using
BO
=
TSAdmittanceMPConfig
;
62
63
NJointTSAdmittanceMPController
(
const
RobotUnitPtr& robotUnit,
const
NJointControllerConfigPtr& config,
const
VirtualRobot::RobotPtr
&);
64
65
std::string getClassName(
const
Ice::Current&)
const override
;
66
void
updateConfig(
const ::armarx::aron::data::dto::DictPtr
& dto,
67
const
Ice::Current& iceCurrent = Ice::emptyCurrent)
override
;
68
void
rtPreActivateController()
override
;
69
void
additionalTask()
override
;
70
71
protected
:
72
TripleBuffer<BO>
bufferUserToAdditionalTask
;
73
TripleBuffer<BO>
bufferUserToRt
;
74
};
75
}
armarx::control::njoint_mp_controller::task_space::NJointTSAdmittanceMPController::bufferUserToAdditionalTask
TripleBuffer< BO > bufferUserToAdditionalTask
Definition:
AdmittanceController.h:72
armarx::control::njoint_mp_controller::task_space::NJointTSAdmittanceMPController
Brief description of class NJointTSAdmittanceMPController.
Definition:
AdmittanceController.h:54
armarx::control::NJointTSAdmittanceMPControllerInterface
Definition:
ControllerInterface.ice:159
TSMP.h
armarx::control::njoint_controller::task_space
Definition:
AdmittanceController.cpp:35
armarx::control::njoint_mp_controller::task_space::NJointTSAdmittanceMPController::bufferUserToRt
TripleBuffer< BO > bufferUserToRt
Definition:
AdmittanceController.h:73
armarx::control::common
This file is part of ArmarX.
Definition:
aron_conversions.cpp:25
armarx::control::njoint_controller::task_space::NJointTaskspaceAdmittanceController::AronDTO
law::arondto::TaskspaceAdmittanceControllerConfig AronDTO
Definition:
AdmittanceController.h:58
armarx::control::njoint_controller::task_space::NJointTaskspaceAdmittanceController::BO
law::TaskspaceAdmittanceController::Config BO
Definition:
AdmittanceController.h:59
AdmittanceController.h
armarx::control::njoint_controller::task_space::NJointTaskspaceAdmittanceController
Brief description of class NJointTaskspaceAdmittanceController.
Definition:
AdmittanceController.h:52
armarx::control::common::control_law::TaskspaceAdmittanceController::Config
you can set the following values from outside of the rt controller via Ice interfaces
Definition:
TaskspaceAdmittanceController.h:43
armarx::control::njoint_mp_controller::task_space
This file is part of ArmarX.
Definition:
AdmittanceController.cpp:28
armarx::control::njoint_mp_controller::task_space::TSAdmittanceMPConfig
Definition:
AdmittanceController.h:37
armarx::aron::data::DictPtr
std::shared_ptr< Dict > DictPtr
Definition:
Dict.h:41
armarx::control::common::mp::MP::MPListConfig
Definition:
MP.h:102
armarx::control::common::mp::MPPool
Definition:
MPPool.h:45
MPPool.h
armarx::control::njoint_mp_controller::task_space::TSAdmittanceMPConfig::mpConfig
mp::MP::MPListConfig mpConfig
Definition:
AdmittanceController.h:40
VirtualRobot::RobotPtr
std::shared_ptr< class Robot > RobotPtr
Definition:
Bus.h:18
armarx::TripleBuffer< BO >
armarx
control
njoint_mp_controller
task_space
AdmittanceController.h
Generated on Tue Feb 13 2024 06:12:12 for armarx_documentation by
1.8.17