ハッカソン - リフトボット#
作成日:2021 年 10 月 24 日午後 8 時 29 分
タグ:树莓派
課題の説明#
会社が引っ越した後、オフィススペースと周辺環境は大幅に改善されましたが、唯一の悪い経験はビルのエレベーターでした。エレベーターのスケジューリングアルゴリズムは非常に悪く、エレベーターを待つたびに 5〜10 分待たなければなりません。1 日に 1 人あたり約 20〜30 分エレベーターを待つことになり、会社には約 500 人の従業員がいます。30 * 500/60 = 250 時間、1 か月あたり 5500 時間、つまり 1 か月あたり 550 日の労働時間が無駄になってしまいます。同時に、訪問者が来るときにも悪い印象を与える可能性があります。私はよく考えます、もし時間を節約できたら、どんなに素晴らしいだろうと。
解決策#
誰かを見つけて、エレベーターの入り口に立たせ、エレベーターに乗りたい人がいればボタンを押して、エレベーターが到着したら乗るように通知します。
この方法を使用すると、毎月 5280 時間を節約することができますが、これは少し愚かではないでしょうか?
したがって、これらの作業を代わりに行うためにコンピュータを使用します。
携帯電話でリクエストをラズベリーパイに送信し、サーボモータでエレベーターボタンを押し、ビジョンキットを起動し、エレベーターの LED ディスプレイに表示される階層情報をコンピュータビジョンで認識し、エレベーターが近づいたら通知して乗るようにします。
ハードウェア#
ホスト#
Raspberry Pi Zero W * 2
ビジョン認識#
Google Vision Kit * 1
TensorFlow ディープラーニングボード、カメラ、ボタン、LED、ブザー
機械駆動#
WS-SG900 サーボモータ * 1
サーボモータドライバボード * 1
ネットワーク部分#
それぞれの Raspberry Pi は flask ウェブサーバを起動し、コマンドを受信および送信するために使用されます。
サーボモータを備えた Raspberry Pi#
ボタンコマンドを受信するためのインターフェースがあり、サーボモータの実行コマンドを受信し、サーボモータを駆動します。
コンピュータビジョンを備えた Raspberry Pi#
コンピュータビジョンの開始を受け付けるインターフェースを提供し、Google の AIY ビジョンボードを使用してエレベーターのダッシュボードを認識し、階層情報を特定の人にフィッシャーブックスのインターフェースを呼び出してメッセージを送信します。
モデル部分#
Google TensorFlow Mobile 版の mobilenet 認識モデルを使用して、教師あり学習分類を行います。異なる階層と上下の状況を認識します。
データ収集#
異なる階層の上下の画像を 200 枚以上収集しました。Mac の隠しファイルを削除しました。
ラベル付け#
30 の異なるラベルに分けられ、1 までの上昇、1 までの下降に分けられます。各階層はこれらの 2 つのカテゴリの画像に分類されます。
欠点#
時間の制約のため、モデルのパラメータをまだ十分に調整していないため、認識率はまだ 80%に達していません。
結果#
2021 年の会社のハッカソンで第 1 位を獲得し、1 万円の賞金を獲得しました。
Todo
制作プロセスと効果のビデオを投稿する