一个面向 移动机器人远程控制、地图可视化、导航调度、任务管理 的 Web 云控系统原型项目。
项目基于 Flask-SocketIO + ROS 2 + SQLite 构建,通过浏览器即可完成机器人运动控制、SLAM 地图查看、导航点管理、任务创建与系统状态查看,适合作为课程设计、实验项目、演示平台或二次开发基础仓库。
flowchart LR
A[Browser Web UI] --> B[Flask / Socket.IO]
B --> C[ROS 2 Service Nodes]
C --> D[Robot Topics / Actions]
B --> E[SQLite Task Storage]
C --> F[Map / Pose / Lidar Data]
F --> B
E --> B
rclpy 创建多个服务节点,与机器人话题和 Action 交互/map、/amcl_pose、/odom、/scanNavigateToPose Action Client,支持路径获取与导航队列管理
.env 与 config.py 统一管理服务配置robot_cloud_system/
├─ app.py # Flask-SocketIO 应用入口
├─ config.py # 环境变量与运行配置
├─ requirements.txt # Python 直接依赖
├─ .env.example # 配置示例
├─ maps/ # 示例地图资源
├─ robot_dashboard/
│ ├─ static/ # 静态资源
│ └─ templates/ # 页面模板
├─ service_nodes/ # ROS 2 节点与业务模块
├─ scripts/
│ └─ init_database.py # 数据库初始化脚本
└─ docs/
├─ architecture.md # 架构说明
├─ development.md # 开发与维护指南
└─ technical-reference.md # 技术文档
source /opt/ros/humble/setup.bash
sudo apt install ros-humble-rosbridge-server
sudo apt install ros-humble-rclpy
sudo apt install ros-humble-geometry-msgs
sudo apt install ros-humble-sensor-msgs
sudo apt install ros-humble-nav-msgs
sudo apt install ros-humble-tf2-ros
sudo apt install ros-humble-std-srvs
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python scripts/init_database.py
ros2 launch rosbridge_server rosbridge_websocket_launch.xml port:=9090
python app.py
默认访问地址:
http://localhost:5000app.py,降低入口文件耦合度如果你在使用过程中发现问题,或有新功能建议,欢迎通过以下方式反馈: