34 #include <RobotAPI/interface/core/RobotState.h>
35 #include <RobotAPI/interface/observers/KinematicUnitObserverInterface.h>
36 #include <RobotAPI/interface/units/ForceTorqueUnit.h>
37 #include <RobotAPI/interface/units/HeadIKUnit.h>
38 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
39 #include <RobotAPI/interface/units/TCPControlUnit.h>
41 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
42 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
43 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
45 #include <VirtualRobot/VirtualRobot.h>
55 defineOptionalProperty<std::string>(
"KinematicUnitName",
56 "Name of the kinematic unit that should be used");
57 defineOptionalProperty<std::string>(
58 "KinematicUnitObserverName",
59 "Name of the kinematic unit observer that should be used");
60 defineOptionalProperty<std::string>(
61 "RobotStateComponentName",
62 "RobotStateComponent",
63 "Name of the robot state component that should be used");
64 defineOptionalProperty<std::string>(
67 "Name of the tcp control unit component that should be used");
70 defineOptionalProperty<std::string>(
71 "ForceTorqueObserverName",
72 "ForceTorqueObserver",
73 "Name of the force torque observer that should be used");
75 defineOptionalProperty<std::string>(
76 "HeadIKUnitName",
"HeadIKUnit",
"Name of the head unit that should be used.");
77 defineOptionalProperty<std::string>(
78 "HeadIKKinematicChainName",
80 "Name of the inematic chain that should be used for head IK.");
81 defineOptionalProperty<std::string>(
84 "Name of the WorkingMemory component that should be used");
85 defineOptionalProperty<std::string>(
86 "ObjectMemoryObserverName",
87 "ObjectMemoryObserver",
88 "Name of the ObjectMemoryObserver component that should be used");
89 defineOptionalProperty<std::string>(
92 "Name of the PriorKnowledge component that should be used");
108 return "PickAndPlaceGroupStatechartContext";
111 virtual void onInitStatechartContext();
112 virtual void onConnectStatechartContext();
123 return robotStateComponent;
126 KinematicUnitInterfacePrx
129 return kinematicUnitPrx;
135 return getProperty<std::string>(
"KinematicUnitObserverName").getValue();
138 TCPControlUnitInterfacePrx
141 return tcpControlPrx;
146 ForceTorqueUnitObserverInterfacePrx
149 return ftUnitObserverPrx;
155 return getProperty<std::string>(
"ForceTorqueObserverName").getValue();
159 HeadIKUnitInterfacePrx
162 return headIKUnitPrx;
168 return headIKKinematicChainName;
171 memoryx::WorkingMemoryInterfacePrx
174 return workingMemoryProxy;
177 memoryx::ObjectMemoryObserverInterfacePrx
180 return objectMemoryObserverProxy;
183 memoryx::PriorKnowledgeInterfacePrx
186 return priorKnowledgeProxy;
197 KinematicUnitInterfacePrx kinematicUnitPrx;
198 KinematicUnitObserverInterfacePrx kinematicUnitObserverPrx;
199 TCPControlUnitInterfacePrx tcpControlPrx;
202 ForceTorqueUnitObserverInterfacePrx ftUnitObserverPrx;
204 memoryx::WorkingMemoryInterfacePrx workingMemoryProxy;
205 memoryx::ObjectMemoryObserverInterfacePrx objectMemoryObserverProxy;
206 memoryx::PriorKnowledgeInterfacePrx priorKnowledgeProxy;
208 HeadIKUnitInterfacePrx headIKUnitPrx;
209 std::string headIKKinematicChainName;
210 std::string headIKUnitName;