(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-06-03
(45)【発行日】2025-06-11
(54)【発明の名称】軌道計画装置及び軌道計画方法
(51)【国際特許分類】
B25J 13/00 20060101AFI20250604BHJP
B25J 9/22 20060101ALI20250604BHJP
G05B 19/4093 20060101ALI20250604BHJP
【FI】
B25J13/00 Z
B25J9/22 A
G05B19/4093 E
(21)【出願番号】P 2022030023
(22)【出願日】2022-02-28
【審査請求日】2024-06-12
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】林 直宏
(72)【発明者】
【氏名】中須 信昭
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2021-003779(JP,A)
【文献】特開平09-034524(JP,A)
【文献】特開2010-055498(JP,A)
【文献】特開2021-065939(JP,A)
【文献】特開2017-131973(JP,A)
【文献】特開2020-049554(JP,A)
【文献】特許第6266104(JP,B2)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/18-19/416
G05B 19/42-19/427
(57)【特許請求の範囲】
【請求項1】
演算部と、記憶部と、を有する軌道計画装置であって、
前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、
を保持し、
前記順序情報は、作業の順序を交換可能な複数の前記部品からなる半順序グループを特定する情報を含み、
前記演算部は、
前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当て、
前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、
前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、
前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択
し、
前記複数の軌道計画は、前記半順序グループに属する前記複数の部品の作業の順序を変更することによって生成された複数の軌道計画を含むことを特徴とする軌道計画装置。
【請求項2】
請求項1に記載の軌道計画装置であって、
前記複数の軌道計画は、前記干渉が発生する二つのロボットのうち一方のロボットが他方のロボットを迂回することによって前記干渉を回避する軌道計画を含むことを特徴とする軌道計画装置。
【請求項3】
請求項2に記載の軌道計画装置であって、
前記軌道計画は、時刻ごとの前記ロボットの経由点の姿勢を示す情報を含み、
前記演算部は、前記一方のロボットの前記経由点のうち、前記他方のロボットとの干渉が発生する前記経由点の一つ前の時刻の前記経由点からの移動方向を、前記一方のロボットの移動可能範囲内であって、前記他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、前記干渉を回避する軌道計画を生成することを特徴とする軌道計画装置。
【請求項4】
請求項3に記載の軌道計画装置であって、
前記演算部は、前記他方のロボットとの干渉が発生する前記経由点の一つ前の時刻の前記経由点からの移動方向を変更しても、前記他方のロボットとの干渉が解消されない場合、さらに前の時刻の前記経由点からの移動方向を、前記一方のロボットの移動可能範囲内であって、前記他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、前記干渉を回避する軌道計画を生成することを特徴とする軌道計画装置。
【請求項5】
請求項2に記載の軌道計画装置であって、
前記複数の軌道計画は、前記一方のロボットが減速することによって前記干渉を回避する軌道計画、及び、前記一方のロボットが一時停止することによって前記干渉を回避する軌道計画の少なくともいずれかをさらに含むことを特徴とする軌道計画装置。
【請求項6】
演算部と、記憶部と、を有する軌道計画装置であって、
前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、を保持し、
前記演算部は、
前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当て、
前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、
前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、
前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択し、
前記複数の軌道計画は、前記干渉が発生する二つのロボットのうち一方のロボットが他方のロボットを迂回することによって前記干渉を回避する軌道計画を含み、
前記一方のロボットは、前記干渉が発生する二つのロボットのうち、前記干渉が発生する時刻に行われている前記部品に対する作業の開始時刻が遅い方のロボットであることを特徴とする軌道計画装置。
【請求項7】
演算部と、記憶部と、を有する軌道計画装置であって、
前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、を保持し、
前記順序情報は、作業の順序を交換可能な複数の前記部品からなる半順序グループを特定する情報を含み、
前記演算部は、
前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当て、
前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、
前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、
前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択し、
前記複数の軌道計画は、前記干渉が発生する二つのロボットのうち一方のロボットが他方のロボットを迂回することによって前記干渉を回避する軌道計画を含み、
前記干渉が発生する二つのロボットにおいて、前記干渉が発生する時刻に行われている作業の対象の前記部品が同一の前記半順序グループに属し、かつ、前記作業の開始時刻が同一である場合、前記一方のロボットは、前記干渉が発生する二つのロボットのうち、前記干渉が発生する時刻に行われている前記作業の対象の前記部品との距離が近い方のロボットであることを特徴とする軌道計画装置。
【請求項8】
請求項1に記載の軌道計画装置であって、
前記複数の軌道計画は、前記複数のロボットの各々への前記部品に対する作業の割り当てが異なる複数の軌道計画を含むことを特徴とする軌道計画装置。
【請求項9】
請求項1に記載の軌道計画装置であって、
前記演算部は、前記複数の軌道計画のうち、前記計算された作業時間が最短の軌道計画を選択することを特徴とする軌道計画装置。
【請求項10】
請求項1に記載の軌道計画装置であって、
表示装置に接続され、
前記演算部は、前記複数の軌道計画に基づく前記ロボットの動作の少なくともいずれかを表示するためのデータを前記表示装置に送信することを特徴とする軌道計画装置。
【請求項11】
請求項10に記載の軌道計画装置であって、
前記演算部は、前記複数の軌道計画のうち、前記計算された作業時間が最短の軌道計画に基づく前記ロボットの動作、又は、ユーザによって選択された軌道計画に基づく前記ロボットの動作の少なくともいずれかを表示するためのデータを前記表示装置に送信することを特徴とする軌道計画装置。
【請求項12】
請求項10に記載の軌道計画装置であって、
ユーザによる操作を受け付ける操作機器に接続され、
前記演算部は、前記操作機器を介して前記ユーザから入力された情報に基づいて、前記軌道計画を変更することを特徴とする軌道計画装置。
【請求項13】
演算部と、記憶部と、を有する軌道計画装置が実行する軌道計画方法であって、
前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、を保持し、
前記順序情報は、作業の順序を交換可能な複数の前記部品からなる半順序グループを特定する情報を含み、
前記軌道計画方法は、
前記演算部が、前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当てる手順と、
前記演算部が、前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成する手順と、
前記演算部が、前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択する手順と、を含み、
前記複数の軌道計画は、前記半順序グループに属する前記複数の部品の作業の順序を変更することによって生成された複数の軌道計画を含むことを特徴とする軌道計画方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数ロボットの軌道計画技術に関する。
【背景技術】
【0002】
生産環境変動に即応するフレキシブルラインでは、ロボットへの作業割当や、複数ロボットが相互干渉しない軌道を動的に変更することが求められている。本技術分野の背景技術として、特開2019-193975号公報(特許文献1)がある。この公報には、「実環境で複数台のロボットアームを動作させる時、その通過領域が互いに交差する可能性を著しく低減できるようロボット軌道生成を行う。複数のロボットアームの軌道の始点および終点を含む動作指令リストを生成する(軌道定義データ生成行程)。動作指令リストに基づき各々の軌道生成を行う順序を決定する(生成順序決定行程)。動作指令リスト中の特定のロボットアームに関し、始点および終点に基づき、障害物メモリに他のロボットアームの軌道生成に関して登録された障害物空間を回避するよう、軌道生成を行う(軌道生成行程)。生成軌道で当該ロボットアームを動作させた際、当該アームの躯体によって掃引される掃引空間を、他のロボットアームが回避すべき障害物空間として障害物メモリに追加する(障害物登録行程)。」と記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、複数のロボットアームが同作業エリアで動作する環境で、同タイミングに作業する他ロボットの移動領域全てを迂回するように軌道を生成することが記載されている。しかし、特許文献1の手法では、他ロボットの時刻ごとの位置を考慮せず遠回りする軌道を生成するため、作業時間が伸び、生産性が低下する。また、軌道で実現する作業の前提となる、複数ロボットに対する部品割当や組立順序の作業時間が短くなる最適な組合せは考慮されていない。
【0005】
そこで本発明は、生産計画変更に応じて、複数の干渉回避軌道の中から、作業時間を考慮して最適なロボット軌道を選択することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、演算部と、記憶部と、を有する軌道計画装置であって、前記記憶部は、複数の部品に対する作業の順序を示す順序情報と、前記複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報と、複数のロボットの構造を示す構造情報と、を保持し、前記順序情報は、作業の順序を交換可能な複数の前記部品からなる半順序グループを特定する情報を含み、前記演算部は、前記順序情報が示す順序に従って前記複数の部品に対する作業が実行されるように、前記複数の部品に対する作業を複数のロボットに割り当て、前記複数のロボットの各々について、前記目標位置情報及び前記構造情報に基づいて、前記割り当てられた部品に対する作業を行うための軌道計画を生成し、前記複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し、前記複数の軌道計画について計算された作業時間の長さに基づいて、前記複数の軌道計画のいずれかを選択し、前記複数の軌道計画は、前記半順序グループに属する前記複数の部品の作業の順序を変更することによって生成された複数の軌道計画を含むことを特徴とする。
【発明の効果】
【0007】
本発明の一態様によれば、ロボット間の干渉を回避し、作業時間の短縮と教示工数削減を実現する軌道計画を生成することができる。
【0008】
上記の以外の課題、構成、及び効果は、以下の実施形態の説明によって明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施例の軌道計画装置の全体構成の例を示すブロック図である。
【
図2】本発明の実施例の軌道計画装置における軌道生成処理の流れの例を示すフローチャートである。
【
図3】本発明の実施例の作業割当部の処理の流れの例を示すフローチャートである。
【
図4】本発明の実施例の組立半順序情報記憶部から取得される組立半順序情報の例を示す説明図である。
【
図5】本発明の実施例の作業優先度設定部の処理の流れの例を示すフローチャートである。
【
図6】本発明の実施例の部品別ロボット目標位置情報記憶部から取得される部品別ロボット目標位置情報の例を示す説明図である。
【
図7】本発明の実施例の作業優先度設定部による各部品の作業開始時刻の算出結果の例の説明図である。
【
図8】本発明の実施例の優先度付きタイプ別軌道計画情報の例を示す説明図である。
【
図9】本発明の実施例の回避方法別軌道計画部の処理の流れの例を示すフローチャートである。
【
図10】本発明の実施例の回避方法別軌道計画部による他ロボットの軌道計画の切り分けの例を示す説明図である。
【
図11】本発明の実施例の回避方法別軌道計画部が干渉回避軌道を生成する処理の詳細の例を示すフローチャートである。
【
図12】本発明の実施例の回避方法別軌道計画部が生成する到達位置の例を示す説明図である。
【
図13】本発明の実施例の動作選択部の処理の流れの例を示すフローチャートである。
【
図14】本発明の実施例の画面表示装置が表示する画面の例を示す説明図である。
【発明を実施するための形態】
【0010】
以下、本発明に係る軌道計画装置について、図面を参照しつつ、実施形態に基づいて説明する。
【0011】
図1は、本発明の実施例における軌道計画装置の全体構成の例を示すブロック図である。
【0012】
図1に示すように、軌道計画装置10は、作業割当部20と、作業優先度設定部30と、回避方法別軌道計画部40と、作業割当組立順序変更部50と、動作選択部60と、生成軌道表示部70と、通信部80と、セル構造情報記憶部90と、組立半順序情報記憶部100と、部品別ロボット目標位置情報記憶部110と、優先度付きタイプ別軌道計画情報記憶部120と、軌道計画情報記憶部130とを備える。
【0013】
作業割当部20は、セル構造情報と、部品別ロボット目標位置情報と、交換可能な組立順序を表現した組立半順序情報と、に基づいて、候補案としての作業割当情報を生成する。作業優先度設定部30は、複数のロボットが同時に作業する場合、回避するロボットの優先度を、組立半順序情報から判別し、ロボット同士の干渉を考慮しない優先度付き初期の軌道計画情報を生成する。回避方法別軌道計画部40は、セル構造情報と部品別ロボット目標位置情報と組立半順情報とに基づいて、回避方法ごとの候補軌道計画を生成する。
【0014】
作業割当組立順序変更部50は、組立半順序情報に基づいてロボットへの作業割当及び組立順序のパターンを変更する。動作選択部60は、生成された各回避方法の軌道計画と作業割当と組立順序変更のパターンから、最短の作業時間になるパターンを選択する。生成軌道表示部70は、生成した軌道を画面に表示する。通信部80は、画面表示装置13及び画面操作機器14と接続する。
【0015】
セル構造情報記憶部90には、ラインの複腕ロボットセルのモデルが記述されたセル構造情報が記憶される。組立半順序情報記憶部100には、組立半順序と呼ぶ製品のいずれかの部品どちらを先に組み付けてもよいという情報と、各部品の組立順序番号と、各部品を担当するロボット名が記述された情報情報と、が記憶される。部品別ロボット目標位置情報記憶部110には、各部品を操作する時のロボット目標位置を表す部品別ロボット目標位置情報が記憶される。優先度付きタイプ別軌道計画情報記憶部120には、ロボット同士の干渉を考慮せず生成した軌道または回避方法ごとの優先度付きタイプ別軌道計画情報が記憶される。軌道計画情報記憶部130には、選択された作業割当および組立順序で使用される軌道計画が保存される軌道計画情報が記憶される。
【0016】
軌道計画装置10は、例えば演算部11、記憶部12および通信部80を有する計算機によって実現されてもよい。この例において、演算部11は、記憶部12に格納されたプログラムを実行するプロセッサである。作業割当部20、作業優先度設定部30、回避方法別軌道計画部40、作業割当組立順序変更部50、動作選択部60および生成軌道表示部70は、演算部11がプログラムを実行することによって実現される。
【0017】
また、記憶部12は、例えばDRAM等の主記憶装置及びハードディスクドライブ又はソリッドステートドライブ等の補助記憶装置を含み、演算部11が実行するプログラム及び演算部11の処理に使用されるデータ等を格納する。セル構造情報記憶部90、組立半順序情報記憶部100、部品別ロボット目標位置情報記憶部110、優先度付きタイプ別軌道計画情報記憶部120および軌道計画情報記憶部130は、記憶部12内の記憶領域である。
【0018】
画面表示装置13は、軌道計画装置10を実現する計算機に含まれる装置であってもよいし、軌道計画装置10を実現する計算機と通信する別の計算機に含まれる装置であってもよい。画面操作機器14は、例えばキーボード、マウス又はタッチセンサ等、情報を入力するための機器を含む。画面操作機器14は、軌道計画装置10を実現する計算機に含まれる装置であってもよいし、軌道計画装置10を実現する計算機と通信する別の計算機に含まれる装置であってもよい。また、画面操作機器14は、例えばいわゆるタッチパネルのように、画面表示装置13と一体化されていてもよい。
【0019】
図2は、本発明の実施例の軌道計画装置10における軌道生成処理の流れの例を示すフローチャートである。以下、
図1および
図2を参照しながら、軌道計画装置10における処理の流れについて、説明する。
【0020】
<作業割当部>
図2に示す第1の手順では、作業割当部20が、作業対象ロボットが記述されたセル構造情報と組立対象部品が記述された組立半順序情報内の組立半順序の情報から、各部品を担当するロボットを組立半順序情報に出力する(ステップS100)。
【0021】
作業割当部20の処理によって、各ロボットが作業担当する部品割当を初期案として自動生成できる。そのため、ユーザの作業割当設計工数を低減することができる。
【0022】
図3は、本発明の実施例の作業割当部20の処理の流れの例を示すフローチャートである。
【0023】
図3を参照して、
図2のステップS100における作業割当処理の詳細を説明する。
図3に示すように、作業割当部20は、事前にセル構造情報記憶部90に記憶されたセル構造情報と、組立半順序情報記憶部100に記憶された組立半順序情報とを基に、作業割当情報を生成する。
【0024】
まず、ステップS101で、作業割当部20が、セル構造情報記憶部90から、セル構造情報を取得する。
【0025】
ここで、セル構造情報の形式は限定されないが、ここでは、一例として、セルを構成するロボット、台座および治具等の、部品構成、位置および3次元ポリゴン情報(STL、DAE形式など)を含む電子図面情報(3DCADなど)をセル構造情報として用いた例を説明する。
【0026】
次に、ステップS102で、作業割当部20が、組立半順序情報記憶部100から、組立半順序情報を取得する。
【0027】
図4は、本発明の実施例の組立半順序情報記憶部100から取得される組立半順序情報の例を示す説明図である。
【0028】
組立半順序情報の一例である組立半順序情報テーブル100aは、部品名欄100bと、組立半順序部品グループ番号欄100cと、組立順序番号欄100dと、作業割当ロボット名欄100eと、を有する。
【0029】
部品名欄100bには、組立対象部品の部品名を識別する情報が格納される。
【0030】
組立半順序部品グループ番号欄100cには、部品名欄100bで特定される部品が属する組立半順序部品グループ番号を特定する情報が格納される。
【0031】
組立順序番号欄100dには、部品名欄100bで特定される部品の組立順序の番号を特定する情報が格納される。
【0032】
作業割当ロボット名欄100eには、部品名欄100bで特定される部品の作業に割り当てられたロボット名を特定する情報が格納される。
【0033】
ここで、組立半順序部品グループは、組立半順序部品グループ番号順に組み立てなければならないが、各組立半順序グループ内に属する部品はどの順番で組み立ててもよいとする。
図4の例では、組立半順序グループ番号1~4までは、グループに属する部品がそれぞれ部品A~Dの1個しかないため、部品A、B、C、Dの順に組み立て、組立半順序グループ番号5に属する部品Eと部品Fはどちらを先に組み立ててもよいことを表している。以下の説明では、仮に部品F、Eの順で組み立てる例を示す。
【0034】
次に、ステップS103で、作業割当部20が、セル構造情報と組立半順序情報を基に、初期案となるロボットへの作業割当を生成する。
【0035】
ここで、作業割当方法として、各ロボットに近い距離にある部品を割り当てる方法、または、各ロボットが物体干渉を考慮せずに各部品の組立作業をした場合の作業時間を計算し、作業時間が短かったロボットへ部品を割り当てる方法など。一般的な方法を用いることができる。ただし、作業割当の方法はこれらに限定されず、任意の方法を用いることができる。
【0036】
次に、ステップS104で、作業割当部20が、組立半順序情報記憶部100に作業割当ロボット名を入力した組立半順序情報を出力する。
【0037】
その後、作業割当処理のフローチャートの実行が終了する。
【0038】
以降の作業優先度設定部30によるステップS200からS6までの処理では、組立順序変更可能な組立半順序部品グループごとに、軌道計画及び作業割当の変更、並びに、組立順序の変更が処理される。
【0039】
<作業優先度設定部>
図2に示すステップS200では、作業優先度設定部30が、あるロボットに割り当てられた部品の組立作業時に、回避せねばならない他ロボットおよび部品の軌道を設定する。
【0040】
作業優先度設定部30は、まず、ロボット同士の干渉を考慮せず生成した初期タイプの軌道の作業時間を用いることによって、自動的に回避せねばならない他ロボットおよび部品の軌道を自動設定することができる。これを設定することによって、優先度の高いロボットの作業時間が回避動作によって伸びることを防ぎ、より短い作業時間で組立作業をする軌道計画を自動生成することができる。
【0041】
図5は、本発明の実施例の作業優先度設定部30の処理の流れの例を示すフローチャートである。
【0042】
図5を参照して、ステップS200における作業優先度設定処理の詳細を説明する。
図5に示すように、作業優先度設定部30は、セル構造情報記憶部90に記憶されたセル構造情報と、組立半順序情報記憶部100に記憶された組立半順序情報と、部品別ロボット目標位置情報記憶部110に記憶された部品別ロボット目標位置情報とを基に、作業優先度を生成する。
【0043】
まず、ステップS201で、作業優先度設定部30が、組立半順序情報記憶部100から組立半順序情報を、セル構造情報記憶部90からセル構造情報を、部品別ロボット目標位置情報記憶部110から部品別ロボット目標位置情報を、作業割当情報記憶部から作業割当情報を取得する。
【0044】
図6は、本発明の実施例の部品別ロボット目標位置情報記憶部110から取得される部品別ロボット目標位置情報の例を示す説明図である。
【0045】
部品別ロボット目標位置情報の一例である部品別ロボット目標位置情報テーブル110aは、部品名欄110bと、ピック位置x欄110cと、ピック位置y欄110dと、ピック位置z欄110eと、プレイス位置x欄110fと、プレイス位置y欄110gと、プレイス位置z欄110hと、を有する。
【0046】
部品名欄110bには、組立対象の部品名称を識別することのできる部品名を特定する情報が格納される。
【0047】
ピック位置x欄110cには、部品名欄110bで特定される部品をロボットがピック操作する時のロボット目標x座標位置を特定する情報が格納される。
【0048】
ピック位置y欄110dには、部品名欄110bで特定される部品をロボットがピック操作する時のロボット目標y座標位置を特定する情報が格納される。
【0049】
ピック位置z欄110eには、部品名欄110bで特定される部品をロボットがピック操作する時のロボット目標z座標位置を特定する情報が格納される。
【0050】
プレイス位置x欄110fには、部品名欄110bで特定される部品をロボットがプレイス操作する時のロボット目標x座標位置を特定する情報が格納される。
【0051】
プレイス位置y欄110gには、部品名欄110bで特定される部品をロボットがプレイス操作する時のロボット目標y座標位置を特定する情報が格納される。
【0052】
プレイス位置z欄110hには、部品名欄110bで特定される部品をロボットがプレイス操作する時のロボット目標z座標位置を特定する情報が格納される。
【0053】
次に、ステップS202で、作業優先度設定部30が、組立半順序情報とセル構造情報と部品別ロボット目標位置情報とを基に、計画対象としている組立半順序部品グループに含まれる全部品の移動に関し、ロボット同士の干渉を考慮せずに実行する軌道計画を生成し、動作時間を算出する。
【0054】
ここでは、ロボット同士の干渉を考慮せずに軌道を生成する時に、一般的な軌道計画手法(Probabilistic Roadmap Method(PRM)、Rapidly-Exploring Random Tree(RRT)、Covariant Hamiltonian Optimization for Motion Planning(CHOMP)など)を用いた例を説明するが、軌道計画の方法を限定するものではない。
【0055】
次に、ステップS203で、作業優先度設定部30が、各ロボットに割り当てられた部品の作業時間を作業順に加算していくことによって、各部品の作業開始時刻を算出する。
【0056】
図7は、本発明の実施例の作業優先度設定部30による各部品の作業開始時刻の算出結果の例の説明図である。
【0057】
図7に示す算出結果1100aは、各ロボットに割り当てられた部品の作業時間を作業順に加算していくことによって、各部品の作業開始時刻を算出した結果を示す。
【0058】
図7に例示する算出結果1100aによれば、まず、ロボットA、B、Cがそれぞれ部品A、B、Cに対する作業を開始する。その後、ロボットAの部品Aに対する作業が最初に終了して、部品Dに対する作業が開始する。次に、ロボットBの部品Bに対する作業が終了して、部品Eに対する作業が開始する。次に、ロボットCの部品Cに対する作業が終了して、部品Fに対する作業が開始する。次に、次に、ロボットAの部品Dに対する作業が終了して、部品Gに対する作業が開始する。
【0059】
次に、ステップS204で、作業優先度設定部30が、ある部品の作業開始時刻と作業時間とを基に、作業時間中に同時に作業する他ロボットおよび部品を特定する。
【0060】
図7に示す算出結果1100bは、ロボットBの部品Hに対する軌道を計画する時に同時に作業される他ロボットおよび部品を特定した結果の例である。ロボットBが部品Eの作業終了の後に部品Hの作業を開始する場合、ロボットBの部品Hの動作が実行されるのは、楕円形で示す時間帯、すなわち、ロボットBが部品Eの作業を終了した後の、部品Hの作業時間の長さに相当する時間帯である。
図7に示すロボットBの部品Hの作業開始時刻に、ロボットAの部品GとロボットCの部品Fは作業中であることから、それらが、ロボットBの部品Hの作業中に同時に作業される他ロボットおよび部品として識別できる。よって、作業優先度設定部30は、作業中のロボットAの部品GおよびロボットCの部品Fを、ロボットBの部品Hを軌道計画が回避するロボットと部品の組合せの軌道として特定する。
【0061】
次に、ステップS205で、作業優先度設定部30が、ステップS202で初期タイプの軌道計画として生成したロボット同士の干渉を考慮せずに実行する各軌道計画と、その軌道が回避する他ロボットおよび部品名とを、優先度付きタイプ別軌道計画情報記憶部120内の優先度付きタイプ別軌道計画情報に出力する。ここで、軌道とはロボットの手先初期位置と手先目標位置の間を補間する経由点位置群に対し、その各経由点に手先を移動するための各ロボット姿勢の情報と、その各経由点に手先が到達する時刻から構成される情報である。
【0062】
図8は、本発明の実施例の優先度付きタイプ別軌道計画情報の例を示す説明図である。
【0063】
優先度付きタイプ別軌道計画情報の一例である優先度付きタイプ別軌道計画情報テーブル120aは、計画ロボット名欄120bと、計画部品名欄120cと、軌道タイプ欄120dと、回避ロボット欄120eと、回避部品欄120fと、ID欄120gと、経由時刻欄120hと、J1欄120iと、J2欄120jと、J3欄120kと、Jn欄120lとを有する。
【0064】
ロボット名欄120bには、軌道計画対象のロボットを識別することのできるロボット名を特定する情報が格納される。
【0065】
部品名欄120cには、軌道計画対象の部品を識別することのできる部品名を特定する情報が格納される。
【0066】
軌道タイプ欄120dには、軌道のタイプ名称を特定する情報が格納される。具体的には、ロボット同士の干渉を考慮せず生成した初期タイプの軌道か、減速による干渉回避方法が適用された軌道か、一時停止による干渉回避方法が適用された軌道か、迂回による干渉回避方法が適用された軌道か、が特定される。
【0067】
回避ロボット欄120eには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名で特定される軌道とが回避するべきロボットの名称を特定する情報が格納される。
【0068】
回避部品欄120fには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名で特定される軌道とが回避するべき部品の名称を特定する情報が格納される。
【0069】
ID欄120gには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名で特定される軌道のロボット手先の経由点の番号を特定する情報が格納される。
【0070】
経由時刻欄120hには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gで特定される経由点の、手先到達時間を特定する情報が格納される。
【0071】
J1欄120i~Jn欄120lには、生成された軌道計画の時刻ごとのロボットの姿勢を示す情報として、ロボットの関節J1~Jnの関節角を示す情報が格納される。
図8の例ではJ1関節角、J2関節角、J3関節角およびJn関節角を表示し、他を省略しているが、実際には、計画された軌道の各経由点に対応するロボットの全ての関節角が格納される。また、
図8の例では初期の軌道計画における時刻ごとの関節角を示しているが、その後の処理で干渉を回避するための軌道計画が生成された場合には、生成された軌道計画における時刻ごとの関節角の情報が追加され、それらの関節角に対応する軌道タイプ欄120dには、回避方法を示す情報が格納される。
【0072】
図8の例において、初期軌道のJ1欄120iには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJ1関節角を特定する情報が格納される。
【0073】
初期軌道のJ2欄120jには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJ2関節角を特定する情報が格納される。
【0074】
初期軌道のJ3欄120kには、計画ロボット名欄120bで特定されるロボットと計画部品名欄の120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJ3関節角を特定する情報が格納される。
【0075】
初期軌道のJn欄120lには、計画ロボット名欄120bで特定されるロボットと計画部品名欄120cで特定される部品名とID欄120gとで特定される経由点に手先を移動する時の、ロボットのJn関節角を特定する情報が格納される。
【0076】
ここで、複数のロボットに割り当てられた部品の作業順序に従って、例えば同一の作業開始時刻に複数のロボットが同一の半順序グループに属する部品に対する作業を開始する場合、どちらのロボットが先に作業してもよい。例えば、目標位置までの距離が遠いロボットから作業優先度を高くすることによって、先に作業するロボットを決定してもよい。作業優先度が高く設定されたロボットと部品とに対応する
図8の回避ロボット欄120eと回避部品欄120fは空欄となり、回避する他ロボットの軌道がない状態となる。この場合、当該ロボット及び当該部品の作業のための軌道と、他のロボット及び他の部品の作業のための軌道とが干渉するとき、他のロボットの他の部品の作業のための軌道が、干渉回避のための変更の対象となる。
【0077】
その後、作業優先度設定処理のフローチャートの実行が終了する。
【0078】
<回避方法別軌道計画部>
図2に示すS300の手順では、回避方法別軌道計画部40が、ロボット同士の干渉回避方法別の軌道を計画する。
【0079】
ステップS300において、回避方法別軌道計画部40は、ロボット同時の干渉回避について回避方法別(例えば後述する迂回回避、一時停止回避、減速回避など)の軌道計画を自動生成する。この回避方法別軌道を候補軌道として生成することによって、ステップS300以降の処理で回避方法別の各軌道を選択することが可能になる。その選択肢内から最適な軌道を選択することによって組立作業全体での作業時間を短くすることができる。
【0080】
図9は、本発明の実施例の回避方法別軌道計画部40の処理の流れの例を示すフローチャートである。
【0081】
図9を参照して、ステップS300における回避方法別軌道計画処理の詳細を説明する。
図9に示すように、回避方法別軌道計画部40は、部品別ロボット目標位置情報記憶部110に記憶された部品別ロボット目標位置情報と、優先度付きタイプ別軌道計画情報記憶部120に記憶された優先度付きタイプ別軌道計画情報とを基に、作業の優先度が低いロボットおよび部品の組合せが動作時に回避するほかロボットの軌道を特定し、その軌道を回避しながら目標位置へ向かう回避方法別候補軌道計画を生成する。
【0082】
ここで、回避方法別軌道計画部40は、回避方法として、他のロボットと衝突しそうな場合、避ける方向に迂回しながら作業する迂回回避方式と、一時停止して他のロボットが衝突しない位置に移動するまで待機する一時停止回避方式と、減速して他のロボットと衝突しないように移動する減速回避方式を用いる。ただし、実施例に合わせて他のロボット同士の干渉回避方法を追加してもよく、本発明は使用する干渉回避方法を限定するものではない。
【0083】
ステップS300における回避方法別軌道計画処理では、
図9に示すように、部品別ロボット目標位置情報と優先度付きタイプ別軌道計画情報を基に、軌道計画対象のロボットおよび部品の組合せに対し、回避方法別の軌道計画情報を生成する。
【0084】
まず、ステップS301で、回避方法別軌道計画部40が、部品別ロボット目標位置情報記憶部110に記憶された部品別ロボット目標位置情報と、優先度付きタイプ別軌道計画情報記憶部120に記憶された優先度付きタイプ別軌道計画情報とを取得する。
【0085】
次に、ステップS302で、回避方法別軌道計画部40が、軌道計画対象の各ロボットおよび部品の組合せに対し、前述した作業優先度設定部30が設定した回避対象の他ロボットおよび部品の組合せの軌道計画を、軌道計画対象のロボットおよび部品の組合せの動作開始時刻の姿勢が開始姿勢になる軌道と、残りの軌道(すなわちその開始姿勢に至るまでの軌道)とに切り分ける。
【0086】
図10は、本発明の実施例の回避方法別軌道計画部40による他ロボットの軌道計画の切り分けの例を示す説明図である。この例では、ロボットBおよび楕円形で示される部品Hの組合わせを、ステップS302における現在の軌道計画対象とする。
【0087】
まず、作業時間割当1200a内のロボットBおよび部品Hの組合せに対し、
図8に示す優先度付きタイプ別軌道計画情報の計画ロボット名120bがロボットBかつ計画部品名120cが部品Hである行の回避ロボット欄120eおよび回避部品欄120fの情報が参照される。
図10の作業時間割当1200aは、
図7に示した算出結果1100bに基づくものであり、
図8に示した優先度付きタイプ別軌道計画情報の例に対応している。
図8の回避ロボット欄120eおよび回避部品欄120fの情報から、ロボットAおよび部品Gの組合せと、ロボットCおよび部品Fの組合せとが、回避対象として特定される。これらの特定された組合わせの作業は、軌道計画対象であるロボットBおよび部品Hの組合せの作業より先に開始されるため、それらの作業優先度が参照された情報から特定される他のロボットおよび部品の組合わせの作業優先度はロボットBおよび部品Hの組合せの作業優先度より高い。このため、ロボットB側が回避することによって先に動作させなければならないロボットおよび部品の組み合わせとして、ロボットAおよび部品Gの組合せと、ロボットCおよび部品Fの組合せとが特定され、それらの軌道が回避対象の軌道となる。
【0088】
そして、回避方法別軌道計画部40は、部品Hの作業開始時刻に対し、作業時間割当1200bに示すように、ロボットAおよび部品Gの組合せの軌道と、ロボットCおよび部品Fの組合せの軌道とを、部品Hの作業開始時刻から開始する軌道とその前の軌道とに切り分ける。
【0089】
次に、ステップS303で、回避方法別軌道計画部40が、迂回方式の干渉回避軌道を生成する。
【0090】
ここで、本実施例の迂回方式の干渉回避軌道は、他ロボットのある時刻の動作と、軌道計画対象のロボットの移動可能方向とを逐次比較することによって、現在の移動可能方向で干渉回避できない場合、現在の回避開始する時刻より前時刻の経由位置から回避方向に動かすことによって生成される。これによって、急方向変換による減速を発生させることなく、緩やかに迂回して回避する軌道を生成することができる。そのため、一般的な干渉が予測された場合、急方向変換して回避するために急減速してしまう方法、および、同時に動作している他のロボットの軌道が通過する領域すべてを迂回するため遠回りになる軌道を生成する方法と比較し、作業時間が短くなる軌道を生成することができる。
【0091】
図11は、本発明の実施例の回避方法別軌道計画部40が干渉回避軌道を生成する処理(ステップS303)の詳細の例を示すフローチャートである。
【0092】
まず、ステップS1301で、回避方法別軌道計画部40が、作業空間内で、現在位置から任意の移動可能範囲内で目標位置方向へ指定距離移動した到達位置を生成する。
【0093】
図12は、本発明の実施例の迂回方式軌道計画部40が生成する到達位置の例を示す説明図である。
【0094】
図12の生成例1200aは、現在位置から移動可能範囲内で指定距離移動した到達位置を生成した例である。現在位置に対し、移動可能範囲を制限することによって、ロボットが急方向変換して減速または停止することを防ぐ。
【0095】
次に、ステップS1302で、回避方法別軌道計画部40が、到達位置への到達時刻を算出する。
【0096】
ここで、到達時刻算出方法として、一般的なロボットの到達位置に到達時の到達姿勢を逆運動学計算で算出し、関節速度、関節加速度仕様およびその到達姿勢までの関節回転角量を用いて算出する方法、または、ロボット手先速度および加速度仕様と到達位置までの手先移動距離とを用いて算出する方法を例として説明するが、到達時刻算出方法をそれらに限定するものではない。
【0097】
次に、ステップS1303で、回避方法別軌道計画部40が、ステップS302で切り分けた回避対象の軌道から、ステップS1302で算出した到達時刻における他ロボットの姿勢を取得する。
【0098】
次に、ステップS1304で、回避方法別軌道計画部40が、到達時刻のロボットの到達姿勢と、他ロボットの姿勢とが干渉するかを判定する。干渉する場合はステップS1305へ遷移する。干渉しない場合はステップS1309へ遷移する。
【0099】
次に、ステップS1305で、回避方法別軌道計画部40が、現在位置での移動可能範囲と、現在位置と、到達時刻の他ロボットの移動方向から回避方向ベクトルを算出し、その干渉回避方向ベクトルの方向へ任意の距離を移動する。
【0100】
図12の生成例1200bは、ステップS1305で実施される、回避方向ベクトルの生成の例である。到達時刻における他ロボット移動方向を表すベクトルに対し、ロボットは現在位置からの移動可能範囲内で、他ロボット移動方向を表すベクトルと反対方向(少なくとも反対方向の成分を含む方向)に任意の回避角度分、回避方向ベクトルを設定する。
【0101】
次に、ステップS1306で、回避方法別軌道計画部40が、移動後のロボット姿勢と、他ロボットの姿勢とが干渉するかを判別する。干渉する場合はステップS1307へ遷移する。干渉しない場合はステップS1309へ遷移する。
【0102】
次に、ステップS1307で、回避方法別軌道計画部40が、現在位置より一つ前の過去の経由点から、回避方向ベクトルの向きに移動することによる到達位置を生成する。
【0103】
図12の生成例1200cは、ステップS1307で実施される、過去の経由点から、回避方向ベクトルの向きに移動することによる到達位置の生成の例を示す。これによって、現時刻より前の経由点及び時刻から他ロボットに対して、回避を開始することができ、衝突直前で急方向変換し減速しながら回避してしまうことを防ぐことができる。
【0104】
次に、ステップS1308で、回避方法別軌道計画部40が、移動後のロボット姿勢と、他ロボットの姿勢が干渉するかを判別する。干渉する場合はステップS1307へ遷移する。
【0105】
ステップS1307に再び遷移することによって、過去の経由点から経由点が再設定され、急方向変更せず干渉回避する軌道に更新することができる。干渉しない場合はステップS1309へ遷移する。
【0106】
次に、ステップS1309で、回避方法別軌道計画部40が、移動後のロボット姿勢が目標位置へ到達したか判別する。到達した場合は回避方法別軌道計画部40の処理フローを終了する。到達していない場合はステップS1302へ遷移し、上記の移動後のロボット姿勢を新たな現在位置として、ステップS1302以降の処理を実行する。この処理を目標位置に到達するまで繰り返すことによって、目標位置までの経由点を生成していく。
【0107】
次に、ステップS304で、回避方法別軌道計画部40が、減速方式の干渉回避軌道を生成する。
【0108】
ここで、減速方式の干渉回避軌道計画方法として、一般的な、軌道の各経由点通過時刻でロボット同士の干渉が発生するかを判定し、干渉する場合は、干渉が発生する経由点までの移動速度を減速させて干渉回避する方法を用いた例を説明するが、減速方式の干渉回避軌道計画の方法を限定するものではない。
【0109】
次に、ステップS305で、回避方法別軌道計画部40が、一時停止方式の干渉回避軌道を生成する。
【0110】
ここで、一時停止方式の干渉回避軌道計画方法として、一般的な、軌道の各経由点通過時刻でロボット同士の干渉が発生するかを判定し、干渉する場合は、干渉する前時刻の経由点で任意時間、ロボットを一時停止させて干渉回避する方法を用いた例を説明するが、一時停止方式の干渉回避軌道計画の方法を限定するものではない。
【0111】
次に、ステップS306で、回避方法別軌道計画部40が、優先度付きタイプ別軌道計画情報記憶部120に生成した各干渉回避方式の軌道を出力する。
【0112】
図2に示すステップS1では、軌道計画装置10が現在、計画対象としている組立半順序部品グループの部品数が1より多いか判別する。部品数が1より多い場合はステップS400へ遷移する。部品数が1の場合はステップS3へ遷移する。
【0113】
図2に示すステップS3では、軌道計画装置10が、現在、計画対象としている組立半順序部品グループの部品(このステップS3に遷移している場合、計画対象としている組立半順序部品グループの部品数は1であるため、その部品)に対し、全ロボット割当パターンで軌道生成が完了しているか判別する。完了している場合はステップS500へ遷移し、完了していない場合はステップS4へ遷移する。
【0114】
図2に示すステップS4では、軌道計画装置10が、現在、計画対象としている組立半順序部品グループの部品に対し、まだ軌道計画を生成していないロボットへの割当変更を実施し、ステップS200へ再度、遷移し、軌道計画を実施するフローに入る。
【0115】
<作業割当組立順序変更部>
図2に示すステップS400では、作業割当組立順序変更部50が、作業割当と組立順序の組合せを変更する。
【0116】
作業割当組立順序変更部50は、組立半順序情報を使用していることによって、候補となる作業割当と半順序情報に基づく組立順序の候補との組合せを生成することができる。そのため、以降の動作選択部ステップS500および軌道計画装置の全体処理フローにおいて、候補の組合せ内から最適な組合せを選択することが可能になり、組立作業全体の作業時間を短くすることができる。
【0117】
ステップS400では、作業割当組立順序変更部50が、現在の軌道計画対象の組立半順序部品グループの作業割当・組立順序変更の全パターンの軌道計画をステップS300にて生成するために、軌道計画されていない作業割当・組立順序変更のパターンを生成する。
【0118】
作業割当組立順序変更部50は、現在の軌道計画対象の組立半順序部品グループの作業割当・組立順序変更の全パターンの軌道計画が完了していなければ、全パターン軌道生成完了フラグをOFFにし、完了していればONにする。
【0119】
その後、作業割当組立順序変更処理が終了する。
【0120】
次に、
図2に示す全体処理フローのステップS2で、作業割当組立順序変更部50が、全パターン軌道生成完了フラグがONであるかを判別し、ONの場合、ステップS500へ遷移する。全パターン軌道生成完了フラグがONでない(すなわち全パターンの軌道計画が完了していない)場合は、作業優先度設定部によるステップS300に遷移し、軌道計画されていない作業割当および組立順序パターンの軌道計画をするフローへ進む。
【0121】
<動作選択部>
図2に示すステップS500では、動作選択部60が、作業時間が最短となる回避方法別軌道計画および作業割当、組立順序を選択する。
【0122】
動作選択部60の処理によって、前述の作業割当組立順序変更処理によって生成された作業割当、組立順序および回避方法別軌道計画の候補組合せの中から、最適な組合せを選択することができ、組立作業全体での作業時間を短くすることができる。
【0123】
図13は、本発明の実施例の動作選択部60の処理の流れの例を示すフローチャートである。
【0124】
図13を参照して、ステップS500における動作選択処理の詳細を説明する。
図13に示すように、動作選択部60は、組立半順序情報記憶部100に記憶された組立半順序情報と、優先度付きタイプ別軌道計画情報記憶部120に記憶されたタイプ別の優先度付きタイプ別軌道計画情報とを基に、優先度付きタイプ別軌道計画情報内の組立順序と作業割当情報とを更新し、選択された回避方法別軌道計画を軌道計画情報として出力する。
【0125】
まず、ステップS501で、動作選択部60が、回避方法別の優先度付きタイプ別軌道計画情報を取得する。
【0126】
次に、ステップS502で、動作選択部60が、現在の組立半順序部品グループ内での、作業割当と組立順序と回避方法別軌道との組合せパターンごとに、回避方法別優先度付きタイプ別軌道計画情報から各ロボットの担当部品の作業時間を取得する。
【0127】
次に、ステップS503で、動作選択部60が、ステップS502で取得した各組合せでの各ロボットの担当部品の作業時間を比較し、現在の組立半順序部品グループまでの作業時間が最短になるパターンを選択する。
【0128】
次に、ステップS504で、動作選択部60が、軌道計画情報記憶部140にステップS503で選択された回避方法の軌道計画情報を優先度付きタイプ別軌道計画情報からコピーし、軌道計画情報記憶部130に出力する。
【0129】
次に、ステップS505で、動作選択部60が、組立半順序情報記憶部100にステップS503で選択された作業割当および組立順序に更新した組立半順序情報を出力する。
【0130】
その後、動作選択処理のフローチャートの実行が終了する。
【0131】
次に、
図2に示す前述したステップS5で、全ての組立半順序部品グループの動作選択が完了しているかを判別する。全ての組立半順序部品グループの動作選択が完了している場合は、軌道計画生成処理のフローチャートの実行が終了する。全ての組立半順序部品グループの動作選択が完了していない場合は、ステップS6に遷移し、計画対象の組立半順序部品グループ番号に1を加算し、作業優先度設定部によるステップS200へ遷移する。これによって、各組立半順序部品グループに対し、順番に軌道計画、作業割当、および組立順序変更を軌道計画装置の全体フロー内で実行する。
【0132】
軌道計画が完了すると、生成軌道表示部70が、組立半順序情報、優先度付きタイプ別軌道計画情報、および軌道計画情報を、通信部80に接続された画面表示装置13に表示する。
【0133】
図14は、本発明の実施例の画面表示装置13が表示する画面の例を示す説明図である。
【0134】
具体的には、
図14は、組立半順序情報、優先度付きタイプ別軌道計画情報、および軌道計画情報の表示画面の例を示す。表示画面1500aは、組立順序情報、優先度付きタイプ別軌道計画情報、および軌道計画情報の表示画面の表示と、各部品の作業順序を画面から変更することができる領域1500bと、セル全体で各ロボットの軌道計画を再生して表示する領域1500cと、各ロボットと部品の組合せごとの軌道計画を回避方法別に再生することができる領域1500dとを有する。
【0135】
以上説明した実施例によれば、組立半順序に基づき、組立順序と作業割当と相互に干渉回避する複数ロボット軌道とをいずれも最適化することによって、総作業時間の短縮と教示工数削減を実現する。以上、本発明について実施形態に基づき具体的に説明したが、本発明は前記発明の実施形態に限定されるものではなく、軌道計画装置において、その要旨を逸脱しない範囲において変更可能であることは言うまでもない。
【0136】
また、本発明の実施形態のシステムは次のように構成されてもよい。
【0137】
(1)演算部(例えば演算部11)と、記憶部(例えば記憶部12)と、を有する軌道計画装置(例えば軌道計画装置10)であって、記憶部は、複数の部品に対する作業の順序を示す順序情報(例えば組立半順序情報記憶部110に格納された情報)と、複数の部品に対する作業におけるピック位置及びプレイス位置を含む目標位置情報(例えば部品別ロボット目標位置情報記憶部110に格納された情報)と、複数のロボットの構造を示す構造情報(例えばセル構造情報記憶部90に格納された情報)と、保持し、演算部は、順序情報が示す順序に従って複数の部品に対する作業が実行されるように、複数の部品に対する作業を複数のロボットに割り当て(例えばステップS100)、複数のロボットの各々について、目標位置情報及び構造情報に基づいて、割り当てられた部品に対する作業を行うための軌道計画を生成し(例えばステップS300)、複数のロボット間で干渉が発生する場合、それぞれ異なる方法で干渉を回避する軌道計画を含む複数の軌道計画を生成し(例えばステップS301~S306)、複数の軌道計画について計算された作業時間の長さに基づいて、複数の軌道計画のいずれかを選択する(例えばステップS500)。
【0138】
これによって、ロボット間の干渉を回避し、作業時間を短縮する軌道計画を生成する軌道計画を生成することができる。
【0139】
(2)上記(1)において、複数の軌道計画は、干渉が発生する二つのロボットのうち一方のロボットが他方のロボットを迂回することによって干渉を回避する軌道計画を含む(例えばステップS303)。
【0140】
これによって、ロボット間の干渉を回避する軌道計画を生成することができる。
【0141】
(3)上記(2)において、軌道計画は、時刻ごとのロボットの経由点の姿勢を示す情報(例えば
図8の優先度付きタイプ別軌道計画情報における各経由点の情報)を含み、演算部は、一方のロボットの経由点のうち、他方のロボットとの干渉が発生する経由点の一つ前の時刻の経由点からの移動方向を、一方のロボットの移動可能範囲内であって、他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、干渉を回避する軌道計画を生成する(例えばステップS1305)。
【0142】
これによって、衝突直前の急方向変換等を行わずに、ロボット間の干渉を回避する軌道計画を生成することができる。
【0143】
(4)上記(3)において、演算部は、他方のロボットとの干渉が発生する経由点の一つ前の時刻の経由点からの移動方向を変更しても、他方のロボットとの干渉が解消されない場合、さらに前の時刻の経由点からの移動方向を、一方のロボットの移動可能範囲内であって、他方のロボットの移動方向と反対の方向の成分を含む方向に変更することによって、干渉を回避する軌道計画を生成する(例えばステップS1307)。
【0144】
これによって、衝突直前の急方向変換等を行わずに、ロボット間の干渉を回避する軌道計画を生成することができる。
【0145】
(5)上記(2)において、複数の軌道計画は、一方のロボットが減速することによって干渉を回避する軌道計画、及び、一方のロボットが一時停止することによって干渉を回避する軌道計画の少なくともいずれかをさらに含む(例えばステップS304、S305)。
【0146】
これによって、異なる方法で干渉を回避する複数の軌道計画を生成することができる。
【0147】
(6)上記(2)において、一方のロボットは、干渉が発生する二つのロボットのうち、干渉が発生する時刻に行われている部品に対する作業の開始時刻が遅い方のロボットである。
【0148】
これによって、予め定められた組み立て順序に従って、干渉を回避する軌道計画を生成することができる。
【0149】
(7)上記(2)において、順序情報は、作業の順序を交換可能な複数の部品からなる半順序グループを特定する情報を含み、干渉が発生する二つのロボットにおいて、干渉が発生する時刻に行われている作業の対象の部品が同一の半順序グループに属し、かつ、作業の開始時刻が同一である場合、一方のロボットは、干渉が発生する二つのロボットのうち、干渉が発生する時刻に行われている作業の対象の部品との距離が近い方のロボットである。
【0150】
これによって、全体の作業時間が短くなるように、干渉を回避する軌道計画を生成することができる。
【0151】
(8)上記(1)において、順序情報は、作業の順序を交換可能な複数の部品からなる半順序グループを特定する情報を含み、複数の軌道計画は、半順序グループに属する複数の部品の作業の順序を変更することによって生成された複数の軌道計画を含む(例えばステップS400)。
【0152】
これによって、複数の軌道計画を生成して、作業時間が短いものを選択することができる。
【0153】
(9)上記(1)において、複数の軌道計画は、複数のロボットの各々への部品に対する作業の割り当てが異なる複数の軌道計画を含むことを特徴とする軌道計画装置。
【0154】
これによって、複数の軌道計画を生成して、作業時間が短いものを選択することができる。
【0155】
(10)上記(1)において、演算部は、複数の軌道計画のうち、計算された作業時間が最短の軌道計画を選択する(例えばステップS503)。
【0156】
これによって、ロボット間の干渉を回避し、作業時間を短縮する軌道計画を生成する軌道計画を生成することができる。
【0157】
(11)上記(1)において、軌道計画装置は、表示装置(例えば画面表示装置13)に接続され、演算部は、複数の軌道計画に基づくロボットの動作の少なくともいずれかを表示するためのデータ(例えば
図14の表示のためのデータ)を表示装置に送信する。
【0158】
これによって、生成した軌道計画をユーザが確認することができる。
【0159】
(12)上記(11)において、演算部は、複数の軌道計画のうち、計算された作業時間が最短の軌道計画に基づくロボットの動作、又は、ユーザによって選択された軌道計画に基づくロボットの動作の少なくともいずれかを表示するためのデータ(例えば
図14の表示のためのデータ)を表示装置に送信する。
【0160】
これによって、生成した軌道計画をユーザが確認することができる。
【0161】
(13)上記(11)において、軌道計画装置は、ユーザによる操作を受け付ける操作機器(例えば画面操作機器14)に接続され、演算部は、操作機器を介してユーザから入力された情報に基づいて、軌道計画を変更する。
【0162】
これによって、生成した軌道計画をユーザが確認し、変更を加えることができる。
【0163】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したものであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0164】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0165】
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0166】
10…軌道計画装置、13…画面表示装置、14…画面操作機器、20…作業割当部、30…作業優先度設定部、40…回避方法別軌道計画部、50…作業割当組立順序変更部、60…動作選択部、70…生成軌道表示部、80…通信部、90…セル構造情報記憶部、100…組立半順序情報記憶部、110…部品別ロボット目標位置情報記憶部、120…優先度付きタイプ別軌道計画情報記憶部、130…軌道計画情報記憶部