(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-07
(45)【発行日】2024-06-17
(54)【発明の名称】マルチロボットセル内の作業の連携
(51)【国際特許分類】
G05B 19/418 20060101AFI20240610BHJP
B25J 13/00 20060101ALI20240610BHJP
【FI】
G05B19/418 Z
B25J13/00 Z
【外国語出願】
(21)【出願番号】P 2019229156
(22)【出願日】2019-12-19
【審査請求日】2022-11-28
(32)【優先日】2019-01-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】500520743
【氏名又は名称】ザ・ボーイング・カンパニー
【氏名又は名称原語表記】The Boeing Company
(74)【代理人】
【識別番号】100135389
【氏名又は名称】臼井 尚
(74)【代理人】
【識別番号】100086380
【氏名又は名称】吉田 稔
(74)【代理人】
【識別番号】100103078
【氏名又は名称】田中 達也
(74)【代理人】
【識別番号】100130650
【氏名又は名称】鈴木 泰光
(74)【代理人】
【識別番号】100168099
【氏名又は名称】鈴木 伸太郎
(74)【代理人】
【識別番号】100168044
【氏名又は名称】小淵 景太
(74)【代理人】
【識別番号】100200609
【氏名又は名称】齊藤 智和
(72)【発明者】
【氏名】サミュエル エフ. ペディゴ
(72)【発明者】
【氏名】ヴェニアミン テレシチュク
【審査官】後藤 泰輔
(56)【参考文献】
【文献】特表2011-525418(JP,A)
【文献】特開平06-131021(JP,A)
【文献】特開2000-194412(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
B25J 13/00
(57)【特許請求の範囲】
【請求項1】
部品に対し作業を実行するロボットの動作を連携させる方法であって、
一グループの
各ロボットを部品に割り当てるステップと、
前記グループのロボット
が相互に衝突することを回避しながら各ロボットを前記部品に対して移動させながら、各ロボットを介して前記部品に対する作業を
実行させるステップと、
前記グループ内の
特定のロボットが前記部品の第一位置で作業を実行し続けることができないことを決定するステップと、
前記グループの他のロボットが前記作業を実行し続けている間に、前記グループから前記
特定のロボットを除去するステップと、
前記
除去されたロボットが占有する予定であった
、前記第一位置とは異なる第二位置で前記グループに機能するロボットを追加するステップと、
前記グループの
各ロボットを介して作業を続行するステップと、
を含む方法。
【請求項2】
前記グループの
各ロボットを介して前記部品に対し作業するステップは、前記
各ロボット
の運動連鎖に調整を実行することを含む、請求項1に記載の方法。
【請求項3】
前記部品は領域に細分化され、
各領域を複数の区画に細分化するステップと、
前記
各ロボットが直接隣接する区画で同時に動作することを防止するように、前記区画に沿った前記グループの
各ロボットの移動を連携させるステップと、
をさらに含む、請求項1または2に記載の方法。
【請求項4】
前記グループの
各ロボットのスケジュールを特定するステップと、
前記スケジュールに基づいて前記作業中に異なるロボットによって占有される体積を決定するステップと、
経時的に異なるロボットによって占有される体積を比較して、潜在的な衝突を検出するステップと、
検出された潜在的衝突があればそれを報告するステップと、
をさらに含む、請求項1ないし3のいずれかに記載の方法。
【請求項5】
各ロボットの現在の位置、速度、およびタスクに基づいて、前記グループ内の
各ロボット間の潜在的衝突を検出するステップと、
検出された潜在的衝突があればそれを報告するステップと、
をさらに含む、請求項1ないし4のいずれかに記載の方法。
【請求項6】
前記部品を前記部品の隣り合う部分であって重なり合わない領域に細分化するステップと、
前記グループ内の各ロボットを前記部品の異なる領域に割り当てるステップと、
をさらに含む、請求項1ないし5のいずれかに記載の方法。
【請求項7】
二つの隣接する領域のロボットが前記二つの隣接する領域の共有縁部を同時に占有しないように、前記グループの各ロボットをその割当て領域中で移動させるステップ、
をさらに含む、請求項6に記載の方法。
【請求項8】
ロボットを修理して
当該ロボットを機能するロボットに変えるステップと、
当該ロボットを修理しながら、前記グループの
各ロボットによる前記部品に対する作業を続行するステップと、
をさらに含む、請求項1ないし7のいずれかに記載の方法。
【請求項9】
前記作業は、固定具の取付け、穴あけ加工、溶接、および検査から成る群から選択される、請求項1ないし8のいずれかに記載の方法。
【請求項10】
前記
除去されたロボットは誤動作ロボットである、請求項1ないし9のいずれかに記載の方法。
【請求項11】
部品に対し作業を実行するロボットの動作を連携させるための装置であって、前記装置は、
一グループの
各ロボットを部品に割り当てる
とともに、前記グループのロボットが相互に衝突することを回避しながら各ロボットを前記部品に対して移動させながら、各ロボットを介して前記部品に対する作業を実行させるように構成されたコントローラと、
前記グループの
各ロボットを介して前記部品に対して実行される作業を示す更新を受信するように構成されたインタフェースと、
を含み、
前記コントローラは、前記グループ内のある
特定のロボットが前記部品の第一位置で作業を実行し続けることができないことを決定し、前記グループの他のロボットが前記部品に対する作業を実行し続けている間に、前記グループから前記
特定のロボットを除去するように指示し、前記
除去されたロボットが占有することが予定されていた
、前記第一位置とは異なる第二位置で前記グループに機能するロボットを追加し、かつ
各ロボットを介して前記部品に対する作業を続行するように前記グループに指示するように構成されて成る、
装置。
【請求項12】
請求項
11に記載の装置を使用する航空機の一部分の製造。
【請求項13】
部品に対し作業を実行するロボットの動作を連携させるためのシステムであって、前記システムは、
一グループのロボットと、
前記グループの
各ロボットがそれに対して作業を実行するように予定された部品と、
前記部品を領域に細分化し、前記グループの
各ロボットが前記部品に対し作業を実行する場所および時間を示すスケジュールを生成し、かつ前記グループの
各ロボットを部品に割り当てる
とともに、前記グループの各ロボットが相互に衝突することを回避しながら各ロボットを前記部品に対して移動させながら、各ロボットを介して前記部品に対する作業を実行させるように構成されたコントローラと、
前記グループの
各ロボットを介して前記部品に対して実行される作業を示す更新を受信するように構成されたインタフェースと、
を含み、
前記コントローラは、前記グループ内のある
特定のロボットが前記部品の第一位置で作業のスケジュールを遵守していないことを決定し、前記グループの他のロボットが前記部品に対する作業を実行し続けている間に、前記グループから前記
特定のロボットを除去するように指示し、前記
除去されたロボットが占有することが予定されていた
、前記第一位置とは異なる第二位置で前記グループに機能するロボットを追加し、かつ
各ロボットを介して前記部品に対する作業を続行するように前記グループに指示するように構成されて成る、
システム。
【請求項14】
請求項
13に記載のシステムを使用した航空機の一部分の製造。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、製造の分野に関し、特に製造ロボットに関する。
【背景技術】
【0002】
ロボットは、製造環境で部品に様々なタスクを実行する。これらのタスクは穴あけ加工、固定具の取付け、溶接等を含んでよい。大型部品を製造する場合、複数のロボットが同時に連携して作業することは珍しいことではない。一グループのロボットが部品に対して一緒に作業を実行するときに、ロボットが他のロボットまたは部品と衝突しないことが重要である。衝突はロボットまたは部品を損傷するおそれがあり、結果的にコストおよび時間のかかる修理を招く結果になり得る。
【0003】
同一部品に対し作業するロボット間の衝突を防止するために、部品に対し作業する全てのロボットは、一つのロボットが誤動作に遭遇すると、すぐに停止する。この戦略は衝突を首尾よく防止するが、全体的ダウンタイムも増大する。すなわち、ロボットが連携して作業しているときに、一つが故障すると、コラボレータロボットは作業を続けることができなくなる。多数のロボットが部品に対して連携して作業しているときに、グループにおけるダウンタイムの量は劇的に増大する。これは、グループ内のロボットの数が増加するにつれて、グループ内の単一のロボットが誤動作に遭遇する可能性が高くなるためである。ロボットの一つの機能がエラーに遭遇したときに、オフラインになる多機能エンドエフェクタからロボットを切り離すことも望ましい。
【0004】
したがって、上述した問題の少なくとも一部だけでなく、他の考えられる問題をも考慮に入れた方法および装置を持つことが望ましいであろう。
【発明の概要】
【0005】
本明細書に記載する実施形態は、衝突を防止するようにロボットを制御する一方、一つのロボットが誤動作に遭遇するか、あるいはそれ以外でその動作を所定のスケジュールに従わせることができなくなった後も、ロボットが部品に対する作業を続けることをも可能にする、改善された技術を提供する。誤動作ロボットは衝突を防止するために除去され、残りのロボットは、作業を実行するためのそれらの当初のスケジュールに従って、部品に対する作業を続行する。機能するロボットが誤動作ロボットに取って代わると、機能するロボットは、誤動作ロボットが現在あるべき予定位置に配置される。機能するロボットは、衝突が起きないことが決定されていた既定の予定位置に配置されるので、それは誤動作ロボットに意図されていた作業を問題なく続けることができる。
【0006】
一実施形態は、部品に対して作業を実行するロボットの動作を連携させる方法である。この方法は、一グループのロボットを部品に割り当てるステップと、グループのロボットを介して部品に対する作業を開始するステップと、グループ内のロボットが部品の第一位置で作業を実行し続けることができないことを決定するステップと、グループの他のロボットが作業を実行し続けている間に、グループからそのロボットを除去するステップと、そのロボットが占有する予定であった第二位置でグループに機能するロボットを追加するステップと、グループのロボットを介して部品に対する作業を続行するステップとを含む。
【0007】
さらなる実施形態は、プロセッサによって実行されたときに、部品に対し作業を実行するロボットの動作を連携させる方法を実行するために実施可能なプログラム命令を具現化する非一時的コンピュータ可読媒体である。この方法は、一グループのロボットを部品に割り当てるステップと、グループのロボットを介して部品に対する作業を開始するステップと、グループ内のロボットが部品の第一位置で作業を実行し続けることができないことを決定するステップと、
グループの他のロボットが作業を実行し続けている間に、グループからそのロボットを除去するステップと、そのロボットが占有する予定であった第二位置でグループに機能するロボットを追加するステップと、グループのロボットを介して部品に対する作業を続行するステップとを含む。
【0008】
別の実施形態は、部品に対し作業を実行するロボットの動作を連携させるための装置である。この装置は、一グループのロボットを部品に割り当てるように構成されたコントローラと、グループのロボットを介して部品に実行される作業を示す更新を受信するように構成されたインタフェースとを含む。コントローラは、グループ内のロボットが部品の第一位置で作業を実行し続けることができないことを決定し、グループの他のロボットが部品に対する作業を実行し続けている間に、グループからそのロボットを除去するように指示し、そのロボットが占有する予定であった第二位置でグループに機能するロボットを追加し、ロボットを介して部品に対する作業を続行するようにグループに指示するように構成される。
【0009】
さらに別の実施形態は、部品に対し作業を実行するロボットの動作を連携させるためのシステムである。このシステムは、一グループのロボットと、グループのロボットがそれに対して作業を実行するように予定された部品と、部品を領域に細分化し、グループのロボットが部品に対して作業を実行する場所および時間を示すスケジュールを生成し、かつグループのロボットを部品に割り当てるように構成されたコントローラと、グループのロボットを介して部品に対し実行される作業を示す更新を受信するように構成されたインタフェースとを含む。コントローラは、グループ内のロボットが部品の第一位置で作業のスケジュールに従っていないことを決定し、グループの他のロボットが部品に対し作業を実行し続けている間に、グループからそのロボットを除去するように指示し、そのロボットが占有する予定であった第二位置でグループに機能するロボットを追加し、かつロボットを介して部品に対し作業を続行するようにグループに指示するように構成される。
【0010】
さらなる実施形態は、部品に対し作業を実行するロボットの動作を連携させる方法である。この方法は、一グループのロボットが部品に対して作業を実行する場所および時間を示すスケジュールであって、他のロボットとのタイミングを計るときに衝突を回避するロボットの経路を含むスケジュールを生成するステップと、グループのロボットを部品に割り当てるステップと、スケジュールに従ってグループのロボットを介して部品に対する作業を開始するステップと、グループのロボットが部品に対する作業を実行するにつれて、グループのロボットの進捗をサンプリングするステップと、決定された進捗に基づいてロボットの速度を調整するステップとを含む。
【0011】
本装置、本媒体、および本方法は、以下の付記においても言及されるが、これらは請求の範囲と混同されるべきではない。
【0012】
1. 部品に対し作業を実行するロボットの動作を連携させる方法であって、
一グループのロボットを部品に割り当てるステップ(206)と、
前記グループのロボットを介して前記部品に対する作業を開始するステップ(208)と、
前記グループ内のロボットが前記部品の第一位置で作業を実行し続けることができないことを決定するステップ(210)と、
前記グループの他のロボットが作業を実行し続けている間に、前記グループからロボットを除去するステップ(212)と、
前記ロボットが占有する予定であった第二位置で前記グループに機能するロボットを追加するステップ(214)と、
前記グループのロボットを介して前記部品に対する作業を続行するステップ(216)と、
を含む方法。
【0013】
2. 前記グループのロボットを介する前記部品に対する作業は、前記ロボットの各々における運動連鎖の調整を実行することを含む、付記1に記載の方法。
【0014】
3. 前記部品は領域に細分化され、前記方法はさらに、
各領域を複数の区画に細分化するステップと、
ロボットが直接隣接する区画で同時に動作することを防止するように、前記区画に沿った前記グループのロボットの移動を連携させるステップと、
を含む、付記1または2に記載の方法。
【0015】
4. 前記グループのロボットのスケジュールを特定するステップと、
前記スケジュールに基づいて作業中に異なるロボットによって占有される体積を決定するステップと、
経時的に異なるロボットによって占有される体積を比較して、潜在的衝突を検出するステップと、
検出された潜在的衝突を報告するステップと、
をさらに含む、付記1ないし3のいずれかに記載の方法。
【0016】
5. ロボットの現在の位置、速度、およびタスクに基づいて、前記グループ内のロボット間の潜在的衝突を検出するステップと、
検出された潜在的衝突を報告するステップと、
をさらに含む、付記1ないし4のいずれかに記載の方法。
【0017】
6. 前記部品を、前記部品の隣り合う部分であって重なり合わない領域に細分化するステップと、
前記グループ内の各ロボットを前記部品の異なる領域に割り当てるステップと、
をさらに含む、付記1ないし5のいずれかに記載の方法。
【0018】
7. 二つの隣接する領域のロボットが前記二つの隣接する領域の共有縁部を同時に占有しないように、前記グループ内の各ロボットを割り当てられた領域中で移動させるステップをさらに含む、付記6に記載の方法。
【0019】
8. 前記ロボットを修理して前記ロボットを機能するロボットに変えるステップと、
前記ロボットを修理しながら、前記グループのロボットによる前記部品に対する作業を続けるステップと、
をさらに含む、付記1ないし7のいずれかに記載の方法。
【0020】
9. 前記作業は、固定具の取付け、穴あけ加工、溶接、および検査から成る群から選択される、付記1ないし8のいずれかに記載の方法。
【0021】
10. 前記ロボットは誤動作ロボットである、付記1ないし9のいずれかに記載の方法。
【0022】
11. 付記1ないし10のいずれかに記載の方法に従って組み立てられた航空機の一部分。
【0023】
本媒体のさらなる態様によれば、以下が提供される。
【0024】
12. プロセッサによって実行されたときに、部品に対して作業を実行するロボットの動作を連携させる方法を実行するために実施可能なプログラム命令を具現化する非一時的コンピュータ可読媒体であって、前記方法が、
一グループのロボットを部品に割り当てるステップ(206)と、
前記グループのロボットを介して前記部品に対する作業を開始するステップ(208)と、
前記グループ内のロボットが前記部品の第一位置で作業を実行し続けることができないことを決定するステップ(210)と、
前記グループの他のロボットが作業を実行し続けている間に、前記グループからロボットを除去するステップ(212)と、
前記ロボットが占有する予定であった第二位置で前記グループに機能するロボットを追加するステップ(214)と、
前記グループのロボットを介して前記部品に対する作業を続行するステップ(216)と、
を含んで成る、媒体。
【0025】
13. 前記グループのロボットを介する前記部品に対する作業は、前記ロボットの各々の運動連鎖の調整を実行することを含む、付記12に記載の媒体。
【0026】
14. 前記方法はさらに、前記部品が領域に細分化されることを含み、前記方法は、
各領域を複数の区画に細分化するステップと、
ロボットが直接隣接する区画で同時に動作することを防止するように、前記区画に沿った前記グループのロボットの移動を連携させるステップと、
をさらに含んで成る、付記12または13のいずれかに記載の媒体。
【0027】
15. 前記方法は、
前記グループのロボットのスケジュールを特定するステップと、
前記スケジュールに基づいて作業中に異なるロボットによって占有される体積を決定するステップと、
経時的に異なるロボットによって占有される体積を比較して、潜在的衝突を検出するステップと、
検出された潜在的衝突を報告するステップと、
をさらに含んで成る、付記12ないし14のいずれかに記載の媒体。
【0028】
16. 前記方法は、
ロボットの現在の位置、速度、およびタスクに基づいて、前記グループ内のロボット間の潜在的衝突を検出するステップと、
検出された潜在的衝突を報告するステップと、
をさらに含んで成る、付記12ないし15のいずれかに記載の媒体。
【0029】
17. 前記部品を、前記部品の隣り合う部分であって重なり合わない領域に細分化するステップと、
前記グループ内の各ロボットを前記部品の異なる領域に割り当てるステップと、
をさらに含んで成る、付記12ないし16のいずれかに記載の媒体。
【0030】
18. 前記方法は、
二つの隣接する領域のロボットが前記二つの隣接する領域の共有縁部を同時に占有しないように、前記グループ内の各ロボットを割り当てられた領域中で移動させるステップ、
をさらに含んで成る、付記16に記載の媒体。
【0031】
19. 前記方法は、
前記ロボットを修理して前記ロボットを機能するロボットに変えるステップと、
前記ロボットを修理しながら、前記グループのロボットによる前記部品に対する作業を続けるステップと、
をさらに含んで成る、付記12ないし18のいずれかに記載の媒体。
【0032】
20. 前記作業は、固定具の取付け、穴あけ加工、溶接、および検査から成る群から選択される、付記12ないし19のいずれかに記載の媒体。
【0033】
21. 前記ロボットは誤動作ロボットである、付記12ないし20のいずれかに記載の媒体。
【0034】
22. 付記12に記載のコンピュータ可読媒体に格納された命令によって定義された方法に従って組み立てられた航空機の一部分。
【0035】
本装置のさらなる態様によれば、以下が提供される。
【0036】
23. 部品に対し作業を実行するロボットの動作を連携させるための装置であって、前記装置は、一グループのロボット(112、114、116、118)を部品に割り当てるように構成されたコントローラ(144)と、前記グループのロボットを介して前記部品に対して実行される作業を示す更新を受信するように構成されたインタフェース(142)とを備え、前記コントローラは、
前記グループ内のロボットが前記部品の第一位置で作業を実行し続けることができないことを決定し、前記グループの他のロボットが前記部品に対し作業を実行し続けている間にそのロボットをグループから除去するように指示し、
そのロボットが占有する予定であった第二位置で前記グループに機能するロボットを追加し、かつロボットを介して前記部品に対する作業を続行するように前記グループに指示するように構成されて成る、装置。
【0037】
24. 付記23に記載の装置を使用した航空機の一部分の製造。
【0038】
25. 部品に対する作業を実行するロボットの動作を連携させるためのシステムであって、前記システムは、
一グループのロボット(112、114、116、118)と、
前記グループのロボットがそれに対して作業を実行するように予定された部品(120)と、
前記部品を領域に細分化し、前記グループのロボットが前記部品に対して作業を実行する場所および時間を示すスケジュールを生成し、かつ前記グループのロボットを前記部品に割り当てるように構成されたコントローラ(144)と、
前記グループのロボットを介して前記部品に対し実行される作業を示す更新を受信するように構成されたインタフェース(142)とを備え、
前記コントローラは、前記グループ内のロボットが前記部品の第一位置で作業のスケジュールに従っていないことを決定し、前記グループの他のロボットが前記部品に対し作業を実行し続けている間に、前記グループからそのロボットを除去するように指示し、そのロボットが占有する予定であった第二位置で前記グループに機能するロボットを追加し、かつロボットを介して前記部品に対し作業を続行するように前記グループに指示するように構成されて成る、
システム。
【0039】
26. 付記25に記載のシステムを使用した航空機の一部分の製造。
【0040】
本方法のさらなる態様によれば、以下が提供される。
【0041】
27. 部品に対して作業を実行するロボットの動作を連携させる方法であって、
一グループのロボットが部品に対して作業を実行する場所および時間を示すスケジュールであって、他のロボットとのタイミングを計るときに衝突を回避するロボットの経路を含むスケジュールを生成するステップ(1004)と、
前記グループのロボットを前記部品に割り当てるステップ(1006)と、
前記スケジュールに従って前記グループのロボットを介して前記部品に対する作業を開始するステップ(1008)と、
前記グループのロボットが部品に対する作業を実行するときに、前記グループのロボットの進捗をサンプリングするステップ(1010)と、
前記決定された進捗に基づいて前記ロボットの速度を調整するステップ(1012)と、
を含む方法。
【0042】
28. 前記部品を領域に細分化するステップをさらに含み、前記ロボットのグループを前記部品に割り当てるステップは前記グループ内の各ロボットに異なる領域を割り当てることを含んで成る、付記27に記載の方法。
【0043】
29. 前記グループ内のロボットが前記部品の第一位置で作業を実行し続けることができないことを決定するステップと、
前記グループの他のロボットが作業を実行し続けている間にそのロボットを前記グループから除去するステップと、
そのロボットが占有する予定であった第二位置で前記グループに機能するロボットを追加するステップと、
前記グループのロボットを介して前記部品に対する作業を続行するステップとをさらに含む、付記26または27のいずれかに記載の方法。
【0044】
30. 付記26~29のいずれかに記載の方法に従って組み立てられた航空機の一部分。
【0045】
他の実施形態(例えば上記実施形態に関連する方法およびコンピュータ可読媒体)について以下で説明する。これまで論じてきた特徴、機能、および利点は、様々な実施形態で個別に達成することができ、あるいはさらに他の実施形態で、以下の説明および図面に関連して見ることのできるさらなる詳細と組み合わせてよい。
【図面の簡単な説明】
【0046】
次に、本開示の一部の実施形態について、単なる例として、添付の図面を参照しながら説明する。全ての図面で同一参照番号は同一要素または同種の要素を表す。
【0047】
【
図1】実施形態における部品のための製造システムを示す。
【
図2】実施形態の製造システムでロボットの動作を連携させるために方法を示すフローチャートである。
【
図3-5】実施形態の製造システムにおける誤動作ロボットの除去および交換を示す。
【
図6】実施形態における部品の異なる領域でのロボット間の連携移動を示す略図である。
【
図7】実施形態において区画に分割された部品の領域を示す略図である。
【
図8】実施形態におけるスケジュールのブロック図である。
【
図9】実施形態の製造システムにおけるロボットのための衝突回避モデルを示す略図である。
【
図10】実施形態の製造システムにおけるロボットの操作を連携させる方法を示すフローチャートである。
【
図11】実施形態における製造システムのブロック図である。
【
図12】実施形態における航空機の製造および就航方法の流れ図である。
【
図13】実施形態における航空機のブロック図である。
【発明を実施するための形態】
【0048】
図面および以下の記述は、本開示の特定の実施形態を提示するものである。したがって、本明細書に明確な記載や図示がなくても、当業者には、本開示の原理を具現化する様々な変形を考案することが可能であり、それらが本開示の範囲に含まれることは理解されるであろう。さらに、本明細書に記載する実施例は、本開示の原理の理解を助けることを意図するものであって、具体的に記載する実施例および条件に限定されないと解釈すべきである。その結果、本開示は以下に記載する特定の実施形態または実施例に限定されず、請求の範囲およびその均等物によって限定される。
【0049】
本明細書に記載するシステムは、多機能エンドエフェクタを持つロボットによって実行される労働を、単機能エンドエフェクタを持つロボットに分散させることを可能にする。このように労働を単機能エンドエフェクタに分割すると、使用するロボットの数が著しく増加し、その結果、衝突を回避するためにロボットの同期制御が必要になる。単機能エンドエフェクタを使用することで、ロボットの一つの機能が故障したときに、多機能エンドエフェクタの故障に関連する問題が克服されるので、技術的な利益がもたらされる。単機能エンドエフェクタを使用することで、ロボットの交換もより容易にできるようになる。
【0050】
図1は、実施形態における部品120のための製造システム100を示す。製造システム100は、部品120(例えば金属部品、繊維強化複合材部品等)に対し作業を実行するために、ロボットを利用するべく動作可能なシステム、部品、または装置の任意の組合せを備える。製造システム100は、ロボットの一つ以上が誤動作するか、あるいはその他の理由で部品120で作業を実行し続けることができなくなった場合でも、部品120に対する作業が中断されずに続行されるように、これらのロボットを連携させるべく改善されたものである。
【0051】
この実施形態では、製造システム100は一グループ110のロボット112、114、116、および118を含む。これらのロボットは、ロボット連携システム140からの指示に従って、部品120の領域132、134、136、および138でそれぞれ作業を実行する。領域132~138でロボット112~118によって実行される作業は、穴あけ加工、固定具の取付け、溶接、接着、検査、または他の作業を含むことができる。ロボットは、ロボット116の運動連鎖117など、ロボットの運動連鎖を制御することによって、動作を実行する。
【0052】
ロボット連携システム140は、部品120での作業を適切なタイミングで指示するために、かつロボット112~118が相互にまたは部品120と衝突するのを防止するためにも、ロボット112~118の動作を指示する。この実施形態では、ロボット連携システム140は、命令を提供しかつロボット112~118からそれらの進捗を示す更新を受信する、インタフェース142を含む。インタフェース142は、イーサネットインタフェースまたはユニバーサルシリアルバス(USB)インタフェースなどの有線通信インタフェース、Wi‐FiまたはBluetooth標準に準拠する無線インタフェース等を含んでよい。
【0053】
コントローラ144は、ロボット112~118の動作を指示するために、メモリ146に格納された命令を見直す。再位置決めして部品120で作業を実行するためにロボット112~118がそれら自体の内部コントローラを含む実施形態では、コントローラ144はロボット112~118からエラーメッセージまたは他の通知を受信することができる。コントローラ144はまた、ロボット112~118を連携して動作させるためのスケジュールを生成する。コントローラ144は、ロボット112~118が動作中に衝突するのを防止するように、これらのスケジュールを確認しかつ/または改定する。一実施形態では、コントローラ144はさらに、ロボット112~118からの更新に基づいて作業を指示するときに、実時間衝突検査に従事する。コントローラ144は例えばカスタム回路として、プログラム命令を実行するハードウェアプロセッサとして、またはそれらの何らかの組合せとして実現することができる。メモリ146はソリッドステート記憶装置、ハードディスク等として実現することができる。
【0054】
コントローラ144は、ロボットが作業を実行し続けることができなくなった状況でも、部品120に対する作業を実行するようにロボットに指示し続けるように改善されたものである。つまり、ロボットが誤動作に遭遇するか、あるいは他の理由でスケジュールに従って作業を実行することができなくなった場合、コントローラ144は、残りのロボットに部品120に対する作業を実行するように指示し続けることができる。機能するロボットが取得された場合、機能するロボットは、誤動作したロボットが正常に動作し続けていたら現在存在していたはずの位置で、作業を開始することができる。次いでロボットはそれらの原スケジュールに従って動作を続行する。原スケジュールはすでに検査され、衝突が存在しないことを確実にしているので、スケジュールの残部は衝突の懸念なく実行することができる。
【0055】
製造システム100の動作の例示としての詳細を、
図2に関連して説明する。この実施形態の場合、部品120はすでにロボット112~118の間に配置されており、製造を完了させるために作業の実行を待っている状態を想定する。
【0056】
図2は、実施形態における製造システムでロボットの動作を連携させる方法200を示すフローチャートである。方法200のステップは
図1の製造システム100に関連して記載されているが、方法200は他のシステムでも実行することができることを当業者は理解されるであろう。本明細書に記載するフローチャートのステップは全てを網羅するものではなく、図示しない他のステップも含めることができる。本明細書に記載するステップはまた、代替的な順序で実行することもできる。
【0057】
部品120が所定の位置に置かれた状態で、コントローラ144はステップ202で部品120を領域132~138に細分化し、かつステップ204でロボット112~118が部品120に対し作業を実行する場所および時間を示すスケジュールを生成する。領域132~138は、コントローラ144によって部品120の隣り合う部分として定義され、同一大きさの領域、ロボットによって作業を完了させるために同じ量の時間がかかると予想される領域などを含むことができる。一実施形態では、コントローラ144によって生成されたスケジュールは、ロボット112~118のための一つ以上の数値制御(NC)プログラムを含む。コントローラ144は、スケジュールを実行しても予測される潜在的衝突がないことを確認し、ステップ202に進む。
【0058】
ステップ206で、コントローラ144は一グループ110のロボット112~118を部品120に割り当てる。一実施形態では、これは、ロボット112~118の各々を部品120の領域132~138の一つに割り当てることを含む。例えば、コントローラ144は、そのロボットが配置される領域に基づいて、各ロボットに異なるNCプログラムを提供することができる。
【0059】
ステップ208で、コントローラ144は、グループ110のロボットを介して部品120に対する作業を開始する。例えば、コントローラ144は、衝突の回避を確実にするためにロボットの移動を同期させる所定のスケジュールに従って、ロボット112~118の各々で動作を開始することができる。一部の実施形態では、コントローラ144は、ロボットからのそれらの進捗を示すさらなる更新を待つ。さらなる実施形態では、コントローラ144は、スケジュールによって指示された通りに同期して動作し続けることを確実にするために、特定のロボットの作業をそれらの進捗に応じて選択的に休止、遅延、また加速させる。例えば、一つのロボットが予想以上の速さで動作を完了した場合、コントローラ144は、そのロボットが衝突が無いことが分かっているスケジュールに従い続けることを確実にするために、そのロボットを短期間休止させることができる。
【0060】
ロボット112~118が作業を実行し続けるにつれて、部品120に対する進捗が続く。ある時点で、ロボットの一つが、スケジュールに従って部品120に対する作業を実行し続けることができない状態に遭遇する。例えば、ロボットは、ツーリングが破損または摩耗して交換が必要であることを検出することがあり、ロボットは予想外の位置に移動して停止することがあり、ロボットは位置決め誤差のため、作業を実行することに失敗することがあり、ロボットは実行時エラーに遭遇することがあり、ロボットは保守等が必要になることがある。いずれの状況においても、この状態はロボットの作業を停止させるか、あるいは望ましくないほど低い速度で作業を続行させる。
【0061】
ロボット112~118は各々、それらのタスクをスケジュール通りに、衝突を防止するようにすでに決められた所定の経路に沿って実行することが予想されるので、誤動作ロボットは問題をもたらす。ロボットがスケジュールに従って作業を実行するように復帰することができる場合には、この問題は是正され、作業は続行されるかもしれない。しかし、ロボットがスケジュールに従って作業を実行するように復帰することができない場合、ロボットの継続される動作は、他のロボットと衝突する未知のリスクを生じる。このため、衝突が発生する前にそのロボットを除去することが望ましい。ロボットが除去された後、残りのロボットは衝突のリスクなしにスケジュールに従って続行することができる。次いで当該ロボットは、後で交換することができる。
【0062】
ステップ210で、コントローラ144は、ロボットが部品の領域の一つにおける第一位置で作業を実行し続けることができないことを決定する。本明細書で使用する場合、ロボットとは、それがそのスケジュールに従って作業を実行し続けることができない場合(すなわち、その作業のスケジュールに従うことができない場合)、「誤動作」しているとみなすことができる。これは、ロボットのエンドエフェクタにおけるエラー、ロボットを移動させるアクチュエータにおけるエラー、ロボットのコントローラにおけるエラー等により生じることがある。この決定は、ロボットから受信する位置決めまたは他のエラーを示す更新に基づくことができ、技術者からの通知のため、コントローラ144に対し確認を報告しないロボット等に基づくことができる。例えば、
図3では、ロボット116は、部品120に作業310が実行された後、第一位置320で誤動作に遭遇することがある。
【0063】
スケジュールに従って作業を実行し続けることができないロボットの検出後、ステップ212でロボットは、グループの他のロボットが作業を実行し続けている間に、グループから(例えば物理的かつ機能的に)除去される。例えば、ロボットは部品120から物理的に除去することができる。次いでロボットは機能するロボットになるように修理することができ、あるいは機能するロボットと交換することができる。
【0064】
機能するロボットが利用可能になった後、ステップ214で、機能するロボットは、誤動作ロボットが占有する予定であった領域の第二位置でグループに追加される。第二位置は、誤動作ロボットが部品に対し作業を実行し続けることができた場合に誤動作ロボットが現在占有していたはずの位置である。例えば、
図4に示すように、機能するロボット400は第二位置410に配置される。第二位置410は第一位置320とは区別され、第一位置320と第二位置410との間にまだ完了していない作業420のインスタンスが一つ以上存在する。しかし、機能するロボット400はスケジュールによって予測される位置に配置されるので、衝突検査またはスケジュールの変更は不要である。すなわち、機能するロボットは、誤動作ロボットが脱落していなかった/除去されていなかった場合に存在していたはずの位置で、他のロボットとの協調空間を占める。
【0065】
ステップ216で、ロボットのグループ110は部品120の領域132~136で作業を続行する。これは、コントローラ144によって決定されたスケジュールが完了するまで進めることができる。例えば、
図5に示すように、各ロボットは部品120全体にわたって作業を実行し続けることができる。方法200は部品120に対し追加作業を実行するように繰り返すことができ、あるいは部品120に対し異なる種類の作業を実行することさえもできる。
【0066】
方法200は、ロボットが部品に対して作業しているときに、ロボットが所定のスケジュールに従って動作し続けることを可能にするので、先行技術を上回る技術的な利益をもたらす。これは部品に対し作動しているときにダウンタイムを低減し、かつ衝突回避検査に必要な処理資源の量を低減する。
【0067】
以下の図は、実施形態におけるスケジューリングおよび衝突回避の追加的詳細を提する。
図6は、実施形態における部品650の異なる領域でのロボット間の連携された移動を示す略図である。ロボット600は領域652内で経路610に沿って、それに続いて経路620、経路630、および経路640に沿って作業を実行する。それと同時に、ロボット602は領域654内で経路612に沿って、それに続いて経路622、経路632、および経路642に沿って作業を実行する。これは、ロボット600およびロボット602が作業中にそれらのそれぞれの領域の反対側に維持されることを意味する。それはまた、ロボット600およびロボット602が、(隣接する)領域652および領域654の共有縁部660で同時に作業を実行しないことをも意味する。
【0068】
図7は、実施形態において区画に分割された部品750の領域を示す略図である。この実施形態では、部品750は領域760および領域770を含む。領域760はロボット710によって作業される一方、領域770はロボット720によって作業される。領域760は区画762および区画764に細分化される。領域770は区画772および区画774に細分化される。ロボット710は区画762から作業を実行し始め、次いで区画764で作業を実行する。それと同時に、ロボット720は区画772から作業を実行し始め、次いで区画774で作業を実行する。このスケジューリング技術に従って、ロボットは隣接しない区画で作業を続行し、それは製造中に衝突する可能性を低減する。したがってコントローラ144は、ロボットが直接隣接する区画で同時に動作することを防止するように、区画に沿ったロボットの移動を連携させることができる。
【0069】
図8は実施形態におけるスケジュール800のブロック図である。この実施形態では、スケジュール800は、コントローラ144によって操作されるNCプログラムのための命令の形で提供される。命令は、複数のロボットの各々によって実行される動作のためのものである。一セットの動作(例えばセット1、セット2、セット3)のための命令を送信した後、コントローラ144は、ロボットが動作の完了を確認するまで休止する。各ロボットから確認を受信すると、コントローラ144は次に進んで、スケジュール800から次のセットの命令を提供する。さらなる実施形態では、スケジュールは独立した動作のためにロボット全体に分配することができ、休止せずに実行することができ、あるいはいずれかの他の適切な仕方で実現することができる。したがって、コントローラ144は、各ロボットがどの機能を実行すべきであるか、またこれらの機能がどこで実行されるかを独立して決定する。コントローラ144はまた、既知のタイミングで作業を実行することによって衝突を回避する、各ロボットのための経路をも決定する。さらなる実施形態では、コントローラ144は、スケジュールが維持されていることを確実にするために、ロボットの各々の進捗を周期的にサンプリングする。
【0070】
図9は、実施形態における製造システムのロボットの衝突回避モデルを示す略図である。
図9によれば、各ロボットは体積910または体積920など、体積としてモデル化される。部品900にわたる体積910の経路912および体積920の経路922もモデル化される。潜在的な衝突がないかスケジュールを検査するときに、コントローラ144は、スケジュールに基づいて作業中にロボットによって占有される体積を決定する。コントローラ144は次いで、潜在的衝突を検出するために、経時的に異なるロボットによって占有される体積を比較し、潜在的衝突が検出された場合はそれを報告する。潜在的衝突が検出されると、コントローラ144は容認できないものとしてスケジュールにフラグを立てることもできる。
【0071】
さらなる実施形態では、コントローラ144は、ロボットの現在の位置、速度、およびタスクに基づいて、ロボット間の潜在的衝突を検出し、潜在的衝突が検出された場合はそれを報告する。例えば、一つのロボットがある領域で穴あけ加工をする間、別のロボットが別の領域で加工穴を検査する一方、別のロボットがさらに別の領域で加工され検査された穴にピンを取り付けることができ、これらは全て、スケジューリングおよび実時間制御のため、衝突を回避しながら行われる。この形の実時間衝突検査は、上記のスケジュールに基づく衝突検査への補足として実現することができる。実時間衝突検査は、ロボットがスケジュールで予定されていたあるべき場所に位置していない場合に起きたであろう衝突を防止することにより、技術的な利益をもたらす。
実施例
【0072】
以下の実施例では、部品の製造システムの文脈で追加のプロセス、システム、および方法について記載する。
【0073】
図10は、実施形態における製造システムでロボットの動作を連携させる方法1000を示すフローチャートである。方法1000は、ステップ1002でコントローラ144が複数のロボットの各々によって実行されるべきタスクを決定することを含む。これは、部品に対しどのようなタスクがロボットによって実行されるべきか(例えば穴あけ加工、検査等)、かつこれらのタスクがどこで達成されるべきか、を決定することを含むことができる。ステップ1004で、コントローラ144は、一グループのロボットがどこで、いつ部品に対して作業を実行するかを示すスケジュールを生成する。スケジュールは、他のロボットとのタイミングを計るときに衝突を回避するロボットの経路を含む。こうして、コントローラ144は、スケジュールに従って動作するときに、グループ内のロボットの移動が衝突を回避するように連携されることを確認する。ステップ1006で、コントローラ144はグループのロボットを部品に割り当てる。例えば、部品が領域に細分化される場合、コントローラ144は、グループ内の異なるロボットを領域の各々に割り当てることができる。ステップ1008で、コントローラ144は、スケジュールに従ってグループのロボットを介して部品に対する作業を開始する。例えば、コントローラ144は、スケジュールの遵守を確実にするために適切なタイミングでロボットに命令を出すことができる。ステップ1010で、コントローラ144は、グループのロボットが部品に対する作業を実行するにつれて、ロボットの進捗をサンプリングする。例えば、これは、各ロボットからのその現在の状態および/または位置を示す入力を受信することを含むことができる。ステップ1012で、コントローラ144は、決定された進捗に基づいて、グループ内の一つ以上のロボットの速度を調整する。例えば、一部のロボットの進捗が予定より遅い場合、コントローラ144は、スケジュールを中実に守ることを確実にするために、これらのロボットの速度を上げるか、あるいはグループ内の他のロボットの速度を落とすことができる。
【0074】
図11は、実施形態における製造システム1100のブロック図である。製造システム1100は、領域1112および区画1114に細分化された部品1110に対し動作する。この実施形態では、製造システム1100はロボット1120‐1~1120‐4を含み、それらは、運動連鎖1128‐1~1128‐4内でアクチュエータ1122‐1~1122‐4によって再位置決めされる剛性本体1124‐1~1124‐4を含む。エンドエフェクタ1126‐1~1126‐4は、ロボット1120‐1~1120‐4で穴あけ加工または固定具の取付けなどの作業を実行する。製造システム1100はまたはロボット連携システム1150をも含む。ロボット連携システム1150は、ロボット1120との通信のために結合されたインタフェース1152を含む。コントローラ1154はインタフェース1152からの入力に基づいてロボット1120の動作を管理し、かつスケジュールおよび衝突回避論理を格納するためにメモリ1156にアクセスする。
【0075】
図面をより具体的に参照すると、本開示の実施形態を
図12に示す方法1200および
図13に示す航空機1202における航空機の製造および就航の文脈で説明することができる。生産前の作業中に、方法1200は航空機1202の仕様決定および設計1204ならびに材料調達1206を含むことができる。製造中に、航空機1202の部品および小組立品の製造1208ならびにシステム統合1210が行われる。その後、航空機1202は、就航1214させるために認証および納品1212を受ける。顧客による就航の間に、航空機1202は、保守およびサービス1216(これは変更、再構成、改装等をも含むことができる)における日常的な作業を計画される。本明細書で具体化される装置および方法は、方法1200に記載される製造および就航のいずれかの一つ以上の適切な段階中に(例えば仕様決定および設計1204、材料調達1206、部品および小組立品の製造1208、システム統合1210、認証および納品1212、就航1214、保守およびサービス1216)、および/または航空機1202のいずれかの適切な部品(例えば機体1218、システム1220、内装1222、推進系1224、電気系1226、油圧系1228、環境系1230)において、採用することができる。
【0076】
方法1200の各工程は、システムインテグレータ、第三者、および/またはオペレータ(例えば顧客)によって実行または実施することができる。本明細書の記述において、システムインテグレータとは任意の数の航空機メーカーおよび主要システムの下請け業者を含むことができるが、それらに限定されない。また、第三者とは、任意の数の売主、下請け業者、および供給業者を含むことができるが、それらに限定されない。また、オペレータとは航空会社、リース会社、軍事団体、サービス組織等を含むことができる。
【0077】
図13に示すように、方法1200によって製造される航空機1202は、複数のシステム1220および内装1222とを備えた機体1218を含みうる。システム1220の例としては、推進系1224、電気系1226、油圧系1228、および環境系1230の一つ以上が挙げられる。また、その他のシステムをいくつ含んでいてもよい。航空宇宙産業に用いた場合の例を示したが、本発明の原理は、例えば自動車産業等の他の産業に適用してもよい。
【0078】
既に言及したように、本明細書で具体化される装置および方法は、方法1200で述べた製造および就航の段階の任意の一つ以上で使用することができる。例えば、部品および小組立品の製造1208に対応する部品または小組立品は、航空機1202の就航期間中に製造される部品および小組立品と同様に製作または製造してもよい。また、例えば航空機1202の組立てを実質的に迅速化しあるいはコストを低減することによって、一つ以上の装置の実施形態、方法の実施形態、またはそれらの組合せを、小組立品製造1208中およびシステム統合1210中に利用することができる。同様に、装置の実施形態、方法の実施形態、またはそれらの組合せの一つ以上を、例えば航空機1202の就航期間中に、例えばそれに限定するものではないが、整備および保守1216に利用することができる。例えば、本明細書に記載する技術およびシステムは、材料調達1206、部品および小組立品の製造1208、システム統合1210、就航1214、および/または整備および保守1216に使用することができ、かつ/または機体1218および/または内装1222に使用することができる。これらの技術およびシステムは、例えば推進系1224、電気系1226、油圧系1228、および環境系1230を含むシステム1220にさえも利用することができる。
【0079】
一実施形態では、部品は機体1218の一部分を含み、部品および小組立品の製造1208中に製造される。次いで部品はシステム統合1210中に航空機内に組み立てられ、次いで就航1214の期間中、摩耗により部品が利用できなくなるまで利用することができる。次いで整備および保守1216中に、部品は廃棄され、新しく製造された部品と交換される。本発明の部品および方法は、新しい部品を製造するために、部品および小組立品の製造1208全体を通して利用することができる。
【0080】
本明細書で図示しまたは記載した様々な制御素子(例えば電気または電子部品)はいずれも、ハードウェア、ソフトウェアを実装したプロセッサ、ファームウェアを実装したプロセッサ、またはこれらの何らかの組合せとして実現することができる。例えば、素子は専用ハードウェアとして実現することができる。専用ハードウェア素子は、「プロセッサ」、「コントローラ」、またはこれに類するその他の用語で呼ばれることがある。プロセッサによって実現される場合、その機能は単一の専用プロセッサ、単一の共有プロセッサ、または共有可能な複数の個別プロセッサによって実現することができる。さらに、用語「プロセッサ」または「コントローラ」の明示的な使用は、ソフトウェアを実行可能なハードウェアのみを指すと解釈されるべきではなく、限定するものではないが、デジタル信号プロセッサ(DSP)ハードウェア、ネットワークプロセッサ、特定用途向け集積回路(ASIC)もしくは他の回路構成、フィールドプログラマブルゲートアレイ(FPGA)、ソフトウェアを格納するための読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、不揮発性記憶装置、論理回路、または何らかの他の物理的ハードウェア部品もしくはモジュールを暗黙に含むことができる。
【0081】
また、制御素子は、この素子の機能を実行するべくプロセッサまたはコンピュータによって実行可能な命令として実現することができる。命令の幾つかの例を挙げると、ソフトウェア、プログラムコード、およびファームウェアがある。命令は、プロセッサによって実行されると、このプロセッサに指示して素子の機能を実行させるように動作する。命令は、プロセッサによって読み取り可能な記憶装置に格納することができる。記憶装置の例としては、デジタルメモリもしくは固体メモリ、磁気ディスクおよび磁気テープのような磁気記憶媒体、ハードドライブ、または、光学的に読取り可能なデジタルデータ記憶媒体が挙げられる。
【0082】
本明細書では特定の実施形態について記載したが、本開示の範囲はこれらの特定の実施形態に限定されない。本開示の範囲は、以下の請求の範囲およびその均等物によって定義される。