33 #include <RobotAPI/gui-plugins/PlatformUnitPlugin/ui_PlatformUnitGuiPlugin.h>
34 #include <RobotAPI/interface/core/RobotLocalization.h>
35 #include <RobotAPI/interface/units/PlatformUnitInterface.h>
40 #include <QMainWindow>
52 setFocusPolicy(Qt::ClickFocus);
65 class PlatformUnitConfigDialog;
76 Q_PLUGIN_METADATA(IID
"ArmarXGuiInterface/1.00")
83 return "PlatformUnitGuiPlugin";
106 public GlobalRobotPoseLocalizationListener
124 const ::Ice::Current& = ::Ice::emptyCurrent)
override;
130 return "RobotControl.PlatformUnitGUI";
136 return QIcon(
"://icons/retro_joystick2.svg");
157 Ui::PlatformUnitGuiPlugin
ui;
164 void controlTimerTick();
170 void controlPlatformWithKeyboard(
int key);
171 void stopPlatformWithKeyboard(
int key);
172 void keyboardVelocityControl();
175 std::string platformUnitProxyName;
176 std::string platformName;
178 PlatformUnitInterfacePrx platformUnitProxy;
180 QPointer<QWidget> __widget;
181 QPointer<PlatformUnitConfigDialog> dialog;
188 QPointer<JoystickControlWidget> speedCtrl;
193 QPointer<JoystickControlWidget> rotaCtrl;
198 QTimer ctrlEvaluationTimer;
199 QTimer stopPlatformTimer;
200 QTimer keyboardVelocityTimer;
219 static const int CONTROL_TICK_RATE = 50;
221 QSet<int> pressedKeys;
223 float currentKeyboardVelocityX = 0;
224 float currentKeyboardVelocityY = 0;
225 float currentKeyboardVelocityAlpha = 0;
226 float acceleration = 0.2;
227 float deceleration = 0.8;