diff --git a/source/RobotAPI/components/units/HeadIKUnit.cpp b/source/RobotAPI/components/units/HeadIKUnit.cpp index 8b2e980f6d6facd4e5949dbb221f83b60d387a56..031fbb42bcf299241541172b6b9d85d3655194a4 100644 --- a/source/RobotAPI/components/units/HeadIKUnit.cpp +++ b/source/RobotAPI/components/units/HeadIKUnit.cpp @@ -25,7 +25,7 @@ namespace armarx ScopedLock lock(accessMutex); usingProxy(getProperty<std::string>("KinematicUnitName").getValue()); - usingProxy("RobotStateComponent"); + usingProxy(getProperty<std::string>("RobotStateComponentName").getValue()); usingTopic(getProperty<std::string>("RobotStateTopicName").getValue()); @@ -43,7 +43,8 @@ namespace armarx drawer = getTopic<DebugDrawerInterfacePrx>("DebugDrawerUpdates"); kinematicUnitPrx = getProxy<KinematicUnitInterfacePrx>(getProperty<std::string>("KinematicUnitName").getValue()); - robotStateComponentPrx = getProxy<RobotStateComponentInterfacePrx>("RobotStateComponent"); + robotStateComponentPrx = getProxy<RobotStateComponentInterfacePrx>(getProperty<std::string>("RobotStateComponentName").getValue()); + //remoteRobotPrx = robotStateComponentPrx->getSynchronizedRobot(); localRobot = RemoteRobot::createLocalClone(robotStateComponentPrx); diff --git a/source/RobotAPI/components/units/HeadIKUnit.h b/source/RobotAPI/components/units/HeadIKUnit.h index 0a1917fa38800f1e3034c73471098fcac6b7d5c5..6deff5a7add3ea52ae1bc09721a4e421c316df2d 100644 --- a/source/RobotAPI/components/units/HeadIKUnit.h +++ b/source/RobotAPI/components/units/HeadIKUnit.h @@ -49,6 +49,7 @@ namespace armarx defineRequiredProperty<std::string>("KinematicUnitName", "Name of the KinematicUnit Proxy"); defineOptionalProperty<std::string>("RobotStateTopicName", "RobotState", "Name of the RobotComponent State topic."); defineOptionalProperty<std::string>("HeadIKUnitTopicName", "HeadIKUnitTopic", "Name of the HeadIKUnit Topic"); + defineOptionalProperty<std::string>("RobotStateComponentName", "RobotStateComponent", "Name of the RobotStateComponent that should be used"); defineOptionalProperty<int>("CycleTime", 30, "Cycle time of the tcp control in ms"); } }; diff --git a/source/RobotAPI/components/units/TCPControlUnit.cpp b/source/RobotAPI/components/units/TCPControlUnit.cpp index 7f7a2da918488dc013d014064ef57031f5d41f4f..0ab4790e9bf6e6227448594bb17da2ef7f4e0e2d 100644 --- a/source/RobotAPI/components/units/TCPControlUnit.cpp +++ b/source/RobotAPI/components/units/TCPControlUnit.cpp @@ -54,7 +54,7 @@ namespace armarx { topicName = getName() + "State"; usingProxy(getProperty<std::string>("KinematicUnitName").getValue()); - usingProxy("RobotStateComponent"); + usingProxy(getProperty<std::string>("RobotStateComponentName").getValue()); usingProxy("DebugObserver"); offeringTopic(topicName); usingTopic(getProperty<std::string>("RobotStateTopicName").getValue()); @@ -70,7 +70,8 @@ namespace armarx debugObs = getProxy<DebugObserverInterfacePrx>("DebugObserver"); kinematicUnitPrx = getProxy<KinematicUnitInterfacePrx>(getProperty<std::string>("KinematicUnitName").getValue()); - robotStateComponentPrx = getProxy<RobotStateComponentInterfacePrx>("RobotStateComponent"); + robotStateComponentPrx = getProxy<RobotStateComponentInterfacePrx>(getProperty<std::string>("RobotStateComponentName").getValue()); + //remoteRobotPrx = robotStateComponentPrx->getSynchronizedRobot(); @@ -180,7 +181,7 @@ namespace armarx void TCPControlUnit::setTCPVelocity(const std::string& nodeSetName, const std::string& tcpName, const FramedDirectionBasePtr& translationVelocity, const FramedDirectionBasePtr& orientationVelocityRPY, const Ice::Current& c) { - if(!isRequested()) + if (!isRequested()) { ARMARX_WARNING << "Implicitly requesting TCPControlUnit! Please call request before setting TCPVelocities!"; request(); diff --git a/source/RobotAPI/components/units/TCPControlUnit.h b/source/RobotAPI/components/units/TCPControlUnit.h index efb111ea2271f83edb524471f36a520aefa31f51..7611446f35eb6ab1057d8268aebece3cdcf4f75f 100644 --- a/source/RobotAPI/components/units/TCPControlUnit.h +++ b/source/RobotAPI/components/units/TCPControlUnit.h @@ -52,6 +52,7 @@ namespace armarx defineOptionalProperty<int>("CycleTime", 30, "Cycle time of the tcp control in ms"); defineOptionalProperty<float>("MaximumCommandDelay", 20000, "Delay after which the TCP Control unit releases itself if no new velocity have been set."); defineOptionalProperty<std::string>("TCPsToReport", "", "comma seperated list of nodesets' endeffectors, which poses and velocities that should be reported. * for all, empty for none"); + defineOptionalProperty<std::string>("RobotStateComponentName", "RobotStateComponent", "Name of the RobotStateComponent that should be used"); } diff --git a/source/RobotAPI/libraries/core/RobotStatechartContext.cpp b/source/RobotAPI/libraries/core/RobotStatechartContext.cpp index 7713be5cda5ee55e4f0a6153efe54d3f66116950..6e4988445a86ee0a2e42efc1ddcc4da2600d3609 100644 --- a/source/RobotAPI/libraries/core/RobotStatechartContext.cpp +++ b/source/RobotAPI/libraries/core/RobotStatechartContext.cpp @@ -41,7 +41,7 @@ namespace armarx kinematicUnitObserverName = getProperty<std::string>("KinematicUnitObserverName").getValue(); usingProxy(getProperty<std::string>("KinematicUnitName").getValue()); - usingProxy("RobotStateComponent"); + usingProxy(getProperty<std::string>("RobotStateComponentName").getValue()); usingProxy(kinematicUnitObserverName); if (!getProperty<std::string>("HandUnits").getValue().empty()) @@ -74,7 +74,7 @@ namespace armarx ARMARX_LOG << eINFO << "Starting RobotStatechartContext" << flush; // retrieve proxies - std::string rbStateName = "RobotStateComponent"; + std::string rbStateName = getProperty<std::string>("RobotStateComponentName").getValue(); robotStateComponent = getProxy<RobotStateComponentInterfacePrx>(rbStateName); std::string kinUnitName = getProperty<std::string>("KinematicUnitName").getValue(); kinematicUnitPrx = getProxy<KinematicUnitInterfacePrx>(kinUnitName); diff --git a/source/RobotAPI/libraries/core/RobotStatechartContext.h b/source/RobotAPI/libraries/core/RobotStatechartContext.h index 81cbdf2529b1d6ee3c5ef7e3c5acb0240c855c38..369ca866585f90f75be4b603df7d148b197cf6d2 100644 --- a/source/RobotAPI/libraries/core/RobotStatechartContext.h +++ b/source/RobotAPI/libraries/core/RobotStatechartContext.h @@ -55,6 +55,8 @@ namespace armarx defineOptionalProperty<std::string>("HandUnits", "", "Name of the comma-seperated hand units that should be used. Unitname for left hand should be LeftHandUnit, and for right hand RightHandUnit"); defineOptionalProperty<std::string>("HeadIKUnitName", "", "Name of the head unit that should be used."); defineOptionalProperty<std::string>("HeadIKKinematicChainName", "", "Name of the kinematic chain that should be used for head IK."); + defineOptionalProperty<std::string>("RobotStateComponentName", "RobotStateComponent", "Name of the RobotStateComponent that should be used"); + } };