/BUAA_SE_Embedded_2021

Source code and documents for course BUAA Software Engineering Embedded 2021. 北航计算机学院2021春季学期嵌入式软件工程代码与文档.

Primary LanguageVue

2021软件工程:家政服务机器人小智

北京航空航天大学计算机学院2021春季学期嵌入式软件工程小组“拿得稳放得队”项目,所有代码、文档及小组成员分工仅供参考。

目录

  • docs:存放项目文档。
  • backend:后端代码、配置文件与最终可执行脚本。
  • config:后端配置文件。
  • direct:前端用户使用说明与版本号。
  • fri01_apps:ROS部分代码。
  • web:前端代码。

整体说明

项目概述

本产品主要由两大部分组成。

  • 机器人小智:大部分都是调用已有例程,比如建图、导航、物品抓取等,编写的代码主要是高层的控制器状态机。
  • 用户服务系统:小组实现的是Java Web,可以在本地主机对机器人进行控制,后端与机器人的对接采用Java Process类来控制进程。

本产品最终实现了手动建图、航点标注、物品抓取、语音交互、系统维护等功能需求,并具备一定的异常处理能力如动态避障、物品识别失败语音反馈、前端不当操作拦截等,详见软件需求文档SRS。

小组介绍

  • 小组共5位成员,总体分工为:
    • 项目经理、ROS开发
    • 需求分析师、数据库架构师、ROS开发
    • 架构师、ROS开发
    • 软件测试员、用户后端开发
    • 软件测试员、用户前端开发
  • 各代码、文档等具体分工详见项目开发总结报告PDSR和各文档。

验收成果

  • 五次答辩 + 一次系统验收
  • 最终收获:
    • 奖励自己一顿烤肉大餐。
    • 5名成员的成绩全部为95分。

家政服务机器人小智ROS端说明

环境需求

  • Ubuntu 16.04 LTS
  • ROS Kinetic Kame
  • Python3 + requests
  • 启智机器人官方包wpb_home

运行说明

  • 软件包名为fri01_apps,使用fri01_basic.launch可以启动ROS端服务模式软件包。

家政服务机器人小智 Web系统后端说明

开发环境

  • 语言:Java 1.8
  • 数据库:MySql 5.7.33
  • 开发框架:SpringBoot
  • 数据库访问框架:MyBatis Plus

运行说明

  • 后端运行在机载电脑localhost:8081,需要避免端口被占用。

附加脚本

脚本位于script目录下。

  • sql/db_init.sql:数据库建立脚本。
  • exec/xiaozhi.sh:启动服务端脚本。

家政服务机器人小智 Web系统前端说明

开发环境

  • 开发框架:vue2.0

运行说明

  • api.js中的baseUrl修改为后端端口
  • 运行npm run serve

额外说明

  • cicd脚本在.gitlab-ci.yml文件中
  • 单元测试采用jest测试框架

贡献者