扫荡北航先锋是一个智能安防与清洁一体化机器人项目。本项目仓库包含完整的软件栈,分为前端、后端和ROS端三个主要部分。
随着国家“十四五”智能制造发展规划与安全生产标准化建设的深入推进,传统人工巡检和清洁模式因效率低、成本高、安全隐患多等突出问题,已无法满足绿色楼宇、智慧园区等场景的精细化管理需求。
在此背景下,本项目积极响应国家 "双碳" 战略目标,创新性构建 "感知 - 决策 - 执行" 三位一体技术架构,通过结合嵌入式技术与近年来高速发展的人工智能技术,致力于研发出一款智能安防与清洁一体化机器人——“扫荡北航先锋”,提升公共空间的安全性与环境质量,助力智慧城市与工业互联网的协同发展。
系统支持多种智能功能,具体如下:
- 三种工作模式:
- 安防巡检模式:实时监测异常物品、人员入侵等安全隐患,并进行报警。
- 拾取垃圾模式:全自动进行地面垃圾的识别与拾取。
- 清洁安保模式:同时执行安防巡检与垃圾拾取任务。
- 智能建图功能:基于SLAM技术实现环境地图的构建与动态更新。
- 人机交互功能:支持语音指令控制、状态反馈及异常报警。
- 动态避障功能:融合激光雷达与视觉信息,在复杂环境中实现动态障碍规避。
本项目采用分层架构,将系统清晰地划分为用户层、应用层、功能层和硬件层,对应代码仓库中的前端、后端和ROS端。
front-end(用户层):基于 Vue.js 构建的图形化用户界面。用户通过该界面可以进行用户注册登录、查看机器人状态、实时视频、控制机器人执行建图、导航、巡检等任务。back-end(应用层):使用 Python 开发的后端服务器。它作为前端与ROS系统之间的桥梁,负责处理业务逻辑、用户认证、数据管理(通过MySQL数据库),并通过RESTful API与前端通信,使用Rosbridge与ROS端进行WebSocket通信。ros-end(功能层 & 硬件层):机器人的核心控制系统,运行在ROS Noetic之上。此部分包含了所有机器人自主功能的实现,如:- 建图:使用
gmapping进行SLAM建图。 - 导航:使用
move_base包进行路径规划与自主导航。 - 视觉:实现火情识别、人脸识别和物体识别。
- 控制:包括底盘运动控制和机械臂抓取控制。
- 建图:使用
| 分类 | 技术 |
|---|---|
| 前端 | Vue.js (Vue2) |
| 后端 | Python |
| 机器人端 | ROS Noetic, C++, Python |
| 数据库 | MySQL 8.0.31 |
| 操作系统 | Ubuntu 20.04 LTS |
| 仿真与可视化 | Gazebo, Rviz |
.
├── README.md # 项目介绍文档
├── back-end/ # 后端服务器代码
├── front-end/ # 前端界面代码
├── ros-end/ # ROS功能包与节点代码
└── documents/ # 项目相关文档(SRS, SDD, SDP, STP, STR等)
- ROS端: Ubuntu 20.04 LTS, ROS Noetic
- 后端: Python
- 前端: Node.js 和 npm
-
启动后端
cd back-end conda create -n backend python=3.10 conda activate backend pip install -r requirements.txt python app.py -
启动前端
cd front-end npm install npm run serve -
编译与运行ROS端
cd ros-end conda deactivate catkin_make source devel/setup.bash roslaunch rosbridge_server rosbridge_websocket.launch roslaunch Aft_g1 real_robot_map_build_and_nav.launch
本项目由“答辩超人队”团队开发。
| 姓名 | 主要分工 |
|---|---|
| bzh | 开发组长,负责项目管理和三端统筹 |
| wxm | ROS组长,负责ROS中的代码书写和机器人维护 |
| grl | 测试组长,负责三端对接和进行项目测试 |
| fzy | 前端组长,负责前端界面和项目展示设计 |
| zyt | 后端组长,负责后端实现和数据库管理 |