生産技術、工程を自動化する その2
【最新】生産技術エンジニアのお仕事
僕は某メーカで生産技術エンジニアをしている。
このブログでは、普段仕事で考えていること、挑戦していることについて書く。
さて、生産工程の自動化について前の記事に書いた。
組み立てと悪い相性、調整と良相性
組み立ては自動化と相性が悪い。
が、調整工程は確実に自動化と相性がよい。
組み立てを自動化しようとすると大抵うまくいかないが調整工程の自動化はかなり収穫があるといってよい。
なので、調整工程を自動化することは生産技術にとって今最も期待されているミッションである。
自動化が成功している企業は成長するだと僕は思う。
理由は、自動化できている企業はシンプルに生産技術の技術力や意欲が高い。
開発される新製品というのは正直今は似たり寄ったり。
品質はどれも高い。
一部の商品を除いておおむね、値段やデザインで勝敗が決まっていると思う。
購入する理由が多いものが買われる
バルミューダは家電業界に殴りこんできたが機能が他の家電よりとびぬけて優れているとは正直感じない。
バルミューダの強さは、ダサかった家電をおしゃれなインテリアのレベルにまで引き上げたことだろう。
若い世代はここに惹かれた。
購買者は買う理由は多い商品を購入する。
機能が軒並みある程度の水準以上であれば、次はおしゃれかどうか。
それを購入することでインテリアにもなるという価値は購入する理由を他の製品よりも多く与えた。
購入する理由が多いものが買われる
話が脱線したが、要は今は機能面であまり差はつかない。
であれば、ブランドイメージとか、デザイン、値段で勝敗が決まる。
値段勝負となったときに、品質を維持しながらコストダウンが求められるが、これを可能とするためには、人手をかけないことが必要だ。
人手をかけない。
つまり全てロボットにやらせる。
ロボットで自動化する。
このロボットによる自動化で注目されている技術が、RPA(Robotic Process Automation)だ。
ロボットといってもR2-D2のようなロボットが動くわけではない。
ソフトウェアロボットを利用し、手作業をロボットで自動化してしまおうという話だ。
やることが決まっている単純または標準的な作業はロボットにやってもらう。
すると、人間はもっとクリエイティブな仕事に頭と時間を使えるようになる。
RPAは間接業務から直接業務へと
RPA自体は2016年くらいから金融などで導入が進んでおり間接業務との相性がよいことがすでにニュースなどでもよく取り上げられている。
そして、2018年ごろから変化が起こり始め、いまは直接業務への導入が進んでいる。
ここで、間接業務とは部材管理、発注管理、出荷管理など製造物を直接作る作業とは別の仕事のことをいう。
直接業務とは、その名前の通り直接製造物に直結する作業である。
ソフトの自動化というとExcelのVBAマクロをイメージする人もいると思うが、RPAとマクロで大きく異なるのは、ソフトウェアが一つに限定されないことだ。
Excelを例に挙げると、Excelの自動化はVBAマクロで可能だが、基本的にはExcelの範囲での自動化に限定されてしまうのが問題だ。
しかし、RPAを使用すればExcelに限定されない。
様々なソフトを横断した自動化が可能となる。
それはソースコードが公開されていないソフトも同様である。
つまり汎用力が爆発的だ。
RPAは何を選ぶべきか?
このRPAは色んな会社が色んなソフトを出している。
導入のためには、導入ハードルが低いものを入れる必要がある。
導入ハードルには大きく分けて二つの要因「費用」、「技術」がある。
どちらが超えやすいかは状況によって異なると思う。
技術のハードル
まず、技術の問題に関しては、RPAの有名どころで
- WinActor
- PiPath
といったツール類では人の作業を録画して勝手にプログラムを作成してくれるという機能がある。
これはど素人でも簡単に導入できるというメリットがあるので技術的な導入ハードルは低い。
しかし、一方で年間数十万円レベルでのライセンス料の支払いがあるため、費用の面でハードルが高い。
費用のハードル
続いて費用の面で圧倒的に導入しやすいのが、フリーライセンスのpythonの PyAutoGUIだ。pythonの場合は自分でプログラムを書く必要があるため、少しハードルは高いがpyAutoGUIといった便利なライブラリを使えば比較的簡単に導入できる。
逆にプログラムアレルギーの人にもわかりやすい資料を提供することができれば(こことこことを変更すればいいよ的な)技術のハードルがうんと下がる。
つまりフリーライセンスでデメリットとなる部分を解消できる。
なので個人的には、RPAの中でPython のPyautoGUIが一番導入しやすいと思っている。
PyautoGUIについてもう少し丁寧に説明する。
これはより簡単にいうと誰かが準備してくれた超便利なお道具箱である。
このライブラリをインストールしておくと超便利なコマンドが誰でも簡単に使える。
例えば、コードは下記のように書く。
import pyautogui
pyautogui.moveTo(x,y) # x,y座標まで移動する。
pyautogui.click() #左クリックする
上記が書かれたtextファイルを拡張子.pyで保存する。
で、保存したファイルをダブルクリックすると.exeファイルのように実行されるというのがpythonだ。
もう少しいうと、exeファイルをpythonでも作成することは可能である。
上記のプログラムだと、カーソルが指定された x,y座標地点に移動し、その場でクリックされる。
ショートカットがもしその座標にあれば、ショートカットが開くことになる。
そんな複雑なプログラムが超簡単にできてしまう。
あとはこれを駆使して自分がやりたいことを実現するだけだ。
PyAutoGUIは、「マウス操作」「キーボード操作」「画像処理」の三つを使ってロボットを動かす。
つまり、人の操作を上記の三つの要素に分解できれば理論上、全ての作業はロボットで操作できることになる。
なので導入時に考えるべきポイントはこうだ。
上記の「マウス操作」「キーボード操作」「画像処理」に当てはまらないものを分別し、当てはまらない「その他」の区分に対してどのようにアプローチするかだ。
「その他」、例えば基板上のDIP SWの設定変更など、手作業が入る場所をどうやって解決するかが自動化を実現する上に一番大事なポイントだ。
この解決方法が生産技術のセンスが問われる箇所になる。
いかにRPAの得意なところに作業をひっぱっていくか、苦手なところをどうやって補完するかをデザインする必要がある。
PythonでRPAを実現していく具体的な技術の話はまた別のブログに記載する。