aron_conversions.cpp
Go to the documentation of this file.
1 #include "aron_conversions.h"
5 
6 
8 {
9  void
10  fromAron(const arondto::TSImpedanceMPConfig& dto,
12  {
13  fromAron(static_cast<const armarx::control::common::control_law::arondto::TaskspaceImpedanceControllerConfig &>(dto),
15  fromAron(dto.mpConfig, bo.mpConfig);
16  }
17 
18  void
19  fromAron(const arondto::TSAdmittanceMPConfig& dto,
21  {
22  fromAron(static_cast<const armarx::control::common::control_law::arondto::TaskspaceAdmittanceControllerConfig &>(dto),
24  fromAron(dto.mpConfig, bo.mpConfig);
25  }
26 
27  void
28  fromAron(const arondto::Constraint& dto,
29  Constraint& bo)
30  {
31  bo = Constraint{
32  .type = dto.type,
33  .pcaMean = dto.pcaMean,
34  .pcaComponents = dto.pcaComponents,
35  .localFrameRotMat = dto.localFrameRotMat,
36  .localFrameOrigin = dto.localFrameOrigin,
37  .vmpStart = dto.vmpStart,
38  .priority = dto.priority,
39  .density_mu = dto.density_mu,
40  .density_weights = dto.density_weights,
41  .density_std_dev = dto.density_std_dev,
42  .spatial_scale = dto.spatial_scale,
43  .pm_scale = dto.pm_scale,
44  .pm_init_proj_point = dto.pm_init_proj_point,
45  .pm_init_proj_value = dto.pm_init_proj_value,
46  .pm_init_tangent_vec = dto.pm_init_tangent_vec
47  };
48  }
49 
50  Constraint
51  fromAron(const arondto::Constraint& dto)
52  {
54  .type = dto.type,
55  .pcaMean = dto.pcaMean,
56  .pcaComponents = dto.pcaComponents,
57  .localFrameRotMat = dto.localFrameRotMat,
58  .localFrameOrigin = dto.localFrameOrigin,
59  .vmpStart = dto.vmpStart,
60  .priority = dto.priority,
61  .density_mu = dto.density_mu,
62  .density_weights = dto.density_weights,
63  .density_std_dev = dto.density_std_dev,
64  .spatial_scale = dto.spatial_scale,
65  .pm_scale = dto.pm_scale,
66  .pm_init_proj_point = dto.pm_init_proj_point,
67  .pm_init_proj_value = dto.pm_init_proj_value,
68  .pm_init_tangent_vec = dto.pm_init_tangent_vec
69  };
70  return bo;
71  }
72 
73  void
74  fromAron(const arondto::KVILImpedanceMPConfig& dto,
76  {
77  fromAron(static_cast<const armarx::control::common::control_law::arondto::KeypointControllerConfig &>(dto),
79  fromAron(dto.mpConfig, bo.mpConfig);
80  std::transform(dto.constraintList.begin(), dto.constraintList.end(), std::back_inserter(bo.constraintList),
81  [](const auto& c) -> Constraint
82  {
83  return fromAron(c);
84  });
85  }
86 
87 } /// namespace armarx::control::njoint_mp_controller::task_space
armarx::control::common::control_law::KeypointsImpedanceController::Config
you can set the following values from outside of the rt controller via Ice interfaces
Definition: KeypointsImpedanceController.h:41
KVILImpedanceController.h
armarx::control::njoint_mp_controller::task_space::fromAron
void fromAron(const arondto::TSImpedanceMPConfig &dto, TSImpedanceMPConfig &bo)
Definition: aron_conversions.cpp:10
c
constexpr T c
Definition: UnscentedKalmanFilterTest.cpp:43
ImpedanceController.h
armarx::control::njoint_mp_controller::task_space::Constraint
Definition: KVILImpedanceController.h:39
AdmittanceController.h
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::transform
auto transform(const Container< InputT, Alloc > &in, OutputT(*func)(InputT const &)) -> Container< OutputT, typename std::allocator_traits< Alloc >::template rebind_alloc< OutputT > >
Convenience function (with less typing) to transform a container of type InputT into the same contain...
Definition: algorithm.h:315
armarx::control::njoint_mp_controller::task_space::KVILImpedanceMPConfig
Definition: KVILImpedanceController.h:63
aron_conversions.h
armarx::control::njoint_mp_controller::task_space::TSImpedanceMPConfig
Definition: ImpedanceController.h:38
armarx::control::njoint_mp_controller::task_space::Constraint::type
std::string type
Definition: KVILImpedanceController.h:41
armarx::aron::bo
const std::optional< BoT > & bo
Definition: aron_conversions.h:166
armarx::control::common::control_law::TaskspaceImpedanceController::Config
you can set the following values from outside of the rt controller via Ice interfaces
Definition: TaskspaceImpedanceController.h:42