(57)【要約】【課題】ワークを保持する装置の保持動作を、容易、かつ、精度良くシミュレートするためのシミュレーション技術を提供する。【解決手段】モーション指令値計算部１３０は、シミュレーション対象となるピックアンドプレース装置の動作指令値を算出する。ダイナミクス計算部１６０は、モーション指令値計算部１３０から出力される動作指令値と、ダイナミクスを考慮した装置動作を算出する。吸着成否計算部１７０は、ダイナミクスを考慮した装置動作に基づき、吸着パッドによるワーク吸着の成否を判定する。３Ｄ表示部１９０は、ダイナミクスを考慮した装置動作の３Ｄ画像を、液晶パネルなどの表示部に表示する。【選択図】図２
2018103339.tif 000002
【特許請求の範囲】
【請求項１】
ロボットに設けられた保持部によって物品の保持が可能か否かをシミュレートするシミュレーション装置であって、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する保持成否判定部を具備するシミュレーション装置。
【請求項２】
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて前記保持部の動作指令値を計算する指令値計算部と、
前記動作指令値に従って前記保持部が動作する場合に、前記動作指令値と前記物品の質量とから前記保持部が前記物品を保持する保持力を求める保持力計算部とをさらに備え、
前記保持成否判定部は、前記保持力に基づき、前記保持部が前記物品を保持可能か否かを判定する、請求項１に記載のシミュレーション装置。
【請求項３】
前記保持力計算部は、
前記物品の搬送面に対して水平方向または鉛直方向を軸に回転する運動を考慮して、前記保持部が前記物品を保持する前記保持力を求める、請求項２に記載のシミュレーション装置。
【請求項４】
前記保持力計算部は、前記動作指令値と前記物品の質量とに基づき、前記物品の振動幅を計算し、
前記保持成否判定部は、前記計算した前記物品の振動幅と所定の閾値との比較結果に基づいて、前記保持部が前記物品を保持可能か否かを判定する、請求項２に記載のシミュレーション装置。
【請求項５】
前記物品の振動幅を表示する第１表示部をさらに具備する、請求項４に記載のシミュレーション装置。
【請求項６】
前記保持部による前記物品の保持の成否をシミュレートした画像を表示する第２表示部をさらに具備し、
前記保持部が前記物品を保持する保持力に基づいて、前記第２表示部で表示する前記物品の表示色を変更する請求項２に記載のシミュレーション装置。
【請求項７】
前記保持部の移動速度または加速度の変更を受け付け、
前記保持成否判定部は、受け付けた変更後の前記保持部の移動速度または加速度に基づき、前記保持部が前記物品を保持可能か否かを再度判定する、請求項２に記載のシミュレーション装置。
【請求項８】
前記保持部は、前記物品を吸着により保持する吸着パッドである、請求項２から７のいずれか一項に記載のシミュレーション装置。
【請求項９】
前記保持力計算部は、前記吸着パッドが前記物品を吸引する吸引力と、前記吸着パッドと前記物品との接触面における垂直抗力とを考慮して、前記保持部が前記物品を保持する保持力を計算する、請求項８に記載のシミュレーション装置。
【請求項１０】
前記保持成否判定部は、前記吸着パッドと前記物品との接触面における垂直抗力がゼロになったとき保持不能と判定し、
そのとき前記吸着パッドが動作した方向の前記移動速度または加速度の修正を受け付ける修正受付部をさらに具備する、請求項９に記載のシミュレーション装置。
【請求項１１】
前記保持力計算部は、さらに、前記吸着パッドと前記物品との間に発生する吸着摩擦力を計算する、請求項９に記載のシミュレーション装置。
【請求項１２】
前記保持力計算部は、さらに前記ロボットが動作する周辺の外気圧を考慮して、前記垂直抗力を計算する、請求項９に記載のシミュレーション装置。
【請求項１３】
前記保持成否判定部は、前記吸着パッドと前記物品との接触面における垂直抗力がゼロになったとき保持不能と判定し、
前記吸着パッドの径または個数の変更を受け付ける吸着パッド変更受付部をさらに具備する、請求項９に記載のシミュレーション装置。
【請求項１４】
前記保持部は、前記物品を爪により保持する把握型保持部である、請求項２から７のいずれか一項に記載のシミュレーション装置。
【請求項１５】
前記保持力計算部は、前記物品を爪で挟みこむ把持力と、前記爪と前記物品との接触面における摩擦力とを考慮して、前記保持部が前記物品を保持する力を計算する
請求項１４に記載のシミュレーション装置。
【請求項１６】
ロボットに設けられた保持部によって物品の保持が可能か否かをシミュレートするシミュレーション方法であって、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する保持成否判定ステップを含む、シミュレーション方法。
【請求項１７】
ロボットに設けられた保持部によって物品の保持が可能か否かのシミュレーションを、コンピュータに実行させるためのシミュレーションプログラムであって、
コンピュータに、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する保持成否判定ステップを実行させる、シミュレーションプログラム。
【請求項１８】
保持部によって物品の保持が可能か否かをシミュレートするシミュレーション機能を備えたロボットであって、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する保持成否判定部を具備するロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークを保持する装置の動作をシミュレートするシミュレーション技術に関する。
【背景技術】
【０００２】
一般に、工場の製造ラインなどにおいては、部品や製品等（以下、「ワーク」と総称する。）を保持して他の場所へ搬送する装置としてピックアンドプレース装置が用いられている。多くの場合、部品を保持するための保持部として吸着パッドやチャックを備えた把持装置が用いられるが、これらピックアンドプレース装置は、最適な動作が行われるよう、製造ラインのオペレータ等が実際に装置を動作して試行錯誤しながら調整しているのが現状である。
しかしながら、実際に装置を動作して調整する方法では、そもそも、実機が完成していなければ実施できない、あるいは生産ラインにすでに実機がある場合であっても、調整作業ためにピックアンドプレース装置の本来の作業を中断させる必要やラインを停止する必要があり、生産効率が悪化するという問題がある。
かかる問題を解消する方法の１つとして、ワークを搬送するロボットに関し、表示パネルなどを備えた画像出力装置上でロボットの動作プログラムを作成できるシミュレーション方法が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−２５６５７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来のシミュレーション方法では、ロボットの動作速度をパラメータとして振動加速度を推定等するにすぎず、シミュレーションによって得られる振動を確認することで、指定された振動加速度以下で動作し得る動作速度を決定できるだけで、ロボットがワークを保持可能か否かをシミュレートすることはできない、という問題があった。
【０００５】
本発明は、以上説明した事情を鑑みてなされたものであり、ワークを保持する装置の保持動作を、容易、かつ、精度良くシミュレートするためのシミュレーション技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係るシミュレーション装置は、ロボットに設けられた保持部によって物品の保持が可能か否かをシミュレートするシミュレーション装置であって、保持部の移動速度または加速度、及び保持部の移動経路に基づいて計算された保持部の動作指令値と、物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する保持成否判定部を具備する。
【０００７】
上記構成によれば、ロボットに設けられた保持部の動作指令値と、物品の質量とに基づき、保持部による物品の保持が可能か否かがシミュレートされるため、ロボットの保持動作を、容易、かつ、精度良くシミュレートすることが可能となる。
【０００８】
上記態様において、保持部の移動速度または加速度、及び保持部の移動経路に基づいて保持部の動作指令値を計算する指令値計算部と、動作指令値に従って保持部が動作する場合に、動作指令値と物品の質量とから保持部が物品を保持する保持力を求める保持力計算部とをさらに備え、保持成否判定部は、前記保持力に基づき、保持部が物品を保持可能か否かを判定する構成としてもよい。
【０００９】
上記構成において、保持力計算部は、物品の搬送面に対して水平方向または鉛直方向を軸に回転する運動を考慮して、保持部が物品を保持する前記保持力を求める構成としてもよい。
【００１０】
上記構成において、保持力計算部は、動作指令値と物品の質量とに基づき、物品の振動幅を計算し、保持成否判定部は、計算した物品の振動幅と所定の閾値との比較結果に基づいて、保持部が物品を保持可能か否かを判定する構成としてもよい。
【００１１】
上記構成において、物品の振動幅を表示する第１表示部をさらに具備する構成としてもよい。
【００１２】
上記構成において、保持部による物品の保持の成否をシミュレートした画像を表示する第２表示部をさらに具備し、保持部が物品を保持する保持力に基づいて、第２表示部で表示する前記物品の表示色を変更する構成としてもよい。
【００１３】
上記構成において、保持部の移動速度または加速度の変更を受け付け、保持成否判定部は、受け付けた変更後の保持部の移動速度または加速度に基づき、保持部が物品を保持可能か否かを再度判定する構成としてもよい。
【００１４】
上記構成において、保持部は、物品を吸着により保持する吸着パッドとしてもよい。
【００１５】
上記構成において、保持力計算部は、吸着パッドが物品を吸引する吸引力と、吸着パッドと物品との接触面における垂直抗力とを考慮して、保持部が物品を保持する保持力を計算する構成としてもよい。
【００１６】
上記構成において、保持成否判定部は、吸着パッドと物品との接触面における垂直抗力がゼロになったとき保持不能と判定し、そのとき吸着パッドが動作した方向の移動速度または加速度の修正を受け付ける修正受付部をさらに具備する構成としてもよい。
【００１７】
上記構成において、保持力計算部は、さらに、吸着パッドと物品との間に発生する吸着摩擦力を計算する構成としてもよい。
【００１８】
上記構成において、保持力計算部は、さらにロボットが動作する周辺の外気圧を考慮して、垂直抗力を計算する構成としてもよい。
【００１９】
上記構成において、保持成否判定部は、吸着パッドと物品との接触面における垂直抗力がゼロになったとき保持不能と判定し、吸着パッドの径または個数の変更を受け付ける吸着パッド変更受付部をさらに具備する構成としてもよい。
【００２０】
上記構成において、保持部は、前記物品を爪により保持する把握型保持部としてもよい。
【００２１】
上記構成において、保持力計算部は、物品を爪で挟みこむ把持力と、爪と物品との接触面における摩擦力とを考慮して、保持部が物品を保持する力を計算する構成としてもよい。
【００２２】
本発明の他の態様に係るシミュレーション方法は、ロボットに設けられた保持部によって物品の保持が可能か否かをシミュレートするシミュレーション方法であって、保持部の移動速度または加速度、及び保持部の移動経路に基づいて計算された保持部の動作指令値と、物品の質量とに基づき、保持部が物品を保持可能か否かを判定する保持成否判定ステップを含む。
【００２３】
本発明の他の態様に係るシミュレーションプログラムは、ロボットに設けられた保持部によって物品の保持が可能か否かのシミュレーションを、コンピュータに実行させるためのシミュレーションプログラムであって、コンピュータに、保持部の移動速度または加速度、及び保持部の移動経路に基づいて計算された保持部の動作指令値と、物品の質量とに基づき、保持部が物品を保持可能か否かを判定する保持成否判定ステップを実行させる。
【００２４】
本発明の他の態様に係るロボットは、保持部によって物品の保持が可能か否かをシミュレートするシミュレーション機能を備えたロボットであって、保持部の移動速度または加速度、及び保持部の移動経路に基づいて計算された保持部の動作指令値と、物品の質量とに基づき、保持部が物品を保持可能か否かを判定する保持成否判定部を具備する。
【発明の効果】
【００２５】
本発明によれば、ワークを保持する装置の保持動作を、容易、かつ、精度良くシミュレートするための技術を提供することが可能となる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態におけるシミュレーション装置のハードウェア構成を示す図である。
【図２】シミュレーション装置に係る第１の機能構成を示すブロック図である。
【図３】シミュレーション動作の概要を示すフローチャートである。
【図４】モーションプログラム及びモーションパラメータを例示した図である。
【図５】ピックアンドプレース装置における保持部とワークの物理モデルを例示した図である。
【図６】ワーク吸着の成否の判定条件を示した図である。
【図７】ワーク吸着の成否の判定条件を示した図である。
【図８Ａ】ワーク吸着に成功したシミュレーション画像を例示した図である。
【図８Ｂ】ワーク吸着に失敗したシミュレーション画像を例示した図である。
【図９】パラメータ修正処理（その１）を示すフローチャートである。
【図１０】パラメータ修正処理（その２）を示すフローチャートである。
【図１１】シミュレーション装置に係る第２の機能構成を示すブロック図である。
【図１２】シミュレーション動作の概要を示すフローチャートである。
【図１３Ａ】変形例１に係る保持部とワークの物理モデルを例示した図である。
【図１３Ｂ】変形例１に係る保持部とワークの物理モデルを例示した図である。
【図１４】ワークの落下判定調査結果を示す調査結果テーブルを例示した図である。
【図１５】調査反映グラフを例示した図である。
【図１６】調査反映グラフを例示した図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。また、以下の実施の形態は、本発明を説明するための例示であり、本発明をその実施の形態のみに限定する趣旨ではない。さらに、本発明は、その要旨を逸脱しない限り、さまざまな変形が可能である。
【００２８】
Ａ．本実施形態
＜１．構成＞
図１は、本実施形態に係るシミュレーション装置１０００のハードウェア構成を示す図である。シミュレーション装置１０００は、ピックアンドプレース装置（ロボット）によるワークの正常な保持（搬送を含む）が可能か否か等をシミュレートするための装置であり、例えばパーソナルコンピュータ（ＰＣ）やワークステーションなどによって構成されている。図１に示すように、シミュレーション装置１０００は、一般的なＰＣと同様、制御部１１００と、入力部１２００と、表示部１３００と、記憶部１４００と、光ディスク駆動装置１５００と、通信インタフェース１６００とを備えている。
【００２９】
制御部１１００は、シミュレーション装置１０００を中枢的に制御する機能を担っており、ＣＰＵ（Central Processing Unit）１１１０、ＲＯＭ（Read Only Memory）１１２０、ＲＡＭ（Random Access Memory）１１３０等を備えている。ＣＰＵ１１１０は、ＲＯＭ１１２０及びＲＡＭ１１３０に記憶されたデータ及びプログラムに基づいて、後述する各種の処理を行うとともに、シミュレーション装置１０００の各部を制御する。
【００３０】
入力部１２００は、キーボード１２１０、マウス１２２０のほか、各種操作ボタンやテンキーなどを備えており、各種コマンドやデータをシミュレーション装置１０００に入力するために利用される。
【００３１】
表示部１３００は、液晶パネルなどのモニタを備えており、シミュレーション結果等を表示するために利用される。
【００３２】
記憶部１４００は、ハードディスクドライブ（ＨＤＤ）やフラッシュメモリなど、各種の記憶装置によって構成されている。光ディスク駆動装置１５００は、制御部１１００による制御のもと、各種のディスクメディア（ＣＤ−ＲＯＭやブルーレイディスク）に記憶されたデータの読み込みや、ディスクメディアに対するデータの書き込み等を行う。通信インタフェース１６００は、各種通信（有線、無線通信など）により、外部装置との間でデータの授受を行うために利用される。なお、シミュレーション装置１０００に係るシミュレート機能をピックアンドプレース装置に直接実装しても良い。
【００３３】
＜２．機能＞
２−１．第１の機能構成（モーションパラメータを自動修正する場合）
ここで、図２は、シミュレーション装置１０００に係る第１の機能構成を示すブロック図であり、図３は、シミュレーション装置１０００によるシミュレーション動作の概要を示すフローチャートである。シミュレーション装置１０００は、ＲＯＭ１１２０やＲＡＭ１１３０等のメモリに記憶されたソフトウェアとハードウェア資源（ＣＰＵ１１１０など）とが協働することにより、以下に示す各部を実現する。なお、本実施形態では、部品や製造品などのワークを保持する保持手段として吸着パッドを用いたピックアンドプレース装置の動作をシミュレーション対象とするが、後述するように、吸着パッドの代わりにチャックを用いたピックアンドプレース装置の動作をシミュレーション対象としても良い。また、以下に説明する第１の機能構成は、ワーク吸着の成否結果に応じて、ピックアンドプレース装置のモーションパラメータを自動修正する場合を想定する。詳細は後述するが、モーションパラメータには、ピックアンドプレース装置の保持部の移動経路をあらわす情報や、保持部の移動速度（例えば最高速度）をあらわす情報、保持部の加速（例えば最大加速度）をあらわす情報など、保持部の移動に関する様々なパラメータが含まれる。
【００３４】
図２に示すように、シミュレーション装置１０００は、モーションプログラムＤＢ１１０、モーションパラメータＤＢ１２０、モーション指令値計算部１３０、３Ｄ-ＣＡＤデータＤＢ１４０、物理モデルＤＢ１５０、ダイナミクス計算部１６０、吸着成否計算部１７０、モーションパラメータ修正部１８０、３Ｄ表示部１９０を備えて構成される。
【００３５】
図４は、モーションプログラム及びモーションパラメータを例示した図である。
図４に示す例では、ワークを保持したピックアンドプレース装置の保持部を、ワークのＰｉｃｋ位置である座標ｐ０（０，０，０）から座標ｐ１（０，０，３０）、座標ｐ２（５０，０，３０）を経由してワークのＰｌａｃｅ位置である座標ｐ３（５０，０，０）に移動させる場合を想定する（座標位置の単位は、例えばｃｍを想定）。
【００３６】
モーションプログラムは、ピックアンドプレース装置の保持部の移動を指示するプログラムであり、図４に示す例では、表１に示すような３つの直線補間命令ｍｏｖｅを含むものとなる。
【表１】
2018103339.tif 000003
【００３７】
一方、モーションパラメータは、ピックアンドプレース装置の保持部の目標位置（移動経路）、最高速度、最大加速度、最大減速度などから構成され、図４に示す例では、各命令ｍｏｖｅに対して表２に示すようなモーションパラメータが設定される。ここで、表２ではピックアンドプレース装置ごとに設定される標準速度、標準最大加速度、標準最大減速度に対する割合を指定（パーセント指定）した場合を例示しているが、これに限る趣旨ではなく、モーションパラメータを構成する最高速度、最大加速度、最大減速度を絶対値で指定しても良い。
【表２】
2018103339.tif 000004
【００３８】
モーション指令値計算部（指令値計算部）１３０は、シミュレーション対象となるピックアンドプレース装置の動作について、ワークの搬送命令が入力されると、モーションプログラムＤＢ１１０から表１に示すモーションプログラムを読み込む一方、モーションパラメータＤＢ１２０から表２に示すモーションパラメータを読み込み、動作指令値を算出する（図３に示すステップＳ１参照）。
【００３９】
ここで、図５は、ピックアンドプレース装置における保持部及びワークの物理モデルを例示した図である。
ピックアンドプレース装置における保持部は、アーム９の端部に設けられた装置先端部１０と吸着パッド１１とを備え、ピックアンドプレース装置の保持部によって移動されるワーク１４は、コンテナ１２と内容物１３とを備えている。
【００４０】
物理モデルＤＢ１５０には、ワークとピックアンドプレース装置の保持部の物理モデルを規定するためのデータ（以下、「ワークと保持部の物理モデル」と略称する。）が登録されている。図５の例では、吸着パッド１１の物理係数として、回転減衰係数Ｃｐａｄ、質量ｍｐａｄ、回転弾性係数Ｋｐａｄが定義され、内容物１３の物理係数として、減衰係数Ｃｃｏｎｔｅｎｔ、質量ｍｃｏｎｔｅｎｔ、弾性係数ｋｃｏｎｔｅｎｔ等が定義されている。
【００４１】
ダイナミクス計算部（保持力計算部）１６０は、モーション指令値計算部１３０から出力される動作指令値と、物理モデルＤＢ１５０からワークと保持部の物理モデルを読み込み、ダイナミクス（動力学）を考慮したワークと保持部の動作に関わる各種データ（以下、「ダイナミクスを考慮した装置動作」と略称する。）を算出する（図３に示すステップＳ２参照）。この際、ダイナミクス計算部１６０は、ワークの搬送面に対して水平方向または鉛直方向を軸に回転する運動を考慮して、ダイナミクスを考慮した装置動作（例えば、ワークを保持する保持力など）を求める。ここで、搬送面とは、吸着パッド１１に吸着されたワーク１４の面であって、アーム９の移動方向に沿うワーク１４の面をいう（図５参照）。ダイナミクス計算部１６０は、ダイナミクスを考慮した装置動作を、吸着成否計算部１７０や３Ｄ表示部１９０に出力する。
【００４２】
吸着成否計算部（保持力計算部、保持成否判定部）１７０は、ダイナミクス計算部１６０から供給されるダイナミクスを考慮した装置動作に基づき、吸着パッド１１によるワーク吸着の成否を判定し（図３に示すステップＳ３参照）、判定結果をあらわす判定結果情報をモーションパラメータ修正部１８０に出力する。
【００４３】
図６は、ワーク吸着の成否の判定条件を例示した図であり、ワークの質量ｍ、吸引力Ｆ（Ｎ）、慣性力ｍａ（Ｎ）、重力ｍｇ（Ｎ）、垂直抗力ｆｎ（Ｎ）、吸着摩擦力μｆｎ（Ｎ）をそれぞれ示している。図６に示す例では、吸着成否計算部１７０は、垂直抗力ｆｎ１または垂直抗力ｆｎ２のいずれかが「ゼロ（０）」になった場合に、ワーク吸着に失敗したと判断する一方、それ以外の場合（すなわち、垂直抗力ｆｎ１または垂直抗力ｆｎ２のいずれもが「０」より大きい場合）には、ワーク吸着に成功したと判断する。本実施形態において「ワーク吸着」とは、ピックアンドプレース装置によってワークを保持し、保持したワークを目的地まで搬送する一連の動作をいう。なお、ワーク吸着に成功するとは、ワークが目的地まで正常な状態で搬送されることを意味し、ワーク吸着に失敗するとは、ワークが目的地まで搬送されるまでの間に落下するほか、ワークが異常な状態（例えば、大きく振動するなど）で搬送されることを意味する。なお、垂直抗力ｆｎ１や垂直抗力ｆｎ２を求める際には、ピックアンドプレース装置が設置されている周囲環境（例えば、周辺の外気圧など）を考慮しても良い。
【００４４】
もっとも、ワーク吸着の成否の判定条件は、図６に示す条件に限る趣旨ではなく、例えば垂直抗力ｆｎについて落下限界閾値ｆｔｈを設け、垂直抗力ｆｎが落下限界閾値ｆｔｈを下回った場合に、吸着不可と判断しても良い。
【００４５】
さらに、ワーク吸着の成否を簡易に判定する判定条件として、例えば図７に示すように、吸着成否計算部１７０は、ワーク１４の振動幅θが一定値以上（所定の閾値以上）の場合にワーク１４が落下すると判断する、またはワーク１４の回転の角速度ωが一定値以上の場合にワーク１４が落下すると判断する、あるいはワーク１４の回転の各加速度ω’（不図示）が一定値以上の場合にワーク１４が落下すると判断しても良い。もちろん、これらの条件を適宜組み合わせてワーク１４が落下する条件を設定しても良く、更には、これらの条件に示す「ワーク１４」を「吸着パッド１１」に置き換え、吸着パッド１１の振動幅θ等が一定値以上の場合にワーク１４が落下すると判断しても良い。なお、ワーク１４の振動幅θなどは、ダイナミクス計算部１６０が動作指令値やワークの質量等を用いて計算することができる。
【００４６】
図２に戻り、モーションパラメータ修正部１８０は、吸着成否計算部１７０から供給される判定結果情報に基づき、ピックアンドプレース装置のモーションパラメータを修正し（図３に示すステップＳ４参照）、修正後のモーションパラメータに基づき、モーションパラメータＤＢ１２０の登録内容を更新する。モーションパラメータの具体的な修正方法等は、後の説明において明らかにすることとし、全体の動作の流れについて説明を続ける。
【００４７】
モーション指令値計算部１３０は、モーションパラメータＤＢ１２０から修正されたモーションパラメータを読み込み、再び動作指令値を算出し、ダイナミクス計算部１６０へ出力する。ダイナミクス計算部（保持力計算部）１６０は、動作指令値に基づき、ダイナミクスを考慮した装置動作を計算しなおし（図３に示すステップＳ５参照）、再計算後のダイナミクスを考慮した装置動作として、吸着成否計算部１７０や３Ｄ表示部１９０に出力する。
【００４８】
３Ｄ表示部１９０は、計算後及び再計算後のダイナミクスを考慮した装置動作の３Ｄ画像を、液晶パネルなどの表示部（第１表示部、第２表示部）に表示することで（図３に示すステップＳ６参照）、ピックアンドプレース装置の動作シミュレーションをオペレータ等に認識させる。３Ｄ表示部１９０は、３Ｄ−ＣＡＤデータベース１４０からピックアンドプレース装置のＣＡＤデータなどを取得することで、上記３Ｄ画像を表示部に表示する。なお、ダイナミクスを考慮した装置動作の３Ｄ画像を表示する代わりに（或いは加えて）、２Ｄ画像を表示する、または数値で表示しても良い。さらに、ダイナミクスを考慮した装置動作がオペレータ等によって認識されるのであれば、どのような態様であっても良い。
【００４９】
図８は、ワーク吸着の成否をシミュレートした画像（シミュレーション画像）を例示した図であり、図８Ａは、ワーク吸着に成功した例、図８Ｂは、ワーク吸着に失敗した例を示す。
オペレータ等は、シミュレーション画像を確認し、ピックアンドプレース装置によるワーク吸着動作について十分に調整（チューニング）できたか否かを判断し、十分に調整できたか否かをあらわす入力操作を行う（図３に示すステップＳ７参照）。オペレータ等は、例えばワーク吸着に失敗していることから、未だ十分に調整できていないと判断すると（図３に示すステップＳ７；ＮＯ）、操作ボタン等を操作してモーションパラメータの自動修正処理を継続すべき旨の入力を行う。かかる操作が行われると、シミュレーション装置１０００は、ステップＳ１に戻り、以上説明したステップＳ１〜Ｓ７の一連の処理を継続する。
【００５０】
一方、オペレータ等は、例えばワーク吸着に成功していることから、十分に調整できていると判断すると（図３に示すステップＳ７；ＹＥＳ）、操作ボタン等を操作してモーションパラメータの自動修正処理を終了する。なお、ワーク吸着の成否をシミュレートした画像を表示部に表示する際、ワークを保持する保持力に基づいて、ワークの表示色を変更しても良い。例えば、ワーク吸着に成功し、かつ、ワークの保持力が十分に大きい場合には、青色で表示する一方、ワーク吸着に成功しつつも、ワークの保持力が弱い場合には、黄色で表示し、オペレータ等に注意を促す。さらに、ワーク吸着に失敗した場合には、ワークの保持力が弱いことをオペレータ等が一見してわかるように、赤色で表示する。もちろん、その他の態様でワークの表示色を変更しても良い。
次に、図面を参照しながら上述したモーションパラメータの具体的な修正方法等について説明する。
【００５１】
２−１−１．パラメータ修正処理（その１）
図９は、モーションパラメータ修正部１８０によるパラメータ修正処理（その１）を示すフローチャートである。モーションパラメータ修正部１８０は、まず、ワーク吸着に成功したか否かを判断する（ステップＳａ１）。モーションパラメータ修正部１８０は、ワーク吸着に成功したと判断すると（ステップＳａ１；ＹＥＳ）、より迅速なワークの搬送を可能とするべく、全動作の最大加速度Ａｍａｘを一定量だけ増加する制御を行う（ステップＳａ２）。
【００５２】
一方、モーションパラメータ修正部１８０は、ワーク吸着に失敗したと判断すると（ステップＳａ１；ＮＯ）、ワーク１４の落下タイミングを判別する。本パラメータ修正処理（その１）では、モーションパラメータ修正部１８０は、ワークが落下した場合にワーク吸着に失敗したと判断し、ワーク１４の落下タイミングを判別する（ステップＳａ３）。もっとも、ワーク吸着に失敗したとみなす態様には、ワーク１４が落下するほか、ワーク１４が落下せずともワーク１４の振動幅が一定値以上になった場合も含まれる。ワーク１４の振動幅が一定値以上になった場合に、ワーク吸着に失敗したとみなしてモーションパラメータを修正する方法は、この後に詳述するため、説明を続ける。
【００５３】
モーションパラメータ修正部（修正受付部）１８０は、ワーク１４の落下タイミングが上昇時であると判断すると、ワーク１４の落下を解消するべく、吸着パッドが動作した方向、すなわち上昇方向の最大加速度を一定量だけ減少する制御を行い（ステップＳａ３→ステップＳａ４）、処理を終了する。
【００５４】
一方、モーションパラメータ修正部（修正受付部）１８０は、ワーク１４の落下タイミングが水平移動時であると判断すると、ワーク１４の落下を解消するべく、水平方向の最大加速度を一定量だけ減少する制御を行い（ステップＳａ３→ステップＳａ５）、処理を終了する。
【００５５】
さらに、モーションパラメータ修正部（修正受付部）１８０は、ワーク１４の落下タイミングが下降時であると判断すると、ワーク１４の落下を解消するべく、下降方向の最大加速度を一定量だけ減少する制御を行い（ステップＳａ３→ステップＳａ６）、処理を終了する。
【００５６】
＜応用１＞
なお、上記例では、モーションパラメータ修正部（修正受付部、吸着パッド変更受付部）１８０によって修正されるモーションパラメータの一例として最大加速度を例示したが、最大加速度に代えて、以下に示すいずれかのモーションパラメータ（あるいは任意の組み合わせ）を制御しても良い。
（その他のモーションパラメータの例）
最大減速度、最高速度、ジャーク（躍度）、加速時間、減速時間、吸着圧力、吸着時間、吸着パッドの形状（一般形、ソフト系、ベローズ形など）、吸着パッドの材質（ニトリルブタジエンゴム（ＮＢＲ）、シリコンなど）、吸着パッドの吸着位置、吸着パッドの径や個数など。
【００５７】
＜応用２＞
また、制御するモーションパラメータを選択する基準（モーションパラメータの選択基準）としては、ワーク１４の搬送にかかる時間や、ワーク１４に対する吸着痕の許容度などが挙げられる。例えば、ワーク１４に対する吸着痕の許容度が大きい場合には、制御するモーションパラメータとして、吸着圧力や吸着時間を優先的に選択する。また、ワーク１４の搬送にかかる時間が長い場合には、制御するパラメータとして最高速度や加速時間を優先的に選択する。もちろん、モーションパラメータの選択基準は、これらに限る趣旨ではなく、その他の基準を採用しても良い。
【００５８】
２−１−２．パラメータ修正処理（その２）
上述したパラメータ修正処理（その１）では、ワーク１４が落下した場合に吸着に失敗したとみなしてモーションパラメータを修正したが、本パラメータ修正処理（その２）では、ワーク１４が落下せずとも振動幅が一定値以上になった場合に、吸着に失敗したとみなしてモーションパラメータの修正を行う。
【００５９】
図１０は、モーションパラメータ修正部１８０によるパラメータ修正処理（その２）を示すフローチャートである。モーションパラメータ修正部１８０は、まず、ワーク１４の振動幅が設定された閾値Ａｔｈを下回っているか否かを判断する（ステップＳｂ１）。モーションパラメータ修正部１８０は、ワークの振動幅が設定された閾値Ａｔｈを下回っており、ワーク吸着に成功したと判断すると（ステップＳａ１；ＹＥＳ）、より迅速なワークの搬送を可能とするべく、全動作の最大加速度Ａｍａｘを一定量だけ増加する制御を行う（ステップＳｂ２）。
【００６０】
一方、モーションパラメータ修正部１８０は、ワークの振動幅が設定された閾値Ａｔｈ以上であると判断すると（ステップＳｂ１；ＮＯ）、ワーク吸着ワーク吸着に失敗したとみなして、閾値Ａｔｈ以上の振動幅を有する振動（以下、「異常振動」という。）が発生したタイミングを判別する（ステップＳｂ３）。詳述すると、モーションパラメータ修正部１８０は、異常振動の発生タイミングが、ワークの上昇時であるか、ワークの水平移動時であるか、ワークの下降時であるかを判断する。
【００６１】
モーションパラメータ修正部１８０は、異常振動の発生タイミングが上昇時であると判断すると、異常振動の発生を防止するべく、上昇動作の最大加速度を一定量だけ減少する制御を行い（ステップＳｂ３→ステップＳｂ４）、処理を終了する。
【００６２】
一方、モーションパラメータ修正部１８０は、異常振動の発生タイミングが水平移動時であると判断すると、異常振動の発生を防止するべく、水平移動の最大加速度を一定量だけ減少する制御を行い（ステップＳｂ３→ステップＳｂ５）、処理を終了する。
【００６３】
さらに、モーションパラメータ修正部１８０は、異常振動の発生タイミングが下降時であると判断すると、異常振動の発生を防止するべく、下降動作の最大加速度を一定量だけ減少する制御を行い（ステップＳｂ３→ステップＳｂ６）、処理を終了する。
【００６４】
なお、パラメータ修正処理（その２）の応用として、上述したパラメータ修正処理（その１）の応用１及び応用２を適用しても良いのはもちろんである。
【００６５】
２−２．第２の機能構成（モーションパラメータを手動修正する場合）
ここで、図１１は、シミュレーション装置１０００に係る第２の機能構成を示すブロック図であり、図１２は、シミュレーション装置１０００によるシミュレーション動作の概要を示すフローチャートである。上述した図２に示す第１の機能構成は、ワーク吸着の成否結果に応じて、ピックアンドプレース装置のモーションパラメータを自動修正したのに対し、図１１に示す第２の機能構成は、ワーク吸着の成否結果に応じて、ピックアンドプレース装置のモーションパラメータを手動修正する点で異なる。なお、図１１及び図１２において、前掲図２及び前掲図３と対応する部分には同一符号を付し、詳細な説明は省略する。
【００６６】
図１１に示すように、シミュレーション装置１０００は、モーションプログラムＤＢ１１０、モーションパラメータＤＢ１２０、モーション指令値計算部１３０、３Ｄ-ＣＡＤデータＤＢ１４０、物理モデルＤＢ１５０、ダイナミクス計算部１６０、３Ｄ表示部１９０のほか、モーションプログラム編集部１７０ａ（又はモーションプランニング部１７０ｂ）、モーションパラメータ編集部１８０ａを備えて構成される。オペレータ等は、図示せぬ操作ボタン等を適宜操作することで、モーションプログラムやモーションパラメータ、障害物の配置情報などの編集指示を入力する。
【００６７】
モーションプログラム編集部１７０ａは、オペレータ等によるモーションプログラムの手動での編集指示に従い、モーションプログラムＤＢ１１０に登録されているモーションプログラムを修正する（図１２に示すステップＳ８参照）。もっとも、モーションプログラム編集部１７０ａの代わりに、モーションプランニング部１７０ｂを設けても良い。モーションプランニング部１７０ｂは、ピックアンドプレース装置や障害物の配置情報から、モーションプログラムを自動生成する。詳述すると、オペレータ等は、ピックアンドプレース装置や障害物の配置情報を、操作ボタンや操作パネルを適宜操作して手動で修正する。モーションプランニング部１７０ｂは、修正されたピックアンドプレース装置や障害物の配置情報に基づき、モーションプログラムを自動で生成し直す（図１２に示すステップＳ８参照）。
【００６８】
モーションパラメータ編集部１８０ａは、オペレータ等によるモーションパラメータの手動での編集指示に従い、モーションパラメータＤＢ１２０に登録されているモーションパラメータを修正する（図１２に示すステップＳ８参照）。
【００６９】
通常、モーションプログラムの修正は、モーションパラメータの修正では、調整しきれない場合に行われる。例えば、障害物を回避するために、円弧動作するモーションプログラムを設定した場合において、モーションパラメータの修正だけでは、遠心力でワークが落下してしまい、ワーク吸着に失敗し続ける等の事態が想定される。このような事態に対処するため、障害物を直線動作で回避するようにモーションプログラムを修正することが考えられる。もっとも、モーションパラメータ、またはモーションプログラムのいずれを優先的に修正するかは、プログラム内容などに応じて任意に設定・変更である。
【００７０】
以上を踏まえ、モーションパラメータを手動で修正する場合の動作を簡単に説明すれば次のとおりである。まず、モーション指令値計算部１３０は、シミュレーション対象となるピックアンドプレース装置について、ワークの搬送命令が入力されると、モーションプログラムＤＢ１１０から表１に示すモーションプログラムを読み込む一方、モーションパラメータＤＢ１２０から表２に示すモーションパラメータを読み込み、動作指令値を算出する（図１２に示すステップＳ１参照）。
【００７１】
ダイナミクス計算部１６０は、モーション指令値計算部１３０から出力される動作指令値と、物理モデルＤＢ１５０からワークと保持部の物理モデルを読み込み、ダイナミクスを考慮した装置動作を算出する（図１２に示すステップＳ２参照）。
３Ｄ表示部１９０は、再計算後のダイナミクスを考慮した装置動作の３Ｄ画像を、モニタなどに表示部に表示することで（図１３に示すステップＳ６参照）、ピックアンドプレース装置の動作シミュレーションをオペレータ等に認識させる。
【００７２】
オペレータ等は、シミュレーション画像を確認し、ピックアンドプレース装置によるワーク吸着動作について十分に調整（チューニング）できたか否かを判断し、十分に調整できたか否かをあらわす入力操作を行う（図１２に示すステップＳ７参照）。オペレータ等は、例えばワーク吸着に失敗していることから、未だ十分に調整できていないと判断すると（図１２に示すステップＳ７；ＮＯ）、ステップＳ８に進み、操作ボタン等を操作してモーションパラメータやモーションプログラム、障害物の配置情報などの手動修正を行う。かかる操作が行われると、シミュレーション装置１０００は、ステップＳ１に戻り、以上説明したステップＳ１→Ｓ２→ステップＳ６→ステップＳ７→ステップＳ８の一連の処理を継続する。
【００７３】
一方、オペレータ等は、ワーク吸着に成功していることから、十分に調整できていると判断すると（図１２に示すステップＳ７；ＹＥＳ）、操作ボタン等を操作してモーションパラメータの手動修正処理を終了する。
【００７４】
以上説明したように、本実施形態によれば、ピックアンドプレース装置の動作指令値と、ワークと保持部の物理モデルを利用してダイナミクスを考慮した装置動作を算出し、装置動作をシミュレートすることで、適切なワーク吸着が実現できるよう、モーションパラメータやモーションプログラムなどを自動又は手動で修正する。これにより、ピックアンドプレース装置の動作を、容易、かつ、精度良くシミュレートすることが可能となる。また、実機を用いる必要がないため、動作パラメータの調整のために実機に故障が発生する等の懸念も払拭することが可能となる。
【００７５】
Ｂ．その他
＜変形例１＞
上述した本実施形態では、吸着パッドを用いたピックアンドプレース装置をシミュレーション対象としたが、吸着パッドの代わりにワーク保持用の爪を備えたチャックを用いても良い。なお、以下に示す変形例において、上述した本実施形態と対応する部分には同一符号を付し、詳細な説明は割愛する。
【００７６】
図１３Ａ及び図１３Ｂは、変形例１に係るワークと保持部の物理モデルを例示した図である。
ピックアンドプレース装置における保持部（把持型保持部）は、アームの端部に設けられた２本の爪１６を有するチャック１５を備えている。
【００７７】
物理モデルＤＢ１５０には、本実施形態で説明したように、ワークと保持部の物理モデルが登録されている。図１３Ａ及び図１３Ｂの例では、チャック１５の把持力Ｆ、静止摩擦係数μ、垂直抗力Ｎ（＝Ｆ）、ワークの質量ｍ、重力加速度ｇ、加速度α等が定義されている。
【００７８】
ダイナミクス計算部（保持力計算部）１６０は、モーション指令値計算部１３０から出力される動作指令値と、物理モデルＤＢ１５０からワークと保持部の物理モデルを読み込み、ダイナミクスを考慮した装置動作を算出する。
【００７９】
吸着成否計算部（本変形例では、把持成否計算部）１７０は、ダイナミクス計算部１６０から供給されるダイナミクスを考慮した装置動作に基づき、チャック１５によるワーク把持の成否を判定し、判定結果をあらわす判定結果情報をモーションパラメータ修正部１８０に出力する。図１３Ａ及び図１３Ｂに示すチャック１５の例では、ワーク把持の成否の判定条件として、例えば重力＋慣性力が最大静止摩擦力よりも大きい場合、すなわち下記式（１）が成立する場合にワークが落下するとみなしてワーク把持に失敗したと判断する。
｜ｍα＋ｍｇ｜＞２μＮ  ・・・（１）
【００８０】
なお、ワーク把持の成否判定条件は、上記式（１）によって示される条件に限る趣旨ではなく、様々な条件を採用することができる。また、チャック１５の構成も２本爪に限ることなく、３本爪や４本爪など複数本の爪を用いた様々な構成のチャックに適用することができる。
【００８１】
＜変形例２＞
上記本実施形態では、図５に示すような物理モデルを用いたが、ピックアンドプレース装置で実際に測定された入出力データから、システム同定や機械学習などを用いて予測モデル等を作成し、これを利用してワークが落下するか否かを判断しても良い。以下に示す変形例２では、物理モデルを用いる代わりに、実機を使った調査結果を利用してワークが落下するか否かを判断する。
【００８２】
図１４は、実際のピックアンドプレース装置を使ったワークの落下判定調査結果を例示した調査結果テーブルＴ１であり、図１５は、図１４に示す調査結果テーブルＴ１をもとに、各条件でのワークの落下有無を判断するための閾値を設定した調査反映グラフＧ１である。図１４に示すように、調査の際には、ワークの質量などのワークの特性や最大加速度などのモーションパラメータを変更し、ワークの落下有無（すなわち、ワークの保持の成否）を確認する。オペレータ等は、各条件でのワークの落下調査結果をグラフにプロットすることで、図１５に示すような、各条件でのワークの落下有無を判断するための閾値（以下、「調査反映閾値」という。）を設定した調査反映グラフＧ１を生成する。
【００８３】
図１６は、調査反映グラフＧ１を利用してワークが落下するか否かをシミュレートする場合の動作を説明するための図である。
シミュレーション装置１０００は、オペレータ等によって入力されるワークの特性（例えば、ワークの質量）やモーションパラメータの値（例えば、最大速度や最大加速度）を調査反映グラフＧ１上にプロットする。図１６では、黒丸でプロットした点の座標が、オペレータ等によって入力されたワークやモーションパラメータのシミュレーション条件をあらわす。
【００８４】
調査反映グラフＧ１において、調査反映閾値より上方の領域にプロットが存在する場合には、ワークは落下すると判断する一方、調査反映閾値より下方の領域にプロットが存在する場合には、ワークは落下しないと判断する。図１６に示すオペレータ等によって入力されたシミュレーション条件では、調査反映閾値より上方に黒丸がプロットされているため、シミュレーション装置１０００は、ワークは落下すると判断する。シミュレーション装置１０００は、かかる判断結果に基づき、ワークが落下する３Ｄ画像を、液晶パネルなどの表示部１３００に表示する。このように、物理モデルを用いることなく、実機を使った調査結果を利用してワークの落下有無を判定しても良い。
【００８５】
以上説明した本実施形態及び変形例に係るシミュレーション技術は、幅広い分野に適用することができる。例えば、食品、機械部品、化学製品、薬品などのさまざまな工業分野、漁業分野、農業分野、林業分野、サービス業、医療や健康分野において用いられる様々なピックアンドプレース装置に適用することができる。また、本シミュレーション技術は、ピックアンドプレース装置への適用に限定されるものではなく、ワークを保持するあらゆる装置、例えばアームでワークを保持し、所定位置へ搬送した後、ワークを組み立てる組立装置などにも適用可能である。
【００８６】
なお、本明細書において、「部」とは、単に物理的構成を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的構成や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されてもよい。
【００８７】
（付記１）
少なくとも１つのハードウェアプロセッサを備え、ロボットに設けられた保持部によって物品の保持が可能か否かをシミュレートするシミュレーション装置であって、
前記ハードウェアプロセッサは、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する、シミュレーション装置。
（付記２）
少なくとも１つ以上のハードウェアプロセッサによって、ロボットに設けられた保持部によって物品の保持が可能か否かをシミュレートするシミュレーション方法であって、
前記ハードウェアプロセッサは、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する保持成否判定ステップを実行する、シミュレーション方法。
（付記３）
少なくとも１つのハードウェアプロセッサを備えるとともに、保持部によって物品の保持が可能か否かをシミュレートするシミュレーション機能を備えたロボットであって、
前記ハードウェアプロセッサは、
前記保持部の移動速度または加速度、及び前記保持部の移動経路に基づいて計算された前記保持部の動作指令値と、前記物品の質量とに基づき、前記保持部が前記物品を保持可能か否かを判定する、ロボット。
【符号の説明】
【００８８】
１０００…シミュレーション装置、１１００…制御部、１１１０…ＣＰＵ、１１２０…ＲＯＭ、１１３０…ＲＡＭ、１２００…入力部、１２１０…キーボード、１２２０…マウス、１３００…表示部、１４００…記憶部、１５００…光ディスク駆動装置、１６００…通信インタフェース、１１０…モーションプログラムＤＢ、１２０…モーションパラメータＤＢ、１３０…モーション指令値計算部、１４０…３Ｄ−ＣＡＤデータＤＢ、１５０…物理モデルＤＢ、１６０…ダイナミクス計算部、１７０…吸着成否計算部、１７０ａ…モーションプログラム編集部、１７０ｂ…モーションプランニング部、１８０，１８０ａ…モーションパラメータ編集部、１９０…３Ｄ表示部
【図１】
2018103339.tif 000005
【図２】
2018103339.tif 000006
【図３】
2018103339.tif 000007
【図４】
2018103339.tif 000008
【図５】
2018103339.tif 000009
【図６】
2018103339.tif 000010
【図７】
2018103339.tif 000011
【図８Ａ】
2018103339.tif 000012
【図８Ｂ】
2018103339.tif 000013
【図９】
2018103339.tif 000014
【図１０】
2018103339.tif 000015
【図１１】
2018103339.tif 000016
【図１２】
2018103339.tif 000017
【図１３Ａ】
2018103339.tif 000018
【図１３Ｂ】
2018103339.tif 000019
【図１４】
2018103339.tif 000020
【図１５】
2018103339.tif 000021
【図１６】
2018103339.tif 000022