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.
- Control the robot’s movement in real-time via the web interface.
- Stream real-time video from the robot’s camera.
- Monitor the robot’s battery status directly from the web interface.
- View the robot’s mapped environment dynamically.
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/
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



