初めてのチーム開発「自動綿繰り機」を作ろう
2023-04-07
azblob://2023/04/06/eyecatch/2023-04-06-new-introduction-and-cotton-gin-000.jpg

はじめに

こんにちは。2023年4月からFIXERに入社しました。石黒です。

初めての一人暮らし生活の中で、淡々と家事をこなしていた親の偉大さを最近感じています。

自己紹介

学生時代には、C言語やjava、pythonなどを使用して開発を行っておりました。

行った開発のキーワードとしては、IoT、GPS、HTTP通信、GUI、画像処理、データベース、ロボットアーム、深層学習などです。(もしかしたら他にもあったかも...)

好きなことは、FPSゲーム、釣り、アニメ鑑賞です。最近は、FPSゲームばっかりやっちゃってます。

自動綿繰り機を作ろう

ということで本題です。20人ほどで一年間という長い期間をかけて開発を行いました。

正直、綿を繰ると言われてもあまり想像できませんよね...

そもそもの綿なのですが、

赤ちゃんの握りこぶしぐらいの大きさの綿でその中心に枝豆程度の大きさの種があるような感じです。

(伝わるかな・・・)

その綿と種が混じった状態から綿と種を分離させる機器が綿繰り機です。

初めてのチーム開発

本開発は、複数の学科でチームを作って開発しようというものが本題でした。

参加した学科は、情報科、電気科、機械科になります。自分は、情報科として参加しました。

それぞれ学科リーダーを一人ずつとチームリーダーを一人を決めるのですが、

自分は多数決で情報科のリーダーになってしまいました...

情報科のリーダーとして苦労した点は、後ほどその他苦労したことでご紹介します。

なぜ綿繰り機?

そもそもなぜ綿繰り機かというとですね。そもそもこのチーム開発の題材が複数ありまして、各題材は、実際の企業や農家さんの依頼がもとで始まってるんです。そして、中には先輩方から題材を受け継ぎより良い製品を作ろうとしている物もあります。ちなみに綿繰り機もその題材の一つです。

その各題材の中で、自分がやってみたい・学びたい技術を取り入れて開発を選ぶという流れなんです。

自分が学生時にやってみたいことが、深層学習、画像処理の分野だったのでこの分野を綿繰り機に取り入れたらより精度の良い綿繰り機ができるんじゃないかなと思いこのチームに入りました!

実装したこと

  • GUI(タッチパネル操作)

タッチパネル操作はもちろんですが、各綿繰り機構を動作できる画面や各機構に手を入れることのできないよう電磁ロックの操作をできるようにしました。

苦労した点は、表示するデザインイラストです。

使用者が画面を見て直感的に分かるようにする!と最初に決めたのはいいものの、

電気科、機械科、各先生方に見せてもなかなか伝わらなかったんですよねー...

様々な企業様のロゴやデザインの偉大さを知るきっかけにもなりました。

  • 通信(RaspberryPi2台とPLC間)

各機器(コンベアやモーターなど)に電力を供給するPLCとプログラムを実行するRaspberryPi2台をイーサネットで通信するプログラムを作成しました。通信は、必須条件だったこともあり最速で何の問題もなく開発は終了しました。

  • 綿投入部の綿量から終了時間推定(画像処理)

綿を投入する箱の中にカメラを設置することで箱の中の綿の白色の量からおよそ何分ほどで綿繰りが終わるか推定するプログラムを作成しました。

こちらで苦労した点は、カメラに映る光の強さでした。作業機械の開発なので万が一にも事故が起きないよう綿の投入部を密閉空間に設計したんです。そしてもちろん箱の中は、真っ暗。なのでLEDを等間隔に配置することによって光を調節して事なきを得ました。

  • 綿繰り終了判定(深層学習)

綿を繰る部分を見えるようにカメラを設置して、綿があるかどうかを判断するという深層学習モデルを作成しました。

500枚ほどの画像を使い、畳み込みニューラルネットワーク(CNN)を利用して学習モデルを作成しました。最終的には精度97%で綿があるかどうか判断できるようにはなりました。

ですが、誤判定で綿繰り機が終了してはいけないので、綿を運ぶコンベア上にセンサーを設置したり、終了時間推定のカメラから白色があるかなどを確認してから最終的な決定を深層学習に委ねました。

こちらで苦労した点は、機械科の作業状況によって撮影する環境が変わったことです。先ほどの終了時間推定でも苦労した光の強さも問題になりましたし、なにより綿を繰る部分の機構が何度も変更することになったからなんです。綿を繰れることが大前提ですのでその機構でカメラを設置できるかどうかはまた別問題だったんです。ですので機構が変わるたびに終了判定の動作確認をしていました。

最終的には、発表1週間前ぐらいに完成しましたが、そこから情報科のプログラム等が全てうまくいくかの確認だったので動作確認は、とてもヒヤヒヤしてみておりました。

その他苦労したこと

ダントツで提出用書類の管理です。情報科のリーダーとして決まったころからスケジュールや各学科の電子書類のフォーマット決めや書類の誤字脱字の確認など全部情報科が担っていました。つまるところ事務作業は、情報科が併せて行っておりました。そして書類の最終決定権が情報科のリーダーの自分に...

さいごに

振り返ってみるとなんだかんだ学生生活で一番楽しかったのが綿繰り機だなーと今でもしみじみと感じております。

綿繰りの実験で夜遅くまで残って綿繰り機とにらめっこなどもしておりましたが、何よりもチームで互いに話し合いながら問題を解決していく環境が素晴らしく良かった!

チーム開発を得て今後やりたいことしましては、書類系以外かな!開発に専念したいと常々思ってました!

ここまで読んでくださりありがとうございました。