Hackathon- Lift Bot

Created: October 24, 2021 8:29 PM
Tags: 树莓派

痛点描述

公司搬家后，办公空间和周边环境都的到了很大的提升，唯一体验倒退的，是大楼的电梯。电梯调度算法太烂，每次等电梯都要等 5-10 分钟不等，每天每人可以花费将近 20-30 分钟等电梯，公司在海亮大概 500 人，30*500/60=250 小时，每个月 5500 小时，等于每个月浪费 550 天工时。同时，访客到来时，也容易留下不好的印象。我时常想，如果能把这些时间节约下来，多好。

怎么解决

找个人，立在电梯口，有人要坐电梯，他就按一下，等电梯到了就通知要做电梯的人来。

使用这种方式，每个月依旧可以节约 5280 个小时，不过，这是不是有点太蠢了？

所以，我们使用计算机来代替我们做这些事

通过手机发送请求到树莓派，触发舵机按下电梯按钮，启动 vision kit，使用深度学习进行计算机视觉识别电梯 LED 显示屏上的楼层信息，电梯快到时，发送通知去坐电梯。

硬件设备

主机

树莓派 Zero W * 2

视觉识别

Google Vision Kit * 1

Tensorflow 深度学习主板、摄像头、按键、LED、蜂鸣器

机械驱动

WS-SG900 舵机 * 1

舵机驱动主板 * 1

网络部分

两个树莓派各启动了一个 flask 的 web 服务，用于接收命令，及发出命令。

舵机所在树莓派

有一个接收按键命令的接口，对接了一个舵机驱动板，用于接收舵机执行命令，并驱动舵机。

计算机视觉所在的树莓派

提供了接收开始计算机视觉识别的接口，调用 google 的 aiy vision 主板对电梯的仪表盘进行识别，识别出楼梯向 12 楼上下 3 位的位置逼近时，调用飞书接口给对应人发送消息。

模型部分

使用了 Google Tesorflow 移动版的 mobilenet 识别模型，用于进行监督学习分类。识别不同的楼层及上下楼情况。

数据收集

收集了不同楼层上下的图片，两百多张。去除 mac 的隐藏文件

打标签

分成 30 个不同的标签，up to 1， down to 1，每个楼层都分为这两类图片

缺陷

时间的关系，模型的参数还没调的很好，识别率还不到 80%

结果

获得了 2021 年公司 Hackthon 的第一名，并获得一万元的奖金。

Todo

贴一个制作过程及效果的视频

执行表