北京航空航天大学计算机学院2021春季学期嵌入式软件工程小组“拿得稳放得队”项目,所有代码、文档及小组成员分工仅供参考。
- docs:存放项目文档。
- backend:后端代码、配置文件与最终可执行脚本。
- config:后端配置文件。
- direct:前端用户使用说明与版本号。
- fri01_apps:ROS部分代码。
- web:前端代码。
本产品主要由两大部分组成。
- 机器人小智:大部分都是调用已有例程,比如建图、导航、物品抓取等,编写的代码主要是高层的控制器状态机。
- 用户服务系统:小组实现的是Java Web,可以在本地主机对机器人进行控制,后端与机器人的对接采用Java Process类来控制进程。
本产品最终实现了手动建图、航点标注、物品抓取、语音交互、系统维护等功能需求,并具备一定的异常处理能力如动态避障、物品识别失败语音反馈、前端不当操作拦截等,详见软件需求文档SRS。
- 小组共5位成员,总体分工为:
- 项目经理、ROS开发
- 需求分析师、数据库架构师、ROS开发
- 架构师、ROS开发
- 软件测试员、用户后端开发
- 软件测试员、用户前端开发
- 各代码、文档等具体分工详见项目开发总结报告PDSR和各文档。
- 五次答辩 + 一次系统验收
- 最终收获:
- 奖励自己一顿烤肉大餐。
- 5名成员的成绩全部为95分。
- Ubuntu 16.04 LTS
- ROS Kinetic Kame
- Python3 + requests
- 启智机器人官方包wpb_home
- 软件包名为
fri01_apps
,使用fri01_basic.launch
可以启动ROS端服务模式软件包。
- 语言:
Java 1.8
。 - 数据库:
MySql 5.7.33
。 - 开发框架:
SpringBoot
。 - 数据库访问框架:
MyBatis Plus
。
- 后端运行在机载电脑
localhost:8081
,需要避免端口被占用。
脚本位于script
目录下。
sql/db_init.sql
:数据库建立脚本。exec/xiaozhi.sh
:启动服务端脚本。
- 开发框架:
vue2.0
- 将
api.js
中的baseUrl
修改为后端端口 - 运行
npm run serve
cicd
脚本在.gitlab-ci.yml
文件中- 单元测试采用
jest
测试框架