(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167633
(43)【公開日】2024-12-04
(54)【発明の名称】移動制御装置及び移動制御システム
(51)【国際特許分類】
B25J 13/08 20060101AFI20241127BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023083843
(22)【出願日】2023-05-22
(71)【出願人】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100176072
【弁理士】
【氏名又は名称】小林 功
(74)【代理人】
【識別番号】100169225
【弁理士】
【氏名又は名称】山野 明
(72)【発明者】
【氏名】谷坂 テイジ
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS08
3C707BS10
3C707HS27
3C707KS03
3C707KS04
3C707KS08
3C707KS09
3C707KT02
3C707KT05
3C707KT11
3C707LW12
3C707NS17
(57)【要約】
【課題】物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内の画像を用いて移動制御を行う際に、空間内の状態に応じた物体の移動経路を選択可能な移動制御装置及び移動制御システムを提供する。
【解決手段】移動制御装置は、ビジュアルフィードバック制御のための物体の第一移動経路を決定し、第一移動経路を示す第一経路情報を生成する第一生成処理と、画像情報又は該画像情報から生成される特徴量セットを用いて、機械学習に基づくモデルベース制御のための物体の第二移動経路を決定し、第二移動経路を示す第二経路情報を生成する第二生成処理と、第一経路情報及び第二経路情報のうちのいずれか一方の経路情報を選択し、いずれか一方の経路情報により特定される移動経路に沿って物体を目標位置まで移動させるように、制御対象物に対する移動制御を行う移動制御処理と、を実行する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
一つ以上のプロセッサを有し、
前記一つ以上のプロセッサは、
物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影して得られる、前記空間内の画像に関する画像情報を用いて、ビジュアルフィードバック制御のための前記物体の第一移動経路を決定し、前記第一移動経路を示す第一経路情報を生成する第一生成処理と、
前記画像情報又は該画像情報から生成される特徴量セットを用いて、機械学習に基づくモデルベース制御のための前記物体の第二移動経路を決定し、前記第二移動経路を示す第二経路情報を生成する第二生成処理と、
前記第一経路情報及び前記第二経路情報のうちのいずれか一方の経路情報を選択し、前記いずれか一方の経路情報により特定される移動経路に沿って前記物体を前記目標位置まで移動させるように、前記物体と同一の又は異なる制御対象物に対する移動制御を行う移動制御処理と、
を実行することを特徴とする移動制御装置。
【請求項2】
前記第二生成処理は、機械学習がなされた探索学習器を用いた回帰演算を含み、
前記探索学習器は、前記空間内の状態を示す状態特徴量、前記制御対象物に関するエンコーダ情報、又は評価対象の移動経路を示す経路特徴量を入力し、前記評価対象の移動経路に対する評価結果を示す探索評価値を出力することを特徴とする請求項1に記載の移動制御装置。
【請求項3】
前記一つ以上のプロセッサは、前記第一経路情報又は前記第二経路情報の選択に関する判定処理をさらに実行し、
前記第一生成処理及び前記第二生成処理は、前記判定処理による判定結果に応じて択一的に実行されることを特徴とする請求項2に記載の移動制御装置。
【請求項4】
前記判定処理は、機械学習がなされた評価学習器を用いた回帰演算を含み、
前記評価学習器は、前記空間内の状態を示す状態特徴量又は前記制御対象物に関するエンコーダ情報を入力し、前記第一経路情報又は前記第二経路情報の採否を示す選択フラグを出力することを特徴とする請求項3に記載の移動制御装置。
【請求項5】
前記評価学習器は、前記探索評価値を報酬とする強化学習がなされた学習器であることを特徴とする請求項4に記載の移動制御装置。
【請求項6】
前記判定処理は、機械学習がなされた評価学習器を用いた回帰演算を含み、
前記評価学習器は、前記空間内の状態を示す状態特徴量又は前記制御対象物に関するエンコーダ情報を入力し、前記探索評価値と同一の又は相関する評価値を出力することを特徴とする請求項3に記載の移動制御装置。
【請求項7】
前記移動制御処理では、前記第一移動経路に対応する前記評価値が閾値を上回る場合に前記第一経路情報を選択し、前記評価値が閾値以下である場合に前記第二経路情報を選択することを特徴とする請求項6に記載の移動制御装置。
【請求項8】
制御対象物と、
前記制御対象物に対する移動制御を行う移動制御装置と、
前記制御対象物と同一の又は異なる物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影し、前記空間内の画像に関する画像情報を出力する視覚センサと、を備え、
前記移動制御装置は、
前記視覚センサから出力された前記画像情報を用いて、ビジュアルフィードバック制御のための前記物体の第一移動経路を決定し、前記第一移動経路を示す第一経路情報を生成する第一生成処理と、
前記画像情報又は該画像情報から生成される特徴量セットを用いて、機械学習に基づくモデルベース制御のための前記物体の第二移動経路を決定し、前記第二移動経路を示す第二経路情報を生成する第二生成処理と、
前記第一経路情報及び前記第二経路情報のうちのいずれか一方の経路情報を選択し、前記いずれか一方の経路情報により特定される移動経路に沿って前記物体を前記目標位置まで移動させるように前記移動制御を行う移動制御処理と、
を実行することを特徴とする移動制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御対象物に対して移動制御を行う移動制御装置及び移動制御システムに関する。
【背景技術】
【0002】
従来から、物体を目標位置まで移動させるための様々な制御方法が知られている。例えば、産業機械分野において、ロボットを用いてワークに対して作業を行う作業方法が開示されている。尚、物体の目標位置まで移動は、制御対象物を用いるケースと、物体自体が制御対象物であるケースとが挙げられる。
【0003】
特許文献1には、複数のワークの中から作業対象を選定してロボットによる作業を行う場合のサイクルタイムを低減するための制御システムが開示されている。具体的には、特許文献1には、ロボットのツール近傍に設置された視覚センサを用いて、ビジュアルフィードバック制御により作業対象のズレ量を補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1で開示されるシステムのように、物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内の画像を用いて移動制御を行っている間に、何らかの理由で空間内に障害物が出現する状況があり得る。例えば、ビジュアルフィードバック制御が用いられる場合、障害物によるオクルージョンの発生状況によっては、実際には目標位置までの移動経路があるにもかかわらず、空間内の状態に適した移動経路を探索できない可能性がある。
【0006】
本発明はこのような問題に鑑みてなされたものであり、その目的は、物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内の画像を用いて移動制御を行う際に、空間内の状態に応じた物体の移動経路を選択可能な移動制御装置及び移動制御システムを提供することにある。
【課題を解決するための手段】
【0007】
本発明の第一態様における移動制御装置は、一つ以上のプロセッサを有し、前記一つ以上のプロセッサは、物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影して得られる、前記空間内の画像に関する画像情報を用いて、ビジュアルフィードバック制御のための前記物体の第一移動経路を決定し、前記第一移動経路を示す第一経路情報を生成する第一生成処理と、前記画像情報又は該画像情報から生成される特徴量セットを用いて、機械学習に基づくモデルベース制御のための前記物体の第二移動経路を決定し、前記第二移動経路を示す第二経路情報を生成する第二生成処理と、前記第一経路情報及び前記第二経路情報のうちのいずれか一方の経路情報を選択し、前記いずれか一方の経路情報により特定される移動経路に沿って前記物体を前記目標位置まで移動させるように、前記物体と同一の又は異なる制御対象物に対する移動制御を行う移動制御処理と、を実行する。
【0008】
本発明の第二態様における移動制御装置では、前記第二生成処理は、機械学習がなされた探索学習器を用いた回帰演算を含み、前記探索学習器は、前記空間内の状態を示す状態特徴量、前記制御対象物に関するエンコーダ情報、又は前記評価対象の移動経路を示す経路特徴量を入力し、前記評価対象の移動経路に対する評価結果を示す探索評価値を出力する。
【0009】
本発明の第三態様における移動制御装置では、前記一つ以上のプロセッサは、前記第一経路情報又は前記第二経路情報の選択に関する判定処理をさらに実行し、前記移動制御処理では、前記判定処理による判定結果に応じて前記第一経路情報又は前記第二経路情報のいずれかを選択する。
【0010】
本発明の第四態様における移動制御装置では、前記判定処理は、機械学習がなされた評価学習器を用いた回帰演算を含み、前記評価学習器は、前記空間内の状態を示す状態特徴量又は前記制御対象物に関するエンコーダ情報を入力し、前記第一経路情報又は前記第二経路情報の採否を示す選択フラグを出力する。
【0011】
本発明の第五態様における移動制御装置では、前記評価学習器は、前記探索評価値を報酬とする強化学習がなされた学習器である。
【0012】
本発明の第六態様における移動制御装置では、前記判定処理は、機械学習がなされた評価学習器を用いた回帰演算を含み、前記評価学習器は、前記空間内の状態を示す状態特徴量又は前記制御対象物に関するエンコーダ情報を入力し、前記探索評価値と同一の又は相関する評価値を出力する。
【0013】
本発明の第七態様における移動制御装置では、前記移動制御処理では、前記評価値が閾値を上回る場合に前記第一経路情報を選択し、前記評価値が閾値以下である場合に前記第二経路情報を選択する。
【0014】
本発明の第八態様における移動制御システムは、制御対象物と、前記制御対象物に対する移動制御を行う移動制御装置と、前記制御対象物と同一の又は異なる物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影し、前記空間内の画像に関する画像情報を出力する視覚センサと、を備え、前記移動制御装置は、前記視覚センサから出力された前記画像情報を用いて、ビジュアルフィードバック制御のための前記物体の第一移動経路を決定し、前記第一移動経路を示す第一経路情報を生成する第一生成処理と、前記画像情報又は該画像情報から生成される特徴量セットを用いて、機械学習に基づくモデルベース制御のための前記物体の第二移動経路を決定し、前記第二移動経路を示す第二経路情報を生成する第二生成処理と、前記第一経路情報及び前記第二経路情報のうちのいずれか一方の経路情報を選択し、前記いずれか一方の経路情報により特定される移動経路に沿って前記物体を前記目標位置まで移動させるように前記移動制御を行う移動制御処理と、を実行する。
【発明の効果】
【0015】
本発明によれば、物体の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内の画像を用いて移動制御を行う際に、空間内の状態に応じた物体の移動経路を選択することができる。
【図面の簡単な説明】
【0016】
【
図1】本発明の一実施形態における移動制御システムとしてのロボットシステムの全体構成図である。
【
図2】
図1に示すロボットシステムの詳細なブロック図である。
【
図3】
図2の探索学習器の入出力特性を模式的に示す図である。
【
図4】
図2の評価学習器の入出力特性を模式的に示す図である。
【
図5】
図1のロボットシステムによる動作の一例を示すフローチャートである。
【
図6】
図1及び
図2のカメラにより得られる画像の一例を示す図である。
【
図7】
図1のケーブルの先端部の軌跡の一例を模式的に示す図である。
【
図8】
図4とは別の例における評価学習器の入出力特性を示す図である。
【発明を実施するための形態】
【0017】
以下、添付図面を参照しながら本発明の実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明を省略する。
【0018】
[ロボットシステム10の構成]
<全体構成>
図1は、本発明の一実施形態における移動制御システムとしてのロボットシステム10の全体構成図である。このロボットシステム10は、具体的には、ロボット12(「制御対象物」に相当)と、制御装置14(「移動制御装置」に相当)と、ティーチングペンダント16と、を含んで構成される。
【0019】
ロボット12は、複数の関節軸42(
図2)を有する垂直関節型ロボットである。複数の関節軸42は、例えば、体部を回転させる旋回軸(J1軸)、体部を前後に動かす下腕軸(J2軸)、腕部を上下に動かす上腕軸(J3軸)、腕部を回転させる手首旋回軸(J4軸)、手首を上下に振る「手首曲げ軸」(J5軸)、及び手首を回転させる手首回転軸(J6軸)から構成される。ロボット12は、制御装置14からの指令に応じて、複数の関節軸42を独立して駆動することで、ワークの把持・移動、溶接、塗装を含む様々な作業を行うことができる。
【0020】
図1の例では、ロボット12は、ケーブル18の先端部(例えば、プラグ)を、電子回路基板20上のレセプタクル20aに挿入する接続作業を行う。以下、電子回路基板20の水平方向を「H方向」、電子回路基板20の垂直方向を「V方向」、ケーブル18の挿入方向(あるいは、奥行き方向)を「D方向」とそれぞれ表記する。
【0021】
ロボット12が有するアーム部22の手先に、エンドエフェクタ24(あるいは、ツールやマニピュレータ)が装着されている。これにより、ロボット12は、ケーブル18の先端部を把持した状態にて、ケーブル18を所望の位置・姿勢になるように移動させることができる。また、アーム部22の手先に、一対のカメラ30(いわゆる、ステレオカメラ)を含む視覚センサ28が取り付けられている。
【0022】
制御装置14は、ロボット12の動作制御を司るコンピュータである。この制御装置14は、具体的には、コネクタ32と、通信I/F34と、プロセッサ36と、メモリ38と、を備える。各構成要素の個数は、
図1の例では一つであるが、二つ以上であってもよい。
【0023】
コネクタ32は、電力ケーブル又は通信ケーブルを介して、ロボット12と電気的に接続するための端子である。これにより、制御装置14は、ロボット12に向けて電力や制御信号を供給するとともに、ロボット12に設けられる各種センサからの測定信号を取得する。
【0024】
通信I/F34は、外部装置との間で通信を行うためのインターフェースである。これにより、制御装置14は、例えば、ティーチングペンダント16、図示しない作業端末又は上位装置との間でデータのやり取りを行うことができる。ここで、ティーチングペンダント16は、ロボット12のオンラインティーチングに用いられる入力機器である。なお、オフラインティーチングの場合には、ティーチングペンダント16の構成が省略され得る。
【0025】
プロセッサ36は、CPU(Central Processing Unit)を含む汎用プロセッサであってもよいし、FPGA(Field Programmable Gate Array)やGPU(Graphics Processing Unit)を含む専用プロセッサであってもよい。メモリ38は、非一過性であってコンピュータ読み出し可能な記録媒体(あるいは、記憶媒体)であり、プロセッサ36が各構成要素を制御するのに必要なプログラム及びデータを記憶する。
【0026】
<機能ブロック図>
図2は、
図1に示すロボットシステム10の詳細なブロック図である。
図2の例では、ロボットシステム10の装置構成として、視覚センサ28、ロボット12、及び制御装置14が図示されている。
【0027】
視覚センサ28は、物体(例えば、ケーブル18)の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影し、空間内の画像に関する画像情報を出力する。具体的には、視覚センサ28は、カメラ30(
図1)の他に、画像処理装置40を含んで構成される。
【0028】
カメラ30は、空間内の撮影を通じてフレーム毎の信号を生成し、画像の時系列を示す撮像信号として出力する撮像装置である。カメラ30は、例えば、可視光カメラ、赤外線カメラ、TOF(Time Of Flight)カメラなどの単眼カメラ、同じ種別のカメラからなるステレオカメラ、又は、異なる種別のカメラの組み合わせから構成される。カメラ30は、エンドエフェクタ24が画角内に収まるように配置されている。
【0029】
画像処理装置40は、カメラ30から出力された撮像信号に所望の画像処理を施して、解析結果を含む画像情報を出力する。解析結果には、物体の有無、種類、サイズ、位置・姿勢、及び動き(例えば、速度、加速度、ジャークなど)が含まれる。物体の種類に、[1]ケーブル18の本体又は先端部)、[2]電子回路基板20の本体又はレセプタクル20a、あるいは[3]その他の物体(例えば、障害物、識別不能)などが含まれる。なお、画像情報に、上記した解析結果の他に、撮像信号そのものが含まれてもよい。
【0030】
ロボット12は、関節軸42と、サーボモータ44と、エンコーダ46と、を含んで構成される。サーボモータ44は、関節軸42に対して回動力を付与するアクチュエータである。エンコーダ46は、サーボモータ44の位置・速度・トルクなどのエンコーダ情報を示す検出信号を出力する検出器である。なお、図示の便宜上、関節軸42、サーボモータ44及びエンコーダ46は一組のみが記載されているが、実際には、複数組(例えば、六軸ロボットの場合は六組)が設けられている。
【0031】
制御装置14のプロセッサ36(
図1)は、メモリ38(
図1)に格納された移動制御プログラムを読み出して実行することで、特徴量生成部52、経路選択部54、経路生成部56、及び移動制御部58として機能する。
【0032】
特徴量生成部52は、視覚センサ28により供給される画像情報又はエンコーダ46により供給されるエンコーダ情報から、特徴量の集合体(以下、「特徴量セット」という)を生成する。この特徴量セットは、[1]空間内の状態に関する「状態特徴量」、[2]制御対象物のエンコーダ情報に関する「エンコーダ特徴量」又は[3]空間内の移動経路に関する「経路特徴量」を含む。状態特徴量は、上記した画像情報の場合と同様に、画像の解析結果又は撮像信号を含んでもよい。エンコーダ特徴量は、エンコーダ情報そのものであってもよいし、当該エンコーダ情報の時系列データ又は時間変化量を含んでもよい。経路特徴量は、移動経路上の位置(始点、終点及び経由点)又は移動量を示すベクトルを含んでもよい。
【0033】
経路選択部54は、特徴量生成部52により生成された特徴量セットを用いて、複数の移動経路の中から一つの移動経路を選択する。移動経路の一例として、[1]ビジュアルフィードバック制御(以下、「VF」ともいう)のための物体の移動経路(以下、「第一移動経路」という)、又は[2]機械学習(以下、「ML」ともいう)に基づくモデルベース制御のための物体の移動経路(以下、「第二移動経路」ともいう)が挙げられる。経路選択部54は、原則的には、[1]空間内に障害物がないか、空間内の障害物との干渉が発生する可能性が低い場合に第一移動経路を選択する一方、[2]空間内の障害物との干渉が発生する可能性が高い場合には第二移動経路を選択する。
【0034】
経路選択部54は、例えば、機械学習がなされた評価学習器LNeを用いた回帰演算を含む判定処理を実行する。この評価学習器LNeは、空間内の状態に関する特徴量(つまり、状態特徴量)又はロボット12のエンコーダ情報に関する特徴量(つまり、エンコーダ特徴量)を入力し、第一移動経路又は第二移動経路の選択を判定するための評価値(以下、「判定評価値」ともいう)を出力する。この判定評価値は、離散値であってもよいし、連続値であってもよい。
【0035】
離散値の一例として、第一選択経路の採否を示す値フラグ(以下、選択フラグ)が挙げられる。具体的には、選択フラグの値が「1」である場合に第一移動経路が選択される一方、選択フラグの値が「0」である場合に第二移動経路が選択される。これとは反対に、選択フラグの値が「1」である場合に第二移動経路が選択される一方、選択フラグの値が「0」である場合に第一移動経路が選択されてもよい。
【0036】
判定評価値は、連続値である場合、値が大きくなるほど第一移動経路に対する信頼度が高くなり、値が小さくなるほど第一移動経路に対する信頼度が低くなるように定義される。また、この判定評価値は、後述する探索評価値と同一の値であってもよいし、探索評価値に相関する値(例えば、探索評価値を正規化した値)であってもよい。
【0037】
経路生成部56は、経路選択部54による選択結果から一つの移動経路を決定し、当該移動経路を示す経路情報を生成する。具体的には、経路生成部56は、第一生成部60と、第二生成部62と、を含んで構成される。
【0038】
第一生成部60は、視覚センサ28から供給される画像情報を用いて、ビジュアルフィードバック制御(VF)のための物体の移動経路(つまり、第一移動経路)を決定し、第一移動経路を示す経路情報(以下、「第一経路情報」という)を生成する情報処理(以下、「第一生成処理」という)を実行する。ここで、「ビジュアルフィードバック制御」(あるいは、VF)とは、画像処理を通じて制御対象物の位置、姿勢及び動きを計算し、アクチュエータの駆動制御にフィードバックする手法を意味する。以下、移動経路の「基準位置」がケーブル18の先端部の位置に、移動経路の「目標位置」がレセプタクル20aの位置にそれぞれ設定されたものとする。
【0039】
第一生成部60は、経路選択部54による移動経路の選択結果にかかわらず第一移動経路の決定を行ってもよいし、経路選択部54による移動経路の選択結果に応じて、第一移動経路の決定を行うか否かを決定してもよい。具体的には、第一生成部60は、経路選択部54により第二移動経路が選択された場合に第一移動経路の決定を行わずに、第二移動経路が選択されなかった場合に限り第一移動経路の決定を行ってもよい。
【0040】
第二生成部62は、特徴量生成部52により生成された特徴量セットを用いて、機械学習(ML)に基づくモデルベース制御のための物体の移動経路(つまり、第二移動経路)を決定し、第二移動経路を示す経路情報(以下、「第二経路情報」という)を生成する情報処理(以下、「第二生成処理」という)を実行する。ここで、「機械学習に基づくモデルベース制御」とは、機械学習を通じて制御対象のシステムをモデル化し、そのモデルに従ってアクチュエータの駆動制御を行う手法を意味する。
【0041】
第二生成部62は、例えば、機械学習がなされた探索学習器LNsを用いた回帰演算を含む第二生成処理を実行する。この探索学習器LNsは、空間内の状態に関する特徴量(つまり、状態特徴量)、ロボット12のエンコーダ情報に関する特徴量(つまり、エンコーダ特徴量)又は評価対象の移動経路に関する特徴量(つまり、経路特徴量)を入力し、評価対象の移動経路に対する評価結果を示す評価値(以下、「探索評価値」ともいう)を出力する。この探索評価値は、値が大きくなるほど移動経路に対する信頼度が高くなり、値が小さくなるほど移動経路に対する信頼度が低くなるように定義される。
【0042】
第二生成部62は、経路選択部54による移動経路の選択結果にかかわらず第二移動経路の探索を行ってもよいし、経路選択部54による移動経路の選択結果に応じて、第二移動経路の探索を行うか否かを決定してもよい。具体的には、第二生成部62は、経路選択部54により第一移動経路が選択された場合に第二移動経路の探索を行わずに、第一移動経路が選択されなかった場合に限り第二移動経路の探索を行ってもよい。
【0043】
移動制御部58は、経路情報により特定される移動経路に沿って物体(例えば、ケーブル18)を目標位置まで移動させるように、制御対象物(例えば、ロボット12)に対する移動制御を行う情報処理(以下、「移動制御処理」という)。具体的には、移動制御部58は、目標値算出部64と、サーボ制御部66と、を含んで構成される。なお、図示の便宜上、サーボ制御部66は一つのみが記載されているが、実際には、サーボモータ44の個数と同数(例えば、六軸ロボットの場合は六つ)が設けられている。
【0044】
目標値算出部64は、第一生成部60により生成された第一経路情報及び第二生成部62により生成された第二経路情報のうちのいずれか一方の経路情報を選択し、当該経路情報により特定される移動経路に沿って移動するための目標値(例えば、位置・姿勢、速度、加速度、ジャークなど)を算出する。
【0045】
サーボ制御部66は、エンコーダ46からの位置信号又は目標値算出部64から出力された目標値に基づいて、サーボモータ44の駆動制御を行う。駆動制御には、例えば、サーボモータ44に流れる電流を制御量とするPWM(Pulse Width Modulation)が用いられる。
【0046】
図3は、
図2に示す探索学習器LNsの入出力特性を模式的に示す図である。探索学習器LNsは、例えば、学習パラメータ群が予めセットされたニューラルネットワーク演算器からなる。学習パラメータ群は、探索学習器LNsの演算規則を特定するための学習パラメータの集合体である。学習パラメータは、例えば、演算ユニットの活性化関数を記述する係数、シナプス結合の強さに相当する重み付け係数、各層を構成する演算ユニットの個数、中間層の層数などを含んでもよい。
【0047】
機械学習の種類は、教師あり学習、教師なし学習、又は強化学習のいずれであってもよい。
図3の探索学習器LNsは、例えば、強化学習がなされている。探索学習器LNsの入力層に、状態特徴量S1、エンコーダ特徴量E1、及び経路特徴量{Ai}(i=1,2,‥,n)が入力される。探索学習器LNsの出力層から、評価値{Ri}(i=1,2,‥,n)が出力される。状態特徴量S1及びエンコーダ特徴量E1は、強化学習における「環境」に相当する。経路特徴量{Ai}は、強化学習における「行動」に相当する。評価値{Ri}は、強化学習における「報酬」に相当する。
【0048】
第二移動経路の「探索フェーズ」では、n通りの移動経路候補に対応する経路特徴量{Ai}を学習器LNに順次入力すると、n個の評価値{Ri}がそれぞれ出力される。評価値{Ri}のうち最大値を一つ選択し、当該最大値に対応する移動経路候補が「第二移動経路」として決定される。
【0049】
この強化学習は、様々な学習アルゴリズムを用いて行われる。時刻tにおける状態、状態価値関数、及び報酬をそれぞれS(t),V(t),R(t)とすると、例えば、学習誤差δ(t)は、以下の(1)式で求められる。なお、γは、将来の報酬を割り引く程度を示す割引率に相当する。
δ(t)=R(t+1)+γV(S(t+1))-V(S(t)) ‥‥(1)
【0050】
報酬の付与ルールは、例えば、[1]移動経路が短くなるほど報酬が高く、[2]目標位置に到着するほど報酬が高く、又は[3]障害物との干渉領域に侵入した場合に報酬が低くなるように定められる。学習フェーズにおいて、移動経路をランダムに選択してもよいし、VFに基づく移動経路を選択してもよい。VFに基づく移動経路を選択して強化学習を行うことにより、過学習により汎化性が損なわれる可能性があるが反面、第一移動経路に類似する移動経路を常に選択する場合には、評価値の算出精度がより高くなるという利点がある。
【0051】
図4は、
図2に示す評価学習器LNeの入出力特性を模式的に示す図である。評価学習器LNeは、例えば、学習パラメータ群が予めセットされたニューラルネットワーク演算器からなる。学習パラメータ群は、評価学習器LNeの演算規則を特定するための学習パラメータの集合体である。学習パラメータは、例えば、演算ユニットの活性化関数を記述する係数、シナプス結合の強さに相当する重み付け係数、各層を構成する演算ユニットの個数、中間層の層数などを含んでもよい。
【0052】
機械学習の種類は、教師あり学習、教師なし学習、又は強化学習のいずれであってもよい。
図4の評価学習器LNeは、例えば、強化学習がなされている。評価学習器LNeの入力層に、状態特徴量S2及びエンコーダ特徴量E2が入力される。評価学習器LNeの出力層から、第一移動経路の採否を示す選択フラグF(2値)が出力される。
【0053】
学習データセットは、学習途中又は学習済みの探索学習器LNs(
図3)から生成される。学習データの入力値である状態特徴量S2は、
図3の状態特徴量S1に対応する。学習データの入力値であるエンコーダ特徴量E2は、
図3のエンコーダ特徴量E1に対応する。
【0054】
この強化学習は、
図3の場合と同様に、様々な学習アルゴリズムを用いて行われる。報酬の付与ルールは、例えば、[1]空間内の障害物との干渉可能性が正しく判定された場合に報酬が高く、又は[2]空間内の障害物との干渉可能性が誤って判定された場合に報酬が低くなるように定められる。報酬は、例えば、
図3で説明した評価値Rがそのまま用いられてもよい。この場合、[1]探索学習器LNsに対する「第1強化学習」、及び[2]第1強化学習で得られた評価値Rを報酬とする、評価学習器LNeに対する「第2強化学習」を交互に繰り返すことで、学習効率を高めることができる。この強化学習の結果、評価学習器LNeは、原則的には、[1]空間内に障害物がないか、空間内の障害物との干渉が発生する可能性が低い場合にF=1を出力する一方、[2]空間内の障害物との干渉が発生する可能性が高い場合にはF=0を出力する。
【0055】
[ロボットシステム10の動作]
この実施形態における移動制御システム(つまり、ロボットシステム10)は、以上のように構成される。続いて、ロボットシステム10(主に制御装置14)による制御動作について、
図5~
図8を参照しながら説明する。
図5は、
図1のロボットシステム10による動作の一例を示すフローチャートである。
【0056】
<フローチャートの説明>
(SP10:確認処理)
図5のステップSP10において、制御装置14は、制御タイミングが到来したか否かを確認する。制御タイミングがまだ到来していない場合(ステップSP10:NO)、制御装置14は、制御タイミングが到来するまでの間、ステップSP10に留まる。その一方、制御タイミングが到来した場合(ステップSP10:YES)、制御装置14は、次のステップSP12に進む。
【0057】
(SP12:取得処理)
ステップSP12において、制御装置14は、ステップSP10で到来した制御タイミングにて画像情報及びエンコーダ情報を取得する。例えば、視覚センサ28は、ケーブル18の先端部の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影して画像情報を取得する。
【0058】
図6は、
図1及び
図2のカメラ30により得られる画像の一例を示す図である。矩形状の画像領域70には、プラグ領域72と、レセプタクル領域74と、背景領域76と、が映し出されている。背景領域76は、全体の画像領域70から関心領域を除いた領域に相当する。関心領域とは、典型的には、移動経路の「始点又は中間点」を示すプラグ領域72と、移動経路の「終点」を示すレセプタクル領域74である。
図6の例では、ケーブル18及び電子回路基板20とは異なる障害物が、障害物領域78として画像領域70に映り込んでいる。この障害物は、ケーブル18の移動中に、ケーブル18又はエンドエフェクタ24に接触又は衝突する可能性がある物体を意味する。
【0059】
(SP14:特徴量生成処理)
図5のステップSP14において、特徴量生成部52は、ステップSP12で取得された画像情報及びエンコーダ情報を用いて、演算処理に用いられる特徴量セット(例えば、状態特徴量、エンコーダ特徴量、及び経路特徴量)を生成する。
【0060】
(SP16:評価値算出処理)
ステップSP16において、経路選択部54は、ステップSP14で生成された特徴量セットを用いて、第一移動経路に対する選択の採否を示す選択フラグを算出する。具体的には、この特徴量セットを評価学習器LNe(
図2及び
図4)に入力することにより、0又は1の値をとり得る選択フラグが出力される。
【0061】
(SP18:判定処理)
ステップSP18において、経路選択部54は、ステップSP16で算出された選択フラグを用いて、移動経路の選択に関する判定を行う。選択フラグの値が「1」である場合(ステップSP18:YES)、経路選択部54は、第一移動経路を示す選択フラグを経路生成部56に供給した上で、次のステップSP20に進む。
【0062】
(SP20:第一生成処理)
ステップSP20において、第一生成部60は、ステップSP14の実行時に生成された特徴量セット(ここでは、状態特徴量及びエンコーダ特徴量)を用いて、VFに基づく第一移動経路を決定し、第一移動経路を示す第一経路情報を生成する。
【0063】
(SP22:目標値算出処理)
ステップSP22において、移動制御部58(より詳しくは、目標値算出部64)は、ステップSP20で生成された第一経路情報に基づいて、第一移動経路に沿って移動するための第一目標値を計算する。その後、移動制御部58は、後述するステップSP28に進む。
【0064】
ところで、ステップSP18に戻って、ステップSP16で算出された選択フラグの値が「0」である場合(ステップSP18:NO)、経路選択部54は、第二移動経路を示す選択フラグを経路生成部56に供給した上で、ステップSP24に進む。
【0065】
(SP24:第二生成処理)
ステップSP24において、第二生成部62は、ステップSP14の実行時に生成された特徴量セット(ここでは、状態特徴量、エンコーダ情報、及び経路特徴量)を用いて、MLに基づく第二移動経路を決定し、第二移動経路を示す第二経路情報を生成する。
【0066】
(SP26:目標値算出処理)
ステップSP26において、移動制御部58(より詳しくは、目標値算出部64)は、ステップSP24で生成された第二経路情報に基づいて、第二移動経路に沿って移動するための第二目標値を計算する。その後、移動制御部58は、次のステップSP28に進む。
【0067】
(SP28:移動制御処理)
ステップSP28において、移動制御部58(より詳しくは、サーボ制御部66)は、ステップSP22又はステップSP26で算出された目標値を用いて、ロボット12に対する移動制御を行う。具体的には、サーボ制御部66は、目標値に対応する制御信号を生成してロボット12(より詳しくは、サーボモータ44)に出力する。
【0068】
(SP30:駆動動作)
ステップSP30において、ロボット12のサーボモータ44は、ステップSP28で出力された制御信号に応じて駆動することで、関節軸42に対して回動力を付与する。
【0069】
このようにして、ロボットシステム10は、
図5に示すフローチャートの実行を終了する。以下、ロボットシステム10は、当該フローチャートを予め定められた制御周期で繰り返し実行することにより、ロボット12に所望の作業(ここでは、ケーブル18の接続作業)を行わせることができる。
【0070】
図7は、
図1のケーブル18の基準位置の軌跡の一例を模式的に示す図である。座標系の横軸はD方向を示すとともに、座標系の縦軸はH方向又はV方向を示している。点P1,P2は初期位置を示すとともに、点Gは目標位置を示している。つまり、制御装置14は、ロボット12の駆動制御及び移動経路の更新を繰り返しながら、点P1から点Gまで(あるいは、点P2から点Gまで)を結ぶ最適な移動経路を逐次的に決定する。
【0071】
二点P1,G間に障害物が出現した場合、移動経路は、障害物との干渉領域80内の侵入を避けるように決定される。その結果、現在位置Pが第一領域82内にある場合にはVFに基づく移動経路が、現在位置Pが第二領域84内にある場合にはMLに基づく移動経路がそれぞれ選択される。なお、第二領域84は、干渉領域80の一部を囲むように設けられる閉領域である。第一領域82は、全体領域から第二領域84を除いた残余領域である。
図6から理解されるように、第一領域82と第二領域84の間の境界線にて移動経路が動的に切り替わる現象が起こる。その結果、二点P1,G間(あるいは、二点P2,G間)を結ぶ折れ線状の軌跡がそれぞれ形成される。
【0072】
VFに基づく経路探索には、探索結果の位置精度が相対的に高くなる利点がある反面、オクルージョンが発生した場合に探索の頑健性が相対的に低くなる欠点がある。MLに基づく経路探索には、オクルージョンが発生した場合に探索の頑健性が相対的に高くなる利点がある反面、探索結果の位置精度が相対的に低くなる欠点がある。そこで、両方の経路探索を動的に切り替えることにより、両者の欠点を相互に補完することができる。
【0073】
<評価学習器NLeの別の例>
図8は、
図4とは別の例における評価学習器LNe2の入出力特性を示す図である。評価学習器LNe2は、例えば、学習パラメータ群が予めセットされたニューラルネットワーク演算器からなる。この評価学習器LNe2は、教師あり学習がなされている。評価学習器LNe2の入力層に、状態特徴量S2及びエンコーダ特徴量E2が入力される。評価学習器LNe2の出力層から、
図3で説明した「報酬」に相当する評価値Rが出力される。
【0074】
学習データセットは、学習済みの探索学習器LNs(
図3)から生成される。学習データの入力値である状態特徴量S2は、
図3の状態特徴量S1に対応する。学習データの入力値であるエンコーダ特徴量E2は、
図3のエンコーダ特徴量E1に対応する。学習データの出力値(正解)である評価値Rは、
図3の評価値R(あるいは、報酬)に対応する。
【0075】
この場合、経路選択部54は、評価学習器LNe2から出力される評価値Rが閾値を上回る場合に第一経路情報を示す選択フラグ「1」を出力し、評価値Rが閾値以下である場合に第二経路情報を示す選択フラグ「0」を出力する。この閾値は、例えば、評価学習器LNe2の学習結果に応じて予め定められる。このように、
図8に示す入出力特性を採用したとしても、経路選択部54は、
図4の場合と同様の経路選択機能を発揮することができる。
【0076】
[実施形態のまとめ]
以上のように、この実施形態における移動制御システム(ここでは、ロボットシステム10)は、制御対象物(ここでは、ロボット12)と、ロボット12に対する移動制御を行う移動制御装置(ここでは、制御装置14)と、ロボット12と同一の又は異なる物体(ここでは、ケーブル18)の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内を撮影し、空間内の画像に関する画像情報を出力する視覚センサ28と、を備える。
【0077】
この制御装置14は、ビジュアルフィードバック制御のための第一移動経路を示す第一経路情報、及び、機械学習に基づくモデルベース制御のための第二移動経路を示す第二経路情報のうちのいずれか一方の経路情報を選択し、いずれか一方の経路情報により特定される移動経路に沿ってケーブル18を目標位置まで移動させるように、ロボット12に対する移動制御を行う。このように構成したので、ケーブル18の現在位置から目標位置までの移動経路の少なくとも一部を含む空間内の画像を用いて移動制御を行う際に、空間内の状態に応じたケーブル18の移動経路を選択することができる。
【0078】
また、第二生成処理は、機械学習がなされた探索学習器LNsを用いた回帰演算を含む場合、探索学習器LNsは、空間内の状態を示す状態特徴量、ロボット12に関するエンコーダ情報、又は評価対象の移動経路を示す経路特徴量を入力し、評価対象の移動経路に対する評価結果を示す探索評価値を出力してもよい。これにより、機械学習がなされた探索学習器LNsを通じて、移動経路を探索することができる。
【0079】
また、制御装置14が、第一経路情報又は第二経路情報の選択に関する判定処理をさらに実行する場合、第一生成処理及び第二生成処理は、判定処理による判定結果に応じて択一的に実行されてもよい。これにより、二種類の生成処理のうちのいずれか一方を省略可能となり、その分だけ演算負荷が低減される。
【0080】
また、判定処理が、機械学習がなされた評価学習器LNeを用いた回帰演算を含む場合、評価学習器LNeは、空間内の状態を示す状態特徴量又はロボット12に関するエンコーダ情報を入力し、第一経路情報又は第二経路情報の採否を示す選択フラグを出力してもよい。これにより、評価学習器LNeを通じて、第一移動経路に対する評価結果を示す指標としての選択フラグが得られる。
【0081】
また、評価学習器LNeは、探索評価値を報酬とする強化学習がなされた学習器であってもよい。探索評価値を報酬とする強化学習を通じて、探索学習器LNsによる評価結果が反映された評価学習器LNeを得ることができる。
【0082】
また、判定処理が、機械学習がなされた評価学習器LNe2を用いた回帰演算を含む場合、評価学習器LNe2は、空間内の状態を示す状態特徴量又はロボット12に関するエンコーダ情報を入力し、探索評価値と同一の又は相関する判定評価値を出力してもよい。これにより、評価学習器LNe2を通じて、第一移動経路に対する評価結果を示す指標としての判定評価値が得られる。
【0083】
また、移動制御処理では、判定評価値が閾値を上回る場合に第一経路情報を選択し、判定評価値が閾値以下である場合に第二経路情報を選択してもよい。これにより、第一移動経路に対する評価が高い場合に第一経路情報が、第二移動経路に対する評価が低い場合に第二経路情報がそれぞれ選択される。
【0084】
また、物体がケーブル18であり、制御対象物がケーブル18を把持するロボット12であり、目標位置がケーブル18の先端部を受容するレセプタクル20aの位置であってもよい。これにより、電子回路基板20に対するケーブル18の接続作業の自動化が図られる。
【0085】
[変形例]
なお、本発明は、上記した実施形態に限定されるものではなく、この発明の主旨を逸脱しない範囲で自由に変更できることは勿論である。あるいは、技術的に矛盾が生じない範囲で各々の構成を任意に組み合わせてもよい。あるいは、技術的に矛盾が生じない範囲でフローチャートを構成する各ステップの実行順を任意に変更してもよい。
【0086】
上記した実施形態では、移動制御部58が評価学習器LNeから出力される出力値に応じて移動経路を選択する場合を例に挙げて説明したが、選択のための判定条件はこれに限られない。例えば、移動制御部58は、視覚センサ28の画像処理による物体検出結果に応じて、移動経路を動的に選択してもよい。第二移動経路が選択される判定条件の一例として、[1]識別不能な物体が検出された場合、[2]検出されていた物体が検出不能(いわゆる、ロスト状態)になった場合、[3]検出されていた目標位置が検出不能になった場合などが挙げられる。
【0087】
上記した実施形態では、垂直多関節ロボットを例に挙げて説明したが、産業用ロボットの種類はこれに限られない。例えば、ロボット12は、水平多関節ロボット、パラレルリンクロボット、又は直交ロボットのいずれであってもよい。
【0088】
上記した実施形態では、ロボット12がケーブル18の接続作業を例に挙げて説明したが、ロボット12に行わせる作業の種類・目的、又はワークの種類はこれに限られない。例えば、初期位置にあるワークを把持して目標位置に移動させる「ピックアップ作業」をロボット12に行わせてもよい。
【0089】
上記した実施形態では、物体(ケーブル18)と制御対象物(ロボット12)とが異なる場合を例に挙げて説明したが、両者が同一の物体であってもよい。具体的には、この移動制御は、自動搬送車(AGV)を含む移動体を目標位置まで移動させる場合にも適用され得る。
【符号の説明】
【0090】
10…ロボットシステム(移動制御システム)、12…ロボット(制御対象物)、14…制御装置(移動制御装置)、18…ケーブル(物体)、28…視覚センサ、36…プロセッサ、38…メモリ、54…経路選択部、58…移動制御部、60…第一生成部、62…第二生成部、LNe,LNe2…評価学習器、LNs…探索学習器、SP14…第一生成ステップ(第一生成処理)、SP22…第二生成ステップ(第二生成処理)、SP26…移動制御ステップ(移動制御処理)