Slide 1

Slide 1 text

PythonとRaspberry Piで 現場カイゼン! @PYCON MINI SHIZUOKA 2020/2/29

Slide 2

Slide 2 text

2 59 / お前、誰よ? ● myasu 岡山県在住 ● 本業 岡山の機械メーカで生産技術 (生産ラインの設計・立ち上げ・カイゼン) → 生産設備・治具製作、社内システム開発 (PLC/ラダー言語, C++, C#, Python) Twitter: @etcinitd Qiita: @myasu GitHub: @trihome

Slide 3

Slide 3 text

3 59 / お前、誰よ?(参画コミュニティー) ● 瀬戸内ROS勉強会 (岡山主催) → ロボットミドルウェアROS ● Nerves JP  (設立メンバー) → Elixir言語で組み込み開発 ● 個人活動 「備中絡繰(からくり)製造所」 → Maker Faire出展(山口、大垣、京都、東京) → コミケ サークル参加(C95~)

Slide 4

Slide 4 text

4 59 / お伝えしたいこと テーマ 「あなたの知らないPython」 ● 生産設備屋(ハードウェア)、趣味視点でのPython活用 → 3つの作例、作り方 ● 製作を続けるためのモチベーション 小型パソコン 「Raspberry Pi」

Slide 5

Slide 5 text

作例1: 組立作業のポカよけ

Slide 6

Slide 6 text

6 59 / 背景 ● 勤務先の工場の製品・・・ → 農機具(農業で使う道具・設備) ● 「季節に合わせた製品」を「多品種・少量生産」 ・「多品種・少量生産」 ・「季節に合わせた」 →  年間約250機種。生産期間は最短3日~最長4ヶ月 →  次回の生産は、来年の同じ季節・時期

Slide 7

Slide 7 text

7 59 / 多品種少量生産の悩み ● ”ポカ” → 組立作業での部品の取り間違い → (微妙な仕様違いなど) ● 作業者の慣れに期待したいが・・・ → 次の生産は来年 → 作業者の担当の入れ替わり ● 製品寿命が短いので・・・ → 作業手順書、チェックシートの作り込みが困難 → 設備投資した費用の回収が難しい 2019 2020

Slide 8

Slide 8 text

8 59 / 現場カイゼン! 小型パソコン「Raspberry Pi」 市販のFA向け部品 工場の生産現場

Slide 9

Slide 9 text

9 59 / 作例1 ● 部品の取り間違いを防止する「ポカよけ」装置 → 部品を取り上げる順番を、ランプの点灯で誘導 → 既製品※を使わずRaspberryPiとPythonで製作 ※市販品有り、1箇所○万円・・・ ランプ付き ボタン 左から点灯、ボタンを押したら次を点灯

Slide 10

Slide 10 text

10 59 / 作例1 (実物) ランプ付き ボタン 様々な部品の 入った箱

Slide 11

Slide 11 text

作例2: 設備の稼働状況集計

Slide 12

Slide 12 text

12 59 / 設備稼働の見える化の悩み ● 加工設備の稼働状態は以前から手作業で集計 ● 自動化:加工設備メーカに相談・・・ → 高過ぎて気軽に手が出せない → 実際どのように活用出来るか? ● (2年くらい前?)旭鉄工さんの作例を思い出した → 似たような仕組みが作れないか? ● ならば、RaspberryPiとPythonで作ってみよう!

Slide 13

Slide 13 text

13 59 / 作例2(実物)

Slide 14

Slide 14 text

14 59 / 作例2(実物) NC複合旋盤に 観測装置を設置

Slide 15

Slide 15 text

15 59 / 稼働状況のモニター 収集したデータを集計して表示

Slide 16

Slide 16 text

つくりかた (細かい技術的な話し)

Slide 17

Slide 17 text

小型パソコン「Raspberry Pi」  イギリス生まれの、教育用コンピュータ HDMI出力、USBポート4つ、無線LAN、有線LAN(B) 価格:8£(約1200円)~ 65mm “Raspberry Pi Zero W” “Raspberry Pi 3 Type B+” 85mm (写真:Switch Science, raspberrypi.org) ・UNIX系のOS ・Windows が動作

Slide 18

Slide 18 text

小型パソコン「Raspberry Pi」  デジタルの入出力ポートを装備 組み込み機器の業界でも、普及が進む

Slide 19

Slide 19 text

19 59 / 工場で使われるFA機器 ● FA → Factory Automation ● スイッチ、ランプ、センサーなど・・・ ● 頑丈! ● 少々荒い使い方をしても、壊れない → (想定外の使い方で壊れると)つらい・・・ ● 電源 → 基本はDC24V

Slide 20

Slide 20 text

20 59 / RaspberryPiとPLC ● 普段は 産業向け制御装置(PLC)を使うが・・・ RaspberryPiをPLC代わりに使ってみた ● 好きな言語、OSSライブラリを活用し効率よく開発 ● いろいろな情報(図面、手順書)を、大きな画面で見たい → 大型のFA用のタッチパネルは高価 PLC  = プログラマブル ロジックコントローラ

Slide 21

Slide 21 text

21 59 / RaspberryPiのPLC(モドキ)化 ● PLCの考え方を真似る・・・ → モジュール単位で機能拡張 <モジュール> ● RaspberryPiにFA用機器※を直接接続 → 電圧の違いを相互変換する機能                        ※DC24Vで動作 ● 拡張し易い仕組みの導入 → 中国Seeed社のGROVE System CPU  IO  AD  Ether・・・

Slide 22

Slide 22 text

22 59 / FA機器とRaspberryPiの接続 FA用センサなど FA用表示灯など DC24Vで動作する機器 RaspberryPi RaspberryPi 3.3Vで動作する部品 フォトカプラで 電気的に絶縁 フォトカプラで 電気的に絶縁 フォトカプラで 電気的に絶縁 フォトカプラで 電気的に絶縁 トランジスタ アレイで 電流増幅 トランジスタ アレイで 電流増幅 センサ の信号 表示灯の 信号 表示灯を点灯 センサ の信号

Slide 23

Slide 23 text

23 59 / FA機器とRaspberryPiの接続 FA用センサなど FA用表示灯など DC24Vで動作する機器 RaspberryPi RaspberryPi 3.3Vで動作する部品 ランプ の信号 センサ の信号 GPIO24V~3.3V レベル変換 &RTCユニット

Slide 24

Slide 24 text

24 59 / GROVE System ● 豊富なデバイスとアクセサリ → 4線式でシンプルな規格 → 主要マイコン(Arduinoなど)向けIFも豊富 ● オープンな規格、”無ければ作る!” → Seeedの基板製造サービスも活用 初めて作った電子基板→

Slide 25

Slide 25 text

25 59 / RaspberryPiのPLC(モドキ)化 Grove Base Hat for Raspberry Pi UPS&電源 監視ユニット Raspberry Pi GPIO24V~3.3Vレベ ル変換 &RTCユニット アナログ GPIO24V 本装置のステータス 表示 赤:通信異常など 青:正常運転 様々な 既製品のセンサー (無ければ自作) 様々なFA機器

Slide 26

Slide 26 text

26 59 / 使い回ししやすく・・・ ● 汎用的に使える盤を製作 サーキットプロテクタ(IDEC、富士電機) 端子台(東洋技研、WAGO) RaspberryPi GROVE Hat ・プラボックス(日東工業、タカチ) ・アルミフレーム(NIC) ・ゴム足(タキゲン) コンセント(パナソニック) ランプ、スイッチ    (IDEC、オムロン) タワー表示灯 (日恵製作所、パトライト) DINレール、配線ダクト (篠原電気) 300mm 500mm

Slide 27

Slide 27 text

27 59 / Pythonライブラリ ● GPIO端子の制御 → Rpi.GPIO, pigpio 入力イベント取得:GPIO.add_event_detect が便利! ● I2C → smbus ● Grove → 公式のライブラリ Grove.py ● 見える化 → OpenPyXl → plotly

Slide 28

Slide 28 text

28 59 / 仕様:作例1(ポカよけ) ● 次に使う部品を作業者に教える → 部品箱そばのランプを点滅 ● 部品を取ったことを検知 → 人がボタンを押す → 間違ったボタンを押したら警告 (高速に点滅して「押して」アピール) ● RaspberryPiの電源管理、RTC時刻保持

Slide 29

Slide 29 text

29 59 / 全体構成(ハード) ランプ 付き ボタン 操作盤 (押しボタン&ランプ) Grove Base Hat for Raspberry Pi UPS&電源 監視ユニット 作 業 者 入出力数 拡ユニット (16ch) Raspberry Pi GPIO24V~3.3Vレベ ル変換 &RTCユニット アナログ GPIO24V 本装置のステータス 表示 測定対象 赤:通信異常など 青:正常運転 GROVE I2C ・・・

Slide 30

Slide 30 text

30 59 / Python3 プログラム 全体構成(ソフト) systemd 電源監視 sh RTC/NTP管理 sh pokad.service 時刻合わせ:起動時だけ UPS&電源監視ユニットからの 信号監視 Raspbian Buster

Slide 31

Slide 31 text

31 59 / 作例1 製作中・・・ ボタンボックスの内部 拡張基板の動作テスト

Slide 32

Slide 32 text

32 59 / 作例1 製作中・・・ 裏側の配線・・・ 整線後

Slide 33

Slide 33 text

33 59 / 作例1 (実物) ランプ付き ボタン 様々な部品の 入った箱

Slide 34

Slide 34 text

34 59 / 仕様:作例2 (設備監視) ● シグナルタワーの点灯状態の検知 → 点灯・点滅・消灯の判定(フォトTr) ● 生産設備の電源の電流値測定(CT) ● 作業者による設備ステータスの入力受付 → 自動検知できない事象は人手でボタンを押す ● 測定データをSQL Serverに転送 → LAN接続異常時は、ローカルのSQLiteに保存 ● RaspberryPiの電源管理、RTC時刻保持

Slide 35

Slide 35 text

35 59 / 全体構成(ハード) フォト トラン ジスタ CTセンサ 設備の元電源 他(押しボタン&ランプ) Grove Base Hat for Raspberry Pi UPS&電源 監視ユニット 設備 アンプ& フィルタ フィルタ Raspberry Pi GPIO24V~3.3Vレベ ル変換 &RTCユニット アナログ GPIO24V 本装置のステータス 表示 測定対象 赤:通信異常など 青:正常運転 GROVE

Slide 36

Slide 36 text

36 59 / ROS nodes 全体構成(ソフト) systemd roslaunch 電源監視デーモン RTC/NTP管理デーモン roslaunch起動スクリプト 時刻合わせ:起動時だけ UPS&電源監視ユニットからの 信号監視 respawn="true" オプション (ノードが落ちたら自動再起動) Raspbian + ROS Kinetic

Slide 37

Slide 37 text

37 59 / ROSノードの構成 /gpio_in /gpio_out /grove_ad /storage /workerstat /mystat /main GPIO入力 GPIO出力 AD変換入力 設備状態 判定 シグナルタワー 点灯状態判定 全体統括 データ書き 込み 各ノードが正常 に動いているか 監視 RPI.GPIO PyMssql PySQLite GROVE.AD pytnonライブラリ ノード msg srv /sigtowerstat

Slide 38

Slide 38 text

38 59 / 作例2 (見える化) 設備の運転状態 始業 終業 ・緑:加工中 ・黄:段取り中 当日の部品加工実績リスト (工場の生産管理システムから取得) C#.NET(スミマセン!) で作ったWindowsアプリで、見やすい形に加工 作業者の状態

Slide 39

Slide 39 text

39 59 / 実際やってみた感想 ● Pythonで手軽に作成! (豊富なライブラリが有り難い! ● 単純な事を見えるようにしただけで・・・ チョットした気付き → 改良ネタも出てきた → 作例1:時間の長すぎ・短すぎの警告 (作業自体の誤り検知) → 作例2:日報の自動入力へ展開 (作業時間、作業内容) ● 使ってもらえる! → モチベーションアップ !  !

Slide 40

Slide 40 text

作例3: コンサート会場でIoT

Slide 41

Slide 41 text

41 59 / 現場カイゼン! 小型パソコン「Raspberry Pi」 コンサート会場 (写真:Switch Science, raspberrypi.org) 教育用マイコン「micro:bit」

Slide 42

Slide 42 text

42 59 / 背景 ● とある、アイドルグループのファン → 秋葉原、沼津市、お台場が舞台 ● 2013年に出会ったのを機に、転職。 → 時間に余裕が出来たので、コミュニティやメイカー活 動を始めた → 静岡県沼津市が舞台の ”サンシャイン!!”の大ファン (画像:ラブライブ!webページ他)

Slide 43

Slide 43 text

43 59 / 自己紹介(ライブ参加歴) ● 2013年 (出会い) ・・・    ● 2017年   ・2nd埼玉 ● 2018年   ・3rd埼玉x2、3rd福岡                  ・ファンミ愛媛                  ・4th東京ドームx2 ● 2019年   ・ファンミ広島, 東京                  ・アジアツアー千葉                  ・5th埼玉 ・1st東京 ● 2020年   ←---- ラブライブ!フェス in SSA ----→                 ・CYaRon!1st福岡 (画像:ラブライブ!webページ他) μ’s Aqours 虹ヶ咲 スクールアイドル 同好会

Slide 44

Slide 44 text

44 59 / 自己紹介(ライブ参加歴) ● 2013年 (出会い) ・・・    ● 2017年   ・2nd埼玉 ● 2018年   ・3rd埼玉x2、3rd福岡                  ・ファンミ愛媛                  ・4th東京ドームx2 ● 2019年   ・ファンミ広島, 東京                  ・アジアツアー千葉                  ・5th埼玉 ・1st東京 ● 2020年   ←---- ラブライブ!フェス in SSA ----→                 ・CYaRon!1st福岡 ライブビューイング (映画館)含めると 30回以上 6日前には 北九州市に参加! (画像:ラブライブ!webページ他) μ’s Aqours 虹ヶ咲 スクールアイドル 同好会

Slide 45

Slide 45 text

45 59 / きっかけ ● コンサートの場で応援グッズとして 使われるペンライト (コンサートライト) ● その場の雰囲気に合わせ → 発光色を変えたり → 振り方を変えたり ● アーティストと観客と共につくる、”一体感”

Slide 46

Slide 46 text

46 59 / ”カイゼン”したいこと ● 色替えのボタン操作を 簡単にしたい (操作する瞬間、”素”に戻る!) ● ”オタクは3本が基本” → 実際は複数本持ち → スイッチ押しにくい・・・ 色替えボタン ペンライトの柄 “基本”の持ち方

Slide 47

Slide 47 text

47 59 / ”カイゼン”したいこと ● コンサートが始まるとtwitterが静かになる・・・ ● コンサート中の雰囲気を伝えるために、 簡単にツイートしたい       ←ココ、IoTっぽい

Slide 48

Slide 48 text

48 59 / 製作したモノ ● 音声認識でペンライトを色替え ● ペンライトを”振る”ことで自動ツイート ① ② ペンライト部 RaspberryPiと周辺機器 ③ ④ ⑤ ⑥ ⑦ ⑧ ペンライト制御の Micro:bit ペンライト RaspberryPiと 周辺機器 咽頭マイク

Slide 49

Slide 49 text

つくりかた (細かい技術的な話し)

Slide 50

Slide 50 text

50 59 / 仕組み ● キャストさんの ”愛称の読み”の辞書を 元に音声認識 → キャスト・カラーに切替 ● ペンライトを”振った”動きを micro:bitの加速度センサを トリガに使って、ツイート ● ラズパイとペンライトの無線通信 演者名 色番号 演者名 色番号 あんちゃん 1(橙色) あいきゃん 6(白色) りかこ 2(桃色) きんちゃん 7(黄色) すわわ 3(緑色) あいにゃ 8(紫色) ありさ 4(赤色) ふりりん 9(ピンク) しゅか 5(青色) (内蔵の) 加速度センサ

Slide 51

Slide 51 text

51 59 / ソフトウェア構成 micro:bit USB IF シリアル 通信入力 音声認識結果から 色番号を選定・文字列生成 Julius プロセス マイク入力 デバイス シリアル 通信監視 ツイート 内容生成 シリアル 通信出力 認識辞書ファイル Pythonスクリプト ペンライト部 micro:bit Twitter APIに 指示 無線通信

Slide 52

Slide 52 text

52 59 / ハードウェア構成 ペンライト部 RaspberryPiと周辺機器

Slide 53

Slide 53 text

53 59 / ハードウェア構成 ペンライト RaspberryPi Zero W Micro:bit USB サウンド IF 咽頭マイク スマートフォン (WiFiテザリング) twitter 出力IF 加速度センサ Micro:bit 3V電池 USB ハブ 5Vモバイル バッテリー micro:bit “RADIO” インターネット WiFi ペンライト部 RaspberryPi &周辺機器 IF:インター   フェース LTE USB アナログ デジタル USB USB

Slide 54

Slide 54 text

54 59 / こんな感じで動作!

Slide 55

Slide 55 text

55 59 / 自動ツイート

Slide 56

Slide 56 text

56 59 / ところが・・・ ● レギュレーションのため 会場には持ち込めない! ● 公式さん、はやくコレ作って・・・

Slide 57

Slide 57 text

57 59 / コンテストに応募 ● 「みんなのラズパイコンテスト 2018」 (日経BP・日経Linux/ソフトウェア主催)

Slide 58

Slide 58 text

58 59 / コンテストに応募 ● 「みんなのラズパイコンテスト 2018」 (日経BP・日経Linux/ソフトウェア主催) ● なんと入賞!

Slide 59

Slide 59 text

59 59 / まとめ ● 身の回りのちょっとした”カイゼン”に当てはめる → やりたいことの断片が分かれば  →Tipsが選べる → 自分で使う、誰かに使って貰う  →次を作るモチベーション  ● 「作りきる」こと! → ”Done is better than perfect.” 「多分動くと思うからリリースしようぜ」 → 妥協と納得の範囲内での”品質”を目指そう ● 更にモチベーションアップ! ・・・そして、”メイカー”になろう! → コンテストへの応募、MakerFaire等イベントに展示参加してみ よう!(京都5月、東京10月、大垣12月?)