From f9f1fdef0f7000a83def17b596b448e81c7b78ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20Gr=C3=B6ger?= <tobias.groeger@student.kit.edu>
Date: Sun, 28 Apr 2024 15:39:40 +0200
Subject: [PATCH] Use new NJointHolonomicPlatformVelocityControllerWithRamp in
 RobotUnit

---
 ...ntHolonomicPlatformVelocityControllerWithRamp.h |  1 -
 .../RobotUnitModules/RobotUnitModuleUnits.cpp      | 14 ++++++++------
 .../units/RobotUnit/Units/PlatformSubUnit.h        |  3 ++-
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformVelocityControllerWithRamp.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformVelocityControllerWithRamp.h
index 186d7c581..9070f0287 100644
--- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformVelocityControllerWithRamp.h
+++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformVelocityControllerWithRamp.h
@@ -27,7 +27,6 @@
 #include <RobotAPI/libraries/core/CartesianVelocityRamp.h>
 
 #include "../ControlTargets/ControlTargetHolonomicPlatformVelocity.h"
-#include "../util.h"
 #include "NJointControllerWithTripleBuffer.h"
 
 namespace armarx
diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp
index 16af4f8c0..7a60318dc 100644
--- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp
+++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleUnits.cpp
@@ -449,15 +449,19 @@ namespace armarx::RobotUnitModule
             Component::create<UnitT>(properties, configName, getConfigDomain());
         //config
         ARMARX_TRACE;
-        NJointHolonomicPlatformUnitVelocityPassThroughControllerConfigPtr config =
-            new NJointHolonomicPlatformUnitVelocityPassThroughControllerConfig;
+        NJointHolonomicPlatformVelocityControllerWithRampConfigPtr config =
+            new NJointHolonomicPlatformVelocityControllerWithRampConfig;
         config->initialVelocityX = 0;
         config->initialVelocityY = 0;
         config->initialVelocityRotation = 0;
         config->platformName = _module<RobotData>().getRobotPlatformName();
-        auto ctrl = NJointHolonomicPlatformUnitVelocityPassThroughControllerPtr::dynamicCast(
+
+        config->maxPositionAcceleration = 800;
+        config->maxOrientationAcceleration = 80;
+
+        auto ctrl = NJointHolonomicPlatformVelocityControllerWithRampPtr::dynamicCast(
             _module<ControllerManagement>().createNJointController(
-                "NJointHolonomicPlatformUnitVelocityPassThroughController",
+                "NJointHolonomicPlatformVelocityControllerWithRamp",
                 getName() + "_" + configName + "_VelPTContoller",
                 config,
                 false,
@@ -479,7 +483,6 @@ namespace armarx::RobotUnitModule
                     false,
                     true));
         ARMARX_CHECK_EXPRESSION(ctrlRelativePosition);
-        unit->pt = ctrl;
         unit->relativePosCtrl = ctrlRelativePosition;
 
         // unit->platformSensorIndex = _module<Devices>().getSensorDevices().index(_module<RobotData>().getRobotPlatformName());
@@ -496,7 +499,6 @@ namespace armarx::RobotUnitModule
                 true));
         ARMARX_TRACE;
         ARMARX_CHECK_EXPRESSION(ctrlGlobalPosition);
-        unit->pt = ctrl;
         unit->globalPosCtrl = ctrlGlobalPosition;
         ARMARX_TRACE;
 
diff --git a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h
index 90d5443bf..5c2bb4a8d 100755
--- a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h
+++ b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h
@@ -31,6 +31,7 @@
 #include <RobotAPI/components/units/PlatformUnit.h>
 #include <RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformGlobalPositionController.h>
 #include <RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformRelativePositionController.h>
+#include <RobotAPI/components/units/RobotUnit/NJointControllers/NJointHolonomicPlatformVelocityControllerWithRamp.h>
 #include <RobotAPI/interface/core/RobotState.h>
 #include <RobotAPI/libraries/core/Pose.h>
 
@@ -93,7 +94,7 @@ namespace armarx
 
         void stopPlatform(const Ice::Current& c = Ice::emptyCurrent) override;
 
-        NJointHolonomicPlatformUnitVelocityPassThroughControllerPtr pt;
+        NJointHolonomicPlatformVelocityControllerWithRampPtr pt;
         NJointHolonomicPlatformRelativePositionControllerPtr relativePosCtrl;
         NJointHolonomicPlatformGlobalPositionControllerPtr globalPosCtrl;
 
-- 
GitLab