This project provides a comprehensive software and hardware setup for controlling a remotely operated vehicle (ROV) using a joystick. It features a custom-built graphical user interface for monitoring the ROV's status in real-time, including temperature, depth, and mechanical states, and sends control signals to the ROV's hardware components for navigation and manipulation tasks.
- Joystick-based control for intuitive operation.
- Real-time monitoring of ROV status through a Pygame-based GUI.
- Direct hardware control via Arduino, supporting multiple servos for movement and operations.
- Customizable interface and control settings to accommodate different hardware configurations.
JoyStick_constants.py: Defines the mapping of joystick buttons and axes for control commands.JoyStick_test.py: Script for testing joystick functionality and input handling.ROV_main.py: The main control script integrating joystick input, GUI updates, and hardware control commands.widgets2.py: Defines custom Pygame widgets for the GUI, including toggles, displays, and sliders.Arduino_for_ROV.ino: Arduino sketch for receiving control signals and managing hardware components like servos and sensors.
- Python 3.x
- Pygame library
- PySerial library
- Arduino IDE
- ArduinoJson library for Arduino
- Clone this repository to your local machine.
- Ensure all prerequisites are installed.
- Upload
Arduino_for_ROV.inoto your Arduino board. - Run
ROV_main.pyto start the control system.
- Use the joystick to control the ROV's movement and operations.
- Monitor the ROV's status and environmental readings through the GUI.
Our project is under Pasadena City College.