IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特開2024-85080シミュレーションシステムおよびシミュレーション方法
<>
  • 特開-シミュレーションシステムおよびシミュレーション方法 図1
  • 特開-シミュレーションシステムおよびシミュレーション方法 図2
  • 特開-シミュレーションシステムおよびシミュレーション方法 図3
  • 特開-シミュレーションシステムおよびシミュレーション方法 図4
  • 特開-シミュレーションシステムおよびシミュレーション方法 図5
  • 特開-シミュレーションシステムおよびシミュレーション方法 図6
  • 特開-シミュレーションシステムおよびシミュレーション方法 図7
  • 特開-シミュレーションシステムおよびシミュレーション方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024085080
(43)【公開日】2024-06-26
(54)【発明の名称】シミュレーションシステムおよびシミュレーション方法
(51)【国際特許分類】
   B25J 9/22 20060101AFI20240619BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022199417
(22)【出願日】2022-12-14
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】岩村 慎太郎
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS24
3C707FS01
3C707FT11
3C707HS27
3C707KT01
3C707KT06
3C707LS09
3C707LS20
3C707NS02
(57)【要約】
【課題】ロボットに対する柔軟物のピッキング作業のティーチング作業を容易にする。
【解決手段】シミュレーションシステム20は、カメラ230と、装置200とを備える。装置200は、ワークに対するピッキングツール100の接触率の入力を受け付け、シミュレーション内で、接触率および予め設定されているワークの硬さに基づいて、ピッキング位置を決定し、実世界においてピッキング位置でピッキング動作を行うように、ロボットの制御装置220にプログラムを送信し、カメラ230から、ロボットのピッキング動作の画像または映像を複数回取得し、複数の画像または映像の解析結果からピッキングの成功率を算出し、成功率に基づいてシミュレーション内のワークの硬さを変更し、シミュレーション内で、接触率および変更後のワークの硬さに基づいてピッキング位置を変更し、ピッキング位置の変更結果を制御装置220にフィードバックする。
【選択図】図2
【特許請求の範囲】
【請求項1】
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーションシステムであって、
前記ピッキングツールによる前記ワークのピッキング動作を撮影するカメラと、
シミュレーションを実行する装置とを備え、
前記装置は、
前記ワークに対する前記ピッキングツールの接触率の入力を受け付け、
前記シミュレーション内で、前記接触率および予め設定されている前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を決定し、
実世界において前記ピッキング位置でピッキング動作を行うように、前記ロボットの制御装置にプログラムを送信し、
前記カメラから、前記ロボットのピッキング動作の画像または映像を複数回取得し、
複数の前記画像または映像の解析結果からピッキングの成功率を算出し、
前記成功率に基づいて、前記シミュレーション内の前記ワークの硬さを変更し、
前記シミュレーション内で、前記接触率および変更後の前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を変更し、
前記ピッキング位置の変更結果を前記制御装置にフィードバックする、シミュレーションシステム。
【請求項2】
前記シミュレーション内で、前記接触率および前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を決定することは、
前記ワークを変形可能なメッシュにより再現することと、
前記ピッキングツールを前記ワークに押し当てることと、
前記ワークの硬さに基づいて、前記ワークを変形させることと、
前記ピッキングツールと変形した前記ワークとの接触率が、入力された前記接触率となるように、前記ピッキングツールの前記ピッキング位置を決定することとを含む、請求項1に記載のシミュレーションシステム。
【請求項3】
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーションシステムであって、
前記ピッキングツールによる前記ワークのピッキング動作を撮影するカメラと、
シミュレーションを実行する装置とを備え、
前記ピッキングツールは、真空エジェクタに接続されており、
前記装置は、
実世界において、制御装置を介して、前記ピッキングツールを移動させ、
前記真空エジェクタの真空圧力が予め定められた値となる前記ピッキングツールのピッキング位置を前記制御装置から受信し、
前記シミュレーション内で、前記ワークに対する前記ピッキングツールの前記ピッキング位置を前記制御装置から受信したピッキング位置に合わせ、
実世界において前記ピッキング位置でピッキング動作を行うように、前記ロボットの制御装置にプログラムを送信し、
前記カメラから、前記ロボットのピッキング動作の画像または映像を複数回取得し、
複数の前記画像または映像の解析結果からピッキングの成功率を算出し、
前記成功率に基づいて、シミュレーション内の前記ワークの硬さを変更し、
前記シミュレーション内で、変更後の前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を変更し、
前記ピッキング位置の変更結果を前記制御装置にフィードバックする、シミュレーションシステム。
【請求項4】
前記装置は、前記真空エジェクタの真空圧力が前記予め定められた値であるとき前記ワークに対する前記ピッキングツールの接触率は100%であると判定し、
前記シミュレーション内で、前記接触率および前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を決定することは、
前記ワークを変形可能なメッシュにより再現することと、
前記ピッキングツールを前記ワークに押し当てることと、
前記ワークの硬さに基づいて、前記ワークを変形させることと、
前記ピッキングツールと変形した前記ワークとの接触率が100%となるように、前記ピッキングツールの前記ピッキング位置を決定することとを含む、請求項3に記載のシミュレーションシステム。
【請求項5】
前記装置は、前記ピッキングの成功率が100%になるまで、前記ワークに対する前記ピッキングツールの前記ピッキング位置の変更と、前記ピッキング位置の変更結果の前記制御装置へのフィードバックとを繰り返す、請求項1~4のいずれかに記載のシミュレーションシステム。
【請求項6】
前記装置は、前記ピッキングツールのピッキング位置の変更入力を受け付ける、請求項1~4のいずれかに記載のシミュレーションシステム。
【請求項7】
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーション方法であって、
前記ワークに対する前記ピッキングツールの接触率の入力を受け付けることと、
シミュレーション内で、前記接触率および予め設定されている前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を決定することと、
実世界において前記ピッキング位置でピッキング動作を行うように、前記ロボットの制御装置にプログラムを送信することと、
カメラから、前記ロボットのピッキング動作の画像または映像を複数回取得することと、
複数の前記画像または映像の解析結果からピッキングの成功率を算出することと、
前記成功率に基づいて、前記シミュレーション内の前記ワークの硬さを変更することと、
前記シミュレーション内で、前記接触率および変更後の前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を変更することと、
前記ピッキング位置の変更結果を前記制御装置にフィードバックすることとを含む、シミュレーション方法。
【請求項8】
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーション方法であって、
実世界において、制御装置を介して、前記ピッキングツールを移動させることと、
前記ピッキングツールに接続された真空エジェクタの真空圧力が予め定められた値となる前記ピッキングツールのピッキング位置を前記制御装置から受信することと、
シミュレーション内で、前記ワークに対する前記ピッキングツールの前記ピッキング位置を前記制御装置から受信したピッキング位置に合わせることと、
実世界において前記ピッキング位置でピッキング動作を行うように、前記ロボットの制御装置にプログラムを送信することと、
カメラから、前記ロボットのピッキング動作の画像または映像を複数回取得することと、
複数の前記画像または映像の解析結果からピッキングの成功率を算出することと、
前記成功率に基づいて、シミュレーション内の前記ワークの硬さを変更することと、
前記シミュレーション内で、変更後の前記ワークの硬さに基づいて、前記ワークに対する前記ピッキングツールの前記ピッキング位置を変更することと、
前記ピッキング位置の変更結果を前記制御装置にフィードバックすることとを含む、シミュレーション方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、シミュレーションシステムに関し、より特定的には、ワークに対するピッキングツールのピッキング位置を調整する技術に関する。
【背景技術】
【0002】
工場等のラインにおいて、ロボットは、柔軟物をピックアンドプレースすることがある。柔軟物は変形するため、ロボットに対する柔軟物のピッキング作業のティーチング作業は困難である。そのため、ラインの設計担当者は、ロボットに柔軟物をピッキングさせるために、ロボットのティーチング作業を何度も繰り返す必要があった。よって、ロボットに対する柔軟物のピッキング作業のティーチング作業を容易にするための技術が必要とされている。
【0003】
ピッキングのティーチング技術に関し、例えば、特開2021-037594号公報(特許文献1)は、「ハンドモデル及びワークモデルを記憶するモデルデータ記憶部と、ワークモデルの把持形態、ワークモデルに対するハンドモデルの接近方向、及び、把持部位に関する入力を受け付ける把持条件入力部と、仮想空間において、ハンドモデルがワークモデルに接近を開始するための第1位置から、ハンドモデルがワークモデルの把持部位を把持可能な第2位置まで、ハンドモデルが接近方向に沿ってワークモデルと干渉することなく移動できるように第1位置及び第2位置を決定するハンド位置姿勢決定部と、第1位置と第2位置とをロボット動作プログラムに教示点として追加する教示点追加部と、を備える」ロボットシミュレーション装置を開示している([要約]参照)。また、特許文献1は、吸着式のハンドモデルのシミュレーションについても開示している(段落[0017]参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2021-037594号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示された技術によると、ピッキングのシミュレーションを行うことはできるかもしれない。しかしながら、特許文献1は、ロボットに対する柔軟物のピッキング作業のティーチング作業についての課題および当該ティーチング作業を容易にする手段については何ら開示していない。したがって、ロボットに対する柔軟物のピッキング作業のティーチング作業を容易にするための技術が必要とされている。
【0006】
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、ロボットに対する柔軟物のピッキング作業のティーチング作業を容易にする技術を提供することにある。
【課題を解決するための手段】
【0007】
ある実施の形態に従うと、ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーションシステムが提供される。シミュレーションシステムは、ピッキングツールによるワークのピッキング動作を撮影するカメラと、シミュレーションを実行する装置とを備える。装置は、ワークに対するピッキングツールの接触率の入力を受け付け、シミュレーション内で、接触率および予め設定されているワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を決定し、実世界においてピッキング位置でピッキング動作を行うように、ロボットの制御装置にプログラムを送信し、カメラから、ロボットのピッキング動作の画像または映像を複数回取得し、複数の画像または映像の解析結果からピッキングの成功率を算出し、成功率に基づいて、シミュレーション内のワークの硬さを変更し、シミュレーション内で、接触率および変更後のワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を変更し、ピッキング位置の変更結果を制御装置にフィードバックする。
【0008】
この開示によれば、シミュレーションシステムは、ユーザが指定した接触率となるようにピッキングの初期位置を決定し、さらに、実機でのピッキングの成功率に基づいて、シミュレーション内のワークの硬さおよびピッキング位置を調整し得る。
【0009】
上記の開示において、シミュレーション内で、接触率およびワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を決定することは、ワークを変形可能なメッシュにより再現することと、ピッキングツールをワークに押し当てることと、ワークの硬さに基づいて、ワークを変形させることと、ピッキングツールと変形したワークとの接触率が、入力された接触率となるように、ピッキングツールのピッキング位置を決定することとを含む。
【0010】
この開示によれば、シミュレーションシステムは、ワークをメッシュで表現することで、接触率およびワークの硬さに基づいてワークを変形させ、ピッキングツールと変形したワークとの接触率が入力された接触率となるように、ピッキングツールのピッキング位置を決定し得る。
【0011】
他の実施の形態に従うと、ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するための別のシミュレーションシステムが提供される。シミュレーションシステムは、ピッキングツールによるワークのピッキング動作を撮影するカメラと、シミュレーションを実行する装置とを備える。ピッキングツールは、真空エジェクタに接続されている。装置は、実世界において、制御装置を介して、ピッキングツールを移動させ、真空エジェクタの真空圧力が予め定められた値となるピッキングツールのピッキング位置を制御装置から受信し、シミュレーション内で、ワークに対するピッキングツールのピッキング位置を制御装置から受信したピッキング位置に合わせ、実世界においてピッキング位置でピッキング動作を行うように、ロボットの制御装置にプログラムを送信し、カメラから、ロボットのピッキング動作の画像または映像を複数回取得し、複数の画像または映像の解析結果からピッキングの成功率を算出し、成功率に基づいて、シミュレーション内のワークの硬さを変更し、シミュレーション内で、変更後のワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を変更し、ピッキング位置の変更結果を制御装置にフィードバックする。
【0012】
この開示によれば、シミュレーションシステムは、真空エジェクタの真空圧力が予め定められた値となるようにピッキングの初期位置を決定し、さらに、実機でのピッキングの成功率に基づいて、シミュレーション内のワークの硬さおよびピッキング位置を調整し得る。
【0013】
上記の開示において、装置は、真空エジェクタの真空圧力が予め定められた値であるときワークに対するピッキングツールの接触率は100%であると判定する。シミュレーション内で、接触率およびワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を決定することは、ワークを変形可能なメッシュにより再現することと、ピッキングツールをワークに押し当てることと、ワークの硬さに基づいて、ワークを変形させることと、ピッキングツールと変形したワークとの接触率が100%となるように、ピッキングツールのピッキング位置を決定することとを含む。
【0014】
この開示によれば、シミュレーションシステムは、ワークをメッシュで表現することで、接触率およびワークの硬さに基づいてワークを変形させ、ピッキングツールと変形したワークとの接触率が100%となるように、ピッキングツールのピッキング位置を決定し得る。
【0015】
上記の開示において、装置は、ピッキングの成功率が100%になるまで、ワークに対するピッキングツールのピッキング位置の変更と、ピッキング位置の変更結果の制御装置へのフィードバックとを繰り返す。
【0016】
この開示によれば、シミュレーションシステムは、ピッキングの成功率が100%になるように、ピック位置を繰り返し調整し得る。
【0017】
上記の開示において、装置は、ピッキングツールのピッキング位置の変更入力を受け付ける。
【0018】
この開示によれば、シミュレーションシステムは、ユーザから、ピッキング位置の変更入力を受け付け得る。これにより、ユーザはピッキング位置を微調整し得る。
【0019】
他の実施の形態に従うと、ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーション方法が提供される。シミュレーション方法は、ワークに対するピッキングツールの接触率の入力を受け付けることと、シミュレーション内で、接触率および予め設定されているワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を決定することと、実世界においてピッキング位置でピッキング動作を行うように、ロボットの制御装置にプログラムを送信することと、カメラから、ロボットのピッキング動作の画像または映像を複数回取得することと、複数の画像または映像の解析結果からピッキングの成功率を算出することと、成功率に基づいて、シミュレーション内のワークの硬さを変更することと、シミュレーション内で、接触率および変更後のワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を変更することと、ピッキング位置の変更結果を制御装置にフィードバックすることとを含む。
【0020】
この開示によれば、シミュレーション方法は、ユーザが指定した接触率となるようにピッキングの初期位置を決定し、さらに、実機でのピッキングの成功率に基づいて、シミュレーション内のワークの硬さおよびピッキング位置を調整し得る。
【0021】
他の実施の形態に従うと、ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するための他のシミュレーション方法が提供される。シミュレーション方位法は、実世界において、制御装置を介して、ピッキングツールを移動させることと、ピッキングツールに接続された真空エジェクタの真空圧力が予め定められた値となるピッキングツールのピッキング位置を制御装置から受信することと、シミュレーション内で、ワークに対するピッキングツールのピッキング位置を制御装置から受信したピッキング位置に合わせることと、実世界においてピッキング位置でピッキング動作を行うように、ロボットの制御装置にプログラムを送信することと、カメラから、ロボットのピッキング動作の画像または映像を複数回取得することと、複数の画像または映像の解析結果からピッキングの成功率を算出することと、成功率に基づいて、シミュレーション内のワークの硬さを変更することと、シミュレーション内で、変更後のワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を変更することと、ピッキング位置の変更結果を制御装置にフィードバックすることとを含む。
【0022】
この開示によれば、シミュレーション方法は、真空エジェクタの真空圧力が予め定められた値となるようにピッキングの初期位置を決定し、さらに、実機でのピッキングの成功率に基づいて、シミュレーション内のワークの硬さおよびピッキング位置を調整し得る。
【発明の効果】
【0023】
ある実施の形態に従うと、ロボットに対する柔軟物のピッキング作業のティーチング作業を容易にできる。
【0024】
この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0025】
図1】本開示の技術の適用例を示す図である。
図2】シミュレーションシステム20の構成の一例を示す図である。
図3】ピッキングのシミュレーションの画面の一例を示す図である。
図4】シミュレーション内でのワークの変形の一例を示す図である。
図5】実機でのテスト結果をシミュレーションに反映する手順の一例を示す図である。
図6】実機でのテスト結果をシミュレーションに反映する手順の他の例を示す図である。
図7】ユーザによるシミュレータ210への各種パラメータの入力の一例を示す図である。
図8】シミュレーションシステム20の内部処理の手順の一例を示す図である。
【発明を実施するための形態】
【0026】
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0027】
<A.適用例>
図1は、本開示の技術の適用例を示す図である。図1を参照して、本開示の技術が適用可能なラインの構成および動作の例について説明する。併せて、当該ラインにおいて、柔軟物のピッキングを行った場合の課題および当該課題の解決方法の概要について説明する。
【0028】
(a.ラインの構成および動作の例)
まず、本開示の技術が適用可能なライン10の構成について説明する。ライン10は、一例として、ロボット(図示せず)と、ロボットに備え付けられたピッキングツール100と、ベルトコンベア110と、センサーの信号を取得し、かつ、製造ラインの各種アクチュエータを制御する制御装置(図2参照)とを備える。
【0029】
本明細書において、「ライン」は、任意の製品の製造、搬送、または、検査のために、ロボットおよびベルトコンベア等を組み合わせて構築されたものである。ライン10は、一例として、ある製品を製造するための製造ラインと、在庫品等を搬送するための搬送ラインと、ある製品を検査するための検査ラインと、これらの組み合わせラインとを包含する。
【0030】
本明細書において、「ワーク」は、加工またはピッキング等の対象となる任意の物体である。ワーク120は、一例として、フィルム、プラスチック容器、フレキシブル基板、布および樹脂部品等の任意の物体を含む。
【0031】
本明細書において、「ピッキングツール」は、ワークをピックアンドプレース可能なツールである。ピッキングツール100は、一例として、吸着ツール、ソフトグリッパ、電動チャック等を含む。ある実施の形態に従うと、ピッキングツールは、エンドエフェクタとして多関節ロボットの先端に設けられる。なお、ピッキングツール100の位置および姿勢を調整することは、ピッキングツール100を取り付けられたロボットの位置および姿勢を調整することでもある。
【0032】
本明細書において、「制御装置」は、ライン10上の多関節ロボット、ベルトコンベアのモータ、ピッキングツール等を制御し、ライン10上のセンサーの信号を受信する。ある実施の形態について、制御装置は、PLC(Programmable Logic Controller)である。他の実施の形態に従うと、制御装置は、PLCおよびロボットの制御装置を含む統合コントローラである。
【0033】
ピッキングツール100は、予め定められた位置で、ベルトコンベア110上を搬送されてくるワーク120をピッキングする(把持する)。また、ピッキングツール100は、ピッキングしたワーク120を予め定められた位置にプレース(置く)する。
【0034】
図1の例では、ワーク120は、柔軟性のあるソフトドリンクのプラスチック容器である。ピッキングツール100は、吸着ツールであり、真空エジェクタ(図示せず)に接続されている。また、ピッキングツール100の先端には、1つ以上の吸盤が備え付けられている。ピッキングツール100の先端の吸盤がワーク120に触れると、真空エジェクタが空気の吸引を行う。真空エジェクタが空気を吸引すると、吸盤およびワーク120の間に真空ができる。これにより、ワーク120は、ピッキングツール100に引き寄せされる。ピッキングツール100は、吸盤およびワーク120の間の真空状態を保ったまま、ワーク120をピッキングし、予め定められた位置にプレースする。
【0035】
ある実施の形態に従うと、ピッキングツール100は、ソフトグリッパであってもよい。または、ピッキングツール100は、先端にクッション材を設けられたハードグリッパであってもよい。この場合、ピッキングツール100は、ワーク120を壊さない程度の力でピッキングする。
【0036】
ベルトコンベア110は、モータ等によりベルトを駆動させる。これにより、ベルト上のワーク120は搬送される。ある実施の形態に従うと、ライン10は、ベルトコンベア110を備えない。この場合、ライン10は、例えば、ピッキングロボットとAGV(Automatic Guided Vehicle)により、ワーク120を搬送してもよい。他の実施の形態に従うと、ライン10は、ベルトコンベア110、ピッキングロボットおよびAGVを備える。
【0037】
(b.柔軟物のピッキング時の課題)
次に柔軟物のピッキングにおける課題について説明する。柔軟物は、外力または自重等によって変形してしまう。そのため、柔軟物のピッキングは、硬い物体のピッキングと比較して困難である。
【0038】
例えば、ピッキングツール100は、吸着ツールであるとする。吸着ツールは、真空を作るために、吸盤およびワーク120の間に隙間があってはいけない。しかしながら、ピッキングツール100が、ワーク120に触れる位置に移動した場合でも、ワーク120は、吸盤と触れたことにより変形し、吸盤およびワーク120の間に隙間ができることがある。
【0039】
他の例として、ピッキングツール100は、ソフトグリッパであるとする。ピッキング時に、ソフトグリッパはワーク120をしっかりと把持していたとしても、持ち上げたときに、ワーク120は自重で変形することがある。その結果、ソフトグリッパは、ワーク120を落とすことがある。
【0040】
このように、柔軟性のある物体のピッキングは、硬い物体のピッキングと比較して困難である。そのため、ラインの設計担当者は、ピッキングツール100に安定してワーク120をピッキングさせるために、ピッキングツール100を備えるロボットに対するティーチングを何度も繰り返す必要がある。
【0041】
(c.課題の解決方法)
本実施の形態に従うシミュレーションシステム20(図2参照)は、上記の課題を解決するために、柔軟性のあるワーク120の硬さをシミュレーション内で再現する機能を提供する。シミュレーションシステム20は、柔軟性のあるワーク120の硬さをシミュレーション内で再現するための2通りの方法を実行する機能を備える。以下の第1の方法と、第2の方法とについて説明する。
【0042】
(c-1.第1の方法)
第1の方法は、ユーザがシミュレータ210に接触率を入力する方法である。第1の方法では、ユーザは、シミュレーションシステム20(シミュレータ210)に、ワーク120に対するピッキングツール100の接触率(例えば、100%)を入力する。シミュレーションシステム20は、ユーザが入力した接触率を再現するように、ワーク120のピッキングの初期位置を決定する。次に、シミュレーションシステム20は、シミュレーションを繰り返して、当該初期位置を調整する。
【0043】
より具体的には、シミュレーションシステム20は、ピッキングツール100によるワーク120のピッキング動作を撮影するカメラ230(図2参照)と、シミュレーションを実行する装置200とを備える。
【0044】
装置200は、ワーク120に対するピッキングツール100の接触率の入力を受け付ける。一例として、装置200は、シミュレータ210のユーザインターフェイス(UI:User Interface)を介して、ユーザからワーク120に対するピッキングツール100の接触率の入力を受け付ける。
【0045】
装置200は、シミュレーション内で、接触率および予め設定されているワークの硬さに基づいて、ワーク120に対するピッキングツール100のピッキング位置を決定する。ある実施の形態に従うと、ワーク120は、シミュレーション内でメッシュによって表現される。装置200は、ピッキングツール100がワーク120に触れると、メッシュを変形させる。装置200は、変形したワーク120およびピッキングツール100の接触率を算出する。一例として、装置200は、ワーク120を構成する各ポリゴンと、ピッキングツール100を構成する各ポリゴンとの接触判定により、変形したワーク120およびピッキングツール100の接触率を算出する。
【0046】
次に、装置200は、上記のピッキング位置のフィードバックを含むプログラムを制御装置220に送信する。当該プログラムにより、実世界において、ピッキングツール100を備えたロボットは、シミュレーション中で決定されたピッキング位置でピッキング動作を行う。
【0047】
次に、装置200は、カメラ230から、ロボット(ピッキングツール100)のピッキング動作の画像または映像を複数回取得する。ある実施の形態に従うと、カメラ230は、画像または映像を制御装置220に送信する。この場合、制御装置220は、画像または映像を装置200に転送する。他の実施の形態に従うと、カメラ230は、画像または映像を装置200に直接転送する。
【0048】
装置200は、ロボットのピッキング動作の画像または映像の解析結果からピッキングの成功率を算出する。例えば、ピッキングが100回中2回失敗していれば、成功率は、98%である。
【0049】
次に、装置200は、ピッキングの成功率に基づいて、シミュレーション内のワークの硬さを変更する。また、装置200は、シミュレーション内で、接触率および変更後のワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を変更する。次に、装置200は、ピッキング位置の変更結果を制御装置にフィードバックする。当該処理は、シミュレーション内のワークの硬さを現実のワークの硬さに近づける処理である。
【0050】
例えば、装置200は、シミュレーション中で接触率100%になるピッキング位置を決定する。そして、装置200は、制御装置220にプログラムを送信する。ロボットは、シミュレーション中で決定されたピッキング位置で、ワーク120をピッキングする。このとき、シミュレーション内のワークの硬さが、現実のワークの硬さと一致していれば、ピッキングの成功率は100%となる可能性が高い。しかしながら、実世界でのピッキングの成功率が100%にならないことがある。これは、シミュレーション内のワークの硬さが、現実のワークの硬さと一致していないことが原因である。
【0051】
そこで、装置200は、実世界でのピッキングの成功率に基づいて、シミュレーション内のワーク120の硬さを変化させていき、シミュレーション内のワークの硬さと、現実のワークの硬さとを一致させる。装置200が上記の処理を繰り返し、シミュレーション内のワークの硬さと現実のワークの硬さとが一致したとする。この場合、シミュレーション中のピッキング位置と、実世界におけるピッキング位置とが同じであれば、シミュレーション中におけるワーク120に対するピッキングツール100の接触率は、実世界におけるワーク120に対するピッキングツール100の接触率と等しくなる。
【0052】
このように、シミュレーション中でワーク120の硬さが再現できれば、シミュレーション中でワーク120に対するピッキングツール100の接触率が100%になるようにピッキング位置を決めることで、実世界におけるピッキングは成功率が100%になる可能性が高い。その結果、ラインの設計担当者は、ロボットのティーチングを従来よりも簡単に行い得る。さらに、ユーザは、あるワークの調整後の硬さの情報を、同一素材の他のワークのピッキングのティーチング作業に流用することができる。
【0053】
(c-2.第2の方法)
第2の方法は、図5のようにピッキングツール100が吸着ツールであり、かつ、ピッキングツール100が真空エジェクタに接続されている場合に、真空エジェクタの真空圧力からシミュレータ210に入力する接触率を決定する方法である。第2の方法では、シミュレーションシステム20は、実機のピッキングツール100に接続された真空エジェクタの真空圧力に基づいて、シミュレーション中のピッキングの初期値を決定する。
【0054】
より具体的には、シミュレーションシステム20は、ピッキングツール100によるワーク120のピッキング動作を撮影するカメラ230(図2参照)と、シミュレーションを実行する装置200とを備える。また、ピッキングツール100(吸着ツール)は、真空エジェクタと接続されている。
【0055】
装置200は、実世界において、制御装置220を介して、ピッキングツール100(吸着ツール)を動作させる。制御装置220は、真空エジェクタの真空圧力が予め定められた圧力となるように、ピッキングツール100(吸着ツール)をワーク120に接触させる。装置200は、真空エジェクタの真空圧力が予め定められた値となるピッキングツール100のピッキング位置を制御装置220から受信する。
【0056】
次に、装置200は、上記のピッキング位置のフィードバックを含むプログラムを制御装置220に送信する。当該プログラムにより、実世界において、ピッキングツール100を備えたロボットは、シミュレーション中で決定されたピッキング位置でピッキング動作を行う。
【0057】
次に、装置200は、カメラ230から、ロボット(ピッキングツール100)のピッキング動作の画像または映像を複数回取得する。ある実施の形態に従うと、カメラ230は、画像または映像を制御装置220に送信する。この場合、制御装置220は、画像または映像を装置200に転送する。他の実施の形態に従うと、カメラ230は、画像または映像を装置200に直接転送する。
【0058】
装置200は、ロボットのピッキング動作の画像または映像の解析結果からピッキングの成功率を算出する。例えば、ピッキングが100回中2回失敗していれば、成功率は、98%である。
【0059】
次に、装置200は、ピッキングの成功率に基づいて、シミュレーション内のワークの硬さを変更する。また、装置200は、シミュレーション内で、接触率および変更後のワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置を変更する。次に、装置200は、ピッキング位置の変更結果を制御装置にフィードバックする。当該処理は、シミュレーション内のワークの硬さを現実のワークの硬さに近づける処理である。
【0060】
第2の方法は、第1の方法と異なり、実世界のライン10における真空エジェクタの真空圧力に基づいて、シミュレーション内のピッキングの初期位置を決定する。こうすることで、シミュレーションシステム20は、ピッキングの成功率が100%に近い状態からシミュレーションを開始し得る。
【0061】
<B.ハードウェア構成>
図2は、シミュレーションシステム20の構成の一例を示す図である。シミュレーションシステム20は、構成として、装置200と、制御装置220と、カメラ230とを備える。ある実施の形態に従うと、シミュレーションシステム20は、装置200とカメラ230とを備え、制御装置220を備えない。他の実施の形態に従うと、装置200および制御装置220は、一体型の装置として実現される。
【0062】
装置200は、ハードウェアとして、図2に示される各構成を備える。装置200は、プロセッサ201と、メモリ202と、ストレージ203と、外部機器IF(Interface)204と、入力IF205と、出力IF206と、通信IF207とを含む。これらの各構成は、バス208を介して、相互に通信可能に接続される。
【0063】
プロセッサ201は、装置200の各種機能を実現するためのプログラムを実行し得る。プロセッサ201は、例えば、少なくとも1つの集積回路によって構成される。ある実施の形態に従うと、装置200は、例えば、少なくとも1つのCPU(Central Processing Unit)と、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのFPGA(Field Programmable Gate Array)、少なくとも1つのASIC(Application Specific Integrated Circuit)またはこれらの組み合わせ等を包含する。
【0064】
メモリ202は、プロセッサ201によって実行されるプログラムと、プロセッサ201によって参照されるデータとを格納する。ある局面において、メモリ202は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現され得る。
【0065】
ストレージ203は、不揮発性メモリであり、プロセッサ201によって実行されるプログラムおよびプロセッサ201によって参照されるデータを格納している。その場合、プロセッサ201は、ストレージ203からメモリ202に読み出されたプログラムを実行し、ストレージ203からメモリ202に読み出されたデータを参照する。ある局面において、ストレージ203は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリー等によって実現され得る。
【0066】
外部機器IF204は、プリンター、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器IF204は、USB(Universal Serial Bus)端子等によって実現され得る。
【0067】
入力IF205は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力IF205は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現され得る。
【0068】
出力IF206は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力IF206は、USB端子、D-sub端子、DVI(Digital Visual Interface)端子、HDMI(登録商標)(High-Definition Multimedia Interface)端子およびディスプレイポート端子等によって実現され得る。
【0069】
通信IF207は、有線ネットワークまたは無線ネットワークを介して他の機器と接続される。ある局面において、通信IF207は、有線LAN(Local Area Network)ポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現され得る。他の局面において、通信IF207は、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP(User Datagram Protocol)等の通信プロトコルを用いてデータを送受信し得る。
【0070】
シミュレータ210は、図1を参照して説明された処理を実行する。ある実施の形態に従うと、シミュレータ210は、ソフトウェアとして実現される。他の実施の形態に従うと、シミュレータ210の一部または全ては、ハードウェアとして実現される。シミュレータ210がソフトウェアである場合、プロセッサ201は、シミュレータ210をストレージ203からメモリ202に読み出して、当該シミュレータ210を実行する。
【0071】
制御装置220は、装置200から、シミュレーションの結果を反映されたラダープログラムを受信し、当該ラダープログラムに従い、ライン10上のロボット、ピッキングツール100およびその他の装置を制御する。ある実施の形態に従うと、制御装置220は、カメラ230から画像または映像を取得し、当該画像または映像を装置200に転送する。他の実施の形態に従うと、制御装置220は、画像または映像を解析し、ピッキングが成功したか否かを判定する。この場合、制御装置220は、ピッキングが成功したか否かの判定情報を装置200に送信する。
【0072】
カメラ230は、ピッキングツール100がワーク120をピッキングする様子を撮影する。カメラ230は、ピッキングの画像または映像を制御装置220または装置200に送信する。ある実施の形態に従うと、カメラ230は、CMOS(Complementary Metal Oxide Semiconductor)カメラもしくはCCD(Charge Coupled Device)カメラである。
【0073】
<C.シミュレータの動作例>
次に、図3図7を参照して、シミュレータ210の動作の詳細について説明する。
【0074】
図3は、ピッキングのシミュレーションの画面の一例を示す図である。画面300は、パラメータ画面310と、シミュレーション画面320とを含む。ある実施の形態に従うと、画面300は、出力IF206に接続されるディスプレイに表示される。他の実施の形態に従うと、画面300は、ウェブアプリケーションの画面として実現される。この場合、装置200は、ユーザの端末に画面300を送信する。
【0075】
パラメータ画面310は、シミュレーションに関する任意の情報を表示する。また、パラメータ画面310の一部または全ての項目は、ユーザによって編集可能に構成される。一例として、ユーザは、パラメータ画面310を編集することで、ロボットを動作させたり、ロボットの先端のツールを変更したり、ワーク120の硬さを変更したり、予め登録されたロボットの動作を再生したりし得る。シミュレーション画面320は、シミュレーションの実行結果を表示する。一例として、ユーザが、パラメータ画面310において、予め登録されたロボットの動作を再生する操作を行うと、シミュレーション画面320内でロボットの動きが再現される。ユーザは、画面300を参照および操作しながら、シミュレーション内におけるロボットのティーチングを行い、かつ、ロボットの動作を確認し得る。
【0076】
図4は、シミュレーション内でのワークの変形の一例を示す図である。図4を参照して、シミュレーション内でのワーク120の形状変化の表現方法について説明する。併せて、シミュレーション内でのワーク120およびピッキングツール100の接触率の算出方法についても説明する。
【0077】
画面400は、シミュレーション内の物体をメッシュに変換して表示する画面である。ある実施の形態に従うと、画面300および画面400は、相互に遷移可能に構成される。画面400は、画面300と同様に、パラメータ画面410と、シミュレーション画面420とを含む。
【0078】
図4の例では、シミュレーション内におけるピッキングツールの先端部品450は、ワーク120に接触している。この場合、シミュレータ210は、先端部品450およびワーク120の位置と、ワーク120の硬さ情報とに基づいて、ワーク120を変形させる。ある実施の形態に従うと、材質毎のワーク120の硬さ情報は、予め設定される。また、シミュレータ210は、図1を参照して説明された処理を実行することで、ワーク120の硬さ情報を更新する。
【0079】
メッシュは、ポリゴンの集合として表現される。シミュレータ210は、先端部品450の下面を構成する複数のポリゴンの各々について、ワーク120に接触しているか否かを判定する。次に、シミュレータ210は、先端部品450の下面を構成する複数のポリゴンのうち、ワーク120に接触しているポリゴンの割合を算出する。当該割合が、ワーク120に対するピッキングツール100の接触率となる。
【0080】
図5は、実機でのテスト結果をシミュレーションに反映する手順の一例を示す図である。図5を参照して、装置200(シミュレータ210)が、シミュレーション内で、接触率およびワークの硬さに基づいて、ワークに対するピッキングツールのピッキング位置(ピッキングの初期位置)を決定する手順について説明する。図5に示される手順は、図1を参照して説明された第1の方法に対応する。
【0081】
シミュレータ210は、ユーザからシミュレーションの設定情報の入力を受け付けるための画面500を備える。画面500は、一例として、ワーク120に対するピッキングツール100の接触率の入力項目を有する。また、画面500は、ピッキング位置(ピッキングツール100を備えるロボットの位置および姿勢)の設定項目を有する。
【0082】
装置200(シミュレータ210)は、画面500を介して、ユーザからシミュレーション開始時におけるピッキングツール100およびワーク120の接触率の入力を受け付けたとする。この場合、装置200は、ピッキングツール100と変形したワーク120との接触率が、入力された接触率となるように、ピッキングツール100のピッキング位置を決定する。
【0083】
より具体的には、装置200は、画面400に示されるように、ワークを変形可能なメッシュにより再現する。装置200は、ピッキングツール100をワーク120に押し当てる。装置200は、ワーク120の硬さに基づいて、ワーク120を変形させる。このとき、装置200は、先端部品450の下面を構成する複数のポリゴンのうち、ワーク120に接触しているポリゴンの割合から、ワーク120に対するピッキングツール100の接触率を算出する。そして、装置200は、ピッキングツール100と変形したワーク120との接触率が、入力された接触率となるように、ピッキングツール100のピッキング位置を決定する。
【0084】
次に、装置200は、実世界において、決定されたピッキング位置でピッキング動作を行うように、制御装置220にプログラムを送信する。制御装置220から信号を受信したピッキングツール100は、決定されたピッキング位置でワーク120のピッキングを行う。
【0085】
装置200は、カメラ230から得られた画像を解析して、実世界でのピッキングの成功率を算出する。例えば、ユーザがシミュレータ210に接触率100%を設定したにもかかわらず、ピッキングの成功率が100%ではないとする。この場合、装置200は、シミュレーション内のワーク120の硬さが間違っていると判定して、ワーク120の硬さの設定を変更する。このように、装置200は、シミュレーションの設定に基づいて、実世界のピッキングツール100を動作させる。そして、装置200は、実世界のピッキングツール100のピッキングの成功率に基づいて、シミュレーションの設定(ワーク120の硬さ)を更新する。
【0086】
ある実施の形態に従うと、装置200(シミュレータ210)は、シミュレーション内のワーク120の硬さを変更した場合、ピッキング位置も自動的に更新する。例えば、シミュレータ210において、接触率100%が予め設定されているとする。そして、ワーク120の硬さが更新されたとする。この場合、ピッキングの初期位置における接触率は100%ではなくなる可能性がある。よって、装置200(シミュレータ210)は、予め設定された接触率(例えば、100%)を維持するために、ピッキングの位置を自動的に更新する。
【0087】
他の実施の形態に従うと、装置200(シミュレータ210)は、ワーク120の硬さが更新された場合に、ピッキング位置を更新しない。この場合、装置200(シミュレータ210)は、ユーザからピッキング位置の更新入力を受け付け得る。
【0088】
図6は、実機でのテスト結果をシミュレーションに反映する手順の他の例を示す図である。図6に示される手順は、図1を参照して説明された第2の方法に対応する。
【0089】
装置200は、制御装置220を介して、ピッキングツール100(吸着ツール)をワーク120に吸着させる。そして、装置200は、真空エジェクタの真空圧力を取得する。ある実施の形態に従うと、装置200は、制御装置220を介して、真空エジェクタの真空圧力を取得する。他の実施の形態に従うと、装置200は、真空エジェクタの真空圧力を直接取得する。装置200は、真空エジェクタの真空圧力が予め定められた値になるまで、ピッキングツール100(吸着ツール)をワーク120に近づける。
【0090】
次に、装置200は、真空エジェクタの真空圧力が予め定められた値であるときのピッキングツール100のピッキング位置を制御装置220から取得する。装置200は、真空エジェクタの真空圧力が予め定められた値であるときワーク120に対するピッキングツール100の接触率は100%であると判定する。装置200は、決定した接触率(100%)およびピッキング位置に基づいて、実機を用いたテストを実行する。シミュレーション内のワーク120の硬さの更新手順およびピッキング位置の更新手順については、図5を参照して説明された手段と同一である。
【0091】
装置200(シミュレータ210)は、最終的に、ワーク120の硬さおよびピッキング位置を決定してユーザに提示する。画面600は、ユーザに提示される画面の一例である。画面600は、ワークの硬さ情報の項目610を含む。画面600は、画面500と相互に遷移可能に構成される。ある実施の形態に従うと、ワークの硬さ情報の項目610は、編集可能に構成される。
【0092】
図7は、ユーザによるシミュレータ210への各種パラメータの入力の一例を示す図である。装置200(シミュレータ210)は、ユーザから、ワーク120およびピッキングツール100の接触率、ピッキングツール100(ロボット)の位置および姿勢の情報をユーザに提示する。また、装置200(シミュレータ210)は、ユーザから、ワーク120およびピッキングツール100の接触率の変更入力、ピッキングツール100(ロボット)の位置および姿勢の変更入力をユーザから受け付ける。ある実施の形態に従うと、装置200は、ユーザから、ワーク120の硬さの変更入力を受け付けてもよい。
【0093】
装置200は、画面500において、一例として、ワーク120およびピッキングツール100の接触率、ピッキングツール100(ロボット)の位置および姿勢の変更入力をユーザから受け付ける。装置200(シミュレータ210)は、入力情報をシミュレーションに反映させる。
【0094】
画面700は、ピッキングのモーションの各時点でのピッキングツール100(ロボット)の位置および姿勢の項目710を有する。ユーザは、項目710を参照することで、ピッキングツール100(ロボット)の動作を確認し得る。ある実施の形態に従うと、項目710は、ピッキングのモーションの各時点でのピッキングツール100(ロボット)の位置および姿勢の変更入力を受け付け可能に構成される。装置200(シミュレータ210)は、入力情報をシミュレーションに反映させる。ユーザは、画面500,画面700を介して、手動で接触率およびワーク120のピッキング位置を微調整し得る。
【0095】
<D.フローチャート>
図8は、シミュレーションシステム20の内部処理の手順の一例を示す図である。ある実施の形態に従うと、プロセッサ201は、図8の処理を行うためのプログラムをストレージ203からメモリ202に読み込んで、当該プログラムを実行し得る。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
【0096】
なお、図8に示されるフローチャートは、図1を参照して説明された第2の方法に対応する。シミュレーションシステム20は、第1の方法を実行する場合、ステップS810の処理において、真空エジェクタの真空圧力を取得する代わりに、ワーク120およびピッキングツール100の接触率の入力を取得する。また、シミュレーションシステム20は、ステップS820の処理において、入力された接触率となるように、シミュレーション上でのワーク120のピッキング位置を決定する。
【0097】
ステップS810において、シミュレーションシステム20は、真空エジェクタの真空圧力が目標値になるまで、実世界においてピッキングツール100をワーク120に近づける。シミュレーションシステム20は、真空エジェクタの真空圧力が目標値であることに基づいて、ワーク120に対するピッキングツール100の接触率は100%であると判定する。制御装置220は、真空エジェクタの真空圧力が目標値であるときのピッキングツール100の位置情報を装置200に送信する。
【0098】
ステップS820において、シミュレーションシステム20は、シミュレーション上でピッキングツール100を実機(実世界のピッキングツール100)と同じ位置まで移動させる。
【0099】
ステップS830において、シミュレーションシステム20は、接触率が100%になるようにワーク120の硬さを調整する。シミュレーションシステム20は、シミュレーション内でワーク120の硬さを調整すると共に、ワーク120のメッシュを変形させる。シミュレーションシステム20は、ピッキングツール100の先端部品450の下面がワーク120に接触する割合が100%になるまで、ワーク120の硬さを調整する。
【0100】
ステップS840において、シミュレーションシステム20は、シミュレーションでユーザ指定の接触率となる位置を把持位置(変数)に設定する。ある実施の形態に従うと、シミュレーションシステム20は、ユーザから接触率の入力を受け付けなくてもよい。この場合、シミュレーションシステム20は、接触率100%として、これ以降の処理を実行する。
【0101】
ステップS850において、シミュレーションシステム20は、カメラ230で実機(実世界のピッキングツール100)のテストの成功率を確認する。より具体的には、シミュレーションシステム20は、テストを実行するためのプログラムを制御装置220に送信する。制御装置220は、プログラムに従い、ピッキングテストを実行する。カメラ230は、ピッキング処理を撮影して、その画像または映像を装置200に送信する。装置200は、画像または映像を解析して、テストの成功率を算出する。
【0102】
ステップS860において、シミュレーションシステム20は、テストの成功率が100%になるまでテストを繰り返すことで、ピッキング位置およびワーク120の硬さを変更する。すなわち、装置200は、ピッキングの成功率が100%になるまで、シミュレーション内のワーク120の硬さの変更と、ワーク120に対するピッキングツール100のピッキング位置の変更と、ピッキング位置の変更結果の制御装置へのフィードバックとを繰り返す。
【0103】
以上説明した通り、本実施の形態に従うシミュレーションシステム20は、実機でのピッキングテストの結果に基づいて、シミュレーション内でのワーク120の硬さを調整する。これにより、シミュレーション内でのワーク120の硬さは現実のワーク120の硬さと一致する。シミュレーションシステム20は、例えば、シミュレーション内で、調整後のワーク120に対してピッキングツール100の接触率が100%またはユーザ指定の値になるようにピッキング位置を変更することで、最適なピッキング位置を求めることができる。
【0104】
<E.付記>
以上のように、本実施の形態は以下のような開示を含む。
[構成1]
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーションシステムであって、
上記ピッキングツールによる上記ワークのピッキング動作を撮影するカメラと、
シミュレーションを実行する装置とを備え、
上記装置は、
上記ワークに対する上記ピッキングツールの接触率の入力を受け付け、
上記シミュレーション内で、上記接触率および予め設定されている上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を決定し、
実世界において上記ピッキング位置でピッキング動作を行うように、上記ロボットの制御装置にプログラムを送信し、
上記カメラから、上記ロボットのピッキング動作の画像または映像を複数回取得し、
複数の上記画像または映像の解析結果からピッキングの成功率を算出し、
上記成功率に基づいて、上記シミュレーション内の上記ワークの硬さを変更し、
上記シミュレーション内で、上記接触率および変更後の上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を変更し、
上記ピッキング位置の変更結果を上記制御装置にフィードバックする、シミュレーションシステム。
[構成2]
上記シミュレーション内で、上記接触率および上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を決定することは、
上記ワークを変形可能なメッシュにより再現することと、
上記ピッキングツールを上記ワークに押し当てることと、
上記ワークの硬さに基づいて、上記ワークを変形させることと、
上記ピッキングツールと変形した上記ワークとの接触率が、入力された上記接触率となるように、上記ピッキングツールの上記ピッキング位置を決定することとを含む、構成1に記載のシミュレーションシステム。
[構成3]
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーションシステムであって、
上記ピッキングツールによる上記ワークのピッキング動作を撮影するカメラと、
シミュレーションを実行する装置とを備え、
上記ピッキングツールは、真空エジェクタに接続されており、
上記装置は、
実世界において、制御装置を介して、上記ピッキングツールを移動させ、
上記真空エジェクタの真空圧力が予め定められた値となる上記ピッキングツールのピッキング位置を上記制御装置から受信し、
上記シミュレーション内で、上記ワークに対する上記ピッキングツールの上記ピッキング位置を上記制御装置から受信したピッキング位置に合わせ、
実世界において上記ピッキング位置でピッキング動作を行うように、上記ロボットの制御装置にプログラムを送信し、
上記カメラから、上記ロボットのピッキング動作の画像または映像を複数回取得し、
複数の上記画像または映像の解析結果からピッキングの成功率を算出し、
上記成功率に基づいて、シミュレーション内の上記ワークの硬さを変更し、
上記シミュレーション内で、変更後の上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を変更し、
上記ピッキング位置の変更結果を上記制御装置にフィードバックする、シミュレーションシステム。
[構成4]
上記装置は、上記真空エジェクタの真空圧力が上記予め定められた値であるとき上記ワークに対する上記ピッキングツールの接触率は100%であると判定し、
上記シミュレーション内で、上記接触率および上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を決定することは、
上記ワークを変形可能なメッシュにより再現することと、
上記ピッキングツールを上記ワークに押し当てることと、
上記ワークの硬さに基づいて、上記ワークを変形させることと、
上記ピッキングツールと変形した上記ワークとの接触率が100%となるように、上記ピッキングツールの上記ピッキング位置を決定することとを含む、構成3に記載のシミュレーションシステム。
[構成5]
上記装置は、上記ピッキングの成功率が100%になるまで、上記ワークに対する上記ピッキングツールの上記ピッキング位置の変更と、上記ピッキング位置の変更結果の上記制御装置へのフィードバックとを繰り返す、構成1~4のいずれかに記載のシミュレーションシステム。
[構成6]
上記装置は、上記ピッキングツールのピッキング位置の変更入力を受け付ける、構成1~4のいずれかに記載のシミュレーションシステム。
[構成7]
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーション方法であって、
上記ワークに対する上記ピッキングツールの接触率の入力を受け付けることと、
シミュレーション内で、上記接触率および予め設定されている上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を決定することと、
実世界において上記ピッキング位置でピッキング動作を行うように、上記ロボットの制御装置にプログラムを送信することと、
カメラから、上記ロボットのピッキング動作の画像または映像を複数回取得することと、
複数の上記画像または映像の解析結果からピッキングの成功率を算出することと、
上記成功率に基づいて、上記シミュレーション内の上記ワークの硬さを変更することと、
上記シミュレーション内で、上記接触率および変更後の上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を変更することと、
上記ピッキング位置の変更結果を上記制御装置にフィードバックすることとを含む、シミュレーション方法。
[構成8]
ロボットに装着されたピッキングツールのワークに対するピッキング位置を調整するためのシミュレーション方法であって、
実世界において、制御装置を介して、上記ピッキングツールを移動させることと、
上記ピッキングツールに接続された真空エジェクタの真空圧力が予め定められた値となる上記ピッキングツールのピッキング位置を上記制御装置から受信することと、
シミュレーション内で、上記ワークに対する上記ピッキングツールの上記ピッキング位置を上記制御装置から受信したピッキング位置に合わせることと、
実世界において上記ピッキング位置でピッキング動作を行うように、上記ロボットの制御装置にプログラムを送信することと、
カメラから、上記ロボットのピッキング動作の画像または映像を複数回取得することと、
複数の上記画像または映像の解析結果からピッキングの成功率を算出することと、
上記成功率に基づいて、シミュレーション内の上記ワークの硬さを変更することと、
上記シミュレーション内で、変更後の上記ワークの硬さに基づいて、上記ワークに対する上記ピッキングツールの上記ピッキング位置を変更することと、
上記ピッキング位置の変更結果を上記制御装置にフィードバックすることとを含む、シミュレーション方法。
【0105】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【0106】
10 ライン、20 シミュレーションシステム、100 ピッキングツール、110 ベルトコンベア、120 ワーク、200 装置、201 プロセッサ、202 メモリ、203 ストレージ、204 外部機器IF、205 入力IF、206 出力IF、207 通信IF、208 バス、210 シミュレータ、220 制御装置、230 カメラ、300,400,500,600,700 画面、310,410 パラメータ画面、320,420 シミュレーション画面、450 先端部品、610,710 項目。
図1
図2
図3
図4
図5
図6
図7
図8