diff --git a/data/RobotAPI/VariantInfo-RobotAPI.xml b/data/RobotAPI/VariantInfo-RobotAPI.xml
index 8ff3d3ca8712e83ffb6599becc9492e776a7a177..a6ae752be3813e7ebaa268af6790a42f5ffbea2b 100644
--- a/data/RobotAPI/VariantInfo-RobotAPI.xml
+++ b/data/RobotAPI/VariantInfo-RobotAPI.xml
@@ -171,6 +171,7 @@
             propertyIsOptional="true"
             propertyDefaultValue="RobotStateComponent">
             <include>RobotAPI/libraries/core/remoterobot/RemoteRobot.h</include>
+            <include>RobotAPI/libraries/core/RobotPool.h</include>
             <include>RobotAPI/libraries/RobotStatechartHelpers/RobotNameHelper.h</include>
             <library>RobotAPICore</library>
             <library>RobotStatechartHelpers</library>
@@ -180,15 +181,19 @@
             <onConnect>remoteRobot.reset(new RemoteRobot(robotStateComponent-&gt;getSynchronizedRobot()));</onConnect>
             <stateMethod header="const VirtualRobot::RobotPtr getRobot() const">return %getContext%-&gt;getRobot();</stateMethod>
 
-            <method header="const VirtualRobot::RobotPtr getLocalRobot() const">return localRobot;</method>
-            <method header="const VirtualRobot::RobotPtr getLocalCollisionRobot() const">return localCollisionRobot;</method>
+            <method header="const VirtualRobot::RobotPtr getLocalRobot() const">return robotPoolStructure->getRobot();</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>
             <member>VirtualRobot::RobotPtr localCollisionRobot;</member>
             <member>RobotNameHelperPtr robotNameHelper;</member>
+            <member>RobotPoolPtr robotPoolStructure;</member>
+            <member>RobotPoolPtr robotPoolCollision;</member>
             <onConnect>// initialize local robot</onConnect>
             <onConnect>localRobot = RemoteRobot::createLocalCloneFromFile(robotStateComponent, VirtualRobot::RobotIO::eStructure);</onConnect>
+            <onConnect>robotPoolStructure.reset(new RobotPool(localRobot,2));</onConnect>
             <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%-&gt;getLocalRobot();</stateMethod>
             <stateMethod header="const VirtualRobot::RobotPtr getLocalCollisionRobot() const">return %getContext%-&gt;getLocalCollisionRobot();</stateMethod>