Web-Based GUI Application for Controlling a ROS-Based Quadruped Robot


Working video

Overview

This project is a web-based GUI application designed to give users intuitive control over a quadruped robot. It features real-time video streaming from the robot’s camera and a human-following mode.

ROS Web GUI

Key Features

  1. Interactive User Interface:
    • The user-friendly web-based GUI lets you control the robot with directional buttons and a joystick. There are also buttons for predefined actions like making the robot greet or do pushups.
    • You can watch the robot’s live video feed right in the GUI, giving you a real-time view of what the robot sees.
  2. Dual Control Modes:
    • Teleoperation Mode: Take direct control of the robot’s movements with the directional buttons and joystick.
    • Human-Following Mode: Let the robot follow you! Using the MediaPipe library from Google, the robot detects human body landmarks and follows a point on the abdomen to move in sync with you.
  3. Technologies Behind the Scenes:
    • Frontend: Built with HTML, CSS, and JavaScript for a responsive and engaging user experience.
    • Backend: Utilizes ROS and Rosbridge to handle communication between the GUI and the robot.
    • Video Streaming: The live feed from the robot’s camera is published on a ROS topic and integrated into the GUI.
  4. Overcoming Challenges:
    • Latency Issues: We faced some latency problems due to the university’s Wi-Fi network, which affected real-time performance. As a workaround, we used a mobile hotspot to connect all systems on the same network, reducing lag and improving responsiveness.
  5. Course Project Insight:
    • This project was part of a university course called Construction Robotics. We wrote a paper about it, detailing our approach and findings. You can check it out here.

Technical Details