This repository provides a teleoperation system for controlling a robot through a web interface. It features real-time video streaming, WebSocket communication, and ROS integration, enabling efficient and seamless remote robot operation.
- Web Interface: An HTML-based control panel to send movement commands to the robot.
- Live Video Feed: Displays real-time video from the robot's environment.
- WebSocket Communication: Lightweight communication between the web client and server.
- ROS Integration: Sends ROS Twist messages for robot movement control.
- Frontend: HTML, JavaScript, CSS
- Backend: Python with WebSocket server
- Robot Middleware: ROS (Robot Operating System)
- Python 3.10 or later
- ROS installed with
geometry_msgs
package - Python WebSocket support (
websockets
package)
-
Clone the Repository
git clone <repository-url> cd <repository-folder>
-
Start the ROS Node Ensure your ROS master node is running:
roscore
-
Run the WebSocket Server Start the WebSocket server to process teleoperation commands:
python3.10 websocket_server.py
-
Run the Web Interface Open the
mk1_4.html
file in your browser. Verify that the WebSocket URL matches the server's address and port. -
Control the Robot Use the web interface to send movement commands:
- I: Move forward
- ,: Move backward
- J: Turn left
- L: Turn right
- K: Stop
mk1_4.html
: Frontend web interface for robot control.websocket_server.py
: WebSocket server for processing commands.- Video Feed: Integrated video feed in the web interface using Flask or a similar setup.
- Add user authentication for secure access.
- Integrate advanced features like obstacle detection.
- Enable logging of commands for debugging and analytics.
This project is open-source and distributed under the MIT License. Feel free to use, modify, and share for personal or educational purposes.
Contributions are welcome! If you want to add features or suggest improvements, please open an issue or submit a pull request.
- Documentation: ROS Tutorials
- Live Demo: Contact the repository owner for a demo setup.
This corrected README maintains a clean structure, includes all necessary information, and avoids redundancy. Let me know if you want further refinements!