27 #include <RobotComponents/gui-plugins/RobotIKPlugin/ui_RobotIKGuiPlugin.h>
36 #include <RobotComponents/interface/components/RobotIK.h>
37 #include <RobotAPI/interface/core/RobotState.h>
45 #include <VirtualRobot/Robot.h>
46 #include <VirtualRobot/Visualization/CoinVisualization/CoinVisualization.h>
49 #include <Inventor/sensors/SoTimerSensor.h>
50 #include <Inventor/manips/SoTransformerManip.h>
51 #include <Inventor/nodes/SoSphere.h>
52 #include <Inventor/nodes/SoMaterial.h>
62 Q_PLUGIN_METADATA(IID
"ArmarXGuiInterface/1.00")
68 return "RobotIKGuiPlugin";
113 return "RobotControl.RobotIK";
136 Ui::RobotIKGuiPlugin
ui;
139 void on_btnCopyCurrentPoseToClipboard_clicked();
142 void updatePreviewRobot();
143 void on_btnSetDesiredPose_clicked();
144 void executeMotion();
147 void ikCallbackExecuteMotion(
const Ice::AsyncResultPtr& r);
148 void ikCallbackDisplaySolution(
const Ice::AsyncResultPtr& r);
150 std::string robotStateComponentName;
151 std::string kinematicUnitComponentName;
152 std::string robotIKComponentName;
154 QPointer<SimpleConfigDialog> dialog;
157 Ice::StringSeq getIncludePaths()
const;
162 static void manipFinishCallback(
void*
data, SoDragger* manip);
163 static void manipMovedCallback(
void*
data, SoDragger* manip);
165 SoTimerSensor* robotUpdateSensor;
166 static void robotUpdateTimerCB(
void*
data, SoSensor* sensor);
168 SoTimerSensor* textFieldUpdateSensor;
169 static void textFieldUpdateTimerCB(
void*
data, SoSensor* sensor);
171 SoTimerSensor* autoFollowSensor;
172 static void autoFollowSensorTimerCB(
void*
data, SoSensor* sensor);
173 bool manipulatorMoved;
176 ExtendedIKResult improveCurrentSolution(ExtendedIKResult& solution);
178 ExtendedIKResult getIKSolution()
const;
182 bool startUpCameraPositioningFlag;
184 armarx::ExtendedIKResult currentSolution;