27 #include <RobotComponents/gui-plugins/RobotIKPlugin/ui_RobotIKGuiPlugin.h>
39 #include <RobotAPI/interface/core/RobotState.h>
42 #include <RobotComponents/interface/components/RobotIK.h>
48 #include <VirtualRobot/Robot.h>
49 #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
52 #include <Inventor/manips/SoTransformerManip.h>
53 #include <Inventor/nodes/SoMaterial.h>
54 #include <Inventor/nodes/SoSphere.h>
55 #include <Inventor/sensors/SoTimerSensor.h>
64 Q_PLUGIN_METADATA(IID
"ArmarXGuiInterface/1.00")
71 return "RobotIKGuiPlugin";
121 return "RobotControl.RobotIK";
145 Ui::RobotIKGuiPlugin
ui;
148 void on_btnCopyCurrentPoseToClipboard_clicked();
151 void updatePreviewRobot();
152 void on_btnSetDesiredPose_clicked();
153 void executeMotion();
156 void ikCallbackExecuteMotion(
const Ice::AsyncResultPtr& r);
157 void ikCallbackDisplaySolution(
const Ice::AsyncResultPtr& r);
159 std::string robotStateComponentName;
160 std::string kinematicUnitComponentName;
161 std::string robotIKComponentName;
163 QPointer<SimpleConfigDialog> dialog;
166 Ice::StringSeq getIncludePaths()
const;
171 static void manipFinishCallback(
void*
data, SoDragger* manip);
172 static void manipMovedCallback(
void*
data, SoDragger* manip);
174 SoTimerSensor* robotUpdateSensor;
175 static void robotUpdateTimerCB(
void*
data, SoSensor* sensor);
177 SoTimerSensor* textFieldUpdateSensor;
178 static void textFieldUpdateTimerCB(
void*
data, SoSensor* sensor);
180 SoTimerSensor* autoFollowSensor;
181 static void autoFollowSensorTimerCB(
void*
data, SoSensor* sensor);
182 bool manipulatorMoved;
185 ExtendedIKResult improveCurrentSolution(ExtendedIKResult& solution);
187 ExtendedIKResult getIKSolution()
const;
191 bool startUpCameraPositioningFlag;
193 armarx::ExtendedIKResult currentSolution;