35 #include <VirtualRobot/VirtualRobot.h>
39 #include <RobotAPI/interface/components/ViewSelectionInterface.h>
40 #include <RobotAPI/interface/core/RobotState.h>
41 #include <RobotAPI/interface/observers/KinematicUnitObserverInterface.h>
42 #include <RobotAPI/interface/observers/PlatformUnitObserverInterface.h>
43 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
44 #include <RobotAPI/interface/units/PlatformUnitInterface.h>
45 #include <RobotAPI/interface/units/TCPControlUnit.h>
49 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
50 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
51 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
69 defineRequiredProperty<std::string>(
"KinematicUnitName",
70 "Name of the kinematic unit that should be used");
71 defineRequiredProperty<std::string>(
72 "KinematicUnitObserverName",
73 "Name of the kinematic unit observer that should be used");
74 defineOptionalProperty<std::string>(
75 "RobotStateComponentName",
76 "RobotStateComponent",
77 "Name of the robot state component that should be used");
78 defineOptionalProperty<std::string>(
81 "Name of the tcp control unit component that should be used");
82 defineOptionalProperty<std::string>(
85 "Name of the WorkingMemory component that should be used");
86 defineOptionalProperty<std::string>(
87 "ObjectMemoryObserverName",
88 "ObjectMemoryObserver",
89 "Name of the ObjectMemoryObserver component that should be used");
90 defineOptionalProperty<std::string>(
93 "Name of the PriorKnowledge component that should be used");
94 defineOptionalProperty<std::string>(
"PlatformUnitName",
95 "PlatformUnitDynamicSimulation",
96 "Name of the PlatformUnit to use");
97 defineOptionalProperty<std::string>(
"PlatformUnitObserverName",
98 "PlatformUnitObserver",
99 "Name of the PlatformUnitObserver to use");
100 defineOptionalProperty<std::string>(
"ForceTorqueObserverName",
101 "ForceTorqueObserver",
102 "Name of the ForceTorqueObserver to use");
103 defineOptionalProperty<std::string>(
104 "TCPControlUnitObserverName",
105 "TCPControlUnitObserver",
106 "Name of the tcp control unit observer that should be used");
107 defineOptionalProperty<std::string>(
110 "Name of the ViewSelection component that should be used");
126 return "CoupledInteractionGroupStatechartContext";
129 void onInitStatechartContext()
override;
130 void onConnectStatechartContext()
override;
141 return robotStateComponent;
144 KinematicUnitInterfacePrx
147 return kinematicUnitPrx;
153 return getProperty<std::string>(
"KinematicUnitObserverName").getValue();
156 TCPControlUnitInterfacePrx
159 return tcpControlPrx;
162 TCPControlUnitObserverInterfacePrx
165 return tcpControlUnitObserverPrx;
168 memoryx::WorkingMemoryInterfacePrx
171 return workingMemoryProxy;
174 memoryx::ObjectMemoryObserverInterfacePrx
177 return objectMemoryObserverProxy;
180 memoryx::PriorKnowledgeInterfacePrx
183 return priorKnowledgeProxy;
186 PlatformUnitInterfacePrx
189 return platformUnitPrx;
192 PlatformUnitObserverInterfacePrx
195 return platformUnitObserverPrx;
201 return debugDrawerTopicProxy;
209 return platformUnitObserverName;
214 ViewSelectionInterfacePrx
217 return viewSelectionProxy;
220 ForceTorqueUnitObserverInterfacePrx
223 return ftUnitObserverPrx;
230 return getProperty<std::string>(
"ForceTorqueObserverName").getValue();
241 KinematicUnitInterfacePrx kinematicUnitPrx;
242 KinematicUnitObserverInterfacePrx kinematicUnitObserverPrx;
243 TCPControlUnitInterfacePrx tcpControlPrx;
244 TCPControlUnitObserverInterfacePrx tcpControlUnitObserverPrx;
247 memoryx::WorkingMemoryInterfacePrx workingMemoryProxy;
248 memoryx::ObjectMemoryObserverInterfacePrx objectMemoryObserverProxy;
249 memoryx::PriorKnowledgeInterfacePrx priorKnowledgeProxy;
253 ViewSelectionInterfacePrx viewSelectionProxy;
255 PlatformUnitInterfacePrx platformUnitPrx;
256 PlatformUnitObserverInterfacePrx platformUnitObserverPrx;
257 std::string platformUnitName;
258 std::string platformUnitObserverName;
260 ForceTorqueUnitObserverInterfacePrx ftUnitObserverPrx;