diff --git a/data/RobotAPI/VariantInfo-RobotAPI.xml b/data/RobotAPI/VariantInfo-RobotAPI.xml index 0e6ea498e694f75c9541f9c5e18334ec1f27ba3f..c90d353054348fc5de64387f5f1ee238d382b05c 100644 --- a/data/RobotAPI/VariantInfo-RobotAPI.xml +++ b/data/RobotAPI/VariantInfo-RobotAPI.xml @@ -190,7 +190,11 @@ <onConnect>remoteRobot.reset(new RemoteRobot(robotStateComponent->getSynchronizedRobot()));</onConnect> <stateMethod header="const VirtualRobot::RobotPtr getRobot() const">return %getContext%->getRobot();</stateMethod> - <method header="const VirtualRobot::RobotPtr getLocalRobot() const">return robotPoolStructure->getRobot();</method> + <method header="const VirtualRobot::RobotPtr getLocalRobot(bool performInitialRobotSync = true) const">VirtualRobot::RobotPtr robot = robotPoolStructure->getRobot(); + if(performInitialRobotSync) { + ::armarx::RemoteRobot::synchronizeLocalClone(robot, getRobotStateComponent()); + } + return robot;</method> <method header="const VirtualRobot::RobotPtr getLocalCollisionRobot() const">return robotPoolCollision->getRobot();</method> <method header="const RobotNameHelperPtr getRobotNameHelper() const">return robotNameHelper;</method> <member>VirtualRobot::RobotPtr localRobot;</member> @@ -204,7 +208,7 @@ <onConnect>localCollisionRobot = RemoteRobot::createLocalCloneFromFile(robotStateComponent, VirtualRobot::RobotIO::eCollisionModel);</onConnect> <onConnect>robotPoolCollision.reset(new RobotPool(localCollisionRobot,2));</onConnect> <onConnect>robotNameHelper = RobotNameHelper::Create(robotStateComponent->getRobotInfo(), getSelectedStatechartProfile());</onConnect> - <stateMethod header="const VirtualRobot::RobotPtr getLocalRobot() const">return %getContext%->getLocalRobot();</stateMethod> + <stateMethod header="const VirtualRobot::RobotPtr getLocalRobot(bool performInitialRobotSync = true) const">return %getContext%->getLocalRobot(performInitialRobotSync);</stateMethod> <stateMethod header="const VirtualRobot::RobotPtr getLocalCollisionRobot() const">return %getContext%->getLocalCollisionRobot();</stateMethod> <stateMethod header="const RobotNameHelperPtr getRobotNameHelper() const">return %getContext%->getRobotNameHelper();</stateMethod> diff --git a/source/RobotAPI/components/units/GraspCandidateObserver.cpp b/source/RobotAPI/components/units/GraspCandidateObserver.cpp index e37f3ffea314dcfbcad950e147dbfd445dad61b6..f22b1dfde85d6a6b94a729face9ed4ccc272171d 100644 --- a/source/RobotAPI/components/units/GraspCandidateObserver.cpp +++ b/source/RobotAPI/components/units/GraspCandidateObserver.cpp @@ -139,7 +139,7 @@ void GraspCandidateObserver::reportProviderInfo(const std::string& providerName, { offerChannel(providerName, "Channel of " + providerName); } - offerOrUpdateDataField(providerName, "", ObjectTypeToString(info->objectType), ""); + offerOrUpdateDataField(providerName, "objectType", ObjectTypeToString(info->objectType), ""); } InfoMap GraspCandidateObserver::getAvailableProvidersWithInfo(const Ice::Current&)