実証を進めるための開発は主に以下の5つのステップで行った。
ステップ1の要件定義では、切削加工と形状加工の2つに絞り込んだ。「Smoothiewareにはさまざまな機械を動かすCNCが搭載されているが、今回は切削加工に限定した。また、同様に作業内容も形状加工に限定し、それに必要なGコードを抽出した」(高口氏)。次に、ステップ2として絞り込んだ要件に適合するオープンソースの必要箇所を抽出した。「実装したのは、GitHub掲載の関連ソース全体の約13.3%で必要なところのみに絞り込んだ」と高口氏は語る。
ステップ3では、Visual Studio上に必要箇所としたソースコードを流し込み、ユーザーアプリケーションとして実装し、その後、ステップ4としてTwinCAT C++上でリアルタイムソフトウェアとして稼働するようにした。処理の流れを見ると、Gコードを読ませるモジュールの部分と、サイクリック処理への修正の部分はTwinCAT C++との連携などが必要だったが、動作の指示や計画を行う部分はSmoothiewareのモジュールをそのまま使った。
基本的にはSmoothiewareを含め、今存在するソースコードをできるだけ活用することを考えたため「TwinCAT実装時に修正なしだったファイル数は33%、一部修正ありが42%となり新規開発したファイル数は全体の24%だった」高口氏は語る。また、ソースコードの実装行数として見た場合でも新規開発は約32%に抑えることができ、大幅に開発工数を削減できた。
その後、シミュレーションなどを経て問題ないことが判断できたので実機検証を開始した。しかし、実機で動かした際にはいくつか問題も出た。「これはオープンソースCNCに限らない話だが、実測値と指令値がかけはなれているところがいくつかあった。これを問題に立ち返って検証しなんとか、実測値でも問題ないように抑え込むことが可能になった」と高口氏は語る。
結果について高口氏は「実際の製品に比べると不十分なところがあるということは事実だが、条件によっては十分な形で実際に機械を動かしてモノを削ることができ、実用的な加工が行える水準だということは示すことができた。また、開発の負担については大幅に削減できることも証明できた」と語っている。実際にこれらの実証で用いたシステムについては「約2人月で完成した。実装が1人月、検証が1人月という形だ」(高口氏)。
今回の取り組みにおいて高口氏は「単純にオープンソースCNCを使うことが目的ではない」と強調する。「自前でコントローラーを開発する負担が従来は大きかったが、ハードウェアおよびソフトウェアのプラットフォームを使うことで、開発負荷を減らし、工作機械としての競争力にリソースを集中することができる。デジタル技術の進歩により、製品価値がソフトウェア中心に移ろうとしている中、プラットフォーム活用の流れは加速すると見ている。従来、制御の領域は難しいと考えられてきたが、適切なアプローチをとればできることが証明できた。グローバル含めて、同様の動きが加速する」と今後の業界の方向性について語る。
Copyright © ITmedia, Inc. All Rights Reserved.