2012 年に始まった「将棋電王戦」。プロ棋士とコンピュータ将棋ソフトの熱戦は人気を博し、その後も年に1 回のペースで開催されている。その対戦風景は、2014 年に行われた第3 回に大きく変化した。それまで、将棋ソフトが決断した手は人が代理で指していたのだが、第3 回からは棋士の眼前に座る“ロボット棋士”が指すようになったのだ。テレビやネットでその様子を目にした方も多いはずだが、このロボットがわずか1 ヶ月半で開発されたものだと知れば一様に驚かれるのではないだろうか。その超短期開発に大きく貢献したのが、ナショナルインスツルメンツ(NI)のLabVIEW である。開発に携わったデンソーウェーブ、マックシステムズ、松浦電弘社の担当者3 氏に、LabVIEWのもたらした効果について語っていただいた。
<お話を伺った方>
|
最終戦前夜、セットアップ作業を終えて入念なリハーサルを行っている模様 |
「駒の操作もロボットでやろうよ!」 |
将棋電王戦は、公益社団法人日本将棋連盟と、ニコニコ動画の開発・配信などで知られる株式会社ドワンゴの主催によって実施されているイベントである。プロ棋士とコンピュータ将棋ソフトとの戦いは高い関心を集めており、2012 年に開催された第1 回以降、年に1 回のペースで実施されている。ただ、指し手は確かに将棋ソフトが決定しているのだが、2013 年の第2 回までは駒の操作は人が代わりに行っていた。つまり、コンピュータを人が手助けしているという点で、「人類とコンピュータの戦い」が完全に実現されているわけではなかった。その基本コンセプトに沿おうとすれば、「駒の操作もコンピュータ制御にできないものか?」と考えるのは自然なことだ。そこで、2014 年の第3 回では、コンピュータ側の駒の操作をロボットによって行うというアイデアの具現化が模索された。その結果、ロボットを供給するメーカーとして選択されたのがデンソーウェーブである。しかし、デンソーウェーブにとって、打診を受けた時点では、この案件は戸惑いを禁じ得ない類のものだったようだ。そのときのことを、デンソーウェーブ 営業部 中部支店 係長の鈴木達也氏は次のように振り返っている。 |
「当初、開発すべきシステムについては仕様と呼べるようなものがまったく存在しなかった。通常、当社はシステムの自動化を実現するためのものとして、産業分野の顧客に対してロボットを供給している。それに対し、この案件の顧客であるドワンゴは、ネット向けコンテンツの配信を行っているエンターテインメント企業だ。『ロボットで駒の操作を実現したい』という思いは存在するわけだが、当然のことながら、その思いとエンジニアリング領域で必要になる仕様との間には大きな隔たりがある。そのため、どのようなかたちでその思いを具現化するのか、現実に即したイメージをしっかりと共有することから始める必要があった」。 認識の共有を進め、現実的な解を探っていった結果、図1 のようなかたちでシステムを構築することになった。その構成要素は、将棋ソフトが稼働するPC、サーバ、指し手の情報を受け取るPC、プロ棋戦専用ロボットアーム(以下、ロボットシステム)である。これら以外の要素としては、将棋盤、駒、棋士側の駒をとったときにその駒を置いておく置台、「成り」に対応して駒を裏返す操作に使用する反転台が存在する。 |
このなかで中核的な存在となるロボットシステムでは、次のような駒の操作を実現する必要があった。
上記の機能を実現するうえで、駒の移動については産業用途向けのロボット(ロボットアームとロボットコントローラから成る)を使用することにした。また駒のピックアップ/ 配置には、バキューム装置(真空用コンプレッサ)を使用する。加えて、駒の種類を識別するためには画像認識技術を適用することにした。つまり、カメラを使用したビジョンシステムを構築するということである。画像認識を行ううえでは、対象物を光で照らすことが重要なので、照明装置も必要になる。さらに、棋士の安全を確保するため(詳細は後述)に、エリアセンサも使用することにした。ロボットのプログラミングはデンソーウェーブが行うが、このシステムには、PC からの制御やビジョンの制御といった要素も含まれている。そこで、PC による制御に長けており、デンソーウェーブのロボットの制御にもすぐに対応できる企業として、マックシステムズが参画した。さらに、主に画像処理を担当する協業企業として松浦電弘社も加わった。結果として、このプロジェクトは約10 名のメンバーで進められることになったという。 |
図1. システム全体の構成
|
求められる超短期開発、次々と発覚する想定外の課題 |
このようにして日を追うごとにアウトラインは明確になってきてはいたのだが、このプロジェクトには当初から1 つの大きな課題が存在していた。それは、仕様がまったく見えないところから始まるようなプロジェクトであったのにもかかわらず、非常に短い開発期間しか許されていなかったことである。 将棋電王戦は、5 人の現役プロ棋士と5 種のコンピュータ将棋ソフトの団体戦という形態で行われる。その第1 局が行われるのは2014 年3月15 日と決まっていた。ところが、デンソーウェーブがこの案件を受託すると決まったのは2013 年12 月末のことだった。マックシステムズや松浦電弘社との協業が決まったのはその後の話であり、仕様が定まってきたときには、すでに2014 年1 月末となっていた。実際の開発作業には、その後の1 ヶ月半しか残されていなかったのだ。 このような超短期開発に対応しなければならないことだけでも大きな問題である。しかし、実際のプロジェクトでは、産業用途向けの通常の案件ではありえないさまざまな条件が次々と発覚していくことになる。以下に、代表的な例を列挙する。
|
このように、電王戦向けロボットシステムの開発は、非常に“トリッキー”な案件だった。産業用アプリケーションの開発に携わっている技術者にとっては想定外の課題が遍在しており、それらが次々と表面化するという状態だった。そのような状況のなか、1 ヶ月半のうちに開発を完了しなければならなかったのである。
|
LabVIEWが果たした役割 |
上述したさまざまな課題を解決するうえで鍵になったのが、グラフィカルシステム開発プラットフォームであるLabVIEW だ。電王戦向けのロボットシステムは、具体的には図2 のようなかたちで構築した。構成要素は先述したとおりだが、あらゆる制御の中核として、LabVIEW が稼働するWindows ベースのPC を使用している点がポイントである。 ロボットアームの動きの制御は、そのためのプログラムを搭載したロボットコントローラによって行う。このシステムでは、デンソーウェーブ製の垂直多関節ロボットアーム「VS-060」とロボットコントローラ「RC8」を採用した。このRC8 は、アプリケーションソフトウェア向けのプラットフォームとしてORiN(Open Robot/Resource Interface for the Network)を搭載している。そして、NI は、デンソーウェーブ製品で稼働するロボットプログラムとLabVIEWの連携を可能にするものとして、ORiN に対応するLabVIEW Robotics Library for DENSO を提供している。「これを利用することにより、LabVIEWとロボットコントローラの接続が非常にスムーズになり、シンプルな制御を実現することができた。このことから、開発時間を大幅に短縮することが可能になった」(鈴木氏)という。 |
図2. ロボットシステムの構成 |
また、図2 を見ると、ロボットコントローラはロボットアームのほかに、バキューム装置、エリアセンサにも接続されている。しかし、ロボットコントローラは、これらの制御の主体として機能するわけではない。「実際の制御を担っているのはLabVIEW ベースのプログラムで、ロボットコントローラはそのプログラムから送られてきた指示に従って動作しているだけだ」(鈴木氏)という。また、図に示したとおり、カメラと照明装置の制御もPC 上のLabVIEWベースのプログラムによって行う。つまり、ロボットアームの動き以外の制御は、LabVIEWベースのプログラムに集約されているということである。 さらに、画像認識に関連するあらゆる処理もLabVIEWによって実現している。この部分を担当した松浦電弘社 取締役設計部長の北野和男氏は、LabVIEW によるグラフィカルプログラミング手法の効果について、次のように語っている。 |
|
「テキストベースのプログラミング言語とは異なり、LabVIEW であれば熟練度が低い若年層の技術者でも十分に使いこなせる。基本操作としてはアイコンをワイヤーでつないでいくだけなので、テキストベースのプログラミング言語を使う場合にありがちな単純なコーディングミスは発生しない。また、デバッグを行う際にも、あらゆる情報が視覚的に示されるので、どこに問題があるのかを容易に理解できる。問題点を即座に修正して、すぐに再実行することも可能だ。このデバッグの容易さが、今回のプロジェクトでも有効に働いた」。 またデンソーウェーブの鈴木氏は、次のように述べている。 「今回の構成では、デバッグ作業をPC 上のLabVIEW 環境で完結させることができる。LabVIEW 環境に1 つのプログラムだけが存在する状態になるので、各構成要素間のハンドシェイクの確認作業などはほとんど行う必要がない。制御の主体としてPC を使用し、必要なソフトウェアをLabVIEW に集約することで、産業用途で使われている既存の技術をそのまま流用して短期開発を実現することができた。通常の産業アプリケーションと同じようなシステム構成では、納期までに開発を完了することは不可能だったであろう」。 |
写真1. 畳の下はこのような状態に |
このようにして、基本的な開発作業は1 ヶ月ほどで完了することができた。その後、テストの段階になり、このアプリケーション特有の課題を半月間のうちに解消していった。手作りの将棋盤や駒に起因する画像処理の問題なども、このテストの段階で発覚して解消された。このテスト/ 改善のフェーズでも、LabVIEW が非常に有効に機能した。この点について、マックシステムズ 営業部 SE 課 課長の岡田泰尚氏は、次のように述べている。 「このアプリケーションの場合、設置場所が毎回異なることから、現場での微調整がその都度必要になると考えられた。例えば、照明の条件なども会場ごとに異なるので、現場にシステムを設置してから微調整を施さなければならない可能性があったのだ。そうした場合でも、現場での条件に応じ、フィルタ処理やエッジ処理など、LabVIEW にあらかじめ用意された膨大な関数の中から必要なものを選び、その場で適用することができる。つまり、LabVIEW をベースとしたシステム構成にしておけば、現場であらゆる条件に対応することが可能になるということだ。短期開発が求められていたことに加え、そうした臨機応変な対応も必要であったことから、PC 上のLabVIEW 環境ですべてを管理する方法でなければ、プロジェクトを成功に導くことはできなかったと言える」。 |
|
写真2. 対局前夜、最終的な動作確認を行う岡田氏 |
ロボットアプリケーションのさらなる可能性 |
例えば、PC を使って設備を制御したい、あるいは研究/ 開発で使用しているものをそのまま製造現場でも使いたいといったケースはよくある。そうした場合にも、今回のロボットシステムと同様に、PC とLabVIEW の組み合わせが有効に機能するはずだ。実際、デンソーウェーブやマックシステムズは、ロボット、ORiN、LabVIEW を組み合わせた製造ライン向けソリューションの提案を行っているところだという。マックシステムズの岡田氏は、「PC とLabVIEWを使ったロボットシステムを構築したことから、さまざまな可能性が見えてきた。NIのPXI 製品も組み合わせれば、ロボットによる操作に伴って発生する電波や振動などの情報を取得する計測アプリケーションなども容易に実現できるだろう」と述べている。 |
|
写真3. 開発担当者近影(左:松浦電弘社の北野氏 右:マックシステムズの岡田氏)
|
本事例の詳細:LabVIEW の活用により、将棋電王戦用のロボットシステムをわずか1ヶ月半で構築
NI LabVIEWでできること
LabVIEWを次世代のソフトウェア開発に利用するメリットや、LabVIEWを採用した多くの企業での成功事例について解説した技術資料集です。