34 #include <MemoryX/interface/components/WorkingMemoryInterface.h>
35 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
36 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
37 #include <RobotAPI/interface/units/KinematicUnitInterface.h>
38 #include <RobotAPI/interface/units/TCPControlUnit.h>
39 #include <RobotAPI/interface/observers/KinematicUnitObserverInterface.h>
40 #include <RobotAPI/interface/units/ForceTorqueUnit.h>
41 #include <RobotAPI/interface/units/HeadIKUnit.h>
42 #include <RobotAPI/interface/core/RobotState.h>
44 #include <VirtualRobot/VirtualRobot.h>
56 defineOptionalProperty<std::string>(
"KinematicUnitName",
"Name of the kinematic unit that should be used");
57 defineOptionalProperty<std::string>(
"KinematicUnitObserverName",
"Name of the kinematic unit observer that should be used");
58 defineOptionalProperty<std::string>(
"RobotStateComponentName",
"RobotStateComponent",
"Name of the robot state component that should be used");
59 defineOptionalProperty<std::string>(
"TCPControlUnitName",
"TCPControlUnit",
"Name of the tcp control unit component that should be used");
62 defineOptionalProperty<std::string>(
"ForceTorqueObserverName",
"ForceTorqueObserver",
"Name of the force torque observer that should be used");
64 defineOptionalProperty<std::string>(
"HeadIKUnitName",
"HeadIKUnit",
"Name of the head unit that should be used.");
65 defineOptionalProperty<std::string>(
"HeadIKKinematicChainName",
"",
"Name of the inematic chain that should be used for head IK.");
66 defineOptionalProperty<std::string>(
"WorkingMemoryName",
"WorkingMemory",
"Name of the WorkingMemory component that should be used");
67 defineOptionalProperty<std::string>(
"ObjectMemoryObserverName",
"ObjectMemoryObserver",
"Name of the ObjectMemoryObserver component that should be used");
68 defineOptionalProperty<std::string>(
"PriorKnowledgeName",
"PriorKnowledge",
"Name of the PriorKnowledge component that should be used");
83 return "PickAndPlaceGroupStatechartContext";
85 virtual void onInitStatechartContext();
86 virtual void onConnectStatechartContext();
95 return robotStateComponent;
99 return kinematicUnitPrx;
103 return getProperty<std::string>(
"KinematicUnitObserverName").getValue();
107 return tcpControlPrx;
113 return ftUnitObserverPrx;
117 return getProperty<std::string>(
"ForceTorqueObserverName").getValue();
122 return headIKUnitPrx;
126 return headIKKinematicChainName;
130 return workingMemoryProxy;
134 return objectMemoryObserverProxy;
138 return priorKnowledgeProxy;
151 KinematicUnitInterfacePrx kinematicUnitPrx;
152 KinematicUnitObserverInterfacePrx kinematicUnitObserverPrx;
153 TCPControlUnitInterfacePrx tcpControlPrx;
156 ForceTorqueUnitObserverInterfacePrx ftUnitObserverPrx;
158 memoryx::WorkingMemoryInterfacePrx workingMemoryProxy;
159 memoryx::ObjectMemoryObserverInterfacePrx objectMemoryObserverProxy;
160 memoryx::PriorKnowledgeInterfacePrx priorKnowledgeProxy;
162 HeadIKUnitInterfacePrx headIKUnitPrx;
163 std::string headIKKinematicChainName;
164 std::string headIKUnitName;