项目由 4 个核心层次组成:
app.py 基于 Flask-SocketIO 暴露 HTTP API 与 WebSocket 事件。robot_dashboard/templates/ 提供控制台、地图、任务和系统页面。service_nodes/ 内封装 ROS 2 节点、导航逻辑、地图读取和任务队列能力。app.pyservice_nodes/WebNode.py/cmd_vel 速度指令。service_nodes/MapServer.py/map、/amcl_pose、/odom、/scan。service_nodes/NavigationClient.pyNavigateToPose Action Client。service_nodes/TaskQueueManager.pyservice_nodes/SystemShow.pyapp.py 接收指令并调用 WebNode.publish_cmd_vel()。MapServer 订阅地图、位姿和雷达话题。app.py 周期性读取缓存。/api/tasks 创建任务。TaskQueueManager 写入 SQLite。NavigationClient 执行导航,TaskQueueManager 记录状态变化。项目默认创建以下两张表:
taskstask_status_history数据库初始化脚本位于 scripts/init_database.py,同时 TaskQueueManager 也具备自动建表能力。
app.py 目前仍承担较多路由和业务编排职责,后续若继续扩展,建议拆分蓝图与服务层。