IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 川崎重工業株式会社の特許一覧

特許7529866ロボット操作システム及びロボット操作方法
<>
  • 特許-ロボット操作システム及びロボット操作方法 図1
  • 特許-ロボット操作システム及びロボット操作方法 図2
  • 特許-ロボット操作システム及びロボット操作方法 図3
  • 特許-ロボット操作システム及びロボット操作方法 図4
  • 特許-ロボット操作システム及びロボット操作方法 図5
  • 特許-ロボット操作システム及びロボット操作方法 図6
  • 特許-ロボット操作システム及びロボット操作方法 図7
  • 特許-ロボット操作システム及びロボット操作方法 図8
  • 特許-ロボット操作システム及びロボット操作方法 図9
  • 特許-ロボット操作システム及びロボット操作方法 図10
  • 特許-ロボット操作システム及びロボット操作方法 図11
  • 特許-ロボット操作システム及びロボット操作方法 図12
  • 特許-ロボット操作システム及びロボット操作方法 図13
  • 特許-ロボット操作システム及びロボット操作方法 図14
  • 特許-ロボット操作システム及びロボット操作方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-29
(45)【発行日】2024-08-06
(54)【発明の名称】ロボット操作システム及びロボット操作方法
(51)【国際特許分類】
   B25J 13/02 20060101AFI20240730BHJP
   B25J 13/00 20060101ALI20240730BHJP
   B25J 9/22 20060101ALI20240730BHJP
   G05B 19/42 20060101ALI20240730BHJP
   A63F 13/65 20140101ALI20240730BHJP
   A63F 13/28 20140101ALI20240730BHJP
【FI】
B25J13/02
B25J13/00 Z
B25J9/22 A
G05B19/42 J
A63F13/65
A63F13/28
【請求項の数】 2
(21)【出願番号】P 2023132020
(22)【出願日】2023-08-14
(62)【分割の表示】P 2019105728の分割
【原出願日】2019-06-05
(65)【公開番号】P2023138868
(43)【公開日】2023-10-02
【審査請求日】2023-09-13
(31)【優先権主張番号】P 2018151917
(32)【優先日】2018-08-10
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】弁理士法人有古特許事務所
(72)【発明者】
【氏名】橋本 康彦
(72)【発明者】
【氏名】掃部 雅幸
(72)【発明者】
【氏名】田中 繁次
(72)【発明者】
【氏名】丸山 佳彦
【審査官】國武 史帆
(56)【参考文献】
【文献】特開2020-026024(JP,A)
【文献】特表2017-519644(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/42
A63F 13/00 - 13/98
(57)【特許請求の範囲】
【請求項1】
ゲームプログラムを実行するゲームコンピュータ、前記ゲームコンピュータへの操作の入力を受け付けるゲームコントローラ、及び、前記ゲームコンピュータから出力された仮想空間を表示するディスプレイを有するゲーム端末と、
ロボット制御データに基づいて実空間で作業を行うロボットと、
前記ロボット及び前記ゲーム端末に通信可能に接続され、前記ゲーム端末と前記ロボットとを仲介する情報処理装置と、を備え、
前記情報処理装置は、前記ロボットが行う前記作業の内容に関する情報と作業対象に関する情報とを含む作業データを取得し、前記作業データを所定の第2変換規則に基づいてゲームパラメータを含むゲームデータに変換し、前記ゲームデータを前記ゲーム端末へ送信するように構成され、
前記ゲーム端末は、受信した前記ゲームデータ中の前記ゲームパラメータを予め取得したゲームユーザの技能レベルに応じて修正して当該ゲームパラメータを前記ゲームプログラムに適用して前記ゲームプログラムを実行することにより、前記ゲームユーザに前記ゲームパラメータが反影されたコンピューティングゲームを提供し、前記ゲームユーザのゲームプレイ中に操作の入力を受け付けてゲーム操作データを生成し、前記ゲーム操作データを前記情報処理装置に送信するように構成され、
前記情報処理装置は、受信した前記ゲーム操作データを所定の第1変換規則に基づいて前記ロボット制御データに変換し、前記ロボット制御データを前記ロボットへ送信するように構成され、
前記ロボットは、受信した前記ロボット制御データに基づいて前記作業を実行するように構成されており、
前記作業データは前記作業対象の画像を含み、前記情報処理装置は、前記作業データ中の前記画像から前記作業対象の表面形状を前記第2変換規則によって前記仮想空間の物体の落下又は配色のパターンに変換し、前記ゲームパラメータは前記ディスプレイに表示される前記仮想空間に前記パターンを出現させる情報を含む、
ロボット操作システム。
【請求項2】
ゲームプログラムを実行するゲームコンピュータ、前記ゲームコンピュータへの操作の入力を受け付けるゲームコントローラ、及び、前記ゲームコンピュータから出力された仮想空間を表示するディスプレイを有するゲーム端末と、ロボット制御データに基づいて実空間で作業を行うロボットと、前記ロボット及び前記ゲーム端末に通信可能に接続され、前記ロボット及び前記ゲーム端末を仲介する情報処理装置とを備えたシステムにおいて前記ロボットを操作するロボット操作方法であって、
前記情報処理装置が、前記ロボットが行う前記作業の内容に関する情報と作業対象に関する情報とを含む作業データを取得し、前記作業データを所定の第2変換規則に基づいてゲームパラメータを含むゲームデータに変換し、前記ゲームデータを前記ゲーム端末へ送信すること、
前記ゲーム端末が、受信した前記ゲームデータ中の前記ゲームパラメータを予め取得したゲームユーザの技能レベルに応じて修正して当該ゲームパラメータを前記ゲームプログラムに適用して前記ゲームプログラムを実行することにより、前記ゲームユーザに前記ゲームパラメータが反影されたコンピューティングゲームを提供し、前記ゲームユーザのゲームプレイ中に操作の入力を受け付けてゲーム操作データを生成し、前記ゲーム操作データを前記情報処理装置に送信すること、
前記情報処理装置が、受信した前記ゲーム操作データを所定の第1変換規則に基づいて前記ロボット制御データに変換し、前記ロボット制御データを前記ロボットへ送信すること、及び、
前記ロボットが、受信した前記ロボット制御データに基づいて前記作業を実行すること、を含み、
前記作業データは前記作業対象の画像を含み、前記作業データを前記ゲームデータに変換することが、前記作業データ中の前記画像から前記作業対象の表面形状を前記第2変換規則によって前記仮想空間の物体の落下又は配色のパターンに変換することを含み、前記ゲームパラメータが前記ディスプレイに表示される前記仮想空間で前記物体の前記パターンを再現させる情報を含む、
ロボット操作方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータゲームと産業用ロボットとを融合する技術に関する。
【背景技術】
【0002】
従来、コンピュータゲームと実物体であるロボットとを組み合わせる技術が提案されている。特許文献1,2は、この種の技術を開示する。なお、本明細書における「コンピュータゲーム」とは、コンピュータ上で動作し、コンピュータと実人間の間で行なわれるゲームの総称であり、ビデオゲーム等とも称される。
【0003】
特許文献1には、溶接用及びレーザー加工用の産業用ロボットが、ティーチング及び操作入力用のコントローラとして、家庭用コンピュータゲーム端末のゲームコントローラを備えることが記載されている。ゲームコントローラと産業用ロボットの関連付けは、一般に市販されているパーソナルコンピュータを用いて周知のプログラム手段を通じて行われる。
【0004】
特許文献2では、複数の物理エージェント(例えば、車両やそのアクセサリなどのゲーム用ロボット)が存在する実空間と、ユーザ入力による物理エージェントへの動作指令を受け付けるコントローラと、物理エージェントとコントローラの間を仲介するホストデバイスとを備え、実空間で複数の物理エージェントを競争させるゲーム(例えば、カーレースゲーム)を実行するためのシステムが開示されている。ホストデバイスは、ユーザの制御下にある仮想空間と、実空間とがリアルタイム等価性を維持するように、物理エージェントを動作させて実空間の状態を変化させたり、仮想空間の状態を変化させたりする。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2012-139746号公報
【文献】特表2015-533534号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
熟練のゲームユーザは、コンピュータゲーム端末のディスプレイに映し出された仮想空間の状態を瞬時に把握し、それに対応して直感的且つ正確にゲームコントローラを操作することにより指令を入力することができる。本願の発明者らは、このようなゲームユーザの優れた技能を、産業のための資源として活用することを検討している。
【0007】
特許文献1では、ロボットオペレータがゲーム感覚で産業用ロボットを操作できるという効果がうたわれている。しかし、ロボットオペレータは、産業用ロボットが作業をしている実空間を目の当たりにすることから、ゲーム感覚よりも労働しているという感覚が勝る。
【0008】
特許文献2では、ゲームユーザの制御下にある仮想空間は実空間と等価性を有するため、ゲームユーザが認識する仮想空間は実空間の範疇を超えない。
【0009】
本来、ゲームは娯楽を目的としたものである。ゲームユーザにとっては、労働しているという感覚を受けるゲームは面白味に欠け、意欲の低下につながるおそれがある。本開示では、非日常的な仮想空間を楽しむという娯楽性を損なわずに、ゲームユーザがゲームプレイ中に入力した操作によってロボットが労働を行う仕組みを提案する。
【課題を解決するための手段】
【0010】
本開示の一態様に係るロボット操作システムは、
ゲームプログラムを実行するゲームコンピュータ、前記ゲームコンピュータへの操作の入力を受け付けるゲームコントローラ、及び、前記ゲームコンピュータから出力された仮想空間を表示するディスプレイを有するゲーム端末と、
ロボット制御データに基づいて実空間で作業を行うロボットと、
前記ロボット及び前記ゲーム端末に通信可能に接続され、前記ゲーム端末と前記ロボットとを仲介する情報処理装置と、を備え、
前記情報処理装置は、前記ロボットが行う前記作業の内容に関する情報と作業対象に関する情報とを含む作業データを取得し、前記作業データを所定の第2変換規則に基づいてゲームパラメータを含むゲームデータに変換し、前記ゲームデータを前記ゲーム端末へ送信するように構成され、
前記ゲーム端末は、受信した前記ゲームデータ中の前記ゲームパラメータを予め取得したゲームユーザの技能レベルに応じて修正して当該ゲームパラメータを前記ゲームプログラムに適用して前記ゲームプログラムを実行することにより、前記ゲームユーザに前記ゲームパラメータが反影されたコンピューティングゲームを提供し、前記ゲームユーザのゲームプレイ中に操作の入力を受け付けてゲーム操作データを生成し、前記ゲーム操作データを前記情報処理装置に送信するように構成され、
前記情報処理装置は、受信した前記ゲーム操作データを所定の第1変換規則に基づいて前記ロボット制御データに変換し、前記ロボット制御データを前記ロボットへ送信するように構成され、
前記ロボットは、受信した前記ロボット制御データに基づいて前記作業を実行するように構成されており、
前記作業データは前記作業対象の画像を含み、前記情報処理装置は、前記作業データ中の前記画像から前記作業対象の表面形状を前記第2変換規則によって前記仮想空間の物体の落下又は配色のパターンに変換し、前記ゲームパラメータは前記ディスプレイに表示される前記仮想空間に前記パターンを出現させる情報を含むものである。
【0011】
本開示の一態様に係るロボット操作方法は、
ゲームプログラムを実行するゲームコンピュータ、前記ゲームコンピュータへの操作の入力を受け付けるゲームコントローラ、及び、前記ゲームコンピュータから出力された仮想空間を表示するディスプレイを有するゲーム端末と、ロボット制御データに基づいて実空間で作業を行うロボットと、前記ロボット及び前記ゲーム端末に通信可能に接続され、前記ロボット及び前記ゲーム端末を仲介する情報処理装置とを備えたシステムにおいて前記ロボットを操作するロボット操作方法であって、
前記情報処理装置が、前記ロボットが行う前記作業の内容に関する情報と作業対象に関する情報とを含む作業データを取得し、前記作業データを所定の第2変換規則に基づいてゲームパラメータを含むゲームデータに変換し、前記ゲームデータを前記ゲーム端末へ送信すること、
前記ゲーム端末が、受信した前記ゲームデータ中の前記ゲームパラメータを予め取得したゲームユーザの技能レベルに応じて修正して当該ゲームパラメータを前記ゲームプログラムに適用して前記ゲームプログラムを実行することにより、前記ゲームユーザに前記ゲームパラメータが反影されたコンピューティングゲームを提供し、前記ゲームユーザのゲームプレイ中に操作の入力を受け付けてゲーム操作データを生成し、前記ゲーム操作データを前記情報処理装置に送信すること、
前記情報処理装置が、受信した前記ゲーム操作データを所定の第1変換規則に基づいて前記ロボット制御データに変換し、前記ロボット制御データを前記ロボットへ送信すること、及び、
前記ロボットが、受信した前記ロボット制御データに基づいて前記作業を実行すること、を含み、
前記作業データは前記作業対象の画像を含み、前記作業データを前記ゲームデータに変換することが、前記作業データ中の前記画像から前記作業対象の表面形状を前記第2変換規則によって前記仮想空間の物体の落下又は配色のパターンに変換することを含み、前記ゲームパラメータが前記ディスプレイに表示される前記仮想空間に前記パターンを出現させる情報を含むものである。
【0012】
【0013】
【0014】
【発明の効果】
【0015】
本開示によれば、非日常的な仮想空間を楽しむという娯楽性を損なわずに、ゲームユーザがゲームプレイ中に入力した操作によってロボットが労働を行う仕組みを提案することができる。
【図面の簡単な説明】
【0016】
図1図1は、本開示の一実施形態に係るロボット操作システムの全体的な構成を示すブロック図である。
図2図2は、ゲーム端末の構成を示すブロック図である。
図3図3は、ゲームコントローラの一例の外観図である。
図4図4は、仲介サーバの機能ブロック図である。
図5図5は、仲介サーバとして機能するコンピュータの構成を示すブロック図である。
図6図6は、学習装置による機械学習の流れを説明する図である。
図7図7は、ゲームデータ生成装置の機能を説明する図である。
図8図8は、ロボット制御データ生成装置の機能を説明する図である。
図9図9は、適用例1においてゲーム端末のディスプレイに表示されるゲーム画面の一例である。
図10図10は、適用例1における作業データの一例を説明する図である。
図11図11は、ロボット操作システムによる処理の流れ図である。
図12図12は、変形例1に係る仲介サーバの機能ブロック図である。
図13図13は、ロボット操作システムの適用例2を説明する、ロボット操作システムの全体的な構成を示すブロック図である。
図14図14は、適用例2においてゲーム端末のディスプレイに表示されるゲーム画面の一例である。
図15図15は、適用例2における作業データの一例を説明する図である。
【発明を実施するための形態】
【0017】
次に、図面を参照して本開示の実施の形態を説明する。
【0018】
図1は、本開示の一実施形態に係るロボット操作システム1の構成を説明するブロック図である。ロボット操作システム1は、ゲーム端末3、仲介サーバ2、ロボット5、及び通信手段4を備える。通信手段4は、ゲーム端末3と仲介サーバ2との間を相互に通信可能に接続し、仲介サーバ2とロボット5との間を相互に通信可能に接続する。通信手段4は、例えば、LAN、WAN、インターネットなどの通信ネットワークであってよい。このロボット操作システム1において、ゲームユーザは、ゲーム端末3を用いてコンピュータゲームを楽しむゲームプレイヤであるとともに、ロボット5を操作するロボットオペレータである。
【0019】
〔ゲーム端末3〕
ゲーム端末3は、ゲームコンピュータ31、ゲームコントローラ38、ディスプレイ35、及び、スピーカ37を備える。ゲーム端末3として、業務用ゲーム専用機、テレビをディスプレイとして利用する家庭用ゲーム端末、携帯型液晶ゲーム端末、情報キオスク端末、スマートフォン、タブレットコンピュータ、デスクトップコンピュータ、及び、ラップトップコンピュータなどが使用され得る。ここでは、ゲーム端末3として家庭用ゲーム端末を採用した例を説明する。
【0020】
図2は、ゲーム端末3の概略構成を示すブロック図である。図2に示すように、ゲーム端末3のゲームコンピュータ31は、メインプロセッサ311、サウンドプロセッサ312、I/Oプロセッサ313、グラフィックスプロセッサ315、及び、メモリ316を含む。サウンドプロセッサ312及びメモリ316は、内部バスを介してI/Oプロセッサ313と接続されている。メインプロセッサ311とI/Oプロセッサ313とは互いに接続されている。メインプロセッサ311とグラフィックスプロセッサ315とは互いに接続されている。I/Oプロセッサ313は、図示されないシリアルインターフェースを介してゲームコントローラ38などの入出力デバイスと接続される。I/Oプロセッサ313は、図示されない通信インターフェースを介して仲介サーバ2などの外部装置と通信する。
【0021】
ゲーム端末3は、仲介サーバ2との間で通信を行うことにより、仲介サーバ2からゲームプログラムをダウンロードすることができる。ダウンロードしたゲームプログラムやセーブデータはメモリ316に格納される。ゲームプログラムやセーブデータは、記憶装置314に格納されていてもよい。
【0022】
I/Oプロセッサ313は、ゲームユーザが操作するゲームコントローラ38からの操作信号をメインプロセッサ311に供給する。メインプロセッサ311は、ゲームプログラムを読み出して実行し、所定の演算を行う。グラフィックスプロセッサ315は、メインプロセッサ311からの指示に従って描画処理を行い、フレームデータを生成し、ビデオ信号をディスプレイ35に出力する。サウンドプロセッサ312は、メインプロセッサ311からの指示に従って音声データを復号して再生し、スピーカ37に出力する。
【0023】
メインプロセッサ311は、ゲームユーザがゲームコントローラ38を介して入力した操作信号等からゲーム操作データを作成し、I/Oプロセッサ313へ渡す。I/Oプロセッサ313は、ゲーム操作データを仲介サーバ2へ送信する。ゲーム操作データは、ゲームプログラムの識別情報と、ゲームユーザの識別情報と、ゲームユーザがゲームプレイ中にゲームコントローラ38を介して入力した操作の履歴とを少なくとも含む。
【0024】
ゲームコントローラ38は、操作子381と、操作子381の操作量を検出する操作検出器382と、操作検出器382で検出された操作量を操作信号としてゲームコンピュータ31へ出力する通信器383とを備える。操作子381は、例えば、タッチディスプレイ、キーボード、マウス、十字キー、スティック、ボタン、ボール、レバーなどの公知の操作子のうちの1つ、又は、複数の組み合わせであってよい。
【0025】
図3は、ゲームコントローラ38の一例の外観図である。図3に示すゲームコントローラ38は、略U字形の外形を呈する。ゲームユーザは、両翼部のハンドル101L,101Rを左右両手で把持して操作する。ゲームコントローラ38の左右上面には操作ボタン群110,120、アナログスティック112,122が設けられており、ゲームコントローラ38の右前面にはRボタン111、左前面にはLボタン121がそれぞれ設けられている。操作ボタン群110及びアナログスティック112はゲームユーザの右手親指で操作され、操作ボタン群120及びアナログスティック122はゲームユーザの左手親指で操作される。また、Rボタン111、Lボタン121は、それぞれゲームユーザの右手人指し指、左手人指し指で操作される。ゲームコントローラ38は、操作ボタン群110と操作ボタン群120との間にタッチディスプレイ130を更に備える。
【0026】
〔ロボット5〕
ロボット5は、例えば、工場などの現場に設置されて、実空間で作業を行う産業用ロボットである。このような産業用ロボットとして、垂直多関節型ロボット、水平多関節型ロボット、パラレルリンク型ロボット、極座標ロボット、円筒座標型ロボット、直角座標型ロボット等が例示される。なお、図1では1台のロボット5が示されているが、ロボット操作システム1は複数のロボット5を備えてよい。
【0027】
本実施形態では、ロボット5の一例として、塗装作業を行う塗装用ロボットを用いる。ロボット5は、マニピュレータ204と、マニピュレータ204の先端に装着されたエンドエフェクタ206と、ロボットコントローラ201とを備える。ロボット5は、ロボット5(詳細には、マニピュレータ204及びエンドエフェクタ206)に対する操作の入力を受け付けるロボット操作器213を更に備える。ロボット5は、ロボットビジョンを更に備えてもよい(図示略)。ロボットコントローラ201は、マニピュレータ204、エンドエフェクタ206、及び、ロボット操作器213と通信可能に接続されている。ロボットコントローラ201は、コンピュータを備え、プロセッサで格納されたプログラムやロボット操作器213から入力される各種信号の解読や演算処理を行うことにより、マニピュレータ204の動作制御、エンドエフェクタ206の動作制御、各種出力ポートからの信号出力などを司る。
【0028】
本実施形態において、エンドエフェクタ206は塗装ガン206Aである。塗装ガン206Aは、ノズル207と、ノズル207へ塗料を供給する塗料供給装置202と、ノズル207へ圧縮空気を送り出すコンプレッサ205と、ノズル207からの塗料の吐出量(吐出のON・OFFを含む)を調整する弁装置203とを備える。弁装置203の動作は、ロボットコントローラ201によって制御される。
【0029】
ロボット5の近傍には、ワーク211を保持する治具210が配置されている。また、ロボット5の近傍には、治具210、ワーク211、及びロボット5を含むロボット5の作業空間を三次元で撮像する撮像装置CAが設けられている。撮像装置CAは作業空間を二次元で撮像するものであってもよい。撮像装置CAで生成された撮像データは、通信手段4を介して仲介サーバ2へ送信される。
【0030】
〔仲介サーバ2〕
図4は、仲介サーバ2の構成を示すブロック図である。図4に示すように、仲介サーバ2は、第1学習装置41と、ゲームデータ生成装置42と、ロボット制御データ生成装置43と、記憶装置24とを備える。第1学習装置41は、AI(artificial intelligence)技術を用いて、第1学習済みモデルを作成する。ゲームデータ生成装置42は、ロボット5の作業データからゲームデータを生成し、それをゲーム端末3へ提供する。ロボット制御データ生成装置43は、ゲーム端末3から取得したゲーム操作データを用いてロボット制御データを生成し、それをロボット5へ提供する。記憶装置24は、学習済みモデル、学習データ、教師データ、ゲームプログラム、ゲームパラメータなどの、仲介サーバ2で使用されるデータを格納する。
【0031】
仲介サーバ2は、演算制御器20aと記憶装置24とを備える。仲介サーバ2の各機能部が少なくとも1つの演算制御器20aで構成されていてもよいし、複数の機能部のうち2つ以上が1つの演算制御器20aで構成されていてもよい。図5に示すように、仲介サーバ2の各演算制御器20aは、プロセッサ21、ROM及びRAMなどのメモリ22、及び、I/O部25を備える。演算制御器20aには、インターフェース20bを介して記憶装置24が接続されている。演算制御器20aは、集中制御を行う単独のプロセッサ21を備えてもよいし、分散制御を行う複数のプロセッサ21を備えてもよい。演算制御器20aは、例えば、コンピュータ、パーソナルコンピュータ、マイクロコントローラ、マイクロプロセッサ、FPGA(field-programmable gate array)などのPLD(programmable logic device)、PLC(programmable logic controller)、及び、論理回路のうち少なくとも1つ、或いは、2つ以上の組み合わせで構成され得る。メモリ22や記憶装置24には、プロセッサ21が実行する基本プログラムやソフトウエアプログラム等が格納されている。プロセッサ21がプログラムを読み出して実行することによって、演算制御器20aは当該ソフトウエアプログラムに構成された機能を実現する。
【0032】
第1学習装置41は、学習データ取得部41a、前処理部41b、及び、第1学習部41cの各機能部を備える。記憶装置24には、学習データを格納した学習データDBと、教師データを格納した教師データDBと、ゲームパラメータを格納したパラメータDBとが構成されている。
【0033】
図6は、学習装置(第1学習装置41)による機械学習の流れを説明する図である。図6に示すように、学習データ取得部41aは、学習データなどの機械学習で用いられるデータを取得する。前処理部41bは、学習データを前処理して、教師データを作成する。前処理は、データ形式の変換、異常の確認、データの抽出、変数名やファイル名の変更などの各種処理のうち少なくとも1つを含む。
【0034】
第1学習部41cは、機械学習により入力データと出力データとの相関関係を学習する。本実施例では、入力データはゲーム操作データであり、出力データはロボット制御データである。第1学習部41cは、機械学習の学習アルゴリズムの一例として教師あり学習を実行する。一般に、教師あり学習は、入力データとそれに対応する出力データとの既知のデータセット(教師データと称する)が予め大量に与えられ、それら教師データから入力データと出力データとの相関性を暗示する特徴を識別することで、新たな入力データに対する所要の出力データを推定するための相関性モデルを学習する手法である。学習アルゴリズムの開始時には入力データと出力データとの相関性は実質的に未知であるが、第1学習部41cは、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。入力データと出力データとの相関性が、ある程度信頼できる水準まで解釈されると、第1学習部41cが反復出力する学習結果は、入力データに対して、出力データがどのようなものとなるべきかという推定を行うために使用できるものとなる。つまり、第1学習部41cは、学習アルゴリズムの進行に伴い、入力データと出力データとの相関性を最適解に徐々に近づけることができる。
【0035】
本実施形態において、第1学習部41cは、教師データをニューラルネットワークに入力して、入力データと出力データとの間の関係性を学習する。ニューラルネットワークに設定される各種パラメータはパラメータDBに記憶される。例えば、パラメータDBは、学習されたニューラルネットワークのシナプスの重みなどを記憶する。記憶される各パラメータを設定したニューラルネットワークが学習済みモデルとなる。
【0036】
図4に戻って、ゲームデータ生成装置42は、作業データ取得部42aと、変換部42bと、ゲームデータ供給部42cとを備える。
【0037】
図7は、ゲームデータ生成装置42の機能を説明する図である。図7に示すように、作業データ取得部42aは、ロボット5や撮像装置CAから作業データを取得する。作業データは、作業の内容に関する情報と、作業対象であるワーク211に関する情報とを含む。作業の内容に関する情報は、例えば、機械加工、搬送、塗装などの作業の種類や、作業に用いられるエンドエフェクタ206の種類、螺子や塗料などの作業に用いるパーツなど情報が含まれてよい。ワーク211に関する情報には、例えば、ワーク211の種類や形状などが含まれてよい。
【0038】
変換部42bは、作業データを所定の変換規則で変換することによりゲームデータを生成する。変換規則は、記憶装置24に予め記憶されている。ゲームデータには、ゲーム端末3で実行されるゲームプログラムが含まれ得る。また、ゲームプログラムが予めゲーム端末3にインストールされている場合には、ゲームデータには、ゲームプログラムに適用されるゲームパラメータが含まれ得る。ゲームデータ供給部42cは、生成したゲームデータをゲーム端末3へ供給する。
【0039】
図4に戻って、ロボット制御データ生成装置43は、ゲーム操作データ取得部43aと、変換部43bと、ロボット制御データを出力するロボット制御データ供給部43cとを備える。
【0040】
図8は、ロボット制御データ生成装置43の機能を説明する図である。図8に示すように、ゲーム操作データ取得部43aは、ゲーム端末3からゲーム操作データを取得する。変換部43bは、ゲーム操作データを所定の変換規則で変換することによりロボット制御データを生成する。ロボット制御データには、エンドエフェクタ206の位置指令情報や、エンドエフェクタ206の動作指令情報などが含まれ得る。ロボット制御データ供給部43cは、生成したロボット制御データをロボット5へ供給する。ロボット5では、取得したロボット制御データに基づいて作業を行う。
【0041】
〔適用例1〕
以下、上記構成のロボット操作システム1を塗装作業を行うロボット5へ適用した適用例1を説明する。
【0042】
図1を参照して、塗装作業を行うロボット5は、手先に塗装ガン206Aのノズル207を備える。ロボット操作器213は、第1レバーA、第2レバーB、及び、ボタンCを有する。第1レバーA及び第2レバーBに対し入力された操作に応じて、マニピュレータ204が動作してノズル207の位置が変化する。
【0043】
第1レバーAは、ノズル207の左右及び前後方向への移動の指令を入力することができる。第1レバーAにより入力された操作入力信号値は、第1レバーAの操作位置によって0から1まで連続的に変化する。第2レバーBは、ノズル207の上下方向への移動の指令を入力することができる。第2レバーBにより入力された操作入力信号値は、第2レバーBの操作位置によって0から1まで連続的に変化する。ボタンCは、塗料の吐出量の指令を入力することができる。ボタンCにより入力された操作入力信号値は、ボタンCの操作位置によって0から1まで連続的に変化する。
【0044】
上記構成のロボット5の作業対象であるワーク211は、治具210に保持されているものの、個々に姿勢や形状のばらつきがある。ワーク211の表面には凹凸があり、この表面にムラなく塗装を行うには、ロボットオペレータに高い技能が要求される。
【0045】
ゲーム端末3では落下ゲームのゲームプログラムが実行される。図9は、ゲーム端末3のディスプレイ35に表示されるゲーム画面92の一例である。ゲーム画面92には、ロボット5の存在する実空間ではなく、ゲーム固有の仮想空間が表示される。図9に示すゲーム画面92では、その中央部に20列のライン92aが表示されており、各列の最上部から所定の落下パターンでブロックが落下する。ゲーム画面92の下部には、ゲームユーザの操作対象アイテムとしてのシューティングガン92bと、スコア92cとが表示されている。ゲームユーザは、ゲームコントローラ38を操作して、シューティングガン92bの弾の発射方向と発射タイミングとに関する指令をゲームコンピュータ31へ入力することができる。
【0046】
ゲームコントローラ38には、操作子381として、ダイヤルXとボタンYとが設けられている。ダイヤルXの操作入力信号値は、ダイヤルXの回転角度によって、0~1まで連続的に変化する。ダイヤルXによってシューティングガン92bをゲーム画面92上の左右方向に移動させることができる。ダイヤルXの操作入力信号値とシューティングガン92bの発射方向とは対応している。シューティングガン92bの発射方向は、ダイヤルXの操作入力信号値0で画面上最左端を向き、操作入力信号値1で画面上最右端を向き、操作入力信号値0.5で画面上左右中央を向く。ボタンYの操作入力信号値は、ボタンYが押されているか否かによって、0又は1の値をとる。ボタンYによって、シューティングガン92bから弾を発射の指令を入力することができる。つまり、ボタンYの操作入力信号値が0から1に変わったことをトリガとして瞬時に弾が発射される。それ以外のときは弾は発射されない。
【0047】
ゲーム画面92に表示された仮想空間において、シューティングガン92bから発射した弾で落下中のブロックが撃ち落とされる。弾が落下物に命中すれば、落下物はゲーム画面92から消滅する。全てのブロックを撃ち落とすことができれば、ミッションは成功である。ゲームユーザは、ミッションの成否、撃ち落としたブロックの数、及び、シューティングガン92bの左右移動総量の少なさに応じた得点を得て、高得点を競う。
【0048】
ゲームにおけるブロックの落下パターンは、ゲームパラメータによって定まる。ゲームパラメータは、変換部42bで作業データがゲームパラメータに変換されることによって生成される。本適用例では、作業データには、作業の内容としての塗装、塗料の種類、撮像装置CAで得られたワーク211及びその周辺を含む三次元画像が含まれる。変換部42bは、ワーク211の表面形状を所定の変換規則によってゲームプレイ中のブロックの落下パターンに変換して、この落下パターンを再現するゲームパラメータを生成する。
【0049】
図10は、作業データの一例を説明する図である。例えば、図10に示すように、撮像装置CAで得られたワーク211及びその周辺を含む三次元画像(又は、二次元画像)が、所定数(図10の例では20×30)のドットからなる平面的なマップ91に変換される。マップ91において、ワーク211の存在するドット(図10中の91a)には1が与えられ、存在しないドット(図10中の91b)には0が与えられる。更に、マップ91の各行が切り出され、連続する複数行(図10の例では30行)の行データとされる。そして、各行データにおいて1が割り当てられたドットにのみブロックが出現するような、ゲームパラメータが生成される。
【0050】
上記のようにゲームデータ生成装置42で生成されたゲームパラメータは、ゲーム端末3へ送信される。ゲーム端末3のゲームコンピュータ31は、ゲームプログラムにゲームパラメータを適用させて、ディスプレイ35のゲーム画面92に表示されるブロックの出現箇所及び出現タイミングを決定する。ゲームコンピュータ31には、予め取得したゲームユーザの技能レベルに応じて、ゲームパラメータを修正するフィルタが設定されていてもよい。ゲームが開始すると、先ず、第1行に対応するブロック群が画面の最上部に出現する。出現したブロックは、所定の速度で落下する。ブロックの落下速度は、ゲームユーザの技能レベルに応じて異なっていてもよい。第1行に対応するブロック群が出現してから所定時間が経過すると、第2行に対応するブロック群が画面の最上部に出現する。このようにして、最初の行から最後の行まで行番号を一定時間間隔で1ずつ増加させながら、行番号に対応した行のブロック群が画面の最上部に出現し、出現したブロックが次々と落下してくる。
【0051】
<学習方法>
まず、仲介サーバ2の第1学習装置41で行われる学習の方法について説明する。
【0052】
学習のために、複数のワーク211が用意される。学習用のワーク211の表面形状は各々に異なる。熟練のロボットオペレータは、ロボット操作器213を用いて、学習用の複数のワーク211の各々について、自らの経験から表面形状に最適な作業手順で操作を入力する。ロボットコントローラ201は、熟練のロボットオペレータがロボット操作器213に対して行った操作入力信号を取得し、操作入力信号の履歴をワーク211ごとに当該ワーク211に紐づけて記憶する。例えば、或るワーク211に対する操作入力信号の履歴は、第1レバーAの操作入力信号値が単位時間間隔で記録された数値列Anと、第2レバーBの操作入力信号値が単位時間間隔で記録された数値列Bnと、ボタンCの操作入力信号値が単位時間間隔で記録された数値列Cnとを含む。
【0053】
ゲーム端末3のゲームコンピュータ31は、ゲーム開始から終了までのゲームプレイ中にゲームユーザが入力した操作の履歴を記憶する。ミッションが成功し、且つ、高得点を得たゲームユーザ(以下、「ハイスコアユーザ」と称する)の操作の履歴から、ダイヤルXの操作入力信号値が単位時間間隔で記録された数値列Xnが作成され、ボタンYの操作入力信号値が単位時間間隔で記録された数値列Ynが作成される。
【0054】
或るワークWmについて、熟練のロボットオペレータの操作の履歴から得られた数値列が{Anm、Bnm、Cnm}である。また、このワークWmに紐付けられたゲームパラメータが反影されたゲームプレイ中において、ハイスコアユーザの操作の履歴から得られた数値列が{Xnm、Ynm}である(m=1,2,・・・)。このように、ワークWmに紐付けられた熟練のロボットオペレータの操作の履歴及びハイスコアユーザの操作の履歴から、一つの学習データセットを得る。
【0055】
学習データ取得部41aは、膨大な数の学習データセットを取得し、記憶する。前処理部41bは、学習データセットの前処理を行い教師データセットを生成する。第1学習部41cは、教師データセットをニューラルネットワークに入力して、入力データである数値列{Xn,Yn}と出力データである数値列{An、Bn、Cn}との間の関係性を学習する。ニューラルネットワークに設定される各種パラメータはパラメータDBに記憶される。記憶される各パラメータを設定したニューラルネットワークが学習済みモデルとなる。
【0056】
<ロボット操作方法>
続いて、上記の学習済みモデルを用いたロボット操作方法について説明する。
【0057】
図11はゲーム方法の処理の流れを説明するフロー図である。図11はロボット操作システム1におけるゲームの開始準備からロボット5が作業をするまでの一連の処理を包括的に表し、左列がゲーム端末3の処理、中央列が仲介サーバ2の処理、右列がロボット5の処理をそれぞれ表す。
【0058】
ゲームの開始に際し、ゲーム端末3は仲介サーバ2に対しログイン情報と共にゲーム開始要求を送信する(ステップS01)。ログイン情報には、ゲームユーザIDなどが含まれる。仲介サーバ2は、ゲーム開始要求を取得すると(ステップS02)、作業データ要求をロボット5へ送信する(ステップS03)。ロボット5は、作業データ要求を取得すると(ステップS04)、これに対応して仲介サーバ2へ作業データを送信する(ステップS04)。本適用例では、作業データには、作業の内容とワーク211の撮像画像とが含まれる。
【0059】
作業データを取得した仲介サーバ2は(ステップS06)、作業データからゲームデータを生成する(ステップS07)。本適用例では、作業データに含まれる撮像画像を変換することによりゲームデータが作成され、ゲームデータにはゲームパラメータが含まれる。仲介サーバ2は、ゲームデータをゲーム端末3へ送信する(ステップS08)。
【0060】
ゲームデータを取得したゲーム端末3は(ステップS09)、ゲームデータ(ゲームパラメータ)を予め記憶されているゲームプログラムに適用させて実行する。ゲーム端末3では、取得したゲームデータがゲームプログラムに適用されて、ゲームが開始される。ゲームユーザがゲームプレイ中にゲームコントローラ38を操作することにより入力された操作入力は記憶される。これにより、ゲーム端末3はゲームパラメータが反影されたゲームを開始する(ステップS10)。本適用例では、ゲームユーザは、落下するブロックを打ち落とすシューティングゲームを楽しむことができる。
【0061】
ゲーム端末3は、ゲームプレイ中にゲームユーザがゲームコントローラ38で行った操作の履歴を記録する(ステップS11)。ゲーム端末3は、ゲームが終了すると(ステップS12)、そのゲームプレイ中の操作の履歴を含むゲーム操作データを仲介サーバ2へ送信する(ステップS13)。ゲーム操作データは、作業データ又はゲームデータの少なくとも一方と紐付けられている。
【0062】
仲介サーバ2のロボット制御データ生成装置43では、ゲーム操作データ取得部43aがゲーム操作データを取得し(ステップS14)、変換部43bがゲーム操作データを前述の学習済みモデルを用いて変換することによりロボット制御データを生成する(ステップS15)。ゲーム端末3から仲介サーバ2へ送られるゲーム操作データには、ゲームのスコアが含まれていてもよい。ゲームのスコアは、ゲームユーザの技能レベルの指標となりうる。ゲーム操作データをロボット制御データに変換する際に、ゲームユーザの技能レベルが加味されてもよい。
【0063】
仲介サーバ2は、生成したロボット制御データをロボット5へ送信する(ステップS16)。ロボット5は、ロボット制御データを取得し(ステップS17)、これに基づいてロボット5のマニピュレータ204及びエンドエフェクタ206を動作させることにより、ロボット5が作業を行う(ステップS18)。本適用例では、ロボット5はワーク211の塗装作業を行う。
【0064】
このように、本適用例では、ゲームユーザが行うゲームの内容とロボット5が行う作業の内容とは、一見して相関性が低い。ゲームユーザは、ディスプレイ35に映し出される仮想空間を観てゲームコントローラ38に対し操作入力を行う。つまり、ゲームユーザには、ロボット5が作業を行う実空間を見ることなく、ゲームを楽しみながらロボット5に指令を入力し、ロボット5に労働をさせることができる。
【0065】
以上に説明したように、本実施形態に係るロボット操作システム1は、ゲームプログラムを実行するゲームコンピュータ31、ゲームコンピュータ31への操作の入力を受け付けるゲームコントローラ38、及び、ゲームコンピュータ31から出力された仮想空間を表示するディスプレイ35を有するゲーム端末3と、ロボット制御データに基づいて実空間で作業を行うロボット5と、ゲーム端末3とロボット5とを仲介する仲介サーバ2(請求の範囲の「情報処理装置」)と、を備えることを特徴としている。
【0066】
仲介サーバ2は、作業の内容に紐付けられたゲームデータをゲーム端末3へ供給するゲームデータ供給部42cと、ゲームデータが反影されたゲームプログラムが実行されている間にゲームコントローラ38が受け付けた操作の入力の履歴を含むゲーム操作データを取得するゲーム操作データ取得部43aと、ゲーム操作データを所定の変換規則に基づいてロボット制御データに変換する第1変換部43bと、ロボット制御データをロボット5へ供給するロボット制御データ供給部43cと、を備える。
【0067】
また、本実施形態に係るロボット操作方法は、ゲーム端末3を用いて、ロボット制御データに基づいて実空間で作業を行うロボット5を操作するロボット操作方法であって、作業の内容に紐付けられたゲームデータを、ゲーム端末3へ供給するゲームプログラム供給ステップ、ゲームデータが反影されたゲームプログラムが実行されている間にゲームコントローラ38が受け付けた操作の入力の履歴を含むゲーム操作データを取得するゲーム操作データ取得ステップ、ゲーム操作データを所定の変換規則に基づいてロボット制御データに変換するロボット制御データ生成ステップ、及び、ロボット制御データをロボット5へ供給するロボット制御データ供給ステップ、を含むことを特徴としている。
【0068】
上記のロボット操作システム1及びその仲介サーバ2、並びに、ロボット制御方法では、ゲーム操作データが変換規則に基づいてロボット制御データに変換されることから、ゲームユーザが楽しむコンピューティングゲームの内容(即ち、ゲームの仮想空間に現れるキャラクタ、アイテム、効果、ゲームのルールなど)と、ロボット5が行う作業の内容とが、直接に関連している必要がない。つまり、ゲーム端末3のディスプレイ35に映し出される仮想空間は、実世界でロボット5が行う作業からかけ離れたゲーム独自の世界とすることができ、非日常的な仮想空間を楽しむというゲームの娯楽性は損なわれない。
【0069】
よって、本実施形態に係るロボット操作システム1及びその仲介サーバ2、並びに、ロボット制御方法によれば、ロボットオペレータでもあるゲームユーザは、ゲームの仮想世界を純粋に楽しみつつ、ゲームプレイ中に入力した操作によってロボット5に労働をさせることができる。
【0070】
本実施形態において、仲介サーバ2は、作業の内容に紐付けられたゲーム操作データとロボット制御データとを含む第1学習データを用いてゲーム操作データとロボット制御データとの関係性を学習し、第1学習済みモデルを生成する第1学習部41cを、更に備える。そして、上記の第1変換部43bが、ゲーム操作データとロボット制御データとの関係性を学習した第1学習済みモデルに対してゲーム操作データを入力することによって、ゲーム操作データをロボット制御データに変換するように構成されている。
【0071】
同様に、本実施形態において、上記のロボット操作方法が、作業の内容に紐付けられたゲーム操作データとロボット制御データとを含む第1学習データを用いてゲーム操作データとロボット制御データとの関係性を学習し、第1学習済みモデルを生成する第1学習ステップを、更に含む。そして、上記のロボット操作方法のロボット制御データ生成ステップが、ゲーム操作データとロボット制御データとの関係性を学習した第1学習済みモデルに対してゲーム操作データを入力することによって、ゲーム操作データをロボット制御データに変換することを含む。
【0072】
このように、ゲーム操作データをロボット制御データに変換するために学習済みモデルが利用されることによって、たとえゲームの内容とロボット5の作業の内容との直接的な関連性が低くても、ゲーム操作データをロボット制御データとをより高い精度で関係付けることができる。つまり、ロボット5の作業の内容に対するゲームの内容の自由度を向上させることができる。
【0073】
<変形例1>
次に、上記実施形態の変形例1を説明する。図12は変形例1に係るロボット操作システム1の仲介サーバ2Aの機能ブロック図である。変形例1に係るロボット操作システム1は、仲介サーバ2Aの第2学習装置44を除いて、上記実施形態と実質的に同じ構成を有する。よって、変形例1の説明においては、第2学習装置44について詳細に説明し、前述の実施形態と重複する説明を省略する。
【0074】
上記実施形態では、作業の内容を所定の変換規則に基づいてゲームデータに変換する第2変換部42b(ゲームデータ生成部)を備える。本変形例では、第2変換部42bも、第1変換部43b(ロボット制御データ生成部)と同様に、作業の内容を含む作業データを学習済みモデル(第2学習済みモデル)を利用してゲームデータに変換する。
【0075】
変形例1に係る仲介サーバ2Aは、前述の実施形態に係る仲介サーバ2が、第2学習装置44を更に備えたものである。以下では、第1学習装置41、ゲームデータ生成装置42、及びロボット制御データ生成装置43の説明を省略し、第2学習装置44について詳細に説明する。
【0076】
図12に示すように、第2学習装置44は、学習データ取得部44a、前処理部44b、第2学習部44cの各機能部を備える。学習データ取得部44aは、作業データに紐付けられたゲームデータを学習データセットとし、膨大な数の学習データセットを取得する。前処理部44bは、学習データセットを前処理して、教師データセットを作成する。第2学習部44cは、教師データセットをニューラルネットワークに入力して、入力データである作業データと出力データであるゲームデータとの間の関係性を学習する。ニューラルネットワークに設定される各種パラメータはパラメータDBに記憶される。記憶される各パラメータを設定したニューラルネットワークが第2学習済みモデルとなる。
【0077】
以上のように、変形例1に係る仲介サーバ2Aは、作業の内容とそれに紐付けられたゲームデータとを含む第2学習データを用いて作業の内容とゲームデータとの関係性を学習し、第2学習済みモデルを生成する第2学習部44cを、備える。
【0078】
そして、仲介サーバ2Aは、第2変換部42b(ゲームデータ生成部)が、作業の内容とゲームデータとの関係性を学習した第2学習済みモデルに対して作業の内容を入力することによって、作業の内容をゲームデータに変換するように構成されている。
【0079】
同様に、変形例1に係るロボット操作方法は、前述の実施形態に係るロボット操作方法に加えて、作業の内容とそれに紐付けられたゲームデータとを含む第2学習データを用いて作業の内容とゲームデータとの関係性を学習し、第2学習済みモデルを生成する第2学習ステップを、含む。そして、変形例1に係るロボット操作方法は、前述の実施形態に係るロボット操作方法のゲームデータ生成ステップにおいて、作業の内容とゲームデータとの関係性を学習した第2学習済みモデルに対して作業の内容を入力することによって、作業の内容をゲームデータに変換することを含む。
【0080】
このように学習済みモデルを用いて作業の内容(作業データ)をゲームデータに変更することにより、より複雑な作業の内容に対しても、それに適したゲームデータを作成することができる。よって、ロボット5の作業の内容に対するゲームの内容の自由度を向上させることができる。
【0081】
〔適用例2〕
以下、上記構成のロボット操作システム1をごみの搬送作業を行うロボット5Aへ適用した適用例2を説明する。
【0082】
図13は、適用例2に係るロボット操作システム1の全体的な構成を示すブロック図である。図13に示すロボット5Aは、ごみピット215のごみを攪拌するクレーンロボットである。ロボット5Aは、クレーン208と、クレーン208の左右及び前後位置を変化させるガントリ209と、クレーン208及びガントリ209の動作を制御するロボットコントローラ201とを備える。ごみピット215には、ごみピット215内を三次元で撮像する撮像装置CAが設けられている。
【0083】
ロボット操作器213は、第1レバーA、第2レバーB、及び、ボタンCを有する。第1レバーA及び第2レバーBに対し入力された操作に応じて、ガントリ209が動作してクレーン208の二次元位置が変化する。第1レバーAは、クレーン208の前後左右方向への移動の指令を入力することができる。第1レバーAにより入力された操作入力信号値は、第1レバーAの操作位置によって0から1まで連続的に変化する。第2レバーBは、クレーン208の上下方向への移動の指令を入力することができる。第2レバーBにより入力された操作入力信号値は、第2レバーBの操作位置によって0から1まで連続的に変化する。ボタンCは、クレーン208のごみ把持の指令を入力することができる。ボタンCにより入力された操作入力信号値は、ボタンCの操作位置によって0から1まで連続的に変化する。
【0084】
上記構成のロボット5の作業対象であるごみピット215のごみは、その表面高さや性状にはばらつきがあり、ごみピット215内のごみはより均一となるように攪拌されなければならない。ごみの攪拌は、ごみピット215のある座標のごみを、他の座標へ移動させることによって行われる。ごみの攪拌作業を効率的に行うために、クレーン208の移動軌跡は少ないことが望ましい。ロボット5Aを操作するロボットオペレータに、どの座標のごみをどのように移動させるか、また、その移動順序について、高い技能が要求される。
【0085】
ゲーム端末3では、パズルゲームのゲームプログラムが実行される。図14は、ゲーム端末3のディスプレイ35に表示されるゲーム画面92Aの一例である。ゲーム画面92Aには、ロボット5Aの存在する実空間ではなく、ゲーム固有の仮想空間が表示される。図13に示すゲーム画面92Aでは、その中央部にグリッドが表示されており、グリッドの各マスにはパネルが配置されている。パネルは、赤、青、紫の3色で色分けされており、青のパネルの上に赤のパネルを重ねると紫のパネルに変化する。赤及び紫のパネルの上に他のパネルを重ねることはできない。ゲームユーザは、ゲームコントローラ38を操作して、移動させるパネルの選択と、パネルの移動位置とに関する指令をゲームコンピュータ31へ入力することができる。
【0086】
ゲームコントローラ38には、操作子381として、十字キーXとボタンYとが設けられている。十字キーXの操作入力信号値は、0~1まで連続的に変化する。十字キーXによって、ポインタをゲーム画面92A上の左右及び前後方向に移動させることができる。十字キーXの操作入力信号値とポインタの移動方向及び移動量とは対応している。ボタンYの操作入力信号値は、ボタンYが押されているか否かによって、0又は1の値をとる。ボタンYは選択の指令を入力することができる。例えば、ポインタが移動させる第1パネルの上にある状態でボタンYの操作入力信号値が0から1に変わると、第1パネルが選択される。また、第1パネルが選択され、且つ、ポインタが移動先の第2パネルの上にある状態でボタンYの操作入力信号値が0から1に変わると、第2パネルに第1パネルが重なる。全てのパネルの色が紫となれば、ミッションは成功である。ゲームユーザは、ミッションの成否、ポインタの移動量の少なさに応じた得点を得て、高得点を競う。
【0087】
パズルゲームにおけるパネルの配色パターンは、ゲームパラメータによって定まる。ゲームパラメータは、第2変換部42bで作業データがゲームパラメータに変換されることによって生成される。本適用例では、作業データには、撮像装置CAで得られたごみピット215内の三次元画像が含まれる。変換部42bは、ごみピット215の堆積ごみの表面形状を所定の変換規則によってゲームプレイ中のパネルの配色パターンに変換して、この配色パターンを再現するゲームパラメータを生成する。
【0088】
図15は、作業データの一例を説明する図である。例えば、図15に示すように、撮像装置CAで得られたごみピット215の三次元画像が、所定数(図15の例では15×10)のドットからなる平面的なマップ94に変換される。三次元画像の解析により堆積ごみ表面の高さが高中低に分類され、高のドッドには1が、中のドッドには0が、低のドットには-1がそれぞれ与えられる。そして、1のドットに赤のパネルが、0のドットに紫のパネルが、-1のドットに青のパネルが出現するような、ゲームパラメータが生成される。ゲームデータは、このようなゲームパラメータを含む。
【0089】
<学習方法>
まず、仲介サーバ2の第2学習装置44で行われる学習の方法について説明する。
【0090】
学習のために、大量の学習データが用意される。学習データには、ごみピット215の堆積ごみの表面形状と、その表面形状に紐づけられた熟練のロボットオペレータによる操作の履歴とが含まれる。堆積ごみの表面形状には、高さ位置が含まれる。熟練のロボットオペレータは、ロボット操作器213を用いて、自らの経験から堆積ごみの表面形状に最適な作業手順で操作を入力することにより、ごみピット215内の堆積ごみを攪拌する。ロボットコントローラ201は、熟練のロボットオペレータがロボット操作器213に対して行った操作入力信号を取得し、操作入力信号の履歴を当該堆積ごみの表面形状に紐づけて記憶する。
【0091】
ごみピット215の三次元画像が、所定数(図15の例では15×10)のドットからなる平面的な堆積ごみマップ94に変換される。堆積ごみマップ94の各ドットにはアドレスが割り当てられ、各ドットは堆積ごみ高さ(ドットにおける平均値)に関する情報を有する。操作入力信号の履歴からは、ごみピット215内のごみが持ち出されたドットのアドレスと、そのごみが置かれたドットのアドレスとがわかる。ごみが持ち出されたドットは「高」に分類され、ごみが置かれたドットは「低」に分類され、ごみの移動がなかったドットは「中」に分類される。学習データの前処理では、堆積ごみマップ94の各ドットに対し前記のルールに基づいて「高」「中」「低」が与えられる。堆積ごみマップ94を入力データとし、堆積ごみマップ94の各ドットの高中低の分類を出力データとする、1組の教師データが作成される。
【0092】
学習装置は、大量の教師データを用いて、堆積ごみマップ94の各ドットが「高」「中」「低」のいずれに分類されるべきかをモデルに学習させる。ゲームデータ生成装置42は、この学習済みモデルに対し作業データである堆積ごみマップ94を入力して、堆積ごみマップ94の各ドットの高中低の分類の出力を得て、これに基づいてゲームデータを生成する。
【0093】
<ロボット操作方法>
続いて、ロボット操作方法について説明する。
【0094】
ゲーム方法の処理の流れは、第1適用例と実質的に同じである。即ち、図11に示すように、ゲーム端末3は仲介サーバ2に対しログイン情報と共にゲーム開始要求を送信する(ステップS01)仲介サーバ2は、ゲーム開始要求を取得すると(ステップS02)、作業データ要求をロボット5Aへ送信する(ステップS03)。ロボット5Aは、作業データ要求を取得すると(ステップS04)、これに対応して仲介サーバ2へ作業データを送信する(ステップS04)。本適用例では、作業データには、作業の内容とごみピット215の三次元画像とが含まれる。
【0095】
作業データを取得した仲介サーバ2は(ステップS06)、作業データからゲームデータを生成する(ステップS07)。本適用例では、作業データに含まれる撮像画像を前述の学習済みモデル変換することによりゲームデータが作成され、ゲームデータにはゲームパラメータが含まれる。仲介サーバ2は、ゲームデータをゲーム端末3へ送信する(ステップS08)。
【0096】
ゲームデータを取得したゲーム端末3は(ステップS09)、ゲームデータ(ゲームパラメータ)を予め記憶されているゲームプログラムに適用させて実行する。ゲーム端末3では、取得したゲームデータがゲームプログラムに適用されて、ゲームが開始される。ゲームユーザがゲームプレイ中にゲームコントローラ38を操作することにより入力された操作入力は記憶される。これにより、ゲーム端末3はゲームパラメータが反影されたゲームを開始する(ステップS10)。本適用例では、ゲームユーザは、青と赤のパネルを紫に代えるカラーパズルゲームを楽しむことができる。
【0097】
ゲーム端末3は、ゲームプレイ中にゲームユーザがゲームコントローラ38で行った操作の履歴を記録する(ステップS11)。ゲーム端末3は、ゲームが終了すると(ステップS12)、そのゲームプレイ中の操作の履歴を含むゲーム操作データを仲介サーバ2へ送信する(ステップS13)。ゲーム操作データは、作業データ又はゲームデータの少なくとも一方と紐付けられている。
【0098】
仲介サーバ2のロボット制御データ生成装置43では、ゲーム操作データ取得部43aがゲーム操作データを取得し(ステップS14)、変換部43bがゲーム操作データをロボット制御データに変換することにより、ロボット制御データを生成する(ステップS15)。本適用例において、ゲーム操作データには、移動させるパネルの座標と当該パネルの移動先の座標との組み合わせ、及び、パネルの移動順序が含まれる。このようなゲーム操作データから、ごみピット215において、ごみを持ち出す座標とごみを持ち込む座標との組み合わせ、及び、ごみの移動順序を含むロボット制御データが生成される。
【0099】
仲介サーバ2は、生成したロボット制御データをロボット5Aへ送信する(ステップS16)。ロボット5Aは、ロボット制御データを取得し(ステップS17)、これに基づいてガントリ209やクレーン208を動作させることにより、ロボット5Aが作業を行う(ステップS18)。本適用例では、ロボット5Aはごみピット215の攪拌作業を行う。
【0100】
このように、本適用例では、ゲームユーザが行うゲームの内容とロボット5Aが行う作業の内容とは、直接的に関連しないが、ゲーム中のポインタの移動とクレーン208の移動とには相関性がある。それであっても、ゲームユーザは、ロボット5Aが作業を行う実空間を見ることなく、ディスプレイ35に映し出される仮想空間を観てゲームコントローラ38に対し操作入力を行い、ゲームを楽しみながらロボット5Aに指令を入力し、ロボット5Aに労働をさせることができる。
【0101】
以上に本開示の好適な実施の形態を説明したが、本開示に係る発明思想を逸脱しない範囲で、上記実施形態の具体的な構造及び/又は機能を変更したものも本開示に含まれ得る。上記のロボット操作システム1及びロボット操作方法は、以下のように変更することができる。
【0102】
例えば、上記実施形態では、ゲーム端末3、仲介サーバ2、及びロボット5,5Aは、それぞれ独立した装置であるが、仲介サーバ2としての機能がゲーム端末3及びロボット5,5Aのうちいずれか一方に備えられてもよい。
【0103】
例えば、上記実施形態では、学習モデルの一例としてのニューラルネットワークモデルを学習させる場合を例に説明したが、学習アルゴリズムはこれに限定されるものではない。例えば、ニューラルネットワークモデルとは異なる他のモデルを、他の学習方法によって学習させてもよい。
【0104】
例えば、上記実施形態では、ゲームプログラムが予めゲーム端末3に記憶(インストール)されている態様を説明した。このゲームプログラムは、通信手段4を介して仲介サーバ2からゲーム端末3へ供給されるが、CD‐ROM、DVD‐ROM及びマイクロSDカード等の記録媒体に記録されてゲーム端末3へ提供されてもよい。また、ゲームプログラムは予めゲーム端末3に記憶されている態様に限らず、予めゲームパラメータが適用されたゲームプログラムがゲームの度に仲介サーバ2からゲーム端末3へ供給されてもよい。この場合、ゲームデータにはゲームパラメータが適用されたゲームプログラムが含まれることとなる。
【符号の説明】
【0105】
1 :ロボット操作システム
2,2A :仲介サーバ
3 :ゲーム端末
4 :通信手段
5,5A :ロボット
20a :演算制御器
20b :インターフェース
21 :プロセッサ
22 :メモリ
24 :記憶装置
25 :I/O部
31 :ゲームコンピュータ
35 :ディスプレイ
37 :スピーカ
38 :ゲームコントローラ
41 :第1学習装置
41a :学習データ取得部
41b :前処理部
41c :第1学習部
42 :ゲームデータ生成装置
42a :作業データ取得部
42b :変換部(第2変換部)
42c :ゲームデータ供給部
43 :ロボット制御データ生成装置
43a :ゲーム操作データ取得部
43b :変換部(第1変換部)
43c :ロボット制御データ供給部
44 :第2学習装置
44a :学習データ取得部
44b :前処理部
44c :第2学習部
91 :マップ
92 :ゲーム画面
92a :ライン
92b :シューティングガン
92c :スコア
201 :ロボットコントローラ
202 :塗料供給装置
203 :弁装置
204 :マニピュレータ
205 :コンプレッサ
206 :エンドエフェクタ
206A :塗装ガン
207 :ノズル
208 :クレーン
209 :ガントリ
210 :治具
211 :ワーク
213 :ロボット操作器
215 :ごみピット
311 :メインプロセッサ
312 :サウンドプロセッサ
313 :I/Oプロセッサ
314 :記憶装置
315 :グラフィックスプロセッサ
316 :メモリ
381 :操作子
382 :操作検出器
383 :通信器
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15