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