A Qt-based graphical user interface application to control a hexapod robot running on BeagleBone AI. The application provides both classic widget-based and modern QML-based interfaces for robot control and monitoring.
- Real-time hexapod visualization and control
- IMU data monitoring and visualization
- Support for both keyboard and on-screen controls
- Dark/Light theme support
- Connection management with auto-discovery
- Balance mode and speed control
- Server simulation mode for testing
- Configurable keyboard shortcuts
- Qt 6.8.2 or later
- GCC with C++17 support
- BeagleBone AI board with hexapod server running
- Linux development environment
- Clone the repository:
git clone https://github.com/NguyenTrongPhuc552003/qt-application-hexapod.git
cd qt-application-hexapod
- Build the application:
make -C build/Desktop_Qt_6_8_2-Debug/
After successful build, you'll find the executable qtui
in the build directory.
- Copy the executable and required files:
scp build/Desktop_Qt_6_8_2-Debug/qtui debian@beaglebone.local:~/hexapod/
scp -r utils/* debian@beaglebone.local:~/hexapod/utils/
- Install the server service on BeagleBone:
ssh debian@beaglebone.local
cd ~/hexapod/utils
sudo ./install.sh
- Start the application:
./qtui
-
Connect to your BeagleBone:
- Use the default address:
beaglebone.local:8080
- Or click "Auto-Discover" to find available servers
- Use the default address:
-
Control the hexapod using:
- Keyboard controls (WASD)
- On-screen buttons
- Touch-enabled joystick (QML interface)
W
- Move forwardS
- Move backwardA
- Turn leftD
- Turn rightSpace
- Stop movementB
- Toggle balance modeCtrl+T
- Toggle dark/light themeF1
- Show keyboard shortcuts
Settings are automatically saved and include:
- Last used connection details
- Window position and size
- Theme preference
- Control settings
- Recent connections
qt-application-hexapod/
├── components/ # QML interface components
├── icons/ # Application icons
├── styles/ # QSS style sheets
├── utils/ # Server installation scripts
│ ├── install.sh # BeagleBone installation script
│ └── server.py # Python test server
├── *.cpp # C++ source files
├── *.h # Header files
├── *.ui # Qt Designer UI files
├── *.qrc # Qt Resource files
└── qtui.pro # Qt Project file
-
UI modifications can be made through:
- Qt Designer (*.ui files)
- QML components (components/*.qml)
- Direct code changes
-
Implement new controls in:
mainwindow.cpp
for widget-based interface- QML files for modern interface
For support, please contact us at trong552003@gmail.com or visit our GitHub Issues page.