(57)【特許請求の範囲】
【請求項１】
ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、
前記アームの目標位置を示す目標位置情報を取得する目標位置取得部と、
参照経路を示す参照経路情報を参照して前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報とに基づいて前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成する制御生成部と、
を備え、
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項を含むこと
を特徴とするロボット制御装置。
【請求項２】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項に加え、前記参照経路に沿って前記目標位置の方向に向かって移動した距離を評価することにより報酬を算出する項を含むこと
を特徴とする請求項１記載のロボット制御装置。
【請求項３】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記現在位置取得部が取得した前記現在位置情報が示す前記アームの前記現在位置の移動の連続性を評価することにより報酬を算出する項を含むこと
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項４】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記アームの一部と障害物とが接触したか否かを評価することにより報酬を算出する項を含むこと
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項５】
前記参照経路情報は、所定の計算処理に基づいて自動で生成されること
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項６】
前記参照経路情報は、前記アームが過去に移動した経路を示す移動履歴情報に基づいて生成されること
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項７】
前記制御生成部が生成した第１制御信号が示す制御内容が、前記制御生成部が直前に生成した第２制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、前記第１制御信号を補正する制御補正部
を備えること
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項８】
前記制御生成部が生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、前記制御生成部が直前に生成した第２制御信号が示す制御内容に基づいて前記第２制御信号が示す制御内容から予め定められた範囲内の変化量になるように、前記第１制御信号において欠落している制御内容を補間して前記第１制御信号を補正する制御補間部
を備えること
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項９】
前記参照経路を示す前記参照経路情報を取得する参照経路取得部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報とに基づいて前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報と、前記報酬算出部が算出した報酬とに基づいて前記制御信号により前記アームを移動させる価値を評価することにより、前記モデル情報を更新するモデル更新部と、
を備えたこと
を特徴とする請求項１又は請求項２記載のロボット制御装置。
【請求項１０】
ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、
前記アームの目標位置を示す目標位置情報を取得する目標位置取得部と、
参照経路を示す参照経路情報を取得する参照経路取得部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報とに基づいて前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部と、
前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成する制御生成部と、
前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報と、前記参照経路取得部が取得した前記参照経路情報と、前記報酬算出部が算出した報酬とに基づいて前記制御信号により前記アームを移動させる価値を評価することにより、モデル情報を生成するモデル生成部と、
を備え、
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項を含むこと
を特徴とするロボット制御学習装置。
【請求項１１】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項に加え、前記参照経路に沿って前記目標位置の方向に向かって移動した距離を評価することにより報酬を算出する項を含むこと
を特徴とする請求項１０記載のロボット制御学習装置。
【請求項１２】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記現在位置取得部が取得した前記現在位置情報が示す前記アームの前記現在位置の移動の連続性を評価することにより報酬を算出する項を含むこと
を特徴とする請求項１０又は請求項１１記載のロボット制御学習装置。
【請求項１３】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、前記アームの一部と障害物とが接触したか否かを評価することにより報酬を算出する項を含むこと
を特徴とする請求項１０又は請求項１１記載のロボット制御学習装置。
【請求項１４】
前記参照経路情報は、所定の計算処理に基づいて自動で生成されること
を特徴とする請求項１０又は請求項１１記載のロボット制御学習装置。
【請求項１５】
前記参照経路情報は、前記アームが過去に移動した経路を示す移動履歴情報に基づいて生成されること
を特徴とする請求項１０又は請求項１１記載のロボット制御学習装置。
【請求項１６】
前記制御生成部が生成した第１制御信号が示す制御内容が、前記制御生成部が直前に生成した第２制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、前記第１制御信号を補正する制御補正部
を備えること
を特徴とする請求項１０又は請求項１１記載のロボット制御学習装置。
【請求項１７】
前記制御生成部が生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、前記制御生成部が直前に生成した第２制御信号が示す制御内容に基づいて前記第２制御信号が示す制御内容から予め定められた範囲内の変化量になるように、前記第１制御信号において欠落している制御内容を補間して前記第１制御信号を補正する制御補間部
を備えること
を特徴とする請求項１０又は請求項１１記載のロボット制御学習装置。
【請求項１８】
現在位置取得部が、ロボットのアームの現在位置を示す現在位置情報を取得し、
目標位置取得部が、前記アームの目標位置を示す目標位置情報を取得し、
制御生成部が、参照経路を示す参照経路情報を参照して前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、前記現在位置取得部が取得した前記現在位置情報と、前記目標位置取得部が取得した前記目標位置情報とに基づいて前記目標位置情報が示す前記目標位置に向かって前記アームを移動させるための制御内容を示す制御信号を生成し、
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項を含むこと
を特徴とするロボット制御方法。
【請求項１９】
前記演算式は、前記アームが前記参照経路を基にして移動していることを評価することにより報酬を算出する項として、前記ロボットの前記アームの位置と前記参照経路との間の距離を評価することにより報酬を算出する項に加え、前記参照経路に沿って前記目標位置の方向に向かって移動した距離を評価することにより報酬を算出する項を含むこと
を特徴とする請求項１８記載のロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット制御装置、ロボット制御学習装置、及びロボット制御方法に関するものである。
【背景技術】
【０００２】
ロボットのアームが移動する経路を自動で生成する技術がある。【０００３】
例えば、特許文献１には、レーザーレンジセンサで測定した障害物の距離情報をメモリに記憶する距離情報記憶部と、メモリに記憶された距離情報に基づき斥力を計算する斥力計算部と、計算された斥力を軸方向の成分に分離する斥力成分分離部と、分離された軸成分から軸毎に正方向の最大値と負方向の最大値とを抽出し、軸毎に抽出した正方向と負方向の最大値の和を計算し、計算結果を各軸の軸成分とした回避用斥力を生成する回避用斥力生成部とを含むように構成した障害物回避支援部を備えた障害物回避支援装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５１００８１号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術によれば、斥力を発生させるポテンシャルを合成した結果、障害物付近のポテンシャルが相対的に下がる場合があり、障害物とロボットのアームとの間において引力が生じ、ロボットのアームが障害物に干渉してしまうという問題があった。
上述の問題点を解決するためには、連続した空間におけるあらゆる方向において、ロボットのアームが移動する経路を探索する必要がある。
しかしながら、連続した空間におけるあらゆる方向において、ロボットのアームが移動する経路を探索する場合、演算量が増え、ロボットのアームが移動する経路を決定するまでに長い時間を要してしまう。【０００６】
この発明は、上述の問題点を解決するためのもので、演算量を減らしつつ、ロボットのアームが不連続な動作を行うことないようにロボットを制御することができるロボット制御装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
この発明に係るロボット制御装置は、ロボットのアームの現在位置を示す現在位置情報を取得する現在位置取得部と、アームの目標位置を示す目標位置情報を取得する目標位置取得部と、参照経路を示す参照経路情報を参照してアームが参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部が取得した現在位置情報と、目標位置取得部が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアームを移動させるための制御内容を示す制御信号を生成する制御生成部と、を備え、演算式は、アームが参照経路を基にして移動していることを評価することにより報酬を算出する項として、ロボットのアームの位置と参照経路との間の距離を評価することにより報酬を算出する項を含むように構成した。
【発明の効果】
【０００８】
この発明によれば、演算量を減らしつつ、ロボットのアームが不連続な動作を行うことないようにロボットを制御することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１に係るロボット制御装置が適用されたロボット制御システムの構成の一例を示す図である。
【図２】実施の形態１に係るロボット制御装置及びロボット制御システムの要部の構成の一例を示すブロック図である。
【図３】図３は、実施の形態１に係る仮想空間画像生成部が生成した仮想空間画像情報が示す画像の一例を示す図である。
【図４】図４Ａ及び図４Ｂは、実施の形態１に係るロボット制御装置の要部のハードウェア構成の一例を示す図である。
【図５】図５は、実施の形態１に係るロボット制御装置の処理の一例を説明するフローチャートである。
【図６】図６は、実施の形態１に係るロボット制御学習装置及びロボット制御学習システムの要部の構成の一例を示すブロック図である。
【図７】図７は、実施の形態１に係るロボットのアームの状態が状態Ｓｔであるときにロボットのアームが取り得る行動ａｔから、行動ａ＊を選択する一例を示す図である。
【図８】図８は、実施の形態１に係るロボット制御学習装置の処理の一例を説明するフローチャートである。
【図９】図９Ａ、図９Ｂ、及び図９Ｃは、アームが目標位置に到達するまでに移動した経路の一例を示した図である。
【図１０】図１０は、実施の形態２に係るロボット制御装置及びロボット制御システムの要部の構成の一例を示すブロック図である。
【図１１】図１１は、実施の形態２に係るロボット制御装置の処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
実施の形態１．
図１及び図２を参照して実施の形態１に係るロボット制御装置１００の要部の構成について説明する。
図１は、実施の形態１に係るロボット制御装置１００が適用されたロボット制御システム１の構成の一例を示す図である。
図２は、実施の形態１に係るロボット制御装置１００及びロボット制御システム１の要部の構成の一例を示すブロック図である。
ロボット制御装置１００は、ロボット制御システム１に適用される。
ロボット制御システム１は、ロボット制御装置１００、ロボット１０、ネットワーク３０、記憶装置４０、及び撮像装置５０を備える。
【００１２】
ロボット１０は、例えば、ロボット１０が備えるアーム１１を、アーム１１の関節をモータ１２−１，１２−２により制御することで移動させることのより、作業環境２０において所定の作業を行うアーム式ロボット装置である。
ロボット１０は、アーム１１、モータ１２−１，１２−２、モータ制御手段１３、回転センサ１４−１，１４−２、及び接触センサ１５を備える。
【００１３】
アーム１１は、複数の関節を有する。実施の形態１では、アーム１１は、２個の関節１１−１，１１−２を有するものとして説明する。アーム１１が有する関節の数は２個とは限らず、３個以上の関節を有する者であっても良い。例えば、アーム１１を３次元で動作させることにより作業されるものである場合、アーム１１は、ロボット工学上、少なくとも６個の関節を有する必要がある。
【００１４】
モータ１２−１，１２−２は、それぞれ、アーム１１が有する２個の関節１１−１，１１−２を動かすためのものである。
モータ制御手段１３は、ロボット制御装置１００が出力した制御信号に基づいてモータ１２−１，１２−２を制御する。具体的には、モータ制御手段１３は、ロボット制御装置１００が出力した制御信号に基づいてモータ１２−１，１２−２を動作されるための電気信号を生成し、生成した電気信号をモータ１２−１，１２−２に出力することによりモータ１２−１，１２−２を制御する。
回転センサ１４−１，１４−２は、それぞれ、モータ１２−１，１２−２の回転量又は回転速度等のモータ１２−１，１２−２の回転状況を示す回転状況信号をロボット制御装置１００に出力する。
接触センサ１５は、作業環境２０における障害物とアーム１１とが接触したか否かを示す接触信号をロボット制御装置１００に出力する。
【００１５】
ネットワーク３０は、例えば、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、若しくはＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の有線ネットワーク、又は、無線ＬＡＮ、若しくはＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）（登録商標）等の無線ネットワークにより構成される通信手段である。
【００１６】
記憶装置４０は、ロボット制御装置１００が、目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成するために必要な情報を記憶するためのものである。ロボット制御装置１００が、制御信号を生成するために必要な情報は、例えば、モデル情報である。記憶装置４０は、例えば、ハードディスクドライブ又はＳＤメモリーカード等の不揮発性記憶媒体を有し、ロボット制御装置１００が制御信号を生成するために必要な情報を不揮発性記憶媒体に記憶する。
【００１７】
撮像装置５０は、例えば、デジタルスチルカメラ又はデジタルビデオカメラ等の撮影した画像を画像情報として外部に出力可能な画像入力装置である。撮像装置５０は、深度カメラ又はステレオカメラ等の物体の位置又は領域を３次元空間において特定可能な画像情報を生成する画像入力装置であっても良い。また、撮像装置５０は、１台とは限らず、２台以上であっても良い。また、撮像装置５０は、ロボット１０及び作業環境２０とは離れた位置に設置されたものであっても、ロボット１０の任意の部位に固定されて設定されたものであっても良い。実施の形態１では、撮像装置５０は、ロボット１０及び作業環境２０とは離れた位置に設置された１台のデジタルスチルカメラであるものとして説明する。実施の形態１に係る撮像装置５０は、作業環境２０を撮影し、撮影した画像を画像情報として出力する。ロボット制御装置１００は、撮像装置５０が出力する画像情報と、ロボット１０に対する撮像装置５０の相対位置を示す情報とを用いて、ロボット１０に対する作業環境２０の相対位置、特に、ロボット１０に対する作業環境２０における障害物の位置又は領域の相対位置を特定する。
【００１８】
ロボット１０に備えられたモータ制御手段１３、回転センサ１４−１，１４−２、及び接触センサ１５、記憶装置４０、撮像装置５０、並びに、ロボット制御装置１００は、それぞれ、ネットワーク３０に接続されている。
【００１９】
ロボット制御装置１００は、モデル情報、アーム１１の現在位置を示す現在位置情報、及び作業環境２０における目標位置を示す目標位置情報に基づいて目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成し、生成した制御信号を、ネットワーク３０を介してロボット１０に備えられたモータ制御手段１３に出力するものである。
ロボット制御装置１００は、画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７、及び制御出力部１０８を備える。ロボット制御装置１００は、上述の構成に加えて、制御補正部１１１、及び制御補間部１１２を備えるものであっても良い。
【００２０】
画像取得部１０１は、撮像装置５０が出力した画像情報を、ネットワーク３０を介して取得する。
【００２１】
仮想空間画像生成部１０２は、画像取得部１０１が取得した画像情報に基づいて作業環境２０を仮想空間に画像として再現し、当該画像を示す仮想空間画像情報を生成する。
具体的には、例えば、仮想空間画像生成部１０２は、画像情報が示す画像から周知の画像解析技術を用いて特徴点を抽出し、特徴点から物体形状を特定するための予め用意された指標情報を用いて、抽出した特徴点から作業環境２０における物体又は障害物の位置又は領域を特定する。仮想空間画像生成部１０２は、特定した物体又は障害物の位置又は領域と、ロボット１０に対する撮像装置５０の相対位置を示す情報と、撮像装置５０の画角を示す情報に基づいてピンホールカメラ技術等を用いて、ロボット１０に対する特定した物体又は障害物の位置又は領域の位置を特定し、作業環境２０を仮想空間に再現する。なお、実施の形態１では、指標情報は、モデル情報に含まれるものとして説明する。
撮像装置５０が深度カメラ又はステレオカメラ等の物体の位置又は領域を３次元空間において特定可能な画像情報を生成する画像入力装置である場合、仮想空間画像生成部１０２は、画像取得部１０１が取得した画像情報を用いて、画像情報が示す画像に写る物体又は障害物の位置又は領域を３次元空間において特定し、作業環境２０を仮想空間に再現する。
【００２２】
モデル取得部１０３は、モデル情報を取得する。モデル取得部１０３は、例えば、ネットワーク３０を介して、記憶装置４０からモデル情報を読み出すことにより、モデル情報を取得する。なお、実施の形態１において、制御生成部１０７等が予めモデル情報を保持する場合、モデル取得部１０３は、ロボット制御装置１００において、必須な構成ではない。
【００２３】
回転状況取得部１０４は、ロボット１０に備えられた回転センサ１４−１，１４−２から、モータ１２−１，１２−２の回転状況を示す回転状況信号を取得する。
【００２４】
現在位置取得部１０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
具体的には、例えば、現在位置取得部１０５は、回転状況取得部１０４が取得した回転状況信号に基づいてロボット１０におけるアーム１１の現在位置を特定することにより、現在位置情報を取得する。ロボット１０におけるアーム１１の現在位置は、アーム１１における関節１１−１，１１−２の曲がり具合、すなわち、関節１１−１，１１−２の曲がる角度を特定することにより一意に決定される。アーム１１における関節１１−１，１１−２の曲がる角度は、関節１１−１，１１−２に対応するモータ１２−１，１２−２が回転することにより制御される。現在位置取得部１０５は、回転状況信号が示すモータ１２−１，１２−２の回転量を用いて、モータ１２−１，１２−２における予め決められた基準位置からの回転量を特定することにより、ロボット１０におけるアーム１１の現在位置を特定する。
【００２５】
現在位置取得部１０５が現在位置情報を取得する方法は、回転状況信号に基づいてアーム１１の現在位置を特定する方法に限るものではない。例えば、現在位置取得部１０５は、画像取得部１０１が取得した画像情報に基づいてアーム１１の現在位置を特定しても良い。具体的には、例えば、現在位置取得部１０５は、画像取得部１０１が取得した画像情報が示す画像から周知の画像解析技術を用いて特徴点を抽出し、抽出した特徴点から画像に写るアーム１１を特定して、アーム１１の現在位置を特定する。
また、例えば、現在位置取得部１０５は、超音波センサ又はレーザーセンサ等の物体の位置を検知可能なセンサが出力するセンサ信号に基づいてアーム１１の現在位置を特定しても良い。
実施の形態１では、現在位置取得部１０５は、回転状況取得部１０４が取得した回転状況信号に基づいてロボット１０におけるアーム１１の現在位置を特定することにより、現在位置情報を取得するものとして説明する。
【００２６】
仮想空間画像生成部１０２は、現在位置取得部１０５が取得したロボット１０におけるアーム１１の現在位置を示す現在位置情報を用いてロボット１０におけるアーム１１の一部又は全部を作業環境２０と共に、仮想空間に再現し、仮想空間画像情報を生成しても良い。
図３は、実施の形態１に係る仮想空間画像生成部１０２が生成した仮想空間画像情報が示す画像の一例を示す図である。
図３は、仮想空間画像生成部１０２が、ロボット１０におけるアーム１１の全部を作業環境２０と共に、仮想空間に再現した場合を示している。
【００２７】
目標位置取得部１０６は、アーム１１を移動させる目標位置を示す目標位置情報を取得する。目標位置情報が示す目標位置は、例えば、アーム１１における任意の一部を移動させる目標の位置であり、アーム１１における任意の一部とは、例えば、アーム１１における先端１１−３である。
目標位置取得部１０６は、例えば、図示しない入力装置に対するユーザの操作により入力された目標位置情報を受け付けることにより、目標位置情報を取得する。具体的には、目標位置取得部１０６は、図示しない表示装置に対して仮想空間画像生成部１０２が生成した仮想空間画像情報を表示させ、表示装置に表示された仮想空間画像情報の位置を指定する入力装置に対するユーザの操作により目標位置情報を受け付ける。
【００２８】
制御生成部１０７は、モデル取得部１０３が取得したモデル情報と、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成する。
モデル情報は、参照経路を示す参照経路情報を参照してロボット１０におけるアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示す情報である。
【００２９】
具体的には、例えば、モデル情報は、ロボット１０におけるアーム１１の位置を示す位置情報と、アーム１１を移動させるための制御内容を示す制御信号とが対応付けられた対応情報を含むものである。対応情報は、互いに異なる複数の目標位置において、目標位置毎に、複数の位置情報と、各位置情報に対応する制御信号がセットになった情報である。モデル情報は、複数の対応情報を含み、各対応情報は、互いに異なる複数の目標位置のそれぞれに対応付けられたものである。
制御生成部１０７は、モデル情報に含まれる対応情報から、目標位置取得部１０６が取得した目標位置情報が示す目標位置に対応する対応情報を特定し、特定した対応情報と、現在位置取得部１０５が取得した現在位置情報とに基づいて制御情報を生成する。
より具体的には、制御生成部１０７は、特定した対応情報を参照して、現在位置取得部１０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置に対応する制御信号を特定することにより、アーム１１を移動させるための制御内容を示す制御信号を生成する。
【００３０】
制御出力部１０８は、制御生成部１０７が生成した制御信号を、ネットワーク３０を介して、ロボット１０に備えられたモータ制御手段１３に出力する。
ロボット１０に備えられたモータ制御手段１３は、ネットワーク３０を介して、制御出力部１０８が出力した制御信号を受信し、上述のとおり、受信した制御信号に基づいてモータ１２−１，１２−２を動作されるための電気信号を生成し、生成した電気信号をモータ１２−１，１２−２に出力する。
【００３１】
制御補正部１１１は、制御生成部１０７が生成した制御信号（以下「第１制御信号」という。）が示す制御内容が、制御生成部１０７が直前に生成した制御信号（以下「第２制御信号」という。）が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第１制御信号を補正する。
制御補正部１１１が生成するロボット１０に備えられたモータ１２−１又はモータ１２−２の回転を制御するための制御信号において、第２制御信号が示す回転制御と比較して、第１制御信号が示す回転制御が、大きく異なる回転制御である場合、モータ１２−１又はモータ１２−２は、急激なトルク変化を強いられ、脱調等の不具合が発生することがある。更には、モータ１２−１又はモータ１２−２は、予め決められた定格電圧を超える電気信号が入力され、故障等の不具合が発生することがある。
制御補正部１１１は、制御補正部１１１が生成するロボット１０に備えられたモータ１２−１又はモータ１２−２の回転を制御するための制御信号において、第２制御信号が示す回転制御と比較して、急激な変化にならい範囲になるように、第１制御信号が示す回転制御を補正する。
【００３２】
ロボット制御装置１００は、制御補正部１１１を有することで、ロボット１０に備えられたモータ１２−１又はモータ１２−２の回転を制御するための制御信号において、脱調又は故障等の不具合が発生しないように、ロボット１０のアーム１１を安定して制御することができる。
なお、制御補正部１１１は、第１制御信号と第２制御信号とを比較する例を説明したが、制御補正部１１１は、第１制御信号と、回転状況取得部１０４が取得する回転状況信号とを比較し、第１制御信号が示す制御内容が、回転状況信号が示すモータ１２−１又はモータ１２−２の回転速度等の回転状況に対して、予め定められた範囲内の変化量になるように、第１制御信号を補正しても良い。
【００３３】
制御補間部１１２は、制御生成部１０７が生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部１０７が直前に生成した第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間して第１制御信号を補正する。制御補間部１１２は、第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間する際、第１制御信号における欠落している制御内容が、第２制御信号が示す制御内容から予め定められた範囲内の変化量になるように補間して第１制御信号を補正する。
【００３４】
例えば、制御生成部１０７が予め定められた期間ごとに定期的に制御信号を生成し、ロボット１０に備えられたモータ１２−１又はモータ１２−２の回転制御を行う場合、制御生成部１０７による制御信号の生成が当該期間内に完了しない場合がある。このような場合、例えば、制御生成部１０７により生成された制御信号は、制御内容の一部又は全部が欠落した状態となる。例えば、制御信号が示す制御内容が相対値ではなく絶対値を指定する制御信号である場合、制御生成部１０７が生成する制御信号の制御内容の一部又は全部が欠落すると、モータ１２−１又はモータ１２−２は、急激なトルク変化を強いられ、脱調等の不具合が発生することがある。更には、モータ１２−１又はモータ１２−２は、予め決められた定格電圧を超える電気信号が入力され、故障等の不具合が発生することがある。
ロボット制御装置１００は、制御補間部１１２を有することで、ロボット１０に備えられたモータ１２−１又はモータ１２−２の回転を制御するための制御信号において、脱調又は故障等の不具合が発生しないように、ロボット１０のアーム１１を安定して制御することができる。
なお、制御補間部１１２は、第１制御信号における欠落している制御内容を補間する際、第２制御信号に基づいて第１制御信号を補間する例を説明したが、制御補正部１１１は、第１制御信号と、回転状況取得部１０４が取得する回転状況信号とを比較し、第１制御信号が示す制御内容が、回転状況信号が示すモータ１２−１又はモータ１２−２の回転速度等の回転状況に対して、予め定められた範囲内の変化量になるように、第１制御信号を補間して補正しても良い。
【００３５】
図４Ａ及び図４Ｂを参照して、実施の形態１に係るロボット制御装置１００の要部のハードウェア構成について説明する。
図４Ａ及び図４Ｂは、実施の形態１に係るロボット制御装置１００の要部のハードウェア構成の一例を示す図である。
【００３６】
図４Ａに示す如く、ロボット制御装置１００はコンピュータにより構成されており、当該コンピュータはプロセッサ２０１及びメモリ２０２を有している。メモリ２０２には、当該コンピュータを、画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７、制御出力部１０８、制御補正部１１１、及び制御補間部１１２として機能させるためのプログラムが記憶されている。メモリ２０２に記憶されているプログラムをプロセッサ２０１が読み出して実行することにより、画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７、制御出力部１０８、制御補正部１１１、及び制御補間部１１２が実現される。
【００３７】
また、図４Ｂに示す如く、ロボット制御装置１００は処理回路２０３により構成されても良い。この場合、画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７、制御出力部１０８、制御補正部１１１、及び制御補間部１１２の機能が処理回路２０３により実現されても良い。
【００３８】
また、ロボット制御装置１００はプロセッサ２０１、メモリ２０２及び処理回路２０３により構成されても良い（不図示）。この場合、画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７、制御出力部１０８、制御補正部１１１、及び制御補間部１１２の機能のうちの一部の機能がプロセッサ２０１及びメモリ２０２により実現されて、残余の機能が処理回路２０３により実現されるものであっても良い。
【００３９】
プロセッサ２０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ、マイクロコントローラ又はＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）を用いたものである。
【００４０】
メモリ２０２は、例えば、半導体メモリ又は磁気ディスクを用いたものである。より具体的には、メモリ２０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）又はＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などを用いたものである。
【００４１】
処理回路２０３は、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−Ｃｈｉｐ）又はシステムＬＳＩ（Ｌａｒｇｅ−Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を用いたものである。
【００４２】
図５を参照して、実施の形態１に係るロボット制御装置１００の動作について説明する。
図５は、実施の形態１に係るロボット制御装置１００の処理の一例を説明するフローチャートである。
ロボット制御装置１００は、例えば、新たな目標位置が設定される毎に当該フローチャートの処理を繰り返して実行する。
【００４３】
まず、ステップＳＴ５０１にて、画像取得部１０１は、画像情報を取得する。
次に、ステップＳＴ５０２にて、モデル取得部１０３は、モデル情報を取得する。
次に、ステップＳＴ５０３にて、回転状況取得部１０４は、回転状況信号を取得する。
次に、ステップＳＴ５０４にて、現在位置取得部１０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
次に、ステップＳＴ５０５にて、仮想空間画像生成部１０２は、仮想空間画像情報を生成する。
次に、ステップＳＴ５０６にて、目標位置取得部１０６は、目標位置情報を取得する。
次に、ステップＳＴ５０７にて、制御生成部１０７は、モデル情報に含まれる対応情報のうち、目標位置情報が示す目標位置に対応する対応情報を特定する。
【００４４】
次に、ステップＳＴ５０８にて、制御生成部１０７は、現在位置取得部１０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
ステップＳＴ５０８にて、制御生成部１０７が、アーム１１の現在位置と目標位置とが同一であると判定した場合、ロボット制御装置１００は、当該フローチャートの処理を終了する。
ステップＳＴ５０８にて、制御生成部１０７が、アーム１１の現在位置と目標位置とが同一でないと判定した場合、ステップＳＴ５１１にて、制御生成部１０７は、特定した対応情報を参照して、現在位置取得部１０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置に対応する制御信号を特定することにより、アーム１１を移動させるための制御内容を示す制御信号を生成する。
【００４５】
次に、ステップＳＴ５１２にて、制御補正部１１１は、制御生成部１０７が生成した第１制御信号が示す制御内容が、制御生成部１０７が直前に生成した第２制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第１制御信号を補正する。
次に、ステップＳＴ５１３にて、制御補間部１１２は、制御生成部１０７が生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部１０７が直前に生成した第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間して第１制御信号を補正する。
次に、ステップＳＴ５１４にて、制御出力部１０８は、制御生成部１０７が生成した制御信号又は制御補正部１１１若しくは制御補間部１１２が補正した制御信号を、ロボット１０に出力する。
次に、ステップＳＴ５１５にて、回転状況取得部１０４は、回転状況信号を取得する。
次に、ステップＳＴ５１６にて、現在位置取得部１０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
次に、ステップＳＴ５１７にて、仮想空間画像生成部１０２は、仮想空間画像情報を生成する。
【００４６】
ロボット制御装置１００は、ステップＳＴ５１７の処理を実行した後、ステップＳＴ５０８の処理に戻って、ステップＳＴ５０８にて、制御生成部１０７が、アーム１１の位置と目標位置とが同一であると判定するまでの期間において、ステップＳＴ５０８からステップＳＴ５１７までの処理を繰り返し実行する。
なお、当該フローチャートの処理において、ステップＳＴ５１２、ステップＳＴ５１３，及びステップＳＴ５１７の処理は、ロボット制御装置１００において必須の処理ではない。また、当該フローチャートの処理において、ステップＳＴ５０１及びステップＳＴ５０２の処理は順序が逆であっても良い。また、当該フローチャートの処理において、ステップＳＴ５１２及びステップＳＴ５１３の処理は順序が逆であっても良い。
【００４７】
モデル情報の生成方法について説明する。
ロボット制御装置１００が制御信号を生成する際に用いるモデル情報は、ロボット制御学習装置３００により生成される。
図６を参照して実施の形態１に係るロボット制御学習装置３００の要部の構成について説明する。
図６は、実施の形態１に係るロボット制御学習装置３００及びロボット制御学習システム３の要部の構成の一例を示すブロック図である。
ロボット制御学習装置３００は、ロボット制御学習システム３に適用される。
ロボット制御学習システム３は、ロボット制御学習装置３００、ロボット１０、ネットワーク３０、記憶装置４０、及び撮像装置５０を備える。
ロボット制御学習システム３の構成において、ロボット制御システム１と同様の構成については、同じ符号を付して重複した説明を省略する。すなわち、図２に記載した符号と同じ符号を付した図６の構成については、説明を省略する。
【００４８】
ロボット１０に備えられたモータ制御手段１３、回転センサ１４−１，１４−２、及び接触センサ１５、記憶装置４０、撮像装置５０、並びに、ロボット制御学習装置３００は、それぞれ、ネットワーク３０に接続されている。
ロボット制御学習装置３００は、ロボット１０に備えられたモータ１２−１又はモータ１２−２の回転を制御するための制御信号を生成し、当該制御信号によりロボット１０に備えられたモータ１２−１又はモータ１２−２を制御することによってロボット１０にアーム１１を制御するための学習を行い、ロボット制御装置１００がロボット１０のアーム１１を制御する際に用いるモデル情報を生成するものである。
【００４９】
ロボット制御学習装置３００は、ロボット１０のアーム１１の現在位置を示す現在位置情報、アーム１１の目標位置を示す目標位置情報、及び参照経路を示す参照経路情報に基づいてロボット制御装置１００が目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成する際に用いるモデル情報を生成するものである。
ロボット制御学習装置３００は、画像取得部３０１、仮想空間画像生成部３０２、回転状況取得部３０４、目標位置取得部３０６、現在位置取得部３０５、制御生成部３０７、制御出力部３０８、参照経路取得部３２０、報酬算出部３２１、モデル生成部３２２、モデル出力部３２３、及び接触信号取得部３２４を備える。ロボット制御学習装置３００は、上述の構成に加えて、制御補正部３１１、及び制御補間部３１２を備えるものであっても良い。
【００５０】
なお、実施の形態１に係るロボット制御学習装置３００における画像取得部３０１、仮想空間画像生成部３０２、回転状況取得部３０４、目標位置取得部３０６、現在位置取得部３０５、制御生成部３０７、制御出力部３０８、参照経路取得部３２０、報酬算出部３２１、モデル生成部３２２、モデル出力部３２３、接触信号取得部３２４、制御補正部３１１、及び制御補間部３１２の各機能は、実施の形態１に係るロボット制御装置１００について図４Ａ及び図４Ｂに一例を示したハードウェア構成におけるプロセッサ２０１及びメモリ２０２により実現されるものであっても良く、又は処理回路２０３により実現されるものであっても良い。
【００５１】
画像取得部３０１は、撮像装置５０が出力した画像情報を、ネットワーク３０を介して取得する。
【００５２】
仮想空間画像生成部３０２は、画像取得部３０１が取得した画像情報に基づいて作業環境２０を仮想空間に画像として再現し、当該画像を示す仮想空間画像情報を生成する。
仮想空間画像生成部３０２が仮想空間画像情報を生成する処理は、実施の形態１に係るロボット制御装置１００における仮想空間画像生成部１０２が実施する処理と同様であるため、詳細な説明を省略する。
なお、実施の形態１に係るロボット制御学習装置３００において、仮想空間画像生成部３０２が仮想空間画像情報を生成するために必要な指標情報は、仮想空間画像生成部３０２が、ネットワーク３０を介して記憶装置４０から読み出すことにより取得するものとして説明する。
【００５３】
回転状況取得部３０４は、ロボット１０に備えられた回転センサ１４−１，１４−２から、モータ１２−１，１２−２の回転状況を示す回転状況信号を取得する。
【００５４】
現在位置取得部３０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
具体的には、例えば、現在位置取得部３０５は、回転状況取得部３０４が取得した回転状況信号に基づいてロボット１０におけるアーム１１の現在位置を特定することにより、現在位置情報を取得する。
現在位置取得部３０５が現在位置情報を取得する処理は、実施の形態１に係るロボット制御装置１００における現在位置取得部１０５が実施する処理と同様であるため、詳細な説明を省略する。
【００５５】
目標位置取得部３０６は、アーム１１を移動させる目標位置を示す目標位置情報を取得する。
目標位置取得部３０６が目標位置情報を取得する処理は、実施の形態１に係るロボット制御装置１００における目標位置取得部１０６が実施する処理と同様であるため、詳細な説明を省略する。
【００５６】
参照経路取得部３２０は、現在位置取得部３０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置から、目標位置取得部３０６が取得した目標位置情報が示す目標位置までの経路のうち、少なくとも一部の経路を含む参照経路を示す参照経路情報を取得する。
参照経路取得部３２０は、例えば、図示しない表示装置に仮想空間画像生成部３０２が生成した仮想空間画像情報を表示させて、図示しない入力装置がユーザから入力を受け付けて、入力された参照経路情報を取得する。
【００５７】
参照経路取得部３２０における参照経路情報の取得方法は、上述の方法に限定されるものではない。
例えば、参照経路取得部３２０は、所定の計算処理に基づいて自動で生成しても良い。具体的には、例えば、参照経路取得部３２０は、現在位置情報、目標位置情報、及び仮想空間画像情報に基づいてＲＲＴ（Ｒａｐｉｄｌｙ−ｅｘｐｌｏｒｉｎｇ  Rａｎｄｏｍ  Tｒｅｅ）等を用いたランダムサーチを実行し、ランダムサーチの結果に基づいて参照経路情報を生成することにより、参照経路情報を取得しても良い。
参照経路取得部３２０は、参照経路情報を取得する際にランダムサーチの結果を用いることにより、参照経路情報を自動で生成できる。
なお、ＲＲＴ等を用いたランダムサーチにより２地点間の経路を求める方法は、公知であるため説明を省略する。
【００５８】
また、例えば、参照経路取得部３２０は、現在位置情報が示すアーム１１の現在位置から目標位置情報が示す目標位置までの区間において、アーム１１が過去に移動した経路を示す移動履歴情報に基づいて参照経路情報を生成することにより、参照経路情報を取得しても良い。
移動履歴情報は、例えば、アーム１１が過去に当該区間を移動した際に、ネットワーク３０を介して記憶装置４０に記憶させる。参照経路取得部３２０は、記憶装置４０から移動履歴情報を読み出すことにより、移動履歴情報を取得する。
参照経路取得部３２０は、参照経路情報を取得する際に移動履歴情報を用いることにより、参照経路情報を自動で生成できる。
【００５９】
接触信号取得部３２４は、ネットワーク３０を介して、接触センサ１５が出力した接触信号を受信する。
【００６０】
報酬算出部３２１は、現在位置取得部３０５が取得した現在位置情報と、目標位置取得部３０６が取得した目標位置情報と、参照経路取得部３２０が取得した参照経路情報とに基づいてアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む演算式を用いて、報酬を算出する。
報酬算出部３２１が報酬を算出する際に用いる演算式は、アーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、現在位置取得部３０５が取得した現在位置情報が示すアーム１１の現在位置の移動の連続性を評価することにより報酬を算出する項を含むものであっても良い。
また、報酬算出部３２１が報酬を算出する際に用いる演算式は、アーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、アーム１１と作業環境２０における障害物とが接触したか否かを評価することにより報酬を算出する項を含むものであっても良い。報酬算出部３２１は、アーム１１と作業環境２０における障害物とが接触したか否かを、例えば、接触信号取得部３２４が接触センサ１５から取得した接触信号に基づいて判定する。
【００６１】
具体的には、報酬算出部３２１は、以下の式（１）を用いて、時点ｔ−１におけるロボット１０におけるアーム１１の位置から、ロボット１０におけるアーム１１が任意の制御信号に基づいて時点ｔまでの間に行動し、時点ｔにおけるロボット１０におけるアーム１１の位置となる際の報酬を算出するものである。なお、時点ｔ−１から時点ｔまでの期間は、例えば、制御生成部３０７が、ロボット１０備えられたモータ制御手段１３に出力する制御信号を生成する予め決められた時間間隔である。
【００６２】
0006644191.tif 000002
【００６３】
0006644191.tif 000003
【００６４】
0006644191.tif 000004
【００６５】
0006644191.tif 000005
【００６６】
モデル生成部３２２は、Ｑ学習法、Ａｃｔｏｒ−Ｃｒｉｔｉｃ法、若しくはＳａｒｓａ法等のＴＤ（Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）学習法、又はモンテカルロ法等の強化学習によりモデルを生成し、生成したモデルを示すモデル情報を生成する。
強化学習は、ある時刻ｔにおける行動主体の状態Ｓｔにおいて、行動主体が行動し得る１以上の行動のうち、ある行動ａｔを選択して行動した際の当該ある行動ａｔに対する価値Ｑ（Ｓｔ，ａｔ）と当該ある行動ａｔに対する報酬ｒｔを定義し、価値Ｑ（Ｓｔ，ａｔ）と報酬ｒｔとを高めていくものである。
一般に、行動価値関数の更新式は、以下の式（２）により示される。
Ｑ（Ｓｔ，ａｔ）  ←  Ｑ（Ｓｔ，ａｔ）+α（ｒｔ+１+γｍａｘＱ（Ｓｔ+１，ａｔ+１）-Ｑ（Ｓｔ，ａｔ））  ・・・式（２）
【００６７】
ここで、Ｓｔは、ある時点ｔにおける行動主体の状態、ａｔは、ある時点ｔにおける行動主体の行動、及び、Ｓｔ+１は、時点ｔより所定の時間間隔だけ時刻が進んだ時点ｔ＋１における行動主体の状態を表す。時点ｔにおいて状態Ｓｔである行動主体は、行動ａｔにより、時点ｔ＋１において、状態Ｓｔ+１に遷移する。
Ｑ（Ｓｔ，ａｔ）は、状態Ｓｔにある行動主体が行った行動ａｔに対する価値を表す。
ｒｔ+１は、行動主体が状態Ｓｔから状態Ｓｔ+１に遷移した際の報酬を示す値である。
ｍａｘＱ（Ｓｔ+１，ａｔ+１）は、行動主体の状態が状態Ｓｔ+１であるときに行動主体が取り得る行動ａｔ+１のうち、行動主体が、最もＱ（Ｓｔ+１，ａｔ+１）の値が大きな値となる行動ａ＊を選択した際のＱ（Ｓｔ+１，ａ＊）を表す。
γは、１以下の正の値を示すパラメータであり、一般に、割引率と呼ばれる値である。
αは、１以下の正の値を示す学習係数である。
【００６８】
式（２）は、行動主体の状態Ｓｔにおける行動主体が行う行動ａｔに基づく報酬ｒｔ+１と、行動ａｔにより遷移した行動主体の状態Ｓｔ+１における行動主体が行う行動ａ＊の価値Ｑ（Ｓｔ+１，ａ＊）とに基づいて行動主体の状態Ｓｔにおける行動主体が行う行動ａｔの価値Ｑ（Ｓｔ，ａｔ）を更新するものである。
具体的には、式（２）は、状態Ｓｔにおける行動ａｔによる価値Ｑ（Ｓｔ，ａｔ）よりも、状態Ｓｔにおける行動ａｔに基づく報酬ｒｔ+１と、行動ａｔにより遷移した状態Ｓｔ+１における行動ａ＊の価値Ｑ（Ｓｔ+１，ａ＊）との和の方が大きい場合、価値Ｑ（Ｓｔ，ａｔ）を大きくするように更新する。反対に、式（２）は、状態Ｓｔにおける行動ａｔによる価値Ｑ（Ｓｔ，ａｔ）よりも、状態Ｓｔにおける行動ａｔに基づく報酬ｒｔ+１と、行動ａｔにより遷移した状態Ｓｔ+１における行動ａ＊の価値Ｑ（Ｓｔ+１，ａ＊）との和の方が小さい場合、価値Ｑ（Ｓｔ，ａｔ）を小さくするように更新する。
【００６９】
つまり、式（２）は、行動主体がある状態である場合において、行動主体がある行動を行った際の当該行動の価値を、当該行動に基づく報酬と、当該行動により遷移した状態における最良の行動の価値との和に近付けるように更新するためのものである。
行動主体の状態が状態Ｓｔ+１であるときに行動主体が取り得る行動ａｔ+１のうち、行動主体が、最もＱ（Ｓｔ+１，ａｔ+１）の値が大きな値となる行動ａ＊を決定する方法は、例えば、ε−ｇｒｅｅｄｙ法、Ｓｏｆｔｍａｘ法、又は、ＲＢＦ（Ｒａｄｉａｌ  Ｂａｓｉｓ  Ｆｕｎｃｔｉｏｎ）関数を用いる方法がある。これらの方法は、公知であるため説明を省略する。
【００７０】
上述の一般的な式（２）において、行動主体は、実施の形態１に係るアーム１１であり、行動主体の状態は、アーム１１の位置であり、行動は、アーム１１の位置の移動である。
【００７１】
モデル生成部３２２は、式（２）に式（１）を適用することにより、モデル情報を生成する。
具体的には、モデル生成部３２２は、式（２）に式（１）を適用することにより、現在位置取得部３０５が取得したロボット１０におけるアーム１１の現在位置を示す現在位置情報と、アーム１１を移動させるための制御内容を示す制御信号とを対応付けた対応情報を生成する。対応情報は、互いに異なる複数の目標位置において、目標位置毎に、複数の位置と、各位置に対応する制御信号がセットになった情報である。モデル生成部３２２は、互いに異なる複数の目標位置のそれぞれに対応付けた複数の対応情報を含むモデル情報を生成する。
以上のとおり、モデル生成部３２２は、現在位置取得部３０５が取得した現在位置情報と、目標位置取得部３０６が取得した目標位置情報と、参照経路取得部３２０が取得した参照経路情報と、報酬算出部３２１が算出した報酬とに基づいてモデル情報を生成するものである。
【００７２】
図７を参照して、実施の形態１に係るアーム１１の状態が状態Ｓｔであるときにアーム１１が取り得る行動ａｔから、行動ａ＊を選択する方法について説明する。
図７は、実施の形態１に係るアーム１１の状態が状態Ｓｔであるときにアーム１１が取り得る行動ａｔから、行動ａ＊を選択する一例を示す図である。
【００７３】
図７において、ａｉ、ａｊ、及びａ＊は、時点ｔにおいて、アーム１１の状態が状態Ｓｔであるときにアーム１１が取り得る行動である。また、Ｑ（Ｓｔ，ａｉ）、Ｑ（Ｓｔ，ａｊ）、及びＱ（Ｓｔ，ａ＊）は、アーム１１の状態が状態Ｓｔであるときにアーム１１が行動ａｉ、行動ａｊ、及び行動ａ＊を行った際の各行動に対する価値である。
モデル生成部３２２は、式（２）に式（１）を適用することにより、モデル情報を生成するため、価値Ｑ（Ｓｔ，ａｉ）、価値Ｑ（Ｓｔ，ａｊ）、及び価値Ｑ（Ｓｔ，ａ＊）は、式（１）における第６項及び第７項を含む演算式により評価される。すなわち、価値Ｑ（Ｓｔ，ａｉ）、価値Ｑ（Ｓｔ，ａｊ）、及び価値Ｑ（Ｓｔ，ａ＊）は、アーム１１の位置と参照経路との間の距離が近いほど、また、アーム１１が参照経路に沿って目標位置の方向に向かって移動した距離が長いほど、高い値となる。
【００７４】
したがって、価値Ｑ（Ｓｔ，ａｉ）、価値Ｑ（Ｓｔ，ａｊ）、及び価値Ｑ（Ｓｔ，ａ＊）を比較した場合、価値Ｑ（Ｓｔ，ａ＊）が最も高い値を示すため、モデル生成部３２２は、ロボット１０の状態が状態Ｓｔであるとき、行動ａ＊を選択して、状態Ｓｔと行動ａ＊に対応する制御信号とを対応付けてモデル情報を生成する。
なお、モデル生成部３２２は、モデル情報を生成する際に、報酬を算出する適切な演算式を採用することにより、上述の行動ａ＊を決定するための試行回数を低減させることが可能なＴＤ学習を用いることが好適である。
【００７５】
制御生成部３０７は、モデル生成部３２２がモデル情報を生成する際に選択した行動に対応する制御信号を生成する。
【００７６】
制御出力部３０８は、制御生成部３０７が生成した制御信号を、ネットワーク３０を介して、ロボット１０備えられたモータ制御手段１３に出力する。
ロボット１０に備えられたモータ制御手段１３は、ネットワーク３０を介して、制御出力部３０８が出力した制御信号を受信し、上述のとおり、受信した制御信号を入力信号として、制御信号に基づいてモータ１２−１，１２−２を制御する。
モデル出力部３２３は、モデル生成部３２２が生成したモデル情報を、ネットワーク３０を介して、記憶装置４０に出力し、記憶装置４０に記憶させる。
【００７７】
制御補正部３１１は、制御生成部３０７が生成した制御信号（以下「第１制御信号」という。）が示す制御内容が、制御生成部３０７が直前に生成した制御信号（以下「第２制御信号」という。）が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第１制御信号を補正する。
なお、制御補正部３１１が、第１制御信号と第２制御信号とを比較する例を説明したが、制御補正部３１１は、第１制御信号と、回転状況取得部３０４が取得する回転状況信号とを比較し、ロボット１０において、モータ制御手段１３が行っている制御に対して予め定められた範囲内の変化量になるように、第１制御信号を補正しても良い。
制御補正部３１１は、ロボット制御装置１００における制御補正部１１１と同様の動作であるため、詳細な説明は省略する。
なお、モデル生成部３２２は、制御補正部３１１が補正した制御信号を用いてモデル情報を生成しても良い。
【００７８】
制御補間部３１２は、制御生成部３０７が生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部３０７が直前に生成した第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間して第１制御信号を補正する。制御補間部３１２は、第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間する際、第１制御信号における欠落している制御内容が、第２制御信号が示す制御内容から予め定められた範囲内の変化量になるように補間して第１制御信号を補正する。
なお、制御補間部３１２が、第１制御信号における欠落している制御内容を補間する際、第２制御信号に基づいて第１制御信号を補間する例を説明したが、制御補間部３１２は、回転状況取得部３０４が取得する回転状況信号に基づいてロボット１０において、モータ制御手段１３が行っている制御に対して予め定められた範囲内の変化量になるように、第１制御信号を補間して補正しても良い。
制御補間部３１２は、ロボット制御装置１００における制御補間部１１２と同様の動作であるため、詳細な説明は省略する。
なお、モデル生成部３２２は、制御補間部３１２が補正した制御信号を用いてモデル情報を生成しても良い。
【００７９】
図８を参照して、実施の形態１に係るロボット制御学習装置３００の動作について説明する。
図８は、実施の形態１に係るロボット制御学習装置３００の処理の一例を説明するフローチャートである。
ロボット制御学習装置３００は、例えば、当該フローチャートの処理を繰り返して実行する。
【００８０】
まず、ステップＳＴ８０１にて、画像取得部３０１は、画像情報を取得する。
次に、ステップＳＴ８０２にて、回転状況取得部３０４は、回転状況信号を取得する。
次に、ステップＳＴ８０３にて、現在位置取得部３０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
次に、ステップＳＴ８０４にて、仮想空間画像生成部３０２は、指標情報を取得する。  次に、ステップＳＴ８０５にて、仮想空間画像生成部３０２は、仮想空間画像情報を生成する。
次に、ステップＳＴ８０６にて、目標位置取得部３０６は、目標位置情報を取得する。
【００８１】
ステップＳＴ８０７にて、制御生成部３０７は、現在位置取得部３０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
ステップＳＴ８０７にて、制御生成部３０７が、アーム１１の現在位置と目標位置とが同一でないと判定した場合、ロボット制御学習装置３００は、ステップＳＴ８１１以降の処理を実行する。
ステップＳＴ８１１にて、報酬算出部３２１は、アーム１１が取り得る複数の行動における報酬を行動ごとに算出する。
次に、ステップＳＴ８１２にて、モデル生成部３２２は、報酬算出部３２１が行動ごとに算出した報酬と、当該行動ごとの価値と、当該行動ごとに次に取りうる複数の行動ごとの価値とに基づいて行うべき行動を選択する。
次に、ステップＳＴ８１３にて、制御生成部３０７は、モデル生成部３２２が選択した行動に対応する制御信号を生成する。
【００８２】
次に、ステップＳＴ８１４にて、制御補正部３１１は、制御生成部３０７が生成した第１制御信号が示す制御内容が、制御生成部３０７が直前に生成した第２制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第１制御信号を補正する。
次に、ステップＳＴ８１５にて、制御補間部３１２は、制御生成部３０７が生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部３０７が直前に生成した第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間して第１制御信号を補正する。
次に、ステップＳＴ８１６にて、モデル生成部３２２は、現在位置取得部３０５が取得した現在位置情報と、アーム１１を移動させるための制御内容を示す制御信号とを対応付けた対応情報を生成することにより、モデル情報を生成する。
【００８３】
次に、ステップＳＴ８１７にて、制御出力部３０８は、制御生成部３０７が生成した制御信号、又は、制御補正部３１１若しくは制御補間部３１２が補正した制御信号を、ロボット１０備えられたモータ制御手段１３に出力する。
次に、ステップＳＴ８１８にて、回転状況取得部３０４は、回転状況信号を取得する。
次に、ステップＳＴ８１９にて、現在位置取得部３０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
次に、ステップＳＴ８２０にて、仮想空間画像生成部３０２は、仮想空間画像情報を生成する。
【００８４】
ロボット制御学習装置３００は、ステップＳＴ８２０の処理を実行した後、ステップＳＴ８０７の処理に戻って、ステップＳＴ８０７にて、制御生成部３０７が、アーム１１の現在位置と目標位置とが同一であると判定するまでの期間において、ステップＳＴ８０７からステップＳＴ８２０までの処理を繰り返し実行する。
ステップＳＴ８０７にて、制御生成部３０７が、アーム１１の現在位置と目標位置とが同一であると判定した場合、ステップＳＴ８２１にて、モデル出力部３２３は、モデル生成部３２２が生成したモデル情報を出力する。
ステップＳＴ８２１の処理を実行した後、ロボット制御学習装置３００は、当該フローチャートの処理を終了する。
【００８５】
なお、当該フローチャートの処理において、ステップＳＴ８１４、ステップＳＴ８１５，及びステップＳＴ８２０の処理は、ロボット制御学習装置３００において必須の処理ではない。また、当該フローチャートの処理において、ステップＳＴ８０１及びステップＳＴ８０２の処理は、実行される順序が逆でも良い。また、当該フローチャートの処理において、ステップＳＴ８１４及びステップＳＴ８１５の処理は、実行される順序が逆でも良い。
【００８６】
図９は、アーム１１が目標位置に到達するまでに移動した経路の一例を示した図である。図９Ａは、ある時点におけるアーム１１の位置から目標位置まで参照経路を設定して式（１）に示した演算式を用いる場合、図９Ｂは、ある時点におけるアーム１１の位置から目標位置に至る途中まで参照経路を設定して式（１）に示した演算式を用いた場合、図９Ｃは、参照経路を設定せずに、式（１）に示した演算式から第６項と第７項を除いた演算式を用いる場合を示している。
図９Ａは、アーム１１が目標位置に到達するまで、設定された参照経路に沿って移動することが見て取れる。また、図９Ｂは、アーム１１が設定された参照経路が存在する地点まで参照経路に沿って移動し、その後、目標位置に向かって移動することが見て取れる。これに対して、図９Ｃは、アーム１１が目標位置に向かって移動する際に、アーム１１が障害物を避けるように移動するため目標位置に到達することができないことが見て取れる。すなわち、ロボット制御学習装置３００は、図９Ａ及び図９Ｂに示すように、参照経路を設定して式（１）に示した演算式を用いて学習を行うことにより、短期間で学習を完了することができる。
【００８７】
以上のように、ロボット制御装置１００は、ロボット１０のアーム１１の現在位置を示す現在位置情報を取得する現在位置取得部１０５と、アーム１１の目標位置を示す目標位置情報を取得する目標位置取得部１０６と、参照経路を示す参照経路情報を参照してアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成する制御生成部１０７と、を備えた。
【００８８】
このように構成することで、ロボット制御装置１００は、演算量を減らしつつ、ロボット１０のアーム１１が実質的に不連続な動作を行うことないようにロボット１０を制御することができる。
【００８９】
また、以上のように、ロボット制御学習装置３００は、ロボット１０のアーム１１の現在位置を示す現在位置情報を取得する現在位置取得部３０５と、アーム１１の目標位置を示す目標位置情報を取得する目標位置取得部３０６と、参照経路を示す参照経路情報を取得する参照経路取得部３２０と、現在位置取得部３０５が取得した現在位置情報と、目標位置取得部３０６が取得した目標位置情報と、参照経路取得部３２０が取得した参照経路情報とに基づいてアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部３２１と、目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成する制御生成部３０７と、現在位置取得部３０５が取得した現在位置情報と、目標位置取得部３０６が取得した目標位置情報と、参照経路取得部３２０が取得した参照経路情報と、報酬算出部３２１が算出した報酬とに基づいて制御信号によりアーム１１を移動させる価値を評価することにより、モデル情報を生成するモデル生成部３２２と、を備えた。
【００９０】
このように構成することで、ロボット制御学習装置３００は、ロボット１０のアーム１１が実質的に不連続な動作を行うことないようにロボット１０を制御させるためのモデル情報を、短い学習期間で生成することができる。
【００９１】
実施の形態２．
図１０を参照して実施の形態２に係るロボット制御装置１００ａについて説明する。
図１０は、実施の形態２に係るロボット制御装置１００ａ及びロボット制御システム１ａの要部の構成の一例を示すブロック図である。
ロボット制御装置１００ａは、例えば、ロボット制御システム１ａに適用される。
ロボット制御装置１００ａは、ロボット制御装置１００と同様に、モデル情報、アーム１１の現在位置を示す現在位置情報、及び作業環境２０における目標位置を示す目標位置情報に基づいて目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成し、生成した制御信号を、ネットワーク３０を介してロボット１０に備えられたモータ制御手段１３に出力するものである。ロボット制御装置１００ａが制御信号を生成する際に用いるモデル情報は、ロボット制御学習装置３００により生成される。
【００９２】
実施の形態２に係るロボット制御装置１００ａは、実施の形態１に係るロボット制御装置１００と比較して、参照経路取得部１２０、報酬算出部１２１、モデル更新部１２２、モデル出力部１２３、及び接触信号取得部１２４が追加され、ロボット制御学習装置３００が出力した学習済みのモデル情報を更新可能にしたものである。
実施の形態２に係るロボット制御装置１００ａ及びロボット制御システム１ａの構成において、実施の形態１に係るロボット制御装置１００又はロボット制御システム１と同様の構成については、同じ符号を付して重複した説明を省略する。すなわち、図２に記載した符号と同じ符号を付した図１０の構成については、説明を省略する。
【００９３】
ロボット制御システム１ａは、ロボット制御装置１００ａ、ロボット１０、ネットワーク３０、記憶装置４０、及び撮像装置５０を備える。
ロボット１０に備えられたモータ制御手段１３、回転センサ１４−１，１４−２、及び接触センサ１５、記憶装置４０、撮像装置５０、並びに、ロボット制御システム１ａは、それぞれ、ネットワーク３０に接続されている。
ロボット制御装置１００ａは、画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７ａ、及び制御出力部１０８ａ、参照経路取得部１２０、報酬算出部１２１、モデル更新部１２２、モデル出力部１２３、及び接触信号取得部１２４を備える。ロボット制御装置１００ａは、上述の構成に加えて、制御補正部１１１ａ、及び制御補間部１１２ａを備えるものであっても良い。
【００９４】
なお、実施の形態２に係るロボット制御装置１００ａにおける画像取得部１０１、仮想空間画像生成部１０２、モデル取得部１０３、回転状況取得部１０４、目標位置取得部１０６、現在位置取得部１０５、制御生成部１０７ａ、及び制御出力部１０８ａ、参照経路取得部１２０、報酬算出部１２１、モデル更新部１２２、モデル出力部１２３、接触信号取得部１２４、制御補正部１１１ａ、及び制御補間部１１２ａの各機能は、実施の形態１において図２Ａ及び図２Ｂに一例を示したハードウェア構成におけるプロセッサ２０１及びメモリ２０２により実現されるものであっても良く、又は処理回路２０３により実現されるものであっても良い。
【００９５】
参照経路取得部１２０は、参照経路を示す参照経路情報を取得する。具体的には、例えば、参照経路取得部１２０は、ロボット制御学習装置３００がモデル情報を生成する際に用いた参照経路情報を、モデル取得部１０３が取得したモデル情報から読み出すことにより、参照経路情報を取得する。
【００９６】
報酬算出部１２１は、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報と、参照経路取得部１２０が取得した参照経路情報とに基づいてアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む演算式を用いて、報酬を算出する。
【００９７】
報酬算出部１２１が報酬を算出する際に用いる演算式は、アーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、現在位置取得部１０５が取得した現在位置情報が示すアーム１１の現在位置の移動の連続性を評価することにより報酬を算出する項を含むものであっても良い。
また、報酬算出部１２１が報酬を算出する際に用いる演算式は、アーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項に加えて、アーム１１と作業環境２０における障害物とが接触したか否かを評価することにより報酬を算出する項を含むものであっても良い。報酬算出部１２１は、アーム１１と作業環境２０における障害物とが接触したか否かを、例えば、接触信号取得部１２４が接触センサ１５から取得した接触信号に基づいて判定する。
具体的には、報酬算出部１２１は、実施の形態１に示した式（１）に基づいて当該報酬を算出する。
【００９８】
モデル更新部１２２は、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報と、参照経路取得部１２０が取得した参照経路情報と、報酬算出部１２１が算出した報酬とに基づいてモデル情報を更新する。
モデル更新部１２２は、実施の形態１に示した式（２）に式（１）を適用することにより、現在位置取得部１０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置と、アーム１１を移動させるための制御内容を示す制御信号とを対応付けた対応情報を更新することより、モデル情報を更新する。
モデル出力部１２３は、モデル更新部１２２が更新したモデル情報を、ネットワーク３０を介して、記憶装置４０に出力し、記憶装置４０に記憶させる。
【００９９】
制御生成部１０７ａは、モデル取得部１０３が取得したモデル情報と、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成する。制御生成部１０７ａは、モデル取得部１０３が取得したモデル情報の代わりにモデル更新部１２２が更新したモデル情報に基づいて制御信号を生成する場合があることを除いて、実施の形態１に示した制御生成部１０７と同様であるため、詳細な説明を省略する。
【０１００】
制御補正部１１１ａは、制御生成部１０７ａが生成した第１制御信号が示す制御内容が、制御生成部１０７ａが直前に生成した第２制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第１制御信号を補正する。
制御補間部１１２ａは、制御生成部１０７ａが生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部１０７ａが直前に生成した第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間して第１制御信号を補正する。
なお、制御補正部１１１ａ及び制御補間部１１２ａの動作は、実施の形態１に示した制御補正部１１１及び制御補間部１１２の動作と同様であるため、詳細な説明を省略する。
また、モデル更新部１２２は、制御補正部１１１ａ又は制御補間部１１２ａが補正した制御信号を用いてモデル情報を更新しても良い。
【０１０１】
制御出力部１０８ａ、制御生成部１０７ａが生成した制御信号、又は、制御補正部１１１ａ若しくは制御補間部１１２ａが補正した制御信号を、ロボット１０に備えられたモータ制御手段１３に出力する。
【０１０２】
図１１を参照して、実施の形態２に係るロボット制御装置１００ａの動作について説明する。
図１１は、実施の形態２に係るロボット制御装置１００ａの処理の一例を説明するフローチャートである。
ロボット制御装置１００ａは、例えば、新たな目標位置が設定される毎に当該フローチャートの処理を繰り返して実行する。
【０１０３】
まず、ステップＳＴ１１０１にて、画像取得部１０１は、画像情報を取得する。
次に、ステップＳＴ１１０２にて、モデル取得部１０３は、モデル情報を取得する。
次に、ステップＳＴ１１０３にて、回転状況取得部１０４は、回転状況信号を取得する。
次に、ステップＳＴ１１０４にて、現在位置取得部１０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
次に、ステップＳＴ１１０５にて、仮想空間画像生成部１０２は、仮想空間画像情報を生成する。
次に、ステップＳＴ１１０６にて、目標位置取得部１０６は、目標位置情報を取得する。
次に、ステップＳＴ１１０７にて、制御生成部１０７ａは、モデル情報に含まれる対応情報のうち、目標位置情報が示す目標位置に対応する対応情報を特定する。
【０１０４】
次に、ステップＳＴ１１０８にて、制御生成部１０７ａは、現在位置取得部１０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置と目標位置情報が示す目標位置とが同一であるか否かを判定する。なお、ここで言う同一とは、必ずしも完全に一致するものに限らず、同一は、略同一を含むものである。
【０１０５】
ステップＳＴ１１０８にて、制御生成部１０７ａが、アーム１１と目標位置とが同一でないと判定した場合、ステップＳＴ１１１１にて、報酬算出部１２１は、報酬を算出する。
次に、ステップＳＴ１１１２にて、モデル更新部１２２は、制御生成部１０７ａが特定した対応情報を更新することにより、モデル情報を更新する。
次に、ステップＳＴ１１１３にて、制御生成部１０７ａは、モデル更新部１２２が更新した対応情報を参照して、現在位置取得部１０５が取得した現在位置情報が示すロボット１０におけるアーム１１の現在位置に対応する制御信号を特定することにより、アーム１１を移動させるための制御内容を示す制御信号を生成する。
次に、ステップＳＴ１１１４にて、制御補正部１１１ａは、制御生成部１０７ａが生成した第１制御信号が示す制御内容が、制御生成部１０７ａが直前に生成した第２制御信号が示す制御内容と比較して、予め定められた範囲内の変化量になるように、第１制御信号を補正する。
【０１０６】
次に、ステップＳＴ１１１５にて、制御補間部１１２ａは、制御生成部１０７ａが生成した第１制御信号が示す制御内容の一部又は全部が欠落している場合、制御生成部１０７ａが直前に生成した第２制御信号が示す制御内容に基づいて第１制御信号における欠落している制御内容を補間して第１制御信号を補正する。
次に、ステップＳＴ１１１６にて、制御出力部１０８ａは、制御生成部１０７ａが生成した制御信号又は制御補正部１１１ａ若しくは制御補間部１１２ａが補正した制御信号を、ロボット１０に備えられたモータ制御手段１３に出力する。
次に、ステップＳＴ１１１７にて、回転状況取得部１０４は、回転状況信号を取得する。
次に、ステップＳＴ１１１８にて、現在位置取得部１０５は、ロボット１０におけるアーム１１の現在位置を示す現在位置情報を取得する。
次に、ステップＳＴ１１１９にて、仮想空間画像生成部１０２は、仮想空間画像情報を生成する。
【０１０７】
ロボット制御装置１００ａは、ステップＳＴ１１１９の処理を実行した後、ステップＳＴ１１０８の処理に戻って、ステップＳＴ１１０８にて、制御生成部１０７ａが、アーム１１の現在位置と目標位置とが同一であると判定するまでの期間において、ステップＳＴ１１０８からステップＳＴ１１１９までの処理を繰り返し実行する。
ステップＳＴ１１０８にて、制御生成部１０７ａが、アーム１１の現在位置と目標位置とが同一であると判定した場合、ステップＳＴ１１２１にて、モデル出力部１２３は、モデル更新部１２２が更新したモデル情報を出力する。
ステップＳＴ１１２１の処理を実行した後、ロボット制御装置１００ａは、当該フローチャートの処理を終了する。
【０１０８】
なお、当該フローチャートの処理において、ステップＳＴ１１１４、ステップＳＴ１１１５，及びステップＳＴ１１１９の処理は、ロボット制御装置１００ａにおいて必須の処理ではない。当該フローチャートの処理において、ステップＳＴ１１０１からステップＳＴ１１０３までの処理は、ステップＳＴ１１０４の処理に前に実行されれば、実行される順序は問わない。また、当該フローチャートの処理において、ステップＳＴ１１１４及びステップＳＴ１１１５の処理は、実行される順序が逆でも良い。
【０１０９】
以上のように、ロボット制御装置１００ａは、ロボット１０のアーム１１の現在位置を示す現在位置情報を取得する現在位置取得部１０５と、アーム１１の目標位置を示す目標位置情報を取得する目標位置取得部１０６と、参照経路を示す参照経路情報を参照してアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム１１を移動させるための制御内容を示す制御信号を生成する制御生成部１０７と、に加えて、参照経路を示す参照経路情報を取得する参照経路取得部１２０と、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報と、参照経路取得部１２０が取得した参照経路情報とに基づいてアーム１１が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて、報酬を算出する報酬算出部１２１と、現在位置取得部１０５が取得した現在位置情報と、目標位置取得部１０６が取得した目標位置情報と、参照経路取得部１２０が取得した参照経路情報と、報酬算出部１２１が算出した報酬とに基づいて制御信号によりアーム１１を移動させる価値を評価することにより、モデル情報を更新するモデル更新部１２２と、を備えた。
【０１１０】
このように構成することで、参照経路を示す参照経路情報を参照してアーム１１が参照経路を基にして移動していることを評価することにより、ロボット制御装置１００ａは、ロボット制御学習装置３００が生成したモデル情報を、少ない演算量により短時間で更新しつつ、ロボット１０のアーム１１が実質的に不連続な動作を行うことのないようにロボット１０をより高精度で制御することができる。
【０１１１】
なお、この発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【０１１２】
この発明に係るロボット制御装置は、ロボット制御システムに適用することができる。また、ロボット制御学習装置は、ロボット制御学習システムに適用することができる。
【符号の説明】
【０１１３】
１，１ａ  ロボット制御システム、３  ロボット制御学習システム、１０  ロボット、１１  アーム、１１−１，１１−２  関節、１１−３  先端、１２−１，１２−２  モータ、１３  モータ制御手段、１４−１，１４−２  回転センサ、１５  接触センサ、２０  作業環境、３０  ネットワーク、４０  記憶装置、５０  撮像装置、１００，１００ａ  ロボット制御装置、３００  ロボット制御学習装置、１０１，３０１  画像取得部、１０２，３０２  仮想空間画像生成部、１０３  モデル取得部、１０４，３０４  回転状況取得部、１０５，３０５  現在位置取得部、１０６，３０６  目標位置取得部、１０７，１０７ａ，３０７  制御生成部、１０８，１０８ａ，３０８  制御出力部、１１１，１１１ａ，３１１  制御補正部、１１２，１１２ａ，３１２  制御補間部、１２０，３２０  参照経路取得部、１２１，３２１  報酬算出部、１２２  モデル更新部、１２３，３２３  モデル出力部、１２４，３２４  接触信号取得部、３２２  モデル生成部、２０１  プロセッサ、２０２  メモリ、２０３  処理回路。
【要約】
ロボット制御装置（１００，１００ａ）は、ロボット（１０）のアーム（１１）の現在位置を示す現在位置情報を取得する現在位置取得部（１０５）と、アーム（１１）の目標位置を示す目標位置情報を取得する目標位置取得部（１０６）と、参照経路を示す参照経路情報を参照してアーム（１１）が参照経路を基にして移動していることを評価することにより報酬を算出する項を含む、報酬を算出するための演算式を用いて学習させたモデルを示すモデル情報と、現在位置取得部（１０５）が取得した現在位置情報と、目標位置取得部（１０６）が取得した目標位置情報とに基づいて目標位置情報が示す目標位置に向かってアーム（１１）を移動させるための制御内容を示す制御信号を生成する制御生成部（１０７，１０７ａ）と、を備えた。【図１】
0006644191.tif 000006
【図２】
0006644191.tif 000007
【図３】
0006644191.tif 000008
【図４】
0006644191.tif 000009
【図５】
0006644191.tif 000010
【図６】
0006644191.tif 000011
【図７】
0006644191.tif 000012
【図８】
0006644191.tif 000013
【図９】
0006644191.tif 000014
【図１０】
0006644191.tif 000015
【図１１】
0006644191.tif 000016