LabVIEW の​活用​により、​将棋​電​王​戦​用​の​ロボット​システム​を​わずか​1​ヶ月​半​で​構築

- 鈴木 達也 氏, 株式会社​デンソーウェーブ 営業​部 中部​支店 係長

"ロボット​システム​の​制御​の​主体​として​PC​を​使用​し、​必要​な​ソフトウェア​を​LabVIEW に​集約​する​こと​で、​産業​用途​で​使​われ​て​いる​既存​の​技術​を​そのまま​流用​し​て​短期​開発​を​実現​する​こと​が​でき​た。​通常​の​産業​アプリケーション​と​同じ​よう​な​システム​構成​では、​わずか 1​ヶ月​半​で​開発​を​完了​する​こと​は​不可能​だ​っ​た​で​あ​ろう。"

- 鈴木 達也 氏, 株式会社​デンソーウェーブ 営業​部 中部​支店 係長

課題:

将棋​電​王​戦​向け​に、​将棋​ソフト​が​指定​した​駒の​動き​を​実現​する​ロボット​システム​を​1​ヶ月​半​の​うち​に​開発​する。​しかも、​通常​の​産業​用途​では​決して​発生​しない​数々​の​アプリケーション​要件​を、​その​期間​内​に​解決​しな​け​れ​ば​なら​ない。

ソリューション:

LabVIEW が​稼働​する​Windows ベース​の​PC を​制御​の​中核​として​システム​を​構築​する。​制御​の​ほとんど​を​LabVIEW ベース​の​プログラム​で​実現​する​こと​で、​各​構成​要素​の​間​の​接続​を​簡素​化​する​とともに、​プログラム​の​開発/ デバッグ​効率​を​高める。​また、​LabVIEW が​備える​多様​な​関数​を​フル​に​活用​する​こと​で、​本​アプリケーション​特有​の​要件​に​も​即座​に​対応​できる​よう​に​する。

1. 背景

将棋​電​王​戦​は、​公益​社団​法人​日本​将棋​連盟​と、​ニコニコ​動画​の​開発・​配信​など​で​知​られる​株式会社​ドワンゴ​の​主催​によって​実施​さ​れ​て​いる​イベント​で​ある。​プロ​棋士​と​コンピュータ​将棋​ソフト​と​の​戦い​は​高い​関心​を​集め​て​おり、​2012 年​に​開催​さ​れ​た​第 1 回​以降、​年​に 1 回​の​ペース​で​実施​さ​れ​て​いる。​ただ、​指し手​は​確か​に​将 棋​ソフト​が​決定​し​て​いる​の​だが、​2013 年​の 第 2 回​まで​は​駒の​操作​は​人​が​代わり​に​行​って い​た。​つまり、​コンピュータ​を​人​が​手助け​し​て​いる​という​点​で、​「人類​と​コンピュータ​の​戦い」​が完全に実現されているわけではなかった。​そこで、​2014 年​の​第 3 回​では、​コンピュータ側の駒の操作をロボットによって行うことになった。​その​ロボット​を​供給​する​メーカー​として​選択​さ​れ​た​の​が​デンソーウェーブ​で​ある。

 

主催​者​側​から​打診​を​受け​た​当初​は、​開発すべきシステムについては仕様と呼べるようなものがまったく存在しなかった。​そのため、​どの​よう​なか​たち​で​主催​者​側​の​要望​を​具現​化​する​の​か、 現実​に​即​した​イメージ​を​しっかり​と​共有​する​こと​から​始める​必要​が​あっ​た。​認識​の​共有​を​進​め、 現実​的​な​解​を​探​って​い​っ​た​結果、​図 1 のようなかたちでシステムを構築することになった。​その​構成​要素​は、​将棋​ソフト​が​稼働​する PC、​サーバ、​指し手​の​情報​を​受け取る PC、​プロ​棋戦​専用​ロボット​アーム​(以下、​ロボット​システム) で​ある。​これら​以外​の​要素​として​は、​将棋​盤、​駒、 棋士​側​の​駒​を​と​っ​た​とき​に​その​駒​を​置​い​て​おく​置​台、​「成​り」​に​対応​し​て​駒​を​裏返す​操作​に​使用​する​反転​台​が​存在​する。

 

 

 

この​なか​で​中核​的​な​存在​と​なる​ロボット​システム​では、​次​の​よう​な​駒の​操作​を​実現​する​必要​が​あっ​た。

  • 駒​を​置く​操作:​将棋​ソフト​が​指定​した​コンピュータ​側​の​駒​を​ピックアップ​し、​将棋​ソフト​が​指定​した​マス​に​配置​する
  • 棋士​側​の​駒​を​とる​操作:​コンピュータ​側​の​駒​を​置く​前​に、​棋士​側​の​駒​を​ピックアップ​し​て​置​台​に​移動​する
  • 置​台​に​ある​駒​を​置く​操作:​置​台​の​上​に​ある​駒​を​ピックアップ​し、​将棋​ソフト​が​指定​した​マス​に​打つ
  • 「成​り」​の​操作:​将棋​ソフト​が​決定​した​手​が​「成​り」​で​ある​場合​に​は、​将棋​盤上​の​駒​を​ピックアップ​し、​それ​を​反転​台​に​いったん​移動​し​て​裏返し​た​うえ​で​将棋​ソフト​が​指定​した​マス​に​配置​する

 

上記​の​機能​を​実現​する​うえ​で、​駒の​移動​について​は​産業​用途​向け​の​ロボット​(ロボット​アーム​と​ロボット​コントローラ​から​成る)​を​使用​する​ことに​した。​また​駒の​ピックアップ/ 配置​に​は、​バキューム​装置​(真空​用​コンプレッサ)​を​使用​する。​加​えて、​駒の​種類​を​識別​する​ため​に​は​画像​認識​技術​を​適用​する​ことに​した。​つまり、​カメラ​を​使用​した​ビジョン​システム​を​構築​する​という​こと​で​ある。​画像​認識​を​行う​うえ​では、​対象​物​を​光​で​照らす​こと​が​重要​なので、​照明​装置​も​必要​に​なる。​さらに、​棋士​の​安全​を​確保​する​ため​(詳細​は​後述)​に、​エリアセンサ​も​使用​する​ことに​した。​ロボット​の​プログラミング​は​デンソーウェーブ​が​行う​が、​この​システム​に​は、​PC から​の​制御​や​ビジョン​の​制御​といった​要素​も​含​まれ​て​いる。​そこで、​PC による​制御​に​長​け​て​おり、​デンソーウェーブ​の​ロボット​の​制御​に​も​すぐ​に​対応​できる​企業​として、​マック​システムズ​が​参画​した。​さらに、​主に​画像​処理​を​担当​する​協業​企業​として​松浦​電​弘​社​も​加​わっ​た。

 

2. 課題

この​案件​に​は、​当初​から​1 つ​の​大きな​課題​が​存在​し​てい​た。​仕様​が​まったく​見え​ない​ところ​から​始まる​よう​な​プロジェクト​で​あっ​た​の​にもかかわらず、​非常​に​短い​開発​期間​しか​許​さ​れ​てい​なか​っ​た​ので​ある。

 

将棋​電​王​戦​は、​5 人​の​現役​プロ​棋士​と​5 種​の​コンピュータ​将棋​ソフト​の​団体​戦​という​形態​で​行​われる。​その​第​1 局​が​行​われる​の​は​2014 年​3 月​15 日​と​決まって​い​た。​ところが、​デンソーウェーブ​が​この​案件​を​受託​すると​決​まっ​た​の​は​2013 年​12 月末のことだった。​マック​システムズ​や​松浦​電​弘​社​と​の​協業​が​決​まっ​た​の​は​その後​の​話​で​あり、​仕様​が​定​ま​って​きた​ときには、​すでに​2014 年​1 月末​と​な​って​い​た。​実際​の​開発​作業​に​は、​その後​の​1 ヶ月半しか残されていなかった。

 

この​よう​な​超​短期​開発​に​対応​しな​け​れ​ば​なら​ない​こと​だけ​でも​大きな​問題​で​ある。​しかし、​実際​の​プロジェクト​では、​産業用途向けの通常の案件ではありえないさまざまな条件が次々と発覚していった。​以下​に、​代表​的​な​例​を​列挙​する。

  • 手作り​の​駒​しか​使用​でき​ない:​コンピュータ​側​の​駒の​操作​として、​例えば​「2 八​の​マス​に​ある​『銀』​を​移動​する」​場合​に​は、​「2​八」​の​マス​に​ある​駒​が​確か​に​「銀」​で​ある​という​こと​を​画像​認識​で​確認​する。​ところが、​駒​は​すべて​手作業​で​作​ら​れ​て​いる​ため、​同じ​「銀」​でも、​1 個​1 個​の​寸法​や​各面​の​角度​が​異​な​って​いる。​しかも、​「銀」​の​文字​も​手書き​なので、​1 個​1 個​に​微妙​な​違い​が​ある。​こうした​条件​に​対応​する​ため​に、​パターンマッチング用に通常よりも複雑なアルゴリズムを考案しなければならなかった
  • 棋士​の​駒​は​一定​の​位置​に​配置​さ​れ​ない:​棋士​は​各​マス​の​中​に​駒​を​置く。​しかし、​具体​的​に​マス​の​中​の​どこ​の​位置​に​置​かれる​か​は​一定​では​ない。​マス​に対して​駒​が​どの​よう​な​角度​で​配置​さ​れる​かも、​その​都度​異なる。​そのため、​棋士​が​打​っ​た​駒​を​とる​際​に​は、​その​位置​や​角度​を​画像​で​認識​し、​駒の​中心​を​狙​って​とり​に​いく​という​補正​処理​を​行う​必要​が​ある
  • 手作り​の​将棋​盤​しか​使用​でき​ない:​通常​の​産業​用​アプリケーション​で​あれ​ば、​ロボット​アーム​による​移動​の​対象​物​が​置​かれる​平坦​な​台​に​は​厳密​な​寸法​図面​が​存在​し、​それ​を​基​にし​て​移動​位置​が​厳密​に​決定​さ​れる。​しかし、​将棋​盤​は​手作り​なので​寸法​図面​は​存在​しない。​しかも、​表面​は​必ずしも​平坦​では​ないし、​まったく​同じ​寸法​の​もの​は​1 つ​も​存在​しない。​常に​1 つ​の​将棋​盤​を​使い​続ける​こと​が​主催​者​側​から​認め​ら​れ​た​ので​問題​は​緩和​さ​れ​た​が、​この​よう​な​条件​は​産業​用途​では​あり​得​ない​もの​で​あっ​た​(なお、​画像​処理​について​も、​同じ​駒​を​使い​続ける​こと​が​認め​ら​れ​た​ので、​認識/ 補正​が​成​り​立​って​いる)
  • 設置​場所​が​毎回​異なる:​ロボット​システム、​将棋​盤、​置​台、​反転​台​の​位置​関係​は、​常に​一定​でなければ​正確​な​操作​を​行う​こと​が​でき​ない。​通常​の​産業​用​システム​で​あれ​ば、​一度​設置​した​場所​から​移動​する​こと​は​ない​ため、​この​条件​を​満たす​の​は​容易​で​ある。​ところが、​電​王​戦​は​第​1 局​から​第​5 局​まで​が​それぞれ​異なる​会場​で​行​われる。​そのため、​各​会場​の​エレベータ​や​通路​など​に​収まる​大​き​さ​に​分割​できる​よう​システム​を​設計​し、​現地で正確な位置関係が再現できるように組みなおさなければならなかった。​しかも、​畳、​絨毯、​表面​が​平坦​では​ない​コンクリート​など​の​上​に​設置​し​て​も、​まったく​同じ​動作​が​安定​し​て​行​われる​よう​に​する​必要​が​あった
  • 背景​や​照明​の​条件​が​画像​認識​に​適​し​てい​ない:​画像​認識​の​成否​は、​照明​と​背景​の​条件​に​強​く​依存​する。​通常、​対象​物​が​白色​系​で​ある​場合​に​は、​背景​に​は​濃い​色​を​使用​する​といった​こと​が​行​われる。​ところが、​今回​の​背景​は、​駒と同じく木でできた将棋盤以外にありえなかった。​しかも、​実施​会場​が​毎回​異なる​こと​から、​照明​だけ​で​なく、​外乱​光​など​の​光​の​条件​も​一定​では​ない。​こうした​こと​も、​産業用途ではありえない条件だった
  • 棋士​の​安全​を​確保​しな​け​れ​ば​なら​ない:​本来、​人​と​ロボット​が​共存​する​状態​は​安全​性​の​観点​から​許​さ​れる​もの​では​ない。​やむを得ず​共存​させる​場合​に​は、​人​は​ヘルメット​を​被​り、​いつ​でも​非常​停止​ボタン​を​押せる​よう​にし​て​おく​必要​が​ある。​しかし、​対局​の​場​を​その​よう​な​環境​に​する​こと​は​でき​ない​ので、​この​アプリケーション​では、​エリアセンサ​で​棋士​を​監視​し、​許容​でき​ない​ところ​まで​ロボット​アーム​に​近​づ​い​たら​システム​が​非常​停止​する​よう​に​した

 

このように、​電​王​戦​向け​ロボット​システム​の​開発​に​は、​産業​用​アプリケーション​の​開発​に​携​わ​って​いる​技術​者​にとって​は​想定​外​の​課題​が​遍在​し​て​おり、​それらが次々に表面化するという状態だった。​それ​にもかかわらず、​1 ヶ月半のうちに開発を完了しなければならなかった。

 

3. ソリューション​/​効果

上述​した​さまざま​な​課題​を​解決​する​うえ​で​鍵​に な​っ​た​の​が、​グラフィカル​システム​開発​プラットフォーム​で​ある​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 に​示し​た​よう​に、​ロボット​コントローラ​は​ロボット​アーム​の​ほかに、​バキューム​装置、 エリアセンサ​に​も​接続​さ​れ​て​いる。​しかし、​ロボット​コントローラ​は、​これらの​制御​の​主体​として​機能​する​わけ​では​ない。​実際​の​制御​を​担​って​いる​の​は​LabVIEW ベース​の​プログラム​で​あり、​ロボット​コントローラ​は​その​プログラム​から​送​ら​れ​て​きた​指示​に従って​動作​し​て​いる​だけ​だ。​また、​図​に​示し​た​とおり、​カメラ​と​照明​装置​の​制御​も​PC 上の​LabVIEW ベース​の​プログラム​によって​行う。​つまり、​ロボット​アーム​の 動き​以外​の​制御​は、​LabVIEW ベース​の​プログラム​に​集約​さ​れ​て​いる​という​こと​で​ある。

 


 

さらに、​画像​認識​に​関連​する​あらゆる​処理​も LabVIEW によって​実現​した。​テキスト​ベース​の​プログラミング​言語​と​は​異​なり、​LabVIEW で​あれ​ば​熟練​度​が​低い​若年​層​の​技術​者​でも​十分​に​使いこなせる。​基本​操作​として​は​アイコ​ン​を​ワイヤー​で​つ​ない​で​いく​だけ​なので、​テキスト​ベース​の​プログラミング​言語​を​使う​場合​に​あり がち​な​単純​な​コーディング​ミス​は​発生​しない。 また、​デバッグ​を​行う​際​に​も、​あらゆる​情報​が​視覚​的​に​示​さ​れる​ので、​どこ​に​問題​が​ある​の​か​を​容易​に​理解​できる。​問題​点​を​即座​に​修正​し​て、 すぐ​に​再​実行​する​こと​も​可能​だ。​この​デバッグ​の​容易​さ​が、​今回​の​プロジェクト​でも​有効​に​働​い​た。

 

今回​の​構成​では、​デバッグ​作業​を​PC 上の LabVIEW 環境​で​完結​させる​こと​が​できる。 LabVIEW 環境​に​1 つ​の​プログラム​だけ​が​存 在​する​状態​に​なる​ので、​各​構成​要素​間​の​ハンド​シェイク​の​確認​作業​など​は​ほとんど​行う​必要​が​ない。​制御​の​主体​として​PC を​使用​し、​必要​な​ソフトウェア​を​LabVIEW に​集約​する​こと​で、 産業​用途​で​使​われ​て​いる​既存​の​技術​を​そのまま​流用​し​て​短期​開発​を​実現​する​こと​が​でき​た。​通常​の​産業​アプリケーション​と​同じ​よう​な​システム​構成​では、​納期​まで​に​開発​を​完了​する​こと​は 不可能​だ​っ​た​で​あ​ろう。

 

このように​し​て、​基本​的​な​開発​作業​は​1 ヶ月ほ ど​で​完了​する​こと​が​でき​た。​その後、​テスト​の​段階​に​なり、​このアプリケーション特有の課題を半月間のうちに解消していった。​手作り​の​将棋​盤​や​駒​に​起因​する​画像​処理​の​問題​など​も、​この​テスト​の​段階​で​解消​した。​この​テスト/ 改善 の​フェーズ​でも、​LabVIEW が​非常​に​有効​に​機能​した。

 

この​アプリケーション​の​場合、​設置​場所​が​毎回​異なる​こと​から、​現場での微調整がその都度必要になると考えられた。​例えば、​照明​の​条件​など​も​会場​ごと​に​異なる​ので、​現場​に​システム​を​設置​し​て​から​微​調整​を​施​さ​な​け​れ​ば​なら​ない 可能性​が​あっ​た。​そうした​場合​でも、​現場​で​の​条件​に​応​じ、​フィルタ​処理​や​エッジ​処理​など、 LabVIEW に​あらかじめ​用意​さ​れ​た​膨大​な​関数 の​中​から​必要​な​もの​を​選び、​その​場​で​適用​する​こと​が​できる。​つまり、​LabVIEW を​ベース​と​した​システム​構成​にし​て​お​け​ば、​現場​で​あらゆる​条件​に​対応​する​こと​が​可能​に​なる​という​こと​だ。​短期​開発​が​求め​ら​れ​てい​た​ことに​加​え、​そうした​臨機応変​な​対応​も​必要​で​あっ​た​こと​から、​PC 上の​LabVIEW 環境​で​すべて​を​管理​する​方法​でなければ、​プロジェクト​を​成功​に​導く​こと​は​でき​なか​っ​た​と​言える。

 

4. 今後​の​展開

例えば、​PC を​使​って​設備​を​制御​した​い、​あるいは​研究/ 開発​で​使用​し​て​いる​もの​を​そのまま​製造​現場​でも​使い​たい​といった​ケース​は​よく​ある。​そうした​場合​に​も、​今回​の​ロボット​シ​ステ ム​と​同様​に、​PC と​LabVIEW の​組み合わせ​が 有効​に​機能​する​はず​だ。​実際、​デンソーウェーブ​や​マック​システムズ​は、​ロボット、​ORiN、 LabVIEW を​組み合わせ​た​製造​ライン​向け​ソリューション​の​提案​を​行​って​いる​ところ​だ。 PC と​LabVIEW を​使​っ​た​ロボット​システム​を 構築​した​こと​から、​さまざま​な​可能性​が​見え​て​きた。​NI の​PXI 製品も組み合わせれば、​ロボット​による​操作​に​伴​って​発生​する​電波​や​振動​など​の​情報​を​取得​する​計測​アプリケーション​など​も​容易​に​実現​できる​だ​ろう。

 

著者​情報:

鈴木 達也 氏
​株式会社​デンソーウェーブ 営業​部 中部​支店 係長
​Japan

図​1. ​ ​モーター​用​ECU​の​開発​プロセス​(V​字​プロセス) ​
図​2. ​ ​ロボット​システム​の​構成 ​
図​3. ​ ​駒​を​認識​し​て​いる​ところ ​