(57)【要約】【課題】収容箱がロボットから離れた位置に置かれており、把持対象物が収容箱内のどこにあるかが未知である場合であっても、ロボットが、１度の移動だけで、収容箱内の把持対象物を高い確率で把持できるようにするための技術を提供する。【解決手段】ロボット制御装置４は、部品箱２内の中央に位置する部品箱２を把持可能となるような中央位置６を求め、部品箱２内の隅に位置する部品箱２を把持可能となるような隅位置を四隅分、求め、４つの隅位置の平均値としての平均隅位置８を演算し、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定し、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合、平均隅位置８を推奨位置に決定する。【選択図】図１
2015221463.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが収容箱に収容された把持対象物を把持することが可能な自己位置を推奨位置として求める、ロボット制御装置であって、
前記収容箱内の中央に位置する前記把持対象物を把持可能となるような前記ロボットの位置である中央位置を求め、
前記収容箱内の隅に位置する前記把持対象物を把持可能となるような前記ロボットの位置のうち最も前記中央位置に近い位置である隅位置を四隅分、求め、
前記４つの隅位置の平均値としての平均隅位置を演算し、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均隅位置を前記推奨位置に決定する、
ロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、
前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記把持不能位置を前記推奨位置に決定する、
ロボット制御装置。
【請求項３】
請求項２に記載のロボット制御装置であって、
前記把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する、
ロボット制御装置。
【請求項４】
請求項１に記載のロボット制御装置であって、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れか複数の把持対象物を把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する複数の把持不能位置の平均値である平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、
前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均把持不能位置を前記推奨位置に決定する、
ロボット制御装置。
【請求項５】
請求項４に記載のロボット制御装置であって、
前記平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記平均把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する、
ロボット制御装置。
【請求項６】
ロボットが収容箱に収容された把持対象物を把持することが可能な自己位置を推奨位置として求める、ロボット制御方法であって、
前記収容箱内の中央に位置する前記把持対象物を把持可能となるような前記ロボットの位置である中央位置を求め、
前記収容箱内の隅に位置する前記把持対象物を把持可能となるような前記ロボットの位置のうち最も前記中央位置に近い位置である隅位置を四隅分、求め、
前記４つの隅位置の平均値としての平均隅位置を演算し、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均隅位置を前記推奨位置に決定する、
ロボット制御方法。
【請求項７】
請求項６に記載のロボット制御方法であって、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、
前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記把持不能位置を前記推奨位置に決定する、
ロボット制御方法。
【請求項８】
請求項７に記載のロボット制御方法であって、
前記把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する、
ロボット制御方法。
【請求項９】
請求項６に記載のロボット制御方法であって、
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れか複数の把持対象物を把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する複数の把持不能位置の平均値である平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、
前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均把持不能位置を前記推奨位置に決定する、
ロボット制御方法。
【請求項１０】
請求項９に記載のロボット制御方法であって、
前記平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記平均把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する、
ロボット制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置及びロボット制御方法に関する。
【背景技術】
【０００２】
特許文献１は、ステレオカメラを用いて対象物を認識し、認識した対象物を把持する移動型ロボットを開示している。
【０００３】
非特許文献１は、ワークを把持するのに適したロボットの位置を逆運動学を解いて求める技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１―４４０４６号公報
【非特許文献１】”Efficient Inverse Kinematics Computation based on Reachability Analysis”, Nikolaus Vahrenkamp, International Journal of Humanoid Robotics, Vol. 9(4), 2012
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下、ワークを収容した収容箱がロボットから離れた位置に置かれており、ロボットがワークを取りに行く場面を想定する。この場合、単にロボットが収容箱の前まで移動しただけでは、ロボットがワークを収容箱から取り出せるとは限らない。なぜなら、例えば、ワークが収容箱内の手前側左隅にある場合は、アームが収容箱と干渉し易くワークを把持し難いからである。そして、ワークを把持できないと判断した場合、ロボットは、ワークを把持するのに適した位置へと移動し直す。従って、ワークを収容した収容箱がロボットから離れた位置に置かれており、ワークが収容箱内のどこにあるかが未知である場合、ロボットは、ワークを収容箱から取り出すために、２度、移動しなければならない場合があった。
【０００６】
ところで、ロボットは低速でしか移動できず、ロボットがワークを収容箱から取り出すために２度も移動しなければならないとすると、ワーク取り出しのサイクルタイム（作業時間）が長くなってしまう。
【０００７】
そこで、本発明の目的は、収容箱がロボットから離れた位置に置かれており、把持対象物が収容箱内のどこにあるかが未知である場合であっても、ロボットが、１度の移動だけで、収容箱内の把持対象物を高い確率で把持できるようにするための技術を提供することにある。
【課題を解決するための手段】
【０００８】
本願発明の第１の観点によれば、ロボットが収容箱に収容された把持対象物を把持することが可能な自己位置を推奨位置として求める、ロボット制御装置であって、前記収容箱内の中央に位置する前記把持対象物を把持可能となるような前記ロボットの位置である中央位置を求め、前記収容箱内の隅に位置する前記把持対象物を把持可能となるような前記ロボットの位置のうち最も前記中央位置に近い位置である隅位置を四隅分、求め、前記４つの隅位置の平均値としての平均隅位置を演算し、前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均隅位置を前記推奨位置に決定する、ロボット制御装置が提供される。以上の構成によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【０００９】
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記把持不能位置を前記推奨位置に決定する。以上の構成によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００１０】
前記把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する。以上の構成によれば、前記ロボットが前記推奨位置へ移動した際の、前記ロボットが前記把持対象物を把持可能となる確率が最大化される。
【００１１】
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れか複数の把持対象物を把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する複数の把持不能位置の平均値である平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均把持不能位置を前記推奨位置に決定する。以上の構成によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００１２】
前記平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記平均把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する。以上の構成によれば、前記ロボットが前記推奨位置へ移動した際の、前記ロボットが前記把持対象物を把持可能となる確率が最大化される。
【００１３】
本願発明の第２の観点によれば、ロボットが収容箱に収容された把持対象物を把持することが可能な自己位置を推奨位置として求める、ロボット制御方法であって、前記収容箱内の中央に位置する前記把持対象物を把持可能となるような前記ロボットの位置である中央位置を求め、前記収容箱内の隅に位置する前記把持対象物を把持可能となるような前記ロボットの位置のうち最も前記中央位置に近い位置である隅位置を四隅分、求め、前記４つの隅位置の平均値としての平均隅位置を演算し、前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均隅位置を前記推奨位置に決定する、ロボット制御方法が提供される。以上の方法によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００１４】
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記把持不能位置を前記推奨位置に決定する。以上の方法によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００１５】
前記把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する。以上の方法によれば、前記ロボットが前記推奨位置へ移動した際の、前記ロボットが前記把持対象物を把持可能となる確率が最大化される。
【００１６】
前記ロボットが前記平均隅位置に位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れか複数の把持対象物を把持可能でないと判定した場合、把持可能でないと判定された前記把持対象物に対応する複数の把持不能位置の平均値である平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能か判定し、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能であると判定した場合、前記平均把持不能位置を前記推奨位置に決定する。以上の方法によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００１７】
前記平均把持不能位置に前記ロボットが位置した場合に、前記ロボットが前記収容箱内の四隅に位置する前記把持対象物の何れかを把持可能でないと判定した場合、前記平均隅位置と、前記平均把持不能位置と、の間の位置であって、前記収容箱内の四隅に位置する前記把持対象物のうち前記ロボットが把持可能となる前記把持対象物の数が最大となるような位置を探索し、そのときの位置を前記推奨位置に決定する。以上の方法によれば、前記ロボットが前記推奨位置へ移動した際の、前記ロボットが前記把持対象物を把持可能となる確率が最大化される。
【発明の効果】
【００１８】
本発明によれば、前記ロボットが前記推奨位置へ移動するだけで、前記ロボットは、前記収容箱内の四隅に位置する前記把持対象物のすべてを把持可能となる。従って、前記収容箱が前記ロボットから離れた位置に置かれており、前記把持対象物が前記収容箱内のどこにあるかが未知である場合であっても、ロボットは、１度の移動だけで、前記収容箱内の前記把持対象物を高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【図面の簡単な説明】
【００１９】
【図１】移動ロボットが部品棚に部品を取りに行く様子を示す斜視図である。
【図２】ロボット制御装置の制御フローである。
【図３】ロボット制御装置の制御フローである。
【図４】ロボット制御装置の制御フローである。
【図５】部品棚に並べられた部品箱を平面視で描いた図であって、中央位置を丸印で描いている。
【図６】部品棚に並べられた部品箱を平面視で描いた図であって、左上隅位置を丸印で描いている。
【図７】部品棚に並べられた部品箱を平面視で描いた図であって、左下隅位置を丸印で描いている。
【図８】部品棚に並べられた部品箱を平面視で描いた図であって、右上隅位置を丸印で描いている。
【図９】部品棚に並べられた部品箱を平面視で描いた図であって、右下隅位置を丸印で描いている。
【図１０】部品棚に並べられた部品箱を平面視で描いた図であって、平均隅位置を丸印で描いている。
【図１１】部品棚に並べられた部品箱を平面視で描いた図であって、２分探索を直線でイメージしたものである。
【図１２】部品棚に並べられた部品箱を平面視で描いた図であって、２分探索を直線でイメージしたものである。
【発明を実施するための形態】
【００２０】
以下、本発明の好適な実施形態を説明する。図１には、例えば四輪自動車や二輪自動車などの輸送機器の製造工場の一部を示している。図１に示すように、昨今の製造工場では、製造ラインへ所望の部品ｗ（把持対象物）を供給するのに移動ロボット１を活用している。即ち、部品ｗは種別ごとに異なる部品箱２（収容箱）に収容されており、複数の部品箱２は部品棚３に若干通路側に傾けた状態で並べられている。図１に示すように、複数の部品箱２は、夫々、異なる形状及び異なるサイズを有している。
【００２１】
移動ロボット１は、ロボット制御装置４（推奨位置探索装置、推奨目的地探索装置）から部品搬送指令を受信すると、二点鎖線で示すように、所望の部品ｗが収容されている部品箱２の正面へと移動して停止し、ピックアップアーム５を操作することで部品ｗを把持し、把持した部品ｗを部品箱２から取り出して製造ラインへと搬送する。
【００２２】
以下、本明細書では、移動ロボット１がロボット制御装置４から部品搬送指令を受信して、所望の部品ｗが収容されている部品箱２の正面へと移動して停止し、撮像装置等で部品ｗを認識した際に、更なる移動をすることなくその場で部品ｗの把持が可能となる移動ロボット１の自己位置（目的地）を推奨位置（推奨目的地）として探索する技術について詳細に説明する。なお、部品ｗが部品箱２内において具体的にどのような姿勢でどの位置に収容されているかは全く未知であるとする。また、移動ロボット１の自己位置、移動ロボット１の推奨位置、移動ロボット１の位置とあるのは、何れも、移動ロボット１の台車の位置に関するものである。
【００２３】
図２〜図４には、ロボット制御装置４の推奨位置探索フローを示している。図２に示すように、先ず、作業者が、部品箱２を部品棚３に置き、部品棚３に置いた部品箱２の部品箱データをロボット制御装置４に入力する(S100)。ここで、部品箱データとは、部品箱の形状、座標、傾斜角を含むデータである。
【００２４】
部品箱データがロボット制御装置４に入力されると(S100:YES)、ロボット制御装置４は、図５に示すように、中央位置６を演算する(S110)。図５は、部品棚３に傾斜して置かれた部品箱２を平面視で描いている。中央位置６は、部品箱２の中央に部品ｗが位置すると仮定した場合の、部品箱２の中央に位置する部品ｗを把持可能となるような移動ロボット１の位置を意味する。中央位置６は、二次元座標として表される。中央位置６は、無数に存在する。ロボット制御装置４は、なるべくピックアップアーム５の各関節角が作動範囲の中央値となるように、中央位置６を演算する。
【００２５】
次に、ロボット制御装置４は、図６に示すように、左上隅位置７ａを演算する(S120)。左上隅位置７ａは、部品箱２の左上隅に部品ｗが位置すると仮定した場合の、部品箱２の左上隅に位置する部品ｗを把持可能となるような移動ロボット１の位置を意味する。左上隅位置７ａは、二次元座標として表される。左上隅位置７ａは、無数に存在する。ロボット制御装置４は、無数に存在する左上隅位置７ａのうち最も中央位置６に近い左上隅位置７ａを選択する。換言すれば、ロボット制御装置４は、中央位置６を初期値として、左上隅位置７ａを演算する。
【００２６】
同様に、ロボット制御装置４は、図７に示すように、左下隅位置７ｂを演算する(S130)。左下隅位置７ｂは、部品箱２の左下隅に部品ｗが位置すると仮定した場合の、部品箱２の左下隅に位置する部品ｗを把持可能となるような移動ロボット１の位置を意味する。左下隅位置７ｂは、二次元座標として表される。左下隅位置７ｂは、無数に存在する。ロボット制御装置４は、無数に存在する左下隅位置７ｂのうち最も中央位置６に近い左下隅位置７ｂを選択する。換言すれば、ロボット制御装置４は、中央位置６を初期値として、左下隅位置７ｂを演算する。
【００２７】
同様に、ロボット制御装置４は、図８に示すように、右上隅位置７ｃを演算する(S140)。右上隅位置７ｃは、部品箱２の右上隅に部品ｗが位置すると仮定した場合の、部品箱２の右上隅に位置する部品ｗを把持可能となるような移動ロボット１の位置を意味する。右上隅位置７ｃは、二次元座標として表される。右上隅位置７ｃは、無数に存在する。ロボット制御装置４は、無数に存在する右上隅位置７ｃのうち最も中央位置６に近い右上隅位置７ｃを選択する。換言すれば、ロボット制御装置４は、中央位置６を初期値として、右上隅位置７ｃを演算する。
【００２８】
同様に、ロボット制御装置４は、図９に示すように、右下隅位置７ｄを演算する(S150)。右下隅位置７ｄは、部品箱２の右下隅に部品ｗが位置すると仮定した場合の、部品箱２の右下隅に位置する部品ｗを把持可能となるような移動ロボット１の位置を意味する。右下隅位置７ｄは、二次元座標として表される。右下隅位置７ｄは、無数に存在する。ロボット制御装置４は、無数に存在する右下隅位置７ｄのうち最も中央位置６に近い右下隅位置７ｄを選択する。換言すれば、ロボット制御装置４は、中央位置６を初期値として、右下隅位置７ｄを演算する。
【００２９】
次に、ロボット制御装置４は、図１０に示すように、平均隅位置８を演算する(S160)。平均隅位置８は、左上隅位置７ａ及び左下隅位置７ｂ、右上隅位置７ｃ、右下隅位置７ｄを単純平均したものである。平均隅位置８は、二次元座標として表される。
【００３０】
次に、ロボット制御装置４は、部品箱２内の四隅の夫々に部品ｗが位置していると仮定して、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定する(S170)。
【００３１】
そして、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合(S170:YES)、ロボット制御装置４は、平均隅位置８を推奨位置に決定し(S180)、処理を終える(S190)。ロボット制御装置４は、その後、移動ロボット１に対して、推奨位置に関する情報を含めた部品搬送指令を出力する。移動ロボット１は、ロボット制御装置４から部品搬送指令を受信すると、推奨位置へと移動して停止し、ピックアップアーム５を操作することで部品ｗを把持し、把持した部品ｗを部品箱２から取り出して製造ラインへと搬送する。
【００３２】
S170で、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れかを把持可能でないと判定した場合(S170:NO)、ロボット制御装置４は、部品箱２内の四隅に位置している４つの部品ｗのうち把持可能でない部品ｗの数が複数か判定する(S200)。部品箱２内の四隅に位置している４つの部品ｗのうち把持可能でない部品ｗの数が複数でないと判定した場合(S200:NO)、ロボット制御装置４は、把持可能でないと判定された部品ｗに対応する把持不能位置（左上隅位置７ａ、左下隅位置７ｂ、右上隅位置７ｃ、右下隅位置７ｄのうち何れか１つに相当する。）に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定する(S210)。把持可能でないと判定された部品ｗに対応する把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合(S210:YES)、ロボット制御装置４は、把持不能位置を推奨位置に決定し(S220)、処理を終える(S230)。その後の部品搬送指令等については、上述した内容と同じである。
【００３３】
S210で、把持可能でないと判定された部品ｗに対応する把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れかを把持可能でないと判定したら(S210:NO)、ロボット制御装置４は、平均隅位置８と把持不能位置の間で２分探索を実行する(S240)。具体的には、ロボット制御装置４は、平均隅位置８と把持不能位置との間の位置であって、部品箱２内の四隅に位置する部品ｗのうち移動ロボット１が把持可能となる部品ｗの数が最大となるような位置を２分探索により探索する(S240)。図１１には、ロボット制御装置４が、平均隅位置８と、把持不能位置としての右上隅位置７ｃと、の間で２分探索を実行する様子を示している。そして、このように探索された位置を推奨位置に決定し(S250)、処理を終える(S260)。その後の部品搬送指令等については、上述した内容と同じである。
【００３４】
S200で、部品箱２内の四隅に位置している４つの部品ｗのうち把持可能でない部品ｗの数が複数であると判定した場合(S200:YES)、ロボット制御装置４は、把持可能でないと判定された複数の部品ｗに対応する複数の把持不能位置（左上隅位置７ａ、左下隅位置７ｂ、右上隅位置７ｃ、右下隅位置７ｄのうち少なくとも２つ以上に相当する。）の平均値である平均把持不能位置を求め、平均把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定する(S300)。平均把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合(S300:YES)、ロボット制御装置４は、平均把持不能位置を推奨位置に決定し(S310)、処理を終える(S320)。その後の部品搬送指令等については、上述した内容と同じである。
【００３５】
S300で、平均把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れかを把持可能でないと判定したら(S300:NO)、ロボット制御装置４は、平均隅位置８と平均把持不能位置の間で２分探索を実行する(S330)。具体的には、ロボット制御装置４は、平均隅位置８と平均把持不能位置との間の位置であって、部品箱２内の四隅に位置する部品ｗのうち移動ロボット１が把持可能となる部品ｗの数が最大となるような位置を２分探索により探索する(S330)。図１２には、平均把持不能位置９が左下隅位置７ｂと右下隅位置７ｄの平均値であって、ロボット制御装置４が、平均隅位置８と平均把持不能位置９の間で２分探索を実行する様子を示している。そして、このように探索された位置を推奨位置に決定し(S340)、処理を終える(S350)。その後の部品搬送指令等については、上述した内容と同じである。
【００３６】
以上に、本発明の好適な実施形態を説明したが、上記実施形態は、以下の特長を有する。
【００３７】
（１）ロボット制御装置４は、移動ロボット１（ロボット）が部品箱２（収容箱）に収容された部品ｗ（把持対象物）を把持することが可能な自己位置を推奨位置として求めるものである。ロボット制御装置４は、部品箱２内の中央に位置する部品箱２を把持可能となるような移動ロボット１の位置である中央位置６を求める(S110)。ロボット制御装置４は、部品箱２内の隅に位置する部品箱２を把持可能となるような移動ロボット１の位置のうち最も中央位置６に近い位置である隅位置（左上隅位置７ａ、左下隅位置７ｂ、右上隅位置７ｃ、右下隅位置７ｄ）を四隅分、求める(S120-S150)。ロボット制御装置４は、４つの隅位置（左上隅位置７ａ、左下隅位置７ｂ、右上隅位置７ｃ、右下隅位置７ｄ）の平均値としての平均隅位置８を演算する(S160)。ロボット制御装置４は、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定する(S170)。ロボット制御装置４は、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合(S170:YES)、平均隅位置８を推奨位置に決定する(S180)。以上の構成によれば、移動ロボット１が推奨位置へ移動するだけで、移動ロボット１は、部品箱２内の四隅に位置する部品ｗのすべてを把持可能となる。従って、部品箱２が移動ロボット１から離れた位置に置かれており、部品ｗが部品箱２内のどこにあるかが未知である場合であっても、移動ロボット１は、１度の移動だけで、部品箱２内の部品ｗを高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００３８】
（２）ロボット制御装置４は、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れかを把持可能でないと判定した場合(S170:NO)、把持可能でないと判定された部品ｗに対応する把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定する(S210)。ロボット制御装置４は、移動ロボット１が部品ｗ内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合(S210:YES)、把持不能位置を推奨位置に決定する(S220)。以上の構成によれば、移動ロボット１が推奨位置へ移動するだけで、移動ロボット１は、部品箱２内の四隅に位置する部品ｗのすべてを把持可能となる。従って、部品箱２が移動ロボット１から離れた位置に置かれており、部品ｗが部品箱２内のどこにあるかが未知である場合であっても、移動ロボット１は、１度の移動だけで、部品箱２内の部品ｗを高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００３９】
（３）ロボット制御装置４は、把持不能位置に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れかを把持可能でないと判定した場合(S210:NO)、平均隅位置８と、把持不能位置と、の間の位置であって、部品箱２内の四隅に位置する部品ｗのうち移動ロボット１が把持可能となる部品ｗの数が最大となるような位置を探索し(S240)、そのときの位置を推奨位置に決定する(S250)。以上の構成によれば、移動ロボット１が推奨位置へ移動した際の、移動ロボット１が部品ｗを把持可能となる確率が最大化される。
【００４０】
（４）ロボット制御装置４は、移動ロボット１が平均隅位置８に位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れか複数の部品ｗを把持可能でないと判定した場合(S170:NO、S200:YES)、把持可能でないと判定された部品ｗに対応する複数の把持不能位置の平均値である平均把持不能位置９に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能か判定する(S300)。ロボット制御装置４は、移動ロボット１が部品箱２内の四隅に位置する部品ｗのすべてを把持可能であると判定した場合(S300:YES)、平均把持不能位置９を推奨位置に決定する(S310)。以上の構成によれば、移動ロボット１が推奨位置へ移動するだけで、移動ロボット１は、部品箱２内の四隅に位置する部品ｗのすべてを把持可能となる。従って、部品箱２が移動ロボット１から離れた位置に置かれており、部品ｗが部品箱２内のどこにあるかが未知である場合であっても、移動ロボット１は、１度の移動だけで、部品箱２内の部品ｗを高い確率で把持することができるようになり、もって、サイクルタイムの短縮に寄与する。
【００４１】
（５）ロボット制御装置４は、平均把持不能位置９に移動ロボット１が位置した場合に、移動ロボット１が部品箱２内の四隅に位置する部品ｗの何れかを把持可能でないと判定した場合(S300:NO)、平均隅位置８と、平均把持不能位置９と、の間の位置であって、部品箱２内の四隅に位置する部品ｗのうち移動ロボット１が把持可能となる部品ｗの数が最大となるような位置を探索し(S330)、そのときの位置を推奨位置に決定する(S340)。以上の構成によれば、移動ロボット１が推奨位置へ移動した際の、移動ロボット１が部品ｗを把持可能となる確率が最大化される。
【符号の説明】
【００４２】
１  移動ロボット
２  部品箱
３  部品棚
４  ロボット制御装置
５  ピックアップアーム
６  中央位置
７ａ  左上隅位置
７ｂ  左下隅位置
７ｃ  右上隅位置
７ｄ  右下隅位置
８  平均隅位置
９  平均把持不能位置
ｗ  部品
【図１】
2015221463.tif 000003
【図２】
2015221463.tif 000004
【図３】
2015221463.tif 000005
【図４】
2015221463.tif 000006
【図５】
2015221463.tif 000007
【図６】
2015221463.tif 000008
【図７】
2015221463.tif 000009
【図８】
2015221463.tif 000010
【図９】
2015221463.tif 000011
【図１０】
2015221463.tif 000012
【図１１】
2015221463.tif 000013
【図１２】
2015221463.tif 000014