(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022103968
(43)【公開日】2022-07-08
(54)【発明の名称】動作スケジュール生成装置、方法、プログラム及びシステム
(51)【国際特許分類】
B25J 9/22 20060101AFI20220701BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2020218899
(22)【出願日】2020-12-28
(71)【出願人】
【識別番号】315014671
【氏名又は名称】東京ロボティクス株式会社
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】川西 亮輔
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS04
3C707BS10
3C707KS03
3C707KS04
3C707KT01
3C707KT03
3C707KT05
3C707KT06
3C707LS15
3C707LV14
3C707NS02
(57)【要約】 (修正有)
【課題】一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが可能な動作スケジュールを生成する装置を提供する。
【解決手段】ロボットの現在の動作状況を取得する、動作状況取得部と、作業に係る作業対象物に関する認識処理を行う、認識処理部と、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備える動作スケジュール生成装置である。
【選択図】
図4
【特許請求の範囲】
【請求項1】
一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成装置であって、
前記ロボットの現在の動作状況を取得する、動作状況取得部と、
前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備える、動作スケジュール生成装置。
【請求項2】
前記稼働サイクルは、前記システムにおける生産時間を前記システムにおいて生産される製品の生産数で除したサイクルタイムである、請求項1に記載の動作スケジュール生成装置。
【請求項3】
前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれるよう生成される、請求項1に記載の動作スケジュール生成装置。
【請求項4】
前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれ、かつ、各稼働サイクル内の所定タイミングより前となるよう生成される、請求項3に記載の動作スケジュール生成装置。
【請求項5】
前記動作スケジュールは、前記作業対象物毎の推定動作時間に応じて、前記作業対象物に対する作業順序を決定した動作スケジュールである、請求項1に記載の動作スケジュール生成装置。
【請求項6】
前記動作スケジュールは、各前記動作の完了時刻から前記稼働サイクルの終端までの余裕時間が所定値以上となるように生成された動作スケジュールである、請求項1に記載の動作スケジュール生成装置。
【請求項7】
各前記作業対象物の周辺環境を認識する環境認識処理部と、
前記周辺環境の変動に応じて前記動作スケジュールの実行を中断させる中断処理部と、を備える、請求項1に記載の動作スケジュール生成装置。
【請求項8】
前記動作スケジュール生成部は、さらに、前記認識処理の実行時間に基づいて、前記動作スケジュールを生成する、請求項1に記載の動作スケジュール生成装置。
【請求項9】
前記動作スケジュールは、その終端において実行される前記認識処理を含む、請求項8に記載の動作スケジュール生成装置。
【請求項10】
前記動作状況と前記認識処理の結果に基づいて、各前記作業対象物に対して作業を行った場合の環境変動を予測する、環境変動予測処理部と、
前記動作スケジュール生成部は、さらに、前記環境変動の予測結果に応じて、前記動作スケジュールを生成する、請求項1に記載の動作スケジュール生成装置。
【請求項11】
前記作業対象物に関する認識処理の信頼度を生成する、信頼度生成部、をさらに備え、
前記動作スケジュール生成部は、前記信頼度にさらに基づいて、前記動作スケジュールを生成する、請求項1に記載の動作スケジュール生成装置。
【請求項12】
前記認識処理部は、前記作業に係る作業対象物に関する認識処理を所定の領域内において行う、請求項1に記載の動作スケジュール生成装置。
【請求項13】
前記領域は、それより前の認識処理による認識結果から変動がある領域である、請求項12に記載の動作スケジュール生成装置。
【請求項14】
前記動作スケジュール又は前記動作スケジュールと関連する情報と、前記動作スケジュールの実行結果に基づいて所定の学習処理を行う、学習処理部、をさらに備える、請求項1に記載の動作スケジュール生成装置。
【請求項15】
前記動作スケジュール生成部は、さらに、前記学習処理の結果に基づいて、前記動作スケジュールを生成する、請求項14に記載の動作スケジュール生成装置。
【請求項16】
前記学習処理は、強化学習処理である、請求項14に記載の動作スケジュール生成装置。
【請求項17】
前記強化学習処理における評価指標は、一定の稼働サイクルの下で前記ロボットを動作させたときの安定性に関する指標である、請求項16に記載の動作スケジュール生成装置。
【請求項18】
一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成方法であって、
前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、
前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備える、動作スケジュール生成方法。
【請求項19】
一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成プログラムであって、
前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、
前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備える、動作スケジュール生成プログラム。
【請求項20】
一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成システムであって、
前記ロボットの現在の動作状況を取得する、動作状況取得部と、
前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、
前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、
前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備える、動作スケジュール生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、一定の稼働サイクルで動作するシステム内で作業を行うロボットの動作スケジュールを生成する装置に関する。
【背景技術】
【0002】
一定の稼働サイクルで動作するシステム内に、所定の作業を行うロボットを組み込むことが行われる。
【0003】
ところで、この種のロボットが行う作業の中には、その作業の所要時間がサイクル毎に毎回変動してしまう作業が存在する。例えば、作業内容がワークのピッキング作業である場合、把持対象となるワークの位置や姿勢、搬送経路等に応じて、その作業の所要時間は変動する。このような作業がシステム中に存在すると、システム全体の稼働サイクルに影響が及ぼすことがある。
【0004】
システム内で動作するロボットの例として、特許文献1には、搬送コンベアで搬送されてくるワークを複数のロボットにより取り出すシステムが開示されている。同文献においては、視覚センサによる認識処理の結果に基づいてワークを把持できるかを判断し、それにより、搬送コンベアの搬送速度を調整する技術が開示されている。
【0005】
すなわち、この例にあっては、システムの一部を構成するロボットがワークを把持できるかを判断することにより、搬送速度、すなわち、システム側の条件を変更し、ロボットによる把持動作を保証している。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、例えば特許文献1に記載の手法では、ロボットの作業時間に応じてシステム内の他の装置の稼働サイクルに変更を加える必要がある。その結果、例えば、システムとしての設計が複雑となったり、生産予測等が困難となってしまうおそれがあった。
【0008】
これに対して、所要時間の変動をロボットの側で吸収することも想定される。この場合、ロボットの各動作の最大所要時間を見積もり、それよりも稼働サイクルを大きくするようにしてシステム設計がなされる。しかしながら、このような設計とすると、各稼働サイクルにおいてロボットの停止時間が生じてしまい作業効率は低下する。また、作業効率を優先して稼働サイクルを最大所要時間近傍とすれば、少しの誤差等が生じれば、ロボットが稼働サイクル内に作業を完了することが出来ず、システムの停止や歩留まりの低下等を招くおそれがある。
【0009】
すなわち、従前の手法では、一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが困難であった。
【0010】
本発明は上述の技術的背景に鑑みてなされたものであり、その目的は、一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが可能な動作スケジュールを生成することにある。
【課題を解決するための手段】
【0011】
上述の技術的課題は、以下の構成を有する装置等により解決することができる。
【0012】
すなわち、本発明に係る動作スケジュール生成装置は、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成装置であって、前記ロボットの現在の動作状況を取得する、動作状況取得部と、前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備えている。
【0013】
このような構成によれば、システムの稼働サイクル、動作状況及び推定動作時間に応じてロボットの動作スケジュールが生成されるので、システム全体又はシステム内の他の装置の稼働サイクルを変更することなく、所要時間に変動のある動作を行うロボットを継続して運用することができる。
【0014】
前記稼働サイクルは、前記システムにおける生産時間を前記システムにおいて生産される製品の生産数で除したサイクルタイムであってもよい。
【0015】
このような構成によれば、一定のサイクルタイム下でロボットを動作させることが可能な動作スケジュールを生成することができる。
【0016】
前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれるよう生成されてもよい。
【0017】
このような構成によれば、動作スケジュールを構成する各動作が、各稼働サイクル内で完了することを保証することができる。
【0018】
前記動作スケジュールは、前記動作スケジュールを構成する各動作の完了時刻が、各稼働サイクル内に一度含まれ、かつ、各稼働サイクル内の所定タイミングより前となるよう生成される、ものであってもよい。
【0019】
このような構成によれば、動作スケジュールを構成する各動作が、各稼働サイクル内で完了することを保証し、かつ、動作完了から次の稼働サイクルの開始までの余裕を確保することができる。これにより、動作をより安定的に継続することができる。
【0020】
前記動作スケジュールは、前記作業対象物毎の推定動作時間に応じて、前記作業対象物に対する作業順序を決定した動作スケジュールであってもよい。
【0021】
このような構成によれば、推定動作時間に応じて、作業対象物に対する作業順序が決定されるので、適切に作業順序を設定して、継続的な動作を担保することができる。
【0022】
前記動作スケジュールは、各前記動作の完了時刻から前記稼働サイクルの終端までの余裕時間が所定値以上となるように生成された動作スケジュールであってもよい。
【0023】
このような構成によれば、各稼働サイクル内において余裕をもって動作を完了させることができるので、動作をより安定的に継続させることができる動作スケジュールを提供することができる。
【0024】
各前記作業対象物の周辺環境を認識する環境認識処理部と、前記周辺環境の変動に応じて前記動作スケジュールの実行を中断させる中断処理部と、を備えるものであってもよい。
【0025】
このような構成によれば、環境が大きく変動した場合には、実行中の動作スケジュール一旦中断して、例えば、再スケジュール等を行うことができるので、動作をより安定的に継続させることができる動作スケジュールを提供することができる。
【0026】
前記動作スケジュール生成部は、さらに、前記認識処理の実行時間に基づいて、前記動作スケジュールを生成する、ものであってもよい。
【0027】
このような構成によれば、認識処理の実行時間も勘案して動作スケジュールを生成することができるので、動作スケジュール中に作業対象物の再度の認識等を行うことができ、動作をより安定的に継続させることができる動作スケジュールを生成することができる。
【0028】
前記動作スケジュールは、その終端において実行される前記認識処理を含む、ものであってもよい。
【0029】
このような構成によれば、終端において認識処理を行うので、動作完了時点における作業対象物等の状態を把握することができ、それにより、直ちに次の動作スケジュール等を生成することができる。
【0030】
前記動作状況と前記認識処理の結果に基づいて、各前記作業対象物に対して作業を行った場合の環境変動を予測する、環境変動予測処理部と、前記動作スケジュール生成部は、さらに、前記環境変動の予測結果に応じて、前記動作スケジュールを生成する、ものであってもよい。
【0031】
このような構成によれば、作業の結果として生じる環境変動を予測し、それに応じて動作スケジュールを生成するので、環境変動が少なくなるようにする等動作をより安定的に継続させることができる動作スケジュールを策定すること等が可能となる。
【0032】
前記作業対象物に関する認識処理の信頼度を生成する、信頼度生成部、をさらに備え、前記動作スケジュール生成部は、前記信頼度にさらに基づいて、前記動作スケジュールを生成する、ものであってもよい。
【0033】
このような構成によれば、認識精度が低い作業対象物に対する作業を見送ったり、動作に余裕がない場合には作業優先度を下げて時間的余裕がある場合に作業すること等が可能となるので、動作をより安定的に継続させることができる。
【0034】
前記認識処理部は、前記作業に係る作業対象物に関する認識処理を所定の領域内において行う、ものであってもよい。
【0035】
このような構成によれば、所定領域のみ認識処理を行うので、高効率かつ高速に認識処理を行うことができる。
【0036】
前記領域は、それより前の認識処理による認識結果から変動がある領域である、ものであってもよい。
【0037】
変動がない領域についてはそれより前に行った認識結果を利用することができるので、高効率かつ高速な認識処理を行うことができる。
【0038】
前記動作スケジュール又は前記動作スケジュールと関連する情報と、前記動作スケジュールの実行結果に基づいて所定の学習処理を行う、学習処理部、をさらに備える、ものであってもよい。
【0039】
このような構成によれば、実行結果を元に学習処理を行うので、漸次的に動作スケジュールを改善することができる。
【0040】
前記動作スケジュール生成部は、さらに、前記学習処理の結果に基づいて、前記動作スケジュールを生成する、ものであってもよい。
【0041】
このような構成によれば、実行結果を元に学習処理を行うので、漸次的に動作スケジュールを改善することができる。
【0042】
前記学習処理は、強化学習処理である、ものであってもよい。
【0043】
このような構成によれば、試行を繰り返すことにより漸次的に動作スケジュールを改善することができる。
【0044】
前記強化学習処理における評価指標は、一定の稼働サイクルの下で前記ロボットを動作させたときの安定性に関する指標である、ものであってもよい。
【0045】
このような構成によれば、評価を大きくするよう強化学習が進行するので、一定の稼働サイクルの下で前記ロボットを安定的に動作させることができるような動作スケジュールを生成することを漸次的に実現することができる。
【0046】
本発明は方法として観念することもできる。すなわち、本発明に係る方法は、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成方法であって、前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備える、ものであってもよい。
【0047】
本発明はコンピュータプログラムとして観念することもできる。すなわち、本発明に係るプログラムは、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成プログラムであって、前記ロボットの現在の動作状況を取得する、動作状況取得ステップと、前記作業に係る作業対象物に関する認識処理を行う、認識処理ステップと、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成ステップと、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成ステップと、を備えている。
【0048】
本発明はシステムとして観念することもできる。すなわち、本発明に係るシステムは、一定の稼働サイクルで動作するシステムにおいて作業を行うロボットの動作スケジュールを生成する、動作スケジュール生成システムであって、前記ロボットの現在の動作状況を取得する、動作状況取得部と、前記作業に係る作業対象物に関する認識処理を行う、認識処理部と、前記認識処理の結果に基づいて、前記作業対象物毎に前記ロボットの推定動作時間を生成する、推定動作時間生成部と、前記稼働サイクル、前記動作状況及び前記推定動作時間に応じて、前記一定の稼働サイクルの下で前記ロボットを動作させることを可能とする動作スケジュールを生成する、動作スケジュール生成部と、を備えている。
【発明の効果】
【0049】
本発明によれば、一定の稼働サイクルで動作するシステムにおいて、所要時間に変動のある動作を行うロボットを継続して運用することが可能な動作スケジュールを生成することができる。
【図面の簡単な説明】
【0050】
【
図1】
図1は、システムの概要について示す全体構成図である。
【
図2】
図2は、情報処理装置の機能ブロック図(第1の実施形態)である。
【
図3】
図3は、動作スケジュール生成処理に関するフローチャート(第1の実施形態)である。
【
図4】
図4は、動作スケジュールの一例に関する概念図である。
【
図5】
図5は、所要時間が小さい要素動作を配置する例についての説明図である。
【
図6】
図6は、各要素動作の開始を稼働サイクルの始期に合わせるようにした構成についての説明図である。
【
図7】
図7は、情報処理装置の機能ブロック図(第2の実施形態)である。
【
図8】
図8は、動作スケジュール生成処理に関するフローチャート(第2の実施形態)である。
【
図9】
図9は、情報処理装置の機能ブロック図(第3の実施形態)である。
【発明を実施するための形態】
【0051】
以下、本発明の好適な実施の形態について添付の図を参照しつつ詳細に説明する。
【0052】
(1.第1の実施形態)
第1の実施形態として、本発明を、工場内のシステム100に対して適用した例について説明する。なお、本実施形態においては、工場内における作業を例示するが、本発明はこのような構成に限定されない。従って、例えば、物流倉庫内のシステム等あらゆるシステムに適用することができる。
【0053】
(1.1 構成)
図1は、本実施形態に係るシステム100の概要について示す全体構成図である。同図から明らかな通り、システム100の一部において、ロボットアーム1は、所定の箱4内の対象物(ワーク)41を把持(ピッキング)して取り出し、ベルトコンベア9上に配置する動作(タスク)を実行する。このとき、システム100は、一定のサイクルで稼働しており、これに応じてベルトコンベア9も一定の速度で作動している。このサイクルは、例えば、生産時間をシステム100において生産される製品の生産数で除したサイクルタイムであってもよい。
【0054】
なお、本実施形態においては、ロボットアーム1を用いるものの他の機能・用途を有するロボットを利用してもよい。また、タスクはピッキングに限定されず、他の種々のタスクを含む。
【0055】
ロボットアーム1は、システム100の上位制御装置8と有線又は無線で接続されている。上位制御装置8からは、例えば、ベルトコンベア9を含む製造ラインとの同期をとるための同期信号等が提供される。上位制御装置8は、CPU等の制御部、ROM、RAM又はフラッシュメモリ等の記憶部、通信ユニット、入出力部、等を備える情報処理装置である。
【0056】
また、同図の例にあっては、ロボットアーム1は、ロボットアーム1の動作を制御する情報処理装置6と有線又は無線により接続されている。この情報処理装置6は、CPU等の制御部、ROM、RAM又はフラッシュメモリ等の記憶部、通信ユニット、入出力部、等を備える情報処理装置であり、例えば、後述の動作スケジュール等を生成する。ロボットアーム1は、生成された動作スケジュールに応じて動作する。
【0057】
情報処理装置6は、3次元情報を取得することが可能な3次元センサ5と接続されておりセンサ情報を取得する。3次元センサ5は、対象物41が乱雑に格納された箱4の中の全体をその画角内に収めるように撮影を行いセンサ情報を生成する。生成されたセンサ情報は情報処理装置6へと送信される。
【0058】
なお、センサは、対象物41の状態を検出することができるセンサであればいずれのセンサを採用してもよい。従って、2次元情報を取得するものであってもよく、撮像を伴わないセンサであってもよい。また、複数のセンサを設ける構成としてもよい。さらに、センサは対象物41を環境固定式のものでなくてもよく、例えば、ロボットアーム1の手先に取り付けられる手先カメラ等であってもよい。
【0059】
図2は、本実施形態に係る情報処理装置6の機能ブロック図である。同図から明らかな通り、情報処理装置6は、認識処理部61、動作生成部62、動作時間推定部63、動作スケジュール生成部65、情報取得部64、及び動作実行部66を備えている。
【0060】
3次元センサ5から取得されたセンサ情報に基づいて認識処理部は、対象物41に関する認識処理を行う。認識結果は、動作生成部62へと提供され、動作生成部62は認識結果に基づいてロボットアーム1の動作を生成する。この動作は、本実施形態においては、箱4内の各対象物41のうちの1つを把持してベルトコンベア9上へと配置する動作である。
【0061】
生成された動作は、動作時間推定部63へと提供される。動作時間推定部63は、生成された各動作に要する時間(推定動作時間)を推定する処理を行う。推定動作時間は、動作スケジュール生成部65へと提供される。
【0062】
また、情報取得部64は、上位制御装置8から提供される同期信号等に基づいて、システム全体の稼働サイクルに関する情報やロボットアーム1の現在の状態(ロボットアーム1が現在行っている動作等)の種々の情報を取得する。これらの情報も、動作スケジュール生成部65へと提供される。
【0063】
動作スケジュール生成部65は、動作時間推定部63、情報取得部64等から提供された情報に基づいて最適な動作スケジュールを生成する。生成された動作スケジュールは、動作実行部66へと提供される。この動作実行部からの出力に基づいて、ロボットアーム1は動作する。
【0064】
なお、上述のシステム及び情報処理装置6の構成は例示であり、様々に変形して実施することができる。例えば、一部の機能を他の装置で実行すること等により処理を分散したり、機能を集約することにより一の装置で実行する等、変形することが可能である。
【0065】
(1.2 動作)
続いて、上述の構成を有するシステム100において動作する情報処理装置6の動作について説明する。
【0066】
図3は、情報処理装置6上で実行される動作スケジュール生成処理に関するフローチャートである。同図から明らかな通り、処理が開始すると、認識処理部61は、対象物41が乱雑に格納された箱4の中の全体をその画角内に収めるように撮影を行っている3次元センサ5から、3次元センサ情報を取得する(S10)。
【0067】
この3次元センサ情報を取得した後、認識処理部61は、3次元センサ情報に基づいて、物体認識処理を行い(S12)、箱4内の1又は複数の対象物41を認識する。
【0068】
動作生成部62は、認識処理の結果に基づいて、対象物41毎に動作を生成する処理を行う(S14)。すなわち、本実施形態においては、ロボットアーム1において所定の姿勢から対象物41のピッキングを行いベルトコンベア9上へと載置するまでの各関節の時系列の変位等を生成する処理が行われる。
【0069】
その後、動作時間推定部63は、対象物41毎にロボットアーム1のハードウェアに関する情報と生成された動作に基づいて、当該動作に要する推定動作時間を生成する(S16)。推定動作時間は、例えば、搬送距離を移動速度で除した値等であってもよい。この推定動作時間は、動作スケジュール生成部65へと提供される。
【0070】
情報取得部64は、上位制御装置8からシステム100全体又はシステム内の他の装置(ベルトコンベア9等)の稼働サイクルに関する同期信号や、ロボットアーム1の各関節等に設けられたセンサから取得される動作状況情報を取得し、動作スケジュール生成部65へと提供する(S17)。なお、動作状況情報は、本実施形態の例に限定されず、ロボットアーム1の状態を表すあらゆる情報を含む。
【0071】
動作時間推定部63及び情報取得部64からの情報を取得した動作スケジュール生成部は、それらの情報に基づいて、所定の条件を満たすロボットアーム1の動作スケジュールを生成する(S18)。
【0072】
動作実行部66は、生成された動作スケジュールに基づいてロボットアーム1へと指令を行う(S20)。ロボットアーム1はこの指令に沿って動作を行う。一連の処理が完了すると、処理は再び3次元センサ情報の取得処理(S10)へと戻り、以後、終了指令又は中断指令がなされるまで、処理は繰り返される。
【0073】
上述の動作スケジュールに関する条件は、一定のサイクルで稼働するシステム100内において所要時間に変動のある作業を行うロボットアーム1の継続的な動作を保証する条件であり、様々な条件が設定され得る。例えば、動作スケジュールに関する条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在することであってもよい。
【0074】
図4は、動作スケジュール生成部65により生成される動作スケジュールの一例に関する概念図である。同図上段には、一定の稼働サイクルを示す均一な長さの複数の矢印が示され、同図下段には、生成された動作スケジュールが示されている。同図の例にあって、動作スケジュールは、対象物(ワーク)をピッキングする要素動作を複数配置して成り、具体的には、Aという対象物41をピッキングして載置するまでの動作に要する時間が「ワークA」という矢印で、Bという対象物41をピッキングして載置するまでの動作に要する時間が「ワークB」という矢印で、Cという対象物41をピッキングして載置するまでの動作に要する時間が「ワークC」、Dという対象物41をピッキングして載置するまでの動作に要する時間が「ワークD」、認識処理に要する時間が「認識」として示されている。
【0075】
なお、本実施形態においては、認識処理が要素動作に含まれているが、認識処理は別途、常時又定期的に行うものとして、要素動作に含めなくてもよい。
【0076】
同図における各要素動作は、所定の将来時間までの間において、各要素動作の所要時間に基づいて、各稼働サイクル中に一度だけ対象物41(ワーク)に関する動作が行われるよう、順番を調整して配置されたものである(ワークA→ワークB→ワークC→ワークD→認識処理)。すなわち、この例にあっては、所定の条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在することである。
【0077】
このような構成によれば、システム100の稼働サイクル、ロボットアーム1の動作状況及び推定動作時間に応じてロボットアーム1の動作スケジュールが生成されるので、システム100全体の稼働サイクルを変更することなく、所要時間に変動のある動作を行うロボットアーム1を継続して運用することができる。
【0078】
なお、動作スケジュールに関する条件は、本実施形態のものに限定されず、様々に変形することができる。
【0079】
例えば、所定の条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在し、かつ、各動作の完了時刻から各稼働サイクルの終端までの余裕時間が所定値以上となることという条件としてもよい。
【0080】
このような構成によれば、動作スケジュールを構成する各動作が、各稼働サイクル内で完了することを保証し、かつ、動作完了から次の稼働サイクルの開始までの余裕を確保することができる。これにより、動作をより安定的に継続することができる。
【0081】
また、所定の条件は、動作スケジュールを構成する要素動作のうち所要時間が最も小さい要素動作、若しくは、所定値以下の所要時間を有する1又は複数の要素動作を特定し、当該要素動作を、上記余裕時間が所定値以下となる動作の直後に配置するような条件としてもよい。
【0082】
図5は、余裕時間が所定値以下となる場合に、所要時間が小さい要素動作を配置する例についての説明図である。
【0083】
同図上段の図から明らかな通り、単に各稼働サイクル中に一度だけ対象物41(ワーク)に関する動作が行われるという条件の下に順番を決定して動作スケジュールを生成した場合、所要時間の小さいワークCが存在する場合、ワークBに対する要素動作とワークCに対する要素動作との間には待機時間が発生してしまう。これにより、システムとしての効率性が低下してしまう。
【0084】
これに対して、同図下段の図においては、直前のワークEに対する要素動作の完了時刻が稼働サイクルの終端と接近して余裕時間が小さいことから、その直後にワークCに対する要素動作が配置されている。
【0085】
このような構成によれば、遅れを取り戻すような動作スケジュールの生成が可能となる。また、動作スケジュールを効率化することができるので、より短い稼働サイクル(同図中の破線矢印を参照)で動作させることが可能なロボットアーム1を提供することができる。
【0086】
さらに、本実施形態においては、各要素動作間には隙間を空けない構成としているが、このような構成に限定されない。
【0087】
図6は、各要素動作の開始を稼働サイクルの始期に合わせるようにした構成についての説明図である。同図から明らかな通り、この場合には、ロボットアーム1に対して停止時間が生じることとなるが、動作スケジュールの設計は容易となる。
【0088】
(2.第2の実施形態)
続いて、本発明の第2の実施形態について説明する。
【0089】
(2.1 構成)
第2の実施形態に係るシステムの全体構成は、第1の実施形態に係るシステム100の全体構成(
図1)と略同一であるので、説明を省略する。
【0090】
図7は、本実施形態に係る情報処理装置6の機能ブロック図である。同図から明らかな通り、情報処理装置6は、認識処理部610、動作生成部620、動作時間推定部630、動作スケジュール生成部650、情報取得部640、及び動作実行部660を備えているものの、本実施形態ではさらに、評価情報生成部670を備えている。また、認識処理部610にはさらに認識領域特定処理部611が設けられている。なお、第1の実施形態と対応する構成は略同一の動作を行うものであるので、以下、詳細説明は省略する。
【0091】
評価情報生成部670は、認識処理の結果に基づいて、後述の評価情報を生成し動作スケジュール生成部650に対して提供する。なお、評価情報生成部は、ロボットアーム1の動作により対象物41に生じる環境変動を予測する環境変動予測処理部671と、認識結果に対する信頼度等を生成する信頼度評価部672とを備えている。
【0092】
また、認識領域特定処理部611は、認識処理部に対して、認識すべき領域を特定して提供する。
【0093】
(2.2 動作)
次に、本実施形態に係る情報処理装置6の動作について説明する。
図8は、情報処理装置6上で実行される動作スケジュール生成処理に関するフローチャートである。同図から明らかな通り、処理が開始すると、第1の実施形態と同様、認識処理部610は、3次元センサ5から3次元センサ情報を取得する処理を行う(S20)。
【0094】
この取得処理の後、認識領域特定処理部611は、認識すべき領域を特定する。この特定処理は、例えば、前回の認識処理を行ったときから所定量以上の変化がある領域のみを認識領域として特定する。なお、領域特定手法はこのような方法に限定されず当業者に知られる他の種々の手法が利用可能である。
【0095】
このような構成によれば、変化がない領域については認識処理を行わないので、高効率かつ高速に認識処理を行うことができる。
【0096】
その後、認識処理部610は、認識領域内において物体認識処理を行う(S21)。物体認識処理の後、第1の実施形態と同様に、対象物41毎の動作の生成処理(S24)、対象物41毎の動作時間の推定処理が行われる(S26)。
【0097】
環境変動予測処理部671は、対象物41毎に、要素動作によりその対象物41周辺の環境に対して生じる変動を予測する処理を行う(S27)。例えば、所定の対象物41に対してピッキング動作を行うことにより、その周囲の対象物41が転がったり対象物41から成る山が崩れること等により生じる状態の変動やその程度を予測する。予測処理結果は、動作スケジュール生成部650へと提供される。
【0098】
また、信頼度評価部672は、対象物41毎の認識結果の信頼度を生成する(S28)。認識結果の信頼度は、認識処理の精度に相当する値である。なお、信頼度の生成は、当業者に知られる種々の手法を利用することができる。例えば、認識処理が学習済モデル等を利用して行われる場合には、予測誤差量等の指標に基づいて信頼度を生成してもよい。生成された信頼度は、動作スケジュール生成部650へと提供される。
【0099】
情報取得部64は、上位制御装置8からシステム100全体の稼働サイクルに関する同期信号やロボットアーム1の各関節等に設けられたセンサから取得される情報を取得し、動作スケジュール生成部650へと提供する(S29)。
【0100】
動作時間推定部630、情報取得部640及び評価情報生成部670からの情報を取得した動作スケジュール生成部650は、それらの情報に基づいて、所定の条件を満たすロボットアーム1の動作スケジュールを生成する(S30)。
【0101】
動作実行部660は、第1の実施形態と同様に、生成された動作スケジュールに基づいてロボットアーム1へと指令を行う(S31)。一連の処理が完了すると、処理は再び3次元センサ情報の取得処理(S20)へと戻り、以後、終了指令又は中断指令がなされるまで、処理は繰り返される。
【0102】
本実施形態において、動作スケジュールに関する所定の条件は、各要素動作の完了時刻が各稼働サイクル内に一度存在することという条件の他、環境変動が小さいと予測される対象物41を優先的にピッキングすること、及び信頼度が小さい又は所定値以下の対象物41に対するピッキング動作の優先度を下げるか又はピッキングを行わないことである。これらの複数の条件を同時に満たすよう動作スケジュールは決定される。
【0103】
このような条件とすることにより、要素動作を行うことにより大きな環境変動が生じるおそれを小さくすることができるので、動作をより安定的に継続させることができる。また、認識の信頼度が低い対象物に対する要素動作の優先度を下げるか又は要素動作を行わないので、動作をより安定的に継続させることができる。
【0104】
なお、動作スケジュールに関する所定の条件は、様々に変形することができ、例えば、環境変動が所定値以上と予想される対象物41に対しては要素動作を行わない等といった条件であってもよい。
【0105】
(3.第3の実施形態)
次に、第3の実施形態について説明する。
【0106】
第3の実施形態に係るシステムの全体構成は、第1の実施形態に係るシステム100の全体構成(
図1)と略同一であるので、説明を省略する。
【0107】
図9は、本実施形態に係る情報処理装置6の機能ブロック図である。同図から明らかな通り、情報処理装置6は、第2の実施形態と同様に、認識処理部610、動作生成部620、動作時間推定部630、動作スケジュール生成部650、情報取得部640、及び動作実行部660、評価情報生成部670を備えている。しかしながら、本実施形態において、情報処理装置6は、さらに、学習処理部680を備えている。なお、第2の実施形態と対応する構成は略同一の動作を行うものであるので、以下、詳細説明は省略する。
【0108】
本実施形態においても、第2の実施形態と略同一の動作を行うものの、本実施形態においては、学習処理部680は、さらに、生成される動作スケジュールがより動作の継続性をもたらすものとなるよう学習する機械学習処理を行う。その学習処理の結果は、動作スケジュール生成部650における動作スケジュールの生成に利用される。
【0109】
学習手法は、公知の種々の手法を利用することができる。例えば、教師あり学習を用いてもよいし強化学習を用いてもよい。また、ニューラルネットワーク(又は深層学習)を利用してもよいし他の種々の公知の学習アルゴリズムを利用してもよい。
【0110】
本実施形態においては、動作の継続性に関する評価指標として、決定した動作スケジュールと、実際の実行結果に基づいて強化学習を行う。動作の継続性に関する評価指標とは、例えば、認識された対象物41の個数、推定動作時間、余裕時間等が挙げられる。この場合、認識された対象物41の個数又は余裕時間が大きい程、或いは、推定動作時間が小さい程、動作の継続性が高いものとして高い報酬が与えられる。また、入力データは、例えば、動作スケジュール生成部650へと提供される種々の情報である。これにより、動作スケジュールの策定ポリシー、すなわち、要素動作の配置に関する方針を学習する。学習後、学習済モデルは動作スケジュール生成部650において利用され、所定の入力データに応じて、適切な動作スケジュールが生成される。
【0111】
このような構成によれば、評価指標を大きくするよう強化学習が進行するので、一定の稼働サイクルの下で前記ロボットを安定的に動作させることができるような動作スケジュールの生成を漸次的に実現することができる。
【0112】
(2.変形例)
上述の実施形態においては、各要素動作に対して一の対象物41(ワーク)を対象とする構成としたが、本発明はこのような構成に限定されない。従って、例えば、各要素動作において複数のワークを対象とする構成等としてもよい。
【0113】
上述の実施形態においては、動作スケジュールを生成した後は、当該動作スケジュールに沿ってロボットアーム1を継続的に動作させる構成としたが、本発明はこのような構成に限定されない。従って、例えば、所定の事象の発生により動作スケジュールの実行を中断し、再度認識処理を行って動作スケジュール生成する構成としてもよい。所定の事象とは、例えば、3次元センサ等により取得される環境情報が所定量以上変動した場合等である。
【0114】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。また、上記の実施形態は、矛盾が生じない範囲で適宜組み合わせ可能である。
【0115】
また、本明細書で示すフローチャートの各ステップの順番は、技術的矛盾を生じない限り、相互に入れ替えることができる。
【産業上の利用可能性】
【0116】
本発明は、少なくともロボットを含むシステムを製造等する産業において利用可能である。
【符号の説明】
【0117】
1 ロボットアーム
4 箱
41 対象物
5 3次元センサ
6 情報処理装置
61 認識処理部
62 動作生成部
63 動作時間推定部
64 情報取得部
65 動作スケジュール生成部
66 動作実行部
8 上位制御装置
9 ベルトコンベア
100 システム