robot-cloud-system

架构说明

1. 总体结构

项目由 4 个核心层次组成:

  1. Web 接入层
    app.py 基于 Flask-SocketIO 暴露 HTTP API 与 WebSocket 事件。
  2. 前端展示层
    robot_dashboard/templates/ 提供控制台、地图、任务和系统页面。
  3. 机器人服务层
    service_nodes/ 内封装 ROS 2 节点、导航逻辑、地图读取和任务队列能力。
  4. 数据持久化层
    SQLite 用于保存任务表与任务状态历史。

2. 关键模块

app.py

service_nodes/WebNode.py

service_nodes/MapServer.py

service_nodes/NavigationClient.py

service_nodes/TaskQueueManager.py

service_nodes/SystemShow.py

3. 主要数据流

控制流

  1. 浏览器通过 Socket.IO 发送控制指令。
  2. app.py 接收指令并调用 WebNode.publish_cmd_vel()
  3. ROS 2 将速度指令发布到机器人控制话题。

地图与传感器流

  1. MapServer 订阅地图、位姿和雷达话题。
  2. app.py 周期性读取缓存。
  3. 通过 Socket.IO 将最新数据推送到前端画布。

任务流

  1. 前端通过 /api/tasks 创建任务。
  2. TaskQueueManager 写入 SQLite。
  3. 前端通过 Socket.IO 触发任务执行。
  4. NavigationClient 执行导航,TaskQueueManager 记录状态变化。

4. 数据库结构

项目默认创建以下两张表:

数据库初始化脚本位于 scripts/init_database.py,同时 TaskQueueManager 也具备自动建表能力。

5. 已知结构特点