Skip to content

Repository files navigation

ros2_web_control

This ROS 2 package provides a local web server that runs on the robot, offering a web-based interface for remote control and sensor monitoring. The frontend allows users to send velocity commands and view real-time data such as battery status, camera feed, and occupancy maps.

Features

🚀 Remote Velocity Control

  • Control the robot’s movement in real-time via the web interface.

Screenshot_20250322-200413

📷 Live Camera Feed

  • Stream real-time video from the robot’s camera.

Screenshot_20250322-200413

🔋 Live Battery Monitoring

  • Monitor the robot’s battery status directly from the web interface.

Screenshot_20250322-200413

🗺️ Live OccupancyGrid Visualization

  • View the robot’s mapped environment dynamically.

Screenshot_20250322-200413

Basic Usige

Clone Repository
git clone git@github.com:ivoheck/ros2_web_control.git

Build Package
colcon build --packages-select ros2_web_control

Install Required Packages
sudo apt install python3-fastapi
sudo apt install python3-netifaces
sudo apt install python3-opencv

Start Web Server
ros2 launch ros2_web_control start_web_server.launch.py

The web server is hosted on the robot's local IP at port 8000. The interface can be accessed via the following endpoint: /cmd_vel http://<local-ip>:8000/cmd_vel/

Configuration

The following values can be specified in the web_control_config.yaml file:

Topic for publishing Twist messages (defaults to /cmd_vel):
twist_topic: /cmd_vel

Speed for the Twist Controller (defaults to 0.5):
twist_speed: 0.5

Topic for receiving BatteryState messages (defaults to /battery_state)
battery_state_topic: /battery_state

Topic for receiving OccupancyGrid messages (defaults to /map):
occupancy_grid_topic: /map

Topic for receiving Image messages (defaults to /camera/image_raw)
image_topic: /camera/image_raw

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages