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

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

▶ 学校法人東京理科大学の特許一覧

特開2025-2579自動生産システムの制御方法、制御プログラム及びセットアップ方法
<>
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図1
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図2
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図3
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図4
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図5
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図6
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図7
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図8
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図9
  • 特開-自動生産システムの制御方法、制御プログラム及びセットアップ方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025002579
(43)【公開日】2025-01-09
(54)【発明の名称】自動生産システムの制御方法、制御プログラム及びセットアップ方法
(51)【国際特許分類】
   B25J 9/22 20060101AFI20241226BHJP
【FI】
B25J9/22 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023102856
(22)【出願日】2023-06-22
(71)【出願人】
【識別番号】000125370
【氏名又は名称】学校法人東京理科大学
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】荒井 翔悟
(72)【発明者】
【氏名】夏井 翔太郎
(72)【発明者】
【氏名】村上 雷伊斗
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS05
3C707CT05
3C707JS02
3C707KS03
3C707KS04
3C707KS10
3C707KT03
3C707KT05
3C707LS08
3C707LS15
3C707LV14
(57)【要約】
【課題】複数のタスクを実行する一のマニピュレータの一連の動作を特定する際の計算負荷を低減した自動生産システムの制御方法、制御プログラム及びセットアップ方法を提供すること。
【解決手段】本開示の自動生産システムの制御方法は、複数のタスクを所定の順序で実行可能な一のマニピュレータを含む自動生産システムにおいて、治具に関する情報と、始点位置から所定の動作を実行した後終点位置に到達するまでのエンドエフェクタの動作を、治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、マニピュレータを基準動作データに基づいて動作させるために、一のタスクのタスクデータセット内の終点位置から次に実行される他のタスクのタスクデータセット内の始点位置へエンドエフェクタを移動させるマニピュレータの動作経路を示す経路データを特定する工程と、マニピュレータを動作させる工程と、を含む。
【選択図】図7
【特許請求の範囲】
【請求項1】
複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタを備える一のマニピュレータを含む自動生産システムの制御方法であって、
前記複数のタスクに対応し、物体を支持可能な治具に関する情報と、予め設定された始点位置から前記治具及び前記治具に支持された前記物体の少なくとも一方に対して所定の動作を実行した後予め設定された終点位置に到達するまでの前記エンドエフェクタの動作を前記治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、
前記マニピュレータを前記複数のタスクデータセット内の前記基準動作データに基づいて前記所定の順序で動作させるために、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ前記エンドエフェクタを移動させる前記マニピュレータの動作経路を示す経路データを特定する工程と、
前記マニピュレータを、前記複数のタスクデータセット内の前記基準動作データと前記経路データに基づき、前記所定の順序に沿って動作させる工程と、を備える、
自動生産システムの制御方法。
【請求項2】
前記経路データを特定する工程は、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ、前記エンドエフェクタを移動させる前記マニピュレータの動作時間が最短となる動作経路を示す経路データを算出する工程を含む、
請求項1に記載の自動生産システムの制御方法。
【請求項3】
複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタを備える一のマニピュレータを含む自動生産システムを制御するコンピュータに、
前記複数のタスクに対応し、物体を支持可能な治具に関する情報と、予め設定された始点位置から前記治具及び前記治具に支持された前記物体の少なくとも一方に対して所定の動作を実行した後予め設定された終点位置に到達するまでの前記エンドエフェクタの動作を前記治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、
前記マニピュレータを前記複数のタスクデータセット内の前記基準動作データに基づいて前記所定の順序で動作させるために、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ前記エンドエフェクタを移動させる前記マニピュレータの動作経路を示す経路データを特定する工程と、
前記マニピュレータを、前記複数のタスクデータセット内の前記基準動作データと前記経路データに基づき、前記所定の順序に沿って動作させる工程と、を実行させる、
自動生産システムの制御プログラム。
【請求項4】
複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタを備える一のマニピュレータを含む自動生産システムのセットアップ方法であって、
前記複数のタスクに対応し、物体を支持可能な治具に関する情報と、予め設定された始点位置から前記治具及び前記治具に支持された前記物体の少なくとも一方に対して所定の動作を実行した後予め設定された終点位置に到達するまでの前記エンドエフェクタの動作を前記治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、
前記複数のタスクデータセットのうち、少なくとも前記治具の3次元形状を特定する工程と、
前記マニピュレータを含む空間内の任意の位置に前記複数のタスクデータセットに含まれる前記治具を配置した状態で前記マニピュレータが前記複数のタスクを前記所定の順序で実行したときの前記マニピュレータの総動作時間を、前記治具の配置を異ならせつつ繰り返し算出する工程と、
前記繰り返し算出された複数の前記総動作時間を比較し、前記総動作時間が最も短いときの前記治具の配置を特定する工程と、
前記特定された前記タスクデータセットの配置に合わせて前記治具を設置する工程と、を備える、
自動生産システムのセットアップ方法。
【請求項5】
前記マニピュレータの総動作時間を前記治具の配置を異ならせつつ繰り返し算出する工程は、
前記マニピュレータを含む空間内の任意の位置に前記複数のタスクデータセットに含まれる前記治具を配置する工程と、
前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ、前記エンドエフェクタを移動させる前記マニピュレータの動作時間が最短となる動作経路を示す経路データを、前記複数のタスクデータセット同士の間の全てについて算出する工程と、
算出された前記経路データと前記複数のタスクデータセット内の前記基準動作データとに基づいて前記マニピュレータを動作させた場合の動作時間の合計を、前記総動作時間と特定する工程と、を前記治具の配置を変化させつつ繰り返し実行する、
請求項4に記載の自動生産システムのセットアップ方法。
【請求項6】
前記マニピュレータの3次元空間内の占有領域を計算する工程をさらに備え、
前記総動作時間を前記治具の配置を異ならせつつ繰り返し算出する工程は、前記占有領域を除く任意の位置に前記治具を配置する、
請求項4又は請求項5に記載の自動生産システムのセットアップ方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自動生産システムの制御方法、制御プログラム及びセットアップ方法に関する。
【背景技術】
【0002】
産業用ロボットを用いて製品を自動で生産する自動生産システムが知られている。特に、1台又は数台のマニピュレータが複数のタスクを実行することで製品を生産するロボットセル生産システムの普及が進んでいる。
【0003】
例えば、下記特許文献1には、ロボットシステムの移動可能な機構に支持されたツールを用意する工程と、ホルダに支持されたワークを用意する工程と、ワークの画像を生成する工程と、画像からワークの特徴に関するデータを抽出する工程と、画像から抽出されたデータを用いてワークに沿った連続的3次元経路を生成する工程と、経路に沿ってツールを移動させる工程と、を含むロボットシステムを制御する方法が記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015-212012号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
マニピュレータが1つあるいは2つ程度のタスクを連続して実行する場合等には、上記特許文献1に記載の方法を用いることで、自動生産システムが実現できる。しかしながら、自動生産システム、特にロボットセル生産システムでは、1台のマニピュレータが複数のタスクを実行するのが通常である。このような場合、タスクの実行プロセスに加えて、タスク間の移動プロセスも計算等により特定する必要があるが、計算で特定する場合には考慮すべき変数が多いため計算負荷が増大する。
【0006】
また、ロボットセル生産システムはその性質上、特定のスペースで多くのタスクを実行する必要があるため、多くの治具とそれらの間の移動を含む動作が発生する。したがって、治具配置の決定等を含むシステムの構築は生産効率等を向上させる上で重要である。しかし、最適な治具配置やマニピュレータの経路を特定するためには、多くの変数を組み合わせて最適化計算を行う必要があり、大きな計算処理能力や長い計算期間を必要とする。
【0007】
本開示は、上述した課題に鑑み、複数のタスクを実行する一のマニピュレータの一連の動作を特定する際の計算負荷を低減した、自動生産システムの制御方法、制御プログラム及びセットアップ方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本開示の第1の態様に係る自動生産システムの制御方法は、複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタを備える一のマニピュレータを含む自動生産システムの制御方法であって、前記複数のタスクに対応し、物体を支持可能な治具に関する情報と、予め設定された始点位置から前記治具及び前記治具に支持された前記物体の少なくとも一方に対して所定の動作を実行した後予め設定された終点位置に到達するまでの前記エンドエフェクタの動作を前記治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、前記マニピュレータを前記複数のタスクデータセット内の前記基準動作データに基づいて前記所定の順序で動作させるために、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ前記エンドエフェクタを移動させる前記マニピュレータの動作経路を示す経路データを特定する工程と、前記マニピュレータを、前記複数のタスクデータセット内の前記基準動作データと前記経路データに基づき、前記所定の順序に沿って動作させる工程と、を含む。
【0009】
このような自動生産システムの制御方法においては、治具に関する情報と治具を基準とする座標で特定された基準動作データを含むタスクデータセットを利用することで、経路データとしてタスク間の移動に関するデータを特定するだけで良くなり、マニピュレータの最適経路の算出を小さな計算負荷で実現することができる。
【0010】
本開示の第2の態様に係る自動生産システムの制御方法は、上記本開示の第1の態様に係る自動生産システムの制御方法において、前記経路データを特定する工程は、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ、前記エンドエフェクタを移動させる前記マニピュレータの動作時間が最短となる動作経路を示す経路データを算出する工程を含む。
【0011】
このような自動生産システムの制御方法においては、最短の動作時間で必要な動作を実現できるようになり、自動生産システムの生産効率が向上する。
【0012】
本開示の第3の態様に係る自動生産システムの制御プログラムは、複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタを備える一のマニピュレータを含む自動生産システムを制御するコンピュータに、前記複数のタスクに対応し、物体を支持可能な治具に関する情報と、予め設定された始点位置から前記治具及び前記治具に支持された前記物体の少なくとも一方に対して所定の動作を実行した後予め設定された終点位置に到達するまでの前記エンドエフェクタの動作を前記治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、前記マニピュレータを前記複数のタスクデータセット内の前記基準動作データに基づいて前記所定の順序で動作させるために、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ前記エンドエフェクタを移動させる前記マニピュレータの動作経路を示す経路データを特定する工程と、前記マニピュレータを、前記複数のタスクデータセット内の前記基準動作データと前記経路データに基づき、前記所定の順序に沿って動作させる工程と、を実行させる。
【0013】
このような自動生産システムの制御プログラムにおいては、治具に関する情報と治具を基準とする座標で特定された基準動作データを含むタスクデータセットを利用することで、経路データとしてタスク間の移動に関するデータを特定するだけで良くなり、マニピュレータの最適経路の算出を小さな計算負荷で実現することができる。
【0014】
本開示の第4の態様に係る自動生産システムのセットアップ方法は、複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタを備える一のマニピュレータを含む自動生産システムのセットアップ方法であって、前記複数のタスクに対応し、物体を支持可能な治具に関する情報と、予め設定された始点位置から前記治具及び前記治具に支持された前記物体の少なくとも一方に対して所定の動作を実行した後予め設定された終点位置に到達するまでの前記エンドエフェクタの動作を前記治具を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程と、前記複数のタスクデータセットのうち、少なくとも前記治具の3次元形状を特定する工程と、前記マニピュレータを含む空間内の任意の位置に前記複数のタスクデータセットに含まれる前記治具を配置した状態で前記マニピュレータが前記複数のタスクを前記所定の順序で実行したときの前記マニピュレータの総動作時間を、前記治具の配置を異ならせつつ繰り返し算出する工程と、前記繰り返し算出された複数の前記総動作時間を比較し、前記総動作時間が最も短いときの前記治具の配置を特定する工程と、前記特定された前記タスクデータセットの配置に合わせて前記治具を設置する工程と、を含む。
【0015】
このような自動生産システムのセットアップ方法においては、治具の配置を移動しつつ繰り返しマニピュレータの総動作時間を算出することで、最適な治具配置とマニピュレータの経路の特定を行うことができる。また、当該算出に際しては、治具に関する情報と治具を基準とする座標で特定された基準動作データを含むタスクデータセットを利用するため、算出のための計算負荷を抑制することができる。
【0016】
本開示の第5の態様に係る自動生産システムのセットアップ方法は、上記本開示の第4の態様に係る自動生産システムのセットアップ方法において、前記マニピュレータの総動作時間を前記治具の配置を異ならせつつ繰り返し算出する工程は、前記マニピュレータを含む空間内の任意の位置に前記複数のタスクデータセットに含まれる前記治具を配置する工程と、前記複数のタスクデータセットのうちの一のタスクデータセット内の前記終点位置から前記一のタスクデータセットの次に実行される他のタスクデータセット内の前記始点位置へ、前記エンドエフェクタを移動させる前記マニピュレータの動作時間が最短となる動作経路を示す経路データを、前記複数のタスクデータセット同士の間の全てについて算出する工程と、算出された前記経路データと前記複数のタスクデータセット内の前記基準動作データとに基づいて前記マニピュレータを動作させた場合の動作時間の合計を、前記総動作時間と特定する工程と、を前記治具の配置を変化させつつ繰り返し実行する。
【0017】
このような自動生産システムのセットアップ方法においては、総動作時間が最短となる経路を最適経路と特定することで、自動生産システムの生産効率が向上する。
【0018】
本開示の第6の態様に係る自動生産システムのセットアップ方法は、上記本開示の第4又は第5の態様に係る自動生産システムのセットアップ方法において、前記マニピュレータの3次元空間内の占有領域を計算する工程をさらに備え、前記総動作時間を前記治具の配置を異ならせつつ繰り返し算出する工程は、前記占有領域を除く任意の位置に前記治具を配置する。
【0019】
このような自動生産システムのセットアップ方法においては、設置された治具や物体がマニピュレータの移動を阻むことがない。
【発明の効果】
【0020】
本開示の自動生産システムの制御方法、制御プログラム及びセットアップ方法によれば、一のマニピュレータが複数のタスクを実行する際の一連の動作を特定する際の計算負荷を低減することができる。
【図面の簡単な説明】
【0021】
図1】本開示の一実施の形態に係る自動生産システムの制御方法を実施可能な自動生産システムの一例を示した概念図である。
図2図1に示す制御装置のハードウェア構成の一例を示したブロック図である。
図3】自動生産システムにおいて第1の治具に把持されたワークをピッキングするタスクを実行した時のマニピュレータの動作の一例を示した概略説明図である。
図4図3に示すタスクを実行する際のエンドエフェクタの動作の一例を示した概略説明図である。
図5】自動生産システムにおいてエンドエフェクタを第2の治具に設置するタスクを実行した時のマニピュレータの動作の一例を示した概略説明図である。
図6図5に示すタスクを実行する際のエンドエフェクタの動作の一例を示した概略説明図である。
図7】本開示の一実施の形態に係る自動生産システムの制御方法の一例を示したフローチャートである。
図8】本開示の一実施の形態に係る自動生産システムのセットアップ方法の一例を示したフローチャートである。
図9】マニピュレータの占有空間の特定手法を模式的に示した説明図である。
図10】本実施の形態に係る自動生産システムのセットアップ方法を実現するための最適化計算アルゴリズムの一例を疑似コードで示したものである。
【発明を実施するための形態】
【0022】
以下、図面を参照して本開示を実施するための各実施の形態について説明する。なお、以下では本開示の目的を達成するための説明に必要な範囲を模式的に示し、本開示の該当部分の説明に必要な範囲を主に説明することとし、説明を省略する箇所については公知技術によるものとする。
【0023】
<自動生産システムの制御方法>
図1は、本開示の一実施の形態に係る自動生産システムの制御方法を実施可能な自動生産システムの一例を示した概念図である。本実施の形態に係る自動生産システムの制御方法は、図1に示すような、少なくとも一のマニピュレータ10を含む自動生産システム1、より詳しくは、ロボットセル生産システムに適用することができる。
【0024】
自動生産システム1は、図1に示すように、少なくとも、一のマニピュレータ10と、マニピュレータ10が動作する空間(コンフィギュレーション空間)CS内に配設された各種治具20、30と、マニピュレータ10を制御可能な制御装置40と、を少なくとも含んでいてよい。なお、図1では、マニピュレータ10の一連の動作が理解しやすいように、各部材の配置を概念的に示している。また、図1には一のマニピュレータ10を例示しているが、その動作状態が理解しやすいように、各動作状態におけるマニピュレータ本体11を複数図示している。自動生産システム1を構成する各部材の配置についてはここでは特に限定しない。
【0025】
マニピュレータ10は、図1に示すように、垂直多軸型ロボットに代表されるロボットアームで構成することができる。マニピュレータ10は、複数の関節部を含むマニピュレータ本体11と、マニピュレータ本体11の先端部に設けられエンドエフェクタ15を取り付け可能なエンドエフェクタ取り付け部12と、を含んでいてよい。また、エンドエフェクタ15のエンドエフェクタ取り付け部12に近接する位置には、カメラ13が取り付けられていてよい。
【0026】
エンドエフェクタ15は、マニピュレータ10のエンドエフェクタ取り付け部12に着脱自在であって、1個あるいは複数個の物体の一例としてのワークWを把持可能な部材で構成することができる。本実施の形態では、エンドエフェクタ15としてグリッパを例示している。なお、エンドエフェクタはグリッパ以外のもの、例えば多指ハンドや吸着タイプの把持部材等であってよい。
【0027】
また、エンドエフェクタ15として、異なる種類のものを複数個準備しておけば、ワークWの形状等に合わせてエンドエフェクタ15を切り替えて使用することができる。なお、その場合は第2の治具30はエンドエフェクタ15の数に合わせて複数個準備されているとよい。また、第2の治具30に安定して設置するために、エンドエフェクタ15の適所には設置金具15Aが設けられているとよい。この設置金具15Aには、第2の治具30に設置されたときに、エンドエフェクタ15とマニピュレータ10との間の連結状態を解除し、第2の治具30から離脱した際にはエンドエフェクタ15とマニピュレータ10との間を連結させる図示しないロック機構が設けられていてよい。
【0028】
ワークWは、自動生産システム1内で生産される製品の一部等を構成する物体であってよい。より具体的には、ワークWは、エンドエフェクタ15によるピックアップが可能な物体、例えば電子部品や食品、あるいはこれら電子部品や食品を少なくとも一時的に支持等するためのツールであってよい。当該ツールとしては、例えば食品が盛られる器や、電子部品が取り付けられる基板、食品を掬い取ることが可能な食品用スコップあるいはストレーナ等を挙げることができる。
【0029】
治具20、30は、マニピュレータ10が実行する複数のタスクに使用するワークWあるいはエンドエフェクタ15を支持するための部材であってよい。具体的には、ワークWが配設されあるいは支持される第1の治具20と、エンドエフェクタ15が配設されあるいは支持される第2の治具30とを含んでいてよい。第1及び第2の治具20、30は、ワークW又はエンドエフェクタ15の数や、マニピュレータ10が実行するタスクの内容に合わせて1乃至複数個準備されていてよい。
【0030】
ここでいうタスクとは、マニピュレータ10が実行する1つの動作を指すものとする。具体的には、エンドエフェクタ取り付け部12に特定のエンドエフェクタ15を取り付ける、エンドエフェクタ取り付け部12に取り付けられたエンドエフェクタ15を動作させて1乃至複数のワークWをピッキングする、エンドエフェクタ15を用いてピッキングしたワークWを第1の治具20上に置く、エンドエフェクタ15をエンドエフェクタ取り付け部12から取り外す、第1の治具20上のワークWをカメラ13で撮像する、といった動作を挙げることができる。なお、ここでいうタスクには、次に実行するタスクを実行するためのマニピュレータ10の移動動作は含まれないものとする。
【0031】
図2は、図1に示す制御装置のハードウェア構成の一例を示したブロック図である。制御装置40は、図2に示すように、マニピュレータ10を含む自動生産システム1の各種制御を実施可能な装置であって、例えば周知のコンピュータで構成することができる。周知のコンピュータで構成される制御装置40は、例えば、少なくとも1つのプロセッサ41と、メモリの一例としてのROM(Read Only Memory)42及びRAM(Random Access Memory)43と、ストレージ44と、入出力インタフェース45とを含んでいてよい。また、これらの構成は、内部バス46を介して相互に通信可能に接続されていてよい。
【0032】
プロセッサ41は、例えばCPU(Central Processing Unit)で構成することができ、各種プログラムを実行したり、各部を制御したりすることができるものであってよい。具体的に言えば、このプロセッサ41は、例えばROM42又はストレージ44に格納されている種々の制御プログラムを読み出し、RAM43を作業領域として当該プログラムを実行することができるものであってよい。プロセッサ41は、プログラムに従ってマニピュレータ10の動作制御や、マニピュレータ10の制御を実現するための各種の演算処理を行うことができるものであってよい。
【0033】
ROM42は、各種プログラム及び各種データを格納することができるものであってよい。また、RAM43は、作業領域として一時的にプログラム又はデータを記憶することができるものであってよい。
【0034】
ストレージ44は、HDD(Hard Disk Drive)やSSD(Solid State Drive)、フラッシュメモリといった記録媒体で構成することができる。このストレージ44には、オペレーティングシステムを含む各種プログラムや、マニピュレータ10を動作させるために必要な各種データが少なくとも一時的に格納されていてよい。
【0035】
入出力インタフェース45は、マニピュレータ10を含む各種構成要素に接続され、各種情報の送受信が可能なものであってよい。入出力インタフェース45は、例えばマニピュレータ10には、プロセッサ41からの制御信号を送信することができる。また、本実施の形態の入出力インタフェース45は、図2に示すように、マニピュレータ10に加えて、ディスプレイ47と、入力部48とにも接続されているものが例示している。また、この入出力インタフェース45は、図示を省略するが外部の記録媒体が接続可能なコネクタや、DVDドライブに代表される各種ドライブをさらに含んでいてもよい。さらに、入出力インタフェース45は、外部のネットワークを介してサーバ等の通信機器と通信するための通信インタフェースとしての機能を備えていてもよい。
【0036】
ディスプレイ47は、自動生産システム1を管理するユーザ等に種々の情報を提供することが可能なユーザインタフェースの一例である。このディスプレイ47には、液晶ディスプレイ(Liquid Crystal Display、LCD)や有機ELディスプレイ(Organic Electro-Luminescent Display、OELD)といった周知の表示装置を採用することができる。
【0037】
入力部48は、自動生産システム1を管理するユーザ等が所定の入力操作等を行うためのユーザインタフェースの一例である。本実施の形態の入力部48は、タッチパネルや、キーボード、ポインティングデバイスといった周知の入力装置を採用することができる。上述のユーザインタフェースにより、ユーザによる実行タスクの入力等が可能となる。
【0038】
自動生産システム1は、マニピュレータ10の周囲に、マニピュレータ10が実行する複数のタスクを実施するためのタスクスペースが配設されていてよい。このタスクスペースとしては、図1に示すように、例えばワークWをピッキングするためのピッキングスペースP1、ピッキングしたワークWを第1の治具20上に配置する配置スペースP2、マニピュレータ10に取り付けられたエンドエフェクタ15を第2の治具30上に配置するエンドエフェクタ配置スペースP3、第1の治具20上に配置されたワークWの状態をカメラ13で撮像しワークWの検査を行う検査スペースP4、及び、マニピュレータ10に取り付けられるエンドエフェクタ15が設置された第2の治具30からエンドエフェクタ15をピッキングするエンドエフェクタピッキングスペースP5を含んでいてよい。なお、本実施の形態では、上述したエンドエフェクタ配置スペースP3とエンドエフェクタピッキングスペースP5とは、同一の位置である。
【0039】
また、本実施の形態の自動生産システム1では、上述した各スペースP1~P5を順に移動し、当該スペースに対応する特定のタスクを実行することで、特定の製品の生産を実現できるものである。
【0040】
ここで、マニピュレータ10を用いて上述した複数のタスクを所定の順序で実行する場合は、マニピュレータ10の動作を決定する必要がある。マニピュレータ10の動作を決定する方法としては、例えば各タスクで用いられる治具やワーク、エンドエフェクタ等の配置を特定し、当該配置を踏まえて複数のタスクを実行するためのマニピュレータ10の姿勢や経路を特定する方法が挙げられる。しかし、このように一連の動作を実行するためのマニピュレータ10の姿勢等を一括で特定する場合、考慮すべき変数が多く、特定の際の計算負荷が増大する傾向がある。このような計算負荷の増大は、タスクの数に比例して増加する。
【0041】
ところで、一のタスクを実行する際のエンドエフェクタ15、あるいはエンドエフェクタ取り付け部12にエンドエフェクタ15が取り付けられていない場合におけるエンドエフェクタ取り付け部12の動作(以下、これを「基準動作」ともいう)は、当該タスクで使用する治具を基準としてみた場合には、治具の配置に関わらず概ね同一である。換言すると、エンドエフェクタ15部分あるいはエンドエフェクタ取り付け部12の動作のみであれば、マニピュレータ10に対する治具の配置がどのような配置であっても、治具を基準とする動作が概ね変化しないといえる。本実施の形態では、前述の点に鑑み、マニピュレータ10の動作のうち、タスク実行時におけるエンドエフェクタ15、あるいはエンドエフェクタ15が取り付けられたエンドエフェクタ取り付け部12の動作を、同一タスクで使用する治具を基準とした動作として取り扱う。そして、本実施の形態のものは、タスク実行時におけるエンドエフェクタ15あるいはエンドエフェクタ取り付け部12の動作を、マニピュレータ10の動作とは独立して取り扱うことで、一連の動作を実行する際のマニピュレータ10の動作決定に要する計算負荷を抑制するものである。
【0042】
以下、本実施の形態において用いられるタスクデータセットの構成について簡単に説明する。なお、タスクデータセットとは、一のタスクを実行するために必要なデータであって、当該タスクで使用される治具に関する情報と、当該タスクを実行する際のエンドエフェクタあるいはエンドエフェクタ取り付け部(以下、まとめて「エンドエフェクタ」ともいう)の動作を特定した基準動作データと、を少なくとも含むものである。これらの詳細については詳述する。
【0043】
図3は、自動生産システムにおいて第1の治具に把持されたワークをピッキングするタスクを実行した時のマニピュレータの動作の一例を示した概略説明図である。自動生産システム1のマニピュレータ10を用いて、特定のワークWをピッキングするタスクを実行する場合を、図3を参照して説明する。先ず、マニピュレータ10を動作させ、ワークWに対向する位置、例えばワークWから所定距離だけ離れた上方の特定の位置(後述する始点位置SP1に対応)までエンドエフェクタ15を移動させる。次に、ワークWをピッキングするタスクを開始する。詳しくは、マニピュレータ10を動作させてエンドエフェクタ15をワークWに近づく方向に、例えばエンドエフェクタ15としてのグリッパの先端がワークWの側面に対向する位置まで移動させる。そして、エンドエフェクタ15の先端を動作させてワークWを把持し、第1の治具20から離れる方向にワークWを移動させる。そして、エンドエフェクタ15で把持したワークWを所定の位置(後述する終点位置EP1に対応)まで移動させた段階で、ワークWをピッキングするタスクは完了する。
【0044】
図4は、図3に示すタスクを実行する際のエンドエフェクタの動作の一例を示した概略説明図である。本実施の形態の自動生産システム1の制御方法では、図4に示すように、上述したワークをピッキングするタスクの実行に要する種々の情報のうち、タスク実行時のエンドエフェクタ15の動作をマニピュレータ10の動作とは別のデータとし、且つ当該エンドエフェクタ15の動作を第1の治具20を基準とした座標で特定している。このように特定された基準動作データと、少なくともその位置情報を含む第1の治具20に関する情報とを関連付けて、タスクデータセットとしている。
【0045】
タスクデータセットに含まれる基準動作データは、予め設定された始点位置SP1から第1の治具20及び第1の治具20に支持されたワークWの少なくとも一方に対して所定の動作を実行した後、予め設定された終点位置EP1に到達するまでのエンドエフェクタ15の動作を第1の治具20を基準とした座標で特定したものである。詳しくは、この基準動作データは、少なくとも第1の治具20を基準とした座標で特定されるエンドエフェクタ15の動作軌跡(以下、「基準動作経路」と呼ぶ)に関する情報を含む。基準動作データ、具体的には基準動作経路を特定する際等に用いられる座標は、例えば第1の治具20の任意の位置を基準点O1とし、当該基準点O1に対する相対位置として特定される同時変換行列で表現することができる。また、基準動作経路は、始点位置SP1と終点位置EP1との間をつなぐ経路として特定することができる。また、基準動作データ内にはエンドエフェクタ15の把持動作に関する情報や、エンドエフェクタ15の姿勢に関する情報をさらに含み得る。
【0046】
上述したタスクデータセットを構成する基準動作データは、第1の治具20を基準とする座標で特定されている。すなわち、基準動作データは、タスクを実行するマニピュレータ10に対する位置には依然しない。加えて、当該基準動作データを作成するにあたって、マニピュレータ10の姿勢等に関する情報を必要としない。したがって、当該基準動作データは、比較的容易に生成することができる。すなわち、タスクデータセットの生成は、比較的簡単な計算で実現することができる。
【0047】
他方で、基準動作データに沿ってエンドエフェクタ15あるいはエンドエフェクタ取り付け部12を動作させるためには、マニピュレータ10の動作経路や姿勢は実質的に特定される。したがって、基準動作データを実現するためのマニピュレータ10の経路は、マニピュレータ10の治具に対する相対的な位置に関わらず、基準動作データに基づいて特定することができる。
【0048】
図3及び図4では、ワークWをピッキングするタスクに関して説明したが、他のタスクに関しても、同様にタスクデータセットが生成される。図5は、自動生産システムにおいてエンドエフェクタを第2の治具に設置するタスクを実行した時のマニピュレータの動作の一例を示した概略説明図である。自動生産システム1のマニピュレータ10において、エンドエフェクタ取り付け部12に取り付けられたエンドエフェクタ15を取り外す場合は、図5に示すように、先ずマニピュレータ10を動作させ、エンドエフェクタ15を設置する第2の治具30に対向する位置、より詳しくは、エンドエフェクタ15の設置金具15Aが第2の治具30に対向する位置(後述する始点位置SP2に対応)まで、エンドエフェクタ15を移動させる。次に、エンドエフェクタ15を第2の治具30に設置するタスクを開始する。詳しくは、マニピュレータ10を動作させてエンドエフェクタ15を第2の治具30に近づく方向に、エンドエフェクタ15の姿勢を維持しつつ移動させる。設置金具15Aが第2の治具30内に設置されると、エンドエフェクタ15とマニピュレータ10との間の連結状態が解除される。そして、マニピュレータ10の移動を継続させてエンドエフェクタ取り付け部12が所定の位置(後述する終点位置EP2に対応)に到達すると、エンドエフェクタ15とマニピュレータ10とが分離され、エンドエフェクタ15を第2の治具30に設置するタスクが完了する。
【0049】
図6は、図5に示すタスクを実行する際のエンドエフェクタの動作の一例を示した概略説明図である。上述したワークWをピッキングするタスクと同様に、エンドエフェクタ15を第2の治具30に設置するタスクにおいても、タスクデータセットが生成できる。具体的には、図6に示すように、少なくともその位置情報を含む第2の治具30に関する情報と、エンドエフェクタ15あるいはエンドエフェクタ取り付け部12の動作を第2の治具30を基準とした座標で特定した基準動作データとを含むタスクデータセットが生成できる。当該タスクに関する基準動作データは、少なくとも第2の治具30を基準とした座標で特定されるエンドエフェクタ15の基準動作経路に関する情報を含む。基準動作データ、具体的には基準動作経路を特定する際等に用いられる座標は、例えば第2の治具30の任意の位置を基準点O2とし、当該基準点O2に対する相対位置として特定される同時変換行列で表現することができる。また、基準動作経路は、始点位置SP2と終点位置EP2との間をつなぐ経路として特定することができる。また、基準動作データ内には、エンドエフェクタ15の姿勢に関する情報をさらに含み得る。
【0050】
本実施の形態に係る自動生産システム1の制御方法においては、上述したように、実行すべきタスク毎に、タスクデータセットを予め準備しておくことを含む。本実施の形態では、このように準備されたタスクデータセットを利用して自動生産システムの制御を実行することで、計算負荷を軽減することができる。以下、自動生産システムの具体的な制御方法について例示的に説明する。
【0051】
以下に説明する自動生産システムの制御方法は、図1に示したような自動生産システム1において実施することができる。このとき、自動生産システム1に含まれるマニピュレータ10及び各種の治具は、その位置が既に決定しているものとする。なお、以下に説明する自動生産システムの制御方法は、制御装置40を構成するコンピュータの少なくとも1つのプロセッサ41に所定の動作を実行させる制御プログラムを実行することにより実施されるものであってよい。この制御プログラムは、自動生産システムの制御プログラムとして、ストレージ44等の記録手段に格納され、あるいはコンピュータ読取可能な記録媒体の形態で提供され得る。
【0052】
本実施の形態に係る自動生産システムの制御方法は、複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタ15を含む一のマニピュレータ10を含む自動生産システム1において、少なくとも、複数のタスクに対応し、物体を支持可能な治具20、30に関する情報と、予め設定された始点位置SP1、SP2から治具20、30及び治具20、30に支持されたワークWあるいはエンドエフェクタ15の少なくとも一方に対して所定の動作を実行した後、予め設定された終点位置EP1、EP2に到達するまでのエンドエフェクタ15の動作を、治具20、30を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程(S11)と、マニピュレータ10を複数のタスクデータセット内の基準動作データに基づいて所定の順序で動作させるために、複数のタスクデータセットのうちの一のタスクデータセット内の終点位置から一のタスクデータセットの次に実行される他のタスクデータセット内の始点位置へエンドエフェクタ15を移動させるマニピュレータの動作経路を示す経路データを特定する工程(S13)と、マニピュレータ10を、複数のタスクデータセット内の基準動作データと経路データに基づき、所定の順序に沿って動作させる工程(S14)と、を含むものである。以下、詳細に説明する。
【0053】
図7は、本開示の一実施の形態に係る自動生産システムの制御方法の一例を示したフローチャートである。本実施の形態に係る自動生産システムの制御方法は、図7に示すように、自動生産システム1の動作を開始すると、先ず、マニピュレータ10が実行するタスクデータセットを特定する(工程S11)。
【0054】
制御装置40では、実行するタスクデータセットの特定を行うために、自動生産システム1が実行するタスクのタスクデータセットを事前に生成する。タスクデータセットは、例えば、各タスクに含まれる治具の位置情報を取得し、当該タスクを実行する際のエンドエフェクタ15あるいはエンドエフェクタ取り付け部12の基準動作経路を、取得した治具の位置情報を基準とした座標で特定した基準動作データを生成し、治具の位置情報と基準動作データを関連付けることで生成することができる。基準動作データの生成に際しては、オペレータがマニピュレータ10を直接動作させることでその経路等を教示するダイレクトティーチングや、ティーチングペンダントを用いた方法、あるいはオフラインティーチングといった、周知のロボットティーチングの手法を採用することができる。
【0055】
事前に生成されたタスクデータセットから、マニピュレータ10が実行するタスクデータセットを特定すると、次に、特定された実行するタスクデータセットの実行順序を取得する(工程S12)。実行するタスクの内容やタスクの実行順序等は、例えば自動生産システム1の管理者等が入力部48を介して入力することで特定される。
【0056】
実行するタスクデータセット及びその実行順序が取得されると、制御装置40では、次に、各タスクデータセット間の経路データを特定する(工程S13)。ここで、本実施の形態では、マニピュレータ10に対する各タスクに含まれる治具の位置は事前に確定している。したがって、制御装置40は、タスクデータセットに含まれる治具の位置情報から、マニピュレータ10に対する各タスクに含まれるエンドエフェクタ15の始点位置及び終点位置を特定することができる。これにより、制御装置40は、経路データとして、少なくとも、一のタスクデータセットの終点位置から、次に実行する他のタスクデータセットの始点位置の間の経路を特定すれば、経路データを特定できる。
【0057】
工程S13において特定される経路データは、上述した実行するタスク間の移動経路だけでなく、マニピュレータ10のホームポジションからはじめに実行するタスクのタスクデータセット内の始点位置の間の経路、及び、最後に実行するタスクのタスクデータセット内の終点位置からマニピュレータ10のホームポジションの間の経路を含み得る。また、タスクデータセット内の基準位置データにエンドエフェクタ15の姿勢情報が含まれている場合は、制御装置40は、マニピュレータ取り付け部12が基準位置データの始点位置あるいは終点位置におけるエンドエフェクタ15の姿勢に合うように、マニピュレータ10の姿勢を制御するとよい。
【0058】
工程S13では、上述した通り、一のタスクのタスクデータセット内の終点位置から一のタスクデータセットの次に実行される他のタスクのタスクデータセット内の始点位置へ、エンドエフェクタを移動させる経路を特定するが、この際、上述した2つの位置間を移動するマニピュレータ10の動作時間が最短となる動作経路を特定すると好ましい。したがって、工程S13は、上述した最短の動作経路を示す経路データを算出する工程を含むことができる。このように、動作時間が最短となる経路を特定すれば、自動生産システム1により生産される製品の生産効率を向上させることができる。
【0059】
実行するタスクデータセット及びその実行順序と、経路データとが特定されると、制御装置40は、これらのデータに基づいてマニピュレータ10に一連の動作を実行させるための制御信号を生成し、マニピュレータ10の動作を実行する(工程S14)。ここで、マニピュレータ10に一連の動作を実行させるための制御信号は、実行するタスクデータセット内の基準動作データと、経路データとに基づいて生成することができる。
【0060】
以上説明した通り、本実施の形態に係る自動生産システムの制御方法においては、マニピュレータ10が実行する一連の動作を特定するに際し、基準動作データ及び経路データを別々に準備し、これらを組み合わせることでマニピュレータ10に一連の動作を実行させる制御信号を生成している。これにより、例えばマニピュレータ10が実行するタスクが多い場合であっても、計算作業はタスク実行時の動作とタスク間移動動作とを別々で実行するため、一連の動作の特定に際し計算負荷が増大することがない。
【0061】
<自動生産システムのセットアップ方法>
上述した本実施の形態に係る自動生産システムの制御方法では、マニピュレータ10に対する治具の位置が確定した状態における制御手法について説明を行った。他方、マニピュレータ10を含むセル生産システムにおいては、マニピュレータ10が実行するタスクの配置、より具体的には各タスクで使用される治具の配置によって、マニピュレータ10の動作時間が変動し、生産効率が大きく異なる。したがって、自動生産システムにおける治具等の配置は、生産効率を高める上で重要である。
【0062】
ところで、マニピュレータ10が短い動作時間で一連の動作を実行可能な治具配置を決定する方法として、最適化問題を利用する方法が想定できる。しかし、特にマニピュレータ10が実行すべきタスクの数が多い場合は、最適化問題において想定すべき変数が多くなり、いわゆる組み合わせ爆発が生じて有限時間内での最適解の発見が困難となり得る。そこで、本実施の形態においては、上述した組み合わせ爆発を回避し治具等の配置の最適解及び最適なマニピュレータの経路計画を比較的短時間で得ることが可能な、自動生産システムのセットアップ方法の一例を説明する。
【0063】
以下に説明する自動生産システムのセットアップ方法は、図1に示したような一のマニピュレータ10が複数のタスクを実行する自動生産システム1において実施することができる。なお、以下に説明する自動生産システムのセットアップ方法は、自動生産システム1の制御装置40を構成するコンピュータの少なくとも1つのプロセッサ41に所定の動作を実行させる制御プログラムを実行することにより実施されるものであってよい。この制御プログラムは、自動生産システムの制御プログラムとして、ストレージ44等の記録手段に格納され、あるいはコンピュータ読取可能な記録媒体の形態で提供され得る。
【0064】
本実施の形態に係る自動生産システムの制御方法は、複数のタスクを所定の順序で実行可能な、先端にエンドエフェクタ15を含み得る一のマニピュレータ10を含む自動生産システム1において、少なくとも、複数のタスクに対応し、ワークWあるいはエンドエフェクタ15を支持可能な治具20、30に関する情報と、予め設定された始点位置SP1、SP2から治具20、30及び治具20、30に支持されたワークWあるいはエンドエフェクタ15の少なくとも一方に対して所定の動作を実行した後、予め設定された終点位置EP1、EP2に到達するまでのエンドエフェクタ15の動作を治具20、30を基準とした座標で特定した基準動作データと、を含む複数のタスクデータセットを特定する工程(S22)と、複数のタスクデータセットのうち、少なくとも治具20、30の3次元形状を特定する工程(S23)と、マニピュレータを含む空間内の任意の位置に複数のタスクデータセットに含まれる治具20、30を配置した状態でマニピュレータ10が複数のタスクを所定の順序で実行したときのマニピュレータ10の総動作時間を、治具20、30の配置を異ならせつつ繰り返し算出する工程(S24~S27)と、繰り返し算出された複数の総動作時間を比較し、総動作時間が最も短いときの治具20、30の配置を特定する工程(S28)と、特定されたタスクデータセットの配置に合わせて治具20、30を設置する工程(S29)と、を含むものである。以下、詳細に説明する。
【0065】
図8は、本開示の一実施の形態に係る自動生産システムのセットアップ方法の一例を示したフローチャートである。本実施の形態に係る自動生産システムのセットアップ方法は、仮想空間を利用して自動生産システム内の各構成要素の配置を最適化した後、各構成要素、具体的には治具をマニピュレータ10の周囲の実空間内に配置することでセットアップを行うものであってよい。これに関連して、自動生産システム1の制御装置40は、シミュレータとしての機能を含んでいてもよい。
【0066】
本実施の形態において、制御装置40は、図8に示すように、はじめにマニピュレータ10の3次元空間内の占有領域を計算する(工程S21)。
【0067】
図9は、マニピュレータの占有空間の特定手法を模式的に示した説明図である。工程S21において、制御装置40は、マニピュレータ10の占有する領域をボクセルを用いて特定する。具体的には、図示しないカメラ等でマニピュレータ10を含む画像を撮像し、画像を格子状に分割し、各格子点のうち、マニピュレータ10を含む占有格子点OPを計算し、マニピュレータ10をボクセル化することで、マニピュレータ10の占有領域(占有ボクセル)を計算する。この占有ボクセルは、コンフィギュレーション空間CS内におけるマニピュレータ10の占有領域であるため、後述するタスクデータセットの配置に際しては、当該占有ボクセルに重なる位置には治具を配置しないようにするとよい。これにより、マニピュレータ10と治具等との意図しない接触を回避することができる。また、特定された占有ボクセルは、ディスプレイ47等に表示するとよい。
【0068】
次に、マニピュレータ10で実行するタスクデータセットを特定する(工程S22)。本実施の形態では、n個のタスクデータセットを実行するものとする。また、実行するタスクデータセットの特定に合わせて、タスクデータセットの実行順序も特定しておくと良い。
【0069】
次に、実行する複数のタスクデータセットのそれぞれに含まれる1乃至複数の治具の3次元データを特定し、マニピュレータ10等と共にディスプレイ47に表示する(工程S23)。そして、治具の配置及びマニピュレータ10の経路を特定するために、マニピュレータ10の総動作時間を治具の配置を異ならせつつ繰り返し算出する工程を開始する。
【0070】
上述した総動作時間の算出工程は、以下の通りであってよい。すなわち、先ず、マニピュレータ10を含む空間、詳しくはマニピュレータ10のコンフィギュレーション空間CS内の任意の位置に複数のタスクデータセットに含まれる各治具をランダムに配置する(工程S24)。なお、本実施の形態では治具をランダムに配置しているが、特定のルールに基づいて配置してもよいし、機械学習等の推論手段を用いて当該配置を決定してもよい。
【0071】
次に、ランダムに配置された治具の位置に基づいて、マニピュレータ10の経路データを特定する(工程S25)。この経路データの特定は、例えば、複数のタスクデータセットのうちの一のタスクのタスクデータセット内の終点位置から、一のタスクの次に実行される他のタスクのタスクデータセット内の始点位置へ、エンドエフェクタ15を移動させるマニピュレータ10の動作時間が最短となる動作経路を示す経路データを、複数のタスクデータセット同士の間の全てについて算出することを含む。ここで算出される、経路データには、マニピュレータ10のホームポジションからはじめに実行するタスクのタスクデータセット内の始点位置へ移動する経路、及び、最後に実行するタスクのタスクデータセット内の終点位置からマニピュレータ10のホームポジションへ移動する際の経路のデータを含む。
【0072】
次に、工程S25で算出された経路データと、工程S22で特定された複数のタスクデータセット内の基準動作データとに基づいてマニピュレータ10を動作させた場合の動作時間の合計を算出して、マニピュレータ10の総動作時間を特定する(工程S26)。これにより、工程S24で配置された治具の配置におけるマニピュレータ10の動作経路と、当該動作に要する総動作時間を特定することができる。
【0073】
総動作時間を特定すると、前述した工程S24~S26を、治具配置を変更して繰り返し行うか否かを判断する(工程S27)。工程S24~S26を繰り返し行うか否かは、予め設定した条件に基づいて判断することができる。予め設定した条件としては、例えば、予め設定された繰り返し回数に到達したか否か、あるいは工程S26にて繰り返し算出される総動作時間が過去に算出された最も短い総動作時間よりも長い場合が所定回数連続したか否か等を挙げることができる。
【0074】
一連の総動作時間の算出動作を終了すると(工程S27でYes)、これまでに算出された総動作時間のうち、最短の総動作時間が算出されたときの経路データ及びタスクデータセット(より詳しくはタスクデータセットに含まれる治具)の配置を特定する(工程S28)。そして、特定された当該治具の配置を最適な配置とし、特定された経路データ及びタスクデータセット内の基準動作データとを組み合わせた経路を、マニピュレータ10の最適な経路計画と特定する。
【0075】
最後に、最適な配置と特定された治具の配置に合致した実空間上の位置に、対応する治具を設置する(工程S29)。これにより、自動生産システム1のセットアップが完了する。
【0076】
以上説明した通り、本実施の形態に係る自動生産システムのセットアップ方法によれば、タスク実行時の経路と、タスク間の移動のための経路とをそれぞれ分割して特定するため、総動作時間の短い最適な治具配置及びマニピュレータの動作経路を、計算負荷を抑えつつ特定することができる。したがって、最適な治具配置及びマニピュレータ10の動作経路を、組み合わせ爆発を回避しつつ短時間で特定することができる。
【0077】
上述したセットアップ方法に含まれる最適化問題を定式化すると、以下の式(1)のように示すことができる。なお、ここでは、タスク実行のために必要な治具i∈{1,2,・・・,n}とそれに付随する基本動作i∈{1,2,・・・,n}が与えられている状況を仮定する。ここで。基本動作iはタスクデータセットiにおけるエンドエフェクタの経路{T(u)∈R4×4 |0≦u<1}を治具座標系からみた同時変換行列で表現したものである。また、タスクデータセットiの代表位置は、p∈Rとおく。
【数1】

ここで、
【数2】

であり、θij(S)∈Rはマニピュレータの関節角度、mはマニピュレータの自由度、finv(T)はエンドエフェクタの位置姿勢を表す同時変換行列Tから逆運動学によって関節角度を求める関数である。評価関数Jはタスク実行時間とすることができる。
【0078】
図10は、本実施の形態に係る自動生産システムのセットアップ方法を実現するための最適化計算アルゴリズムの一例を疑似コードで示したものである。図10において、Δ∈R6×1は、最適化計算ループにおいて治具の各方向の移動量と回転量からなるベクトルを指す。kは、最適化計算ループにおける移動と回転の種類の数を指す。nは、治具の数を指す。s∈R6×1は、タスクデータセットiの初期位置姿勢のベクトルを指す。rand(min,max)は、minとmaxの2つの値を入力とする関数を指し、入力に使用されたminとmaxの値の範囲から無作為にとってきた値を出力する。xl,min(x1,min、x2,min、x3,min)は、x、y、zそれぞれのランダムに決定される初期配置の下限値である。xl,max(x1,max、x2,max、x3,max)は、x、y、zのランダムに決定される初期配置の上限値である。θl,min(θ1,min、θ2,min、θ3,min)は、それぞれθ、θ、θのランダムに決定される初期配置の各回転方向の下限値である。θl,max(θ1,max、θ2,max、θ3,max)はそれぞれθ、θ、θのランダムに決定される初期配置の上限値である。f∈R4×4は、同時変換行列を計算する関数であって、入力にΔやsを取り、出力は同時変換行列である。Vi,0∈R4×Vnumは、i番目の治具座標系から見た治具iのボクセル表現の各ボクセル中心位置(同時座標)が保存された行列であって、Vnumはボクセル数である。また、i番目の治具座標系の原点はVi,0の重心と一致する。V∈R4×Vnumは、基準座標系からみた治具iのボクセル表現の各ボクセル中心位置(同時座標)が保存された行列である。f∈Rm×4は、Vをコンフィギュレーション空間に変換させるための関数であって、入力はVを取り、出力はCである。C∈Rm×Cnumは、コンフィギュレーション空間において治具iが占有する位置が保存された行列であって、Cnumはボクセル化した治具に衝突するマニピュレータの関節角度の組み合わせの数であり、mはマニピュレータの関節の数である。θi→i+1∈Rm×Pnumは、コンフィギュレーション空間におけるマニピュレータの経路であって、Pnumは経路点の数である。Jは、マニピュレータのタスク実行時間を指す。T∈R4×4は、エンドエフェクタの位置姿勢を表す同時変換行列を指す。finvは、エンドエフェクタの位置姿勢を表す同時変換行列から逆運動学で各関節角度を求める関数であって、入力はT(1)とTi+1(0)を取り、出力はθ(0)とθ(1)になる。OptimizePathは、タスクデータセットiとタスクデータセットi+1を接続するマニピュレータの最適経路と動作時間を計算する関数であって、入力はf(T(1)),f(Ti+1(0)),及びC,・・・,Cを取り、出力はコンフィギュレーション空間におけるマニピュレータの経路と動作時間である。t’i,min、t は、タスクデータセットiとタスクデータセットi+1を接続する最適経路におけるマニピュレータの動作時間である。V’∈R4×Vnumは、配置されているVをΔだけ移動させたものである。Collisionは、各タスクデータセットの衝突判定のための関数であって、入力はV,・・・,V’,・・・,Vをとり、出力はタスクデータセットが衝突するときは「1」,衝突しないときは「0」になる。
【0079】
上述した本実施の形態に係る自動生産システムの制御方法及びセットアップ方法は、自動生産システム1の制御装置40にて一連の制御あるいはセットアップを実行したが、少なくともその一部を外部のサーバやデータベースによって実現することもできる。
【0080】
本開示は上述した実施の形態に限定されるものではなく、本開示の主旨を逸脱しない範囲内で種々変更して実施することが可能である。そして、それらはすべて、本開示の技術思想に含まれるものである。
【符号の説明】
【0081】
1 自動生産システム
10 マニピュレータ
12 エンドエフェクタ取り付け部
15 エンドエフェクタ
20 第1の治具
30 第2の治具
40 制御装置
41 プロセッサ
W ワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10