(57)【要約】      （修正有）【課題】ロボットによる製造環境内での衝突を防止するためのシステム及び方法が提供すること。【解決手段】ロボット１５０は、エンドエフェクタ１３２に装着された撮像システム１３４と、ミラーの位置と配向を特定するコントローラ１５２も含む。コントローラは、撮像システムをミラーに向けて配向するようにアクチュエータ１１２、１１４、１１６に指示することと、撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群を取得することと、ミラーによって規定された表面で三次元位置を折り返すことによって、点群の三次元位置を修正することが可能である。ロボットはまた、修正された位置に基づいて、製造セル内でロボットが占めている空間を決定し、この空間に基づいて、製造セル内での衝突を防止するようにロボットが動作するよう指示することが可能である。【選択図】図１
2017213672.tif 000002
【特許請求の範囲】
【請求項１】
ロボットであって、
製造セル（１００）内で動作するエンドエフェクタ（１３２）と、
前記製造セル内で前記エンドエフェクタを再配向する運動連鎖（１５６）を規定するアクチュエータ（１１４、１１６）と、
前記エンドエフェクタを伴う撮像システム（１３４）と、
ミラー（２００）の位置及び配向を特定し、前記撮像システムを前記ミラーに向けて配向するように前記アクチュエータに指示し、前記撮像システムを動作させて前記ミラー内の画像をスキャンすることによって、三次元位置の点群（７５６）を取得し、前記ミラーによって規定される表面（２０１）で前記三次元位置を折り返すことによって、前記点群の前記三次元位置を修正し、修正された前記三次元位置に基づいて前記製造セル内で前記ロボットが占める空間（７５８）を決定し、前記空間に基づいて、前記製造セル内での衝突を防止するように動作するよう前記ロボットに指示するコントローラ（１５２）と
を含むロボット（１５０）
を含む装置。
【請求項２】
前記コントローラは、前記ロボットのコンピュータ支援設計（ＣＡＤ）モデルと前記空間との間の不一致を特定し、前記不一致を表すレポートを送信する、
請求項１に記載の装置。
【請求項３】
前記コントローラは、修正された前記位置に基づいて、前記製造セル内で前記ロボットを覆う外装（１４０）が占める空間を決定する、
請求項１に記載の装置。
【請求項４】
前記製造セル内での衝突を防止するため、前記外装が占める前記空間に基づいて動作するよう、前記コントローラが前記ロボットに指示する、
請求項３に記載の装置。
【請求項５】
前記コントローラは、前記ミラーの近傍の対象物を検出するため前記撮像システムを動作させ、既知である前記ミラーに対する前記対象物の場所に基づいて、前記撮像システムに対する前記ミラーの位置及び配向を決定する、
請求項１に記載の装置。
【請求項６】
前記コントローラは、修正された前記位置に基づいて、前記エンドエフェクタが占める空間を決定する、
請求項１に記載の装置。
【請求項７】
前記エンドエフェクタは、前記製造セル内で部品（１７０）に変更を加える、
請求項１に記載の装置。
【請求項８】
製造セル内でミラーの位置及び配向を特定するため、ロボットのエンドエフェクタに取り付けられた撮像システムを動作させること（３０２）と、
前記ミラーに向けて前記撮像システムを配向するため、前記ロボットのアクチュエータに指示すること（３０４）と、
前記撮像システムを動作させて前記ミラー内の画像をスキャンすることによって、三次元位置の点群を取得すること（３０６）と、
前記ミラーによって規定される表面で前記三次元位置を折り返すことによって、前記点群の前記三次元位置を修正すること（３０８）と、
修正された前記三次元位置に基づいて、前記製造セル内で前記ロボットが占める空間を決定すること（３１０）と、
前記製造セル内での衝突を防止するため、前記空間に基づいて前記ロボットの動作を指示すること（３１２）と
を含む方法（３００）。
【請求項９】
前記ロボットのコンピュータ支援設計（ＣＡＤ）モデルと前記空間との間の不一致を特定することと、
前記不一致を表すレポートを送信することと
をさらに含む、請求項８に記載の方法。
【請求項１０】
修正された前記位置に基づいて、前記製造セル内で前記ロボットを覆う外装が占める空間（７５８）を特定すること
をさらに含む、請求項８に記載の方法。
【請求項１１】
前記製造セル内での衝突を防止するため、前記外装が占める前記空間に基づいて動作するよう、前記ロボットに指示すること
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記ミラーの近傍の対象物（２１０）を検出するため、前記撮像システムを動作させることと、
既知である前記ミラーに対する前記対象物の場所に基づいて、前記撮像システムに対する前記ミラーの前記位置及び配向を決定すること
をさらに含む、請求項８に記載の方法。
【請求項１３】
修正された前記位置に基づいて、前記エンドエフェクタが占める空間（７５８）を特定すること
をさらに含む、請求項８に記載の方法。
【請求項１４】
前記製造セル内で部品に変更を加えるように、前記エンドエフェクタを動作させること
をさらに含む、請求項８に記載の方法。
【請求項１５】
プログラムされた指令を具現化する非一時的コンピュータ可読媒体であって、前記指令は、プロセッサによって実行されると、
製造セル内でミラーの位置及び配向を特定するために、ロボットのエンドエフェクタに取り付けられた撮像システムを動作させること（３０２）と、
前記ミラーに向けて前記撮像システムを配向するために、前記ロボットのアクチュエータに指示すること（３０４）と、
前記撮像システムを動作させて前記ミラー内の画像をスキャンすることによって、三次元位置の点群を取得すること（３０６）と、
前記ミラーによって規定される表面で前記三次元位置を折り返すことによって、前記点群の前記三次元位置を修正すること（３０８）と、
修正された前記三次元位置に基づいて、前記製造セル内で前記ロボットが占める空間を決定すること（３１０）と、
前記製造セル内での衝突を防止するため、前記空間に基づいて、前記ロボットの動作を指示すること（３１２）
を含む方法（３００）を実施するために動作可能である、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ロボット工学の分野に関し、具体的には、ロボット式製造環境における衝突防止に関する。
【背景技術】
【０００２】
ロボットは、様々な製造環境において利用されている。例えば、ロボットは、アセンブリラインにおいてセル（即ち所定の容積の空間）内に設置され得る。ロボットは、セル内に置かれる搬入部品がさらなる処理を受けるために次のセルに進行する前に、その部品に対して作業を実施し得る。例えば、ロボットは、部品に孔をドリル加工したり部品にリベットを付けたりするために、エンドエフェクタを動作させることによって作業を実施し得る。
【０００３】
ロボットは製造環境内で効果的且つ効率的に動作する一方、正常動作中に、セル内で物体と意図せぬ衝突を起こすリスクを有している。例えば、ロボットがセル内である所定の場所を占めることが、コンピュータモデルによって示され得る。しかし、ロボット及び／または作業対象の部品が、セル内でそれぞれの予期された位置及び／または方向に正確に設置されていない場合、衝突が生じ得る。さらに、ロボットは、油圧ホースや電力ケーブルなどを含む外装に覆われていてよいが、この外装は、セル用のコンピュータモデルにおいては十分に考慮されていない可能性がある。したがって、外装が、セル内で意図せずに他の物体に衝突したり、引っかかったり、絡んだりすることがあり得る。
【０００４】
これらの問題に対処するため、技術者が一種の三次元測定機（ＣＭＭ）を用いて、ロボットや部品などを含むセル内の様々な構成要素の位置及び／または配向を測定することは、珍しくない。しかし、これらの物体は、ＣＭＭの座標系内で測定されるのであり、これらの物体の測定値には、残余誤差が含まれてしまう。したがって、ロボットのエンドエフェクタの任意の点と部品との間の距離を決定するためには、（誤差を含む）これらの測定値を、ＣＭＭ座標系からロボット用の座標系に変換する必要があり得る。こうして、ＣＭＭの測定誤差の大きさに応じて、衝突は依然として発生し得る。また、これらの測定には、処理と定期的な認証のための、専用の設備と時間が必要である。
【発明の概要】
【０００５】
本書に記載の実施形態は、ミラーを通じてロボットの画像をスキャンし、ロボットが占めている空間を定量化するため、ロボットに取り付けられた撮像システムを動作させる。これによって、例えばロボットに取り付けられているあらゆる外装も含めて、製造セル内でロボットが占めている空間を、正確且つ迅速に決定することが可能になる。さらに、撮像システムの位置は既知でありロボットのエンドエフェクタに対して固定されているため、撮像システムの測定値に固有の誤差は、エンドエフェクタの機械加工ツールと共通の経路を共有する。したがって、それらは相殺される。対照的に、外部の座標系内に固有の誤差は、エンドエフェクタとロボットの姿勢に関する誤差として、ロボットの座標系に伝達される。
【０００６】
１つの実施形態は、ロボットを含む装置である。ロボットは、製造セル内で動作するエンドエフェクタと、製造セル内でエンドエフェクタを再配向する運動連鎖（ｋｉｎｅｍａｔｉｃ  ｃｈａｉｎ）を規定するアクチュエータを含む。ロボットはまた、エンドエフェクタに装着された撮像システムと、ミラーの位置と配向を識別するように構成されたコントローラも含む。コントローラは、撮像システムをミラーに向けて配向するようにアクチュエータに指示することと、撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群を取得することと、ミラーによって規定された表面で三次元位置を折り返すことによって、点群の三次元位置を修正することが可能である。ロボットはまた、修正された位置に基づいて、製造セル内でロボットが占めている空間を決定し、この空間に基づいて、製造セル内での衝突を防止するようにロボットが動作するよう指示することが可能である。
【０００７】
別の実施形態は、ロボットをスキャンする方法である。方法は、製造セル内のミラーの位置及び配向を識別するためにロボットのエンドエフェクタに取り付けられた撮像システムを動作させることと、撮像システムをミラーに向けて配向するようにロボットのアクチュエータに指示することと、撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群を取得することと、ミラーによって規定された表面で三次元位置を折り返すことによって、点群の三次元位置を修正することを含む。方法は、修正された三次元位置に基づいて、製造セル内でロボットが占めている空間を決定することと、この空間に基づいて、製造セル内での衝突を防止するようにロボットが動作するよう指示することも、また含む。
【０００８】
別の実施形態は、プログラムされた指令を具現化する非一時的コンピュータ可読媒体であって、前記指令は、プロセッサによって実行されると、方法を実施するために動作することができる、非一時的コンピュータ可読媒体である。方法は、製造セル内のミラーの位置及び配向を識別するためにロボットのエンドエフェクタに取り付けられた撮像システムを動作させることと、撮像システムをミラーに向けて配向するようにロボットのアクチュエータに指示することと、撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群を取得することと、ミラーによって規定された表面で三次元位置を折り返すことによって、点群の三次元位置を修正することを含む。方法は、修正された三次元位置に基づいて、製造セル内でロボットが占めている空間を決定することと、この空間に基づいて、製造セル内での衝突を防止するようにロボットが動作するよう指示することも、また含む。
【０００９】
他の例示的な実施形態（例えば、上述の実施形態に関連する方法及びコンピュータ可読媒体）が、後述される。上述の特徴、機能及び利点は、様々な実施形態において独立して実現することが可能であり、また別の実施形態において組み合わせられてもよい。これらの実施形態については、以下の説明および添付図面を参照して、さらに詳細に見ることができる。
【００１０】
ここで、本開示の幾つかの実施形態が、例示のみの目的で添付図面を参照して説明される。全ての図面において、同じ参照番号は同じ要素または同じタイプの要素を表す。
【図面の簡単な説明】
【００１１】
【図１】例示的な一実施形態における、製造セルの図である。
【図２】例示的な一実施形態における、製造セル内で初期化を行っているロボットの図である。
【図３】例示的な一実施形態における、ロボットを動作させる方法を示すフローチャートである。
【図４】例示的な一実施形態における、三次元位置の折り返しを示す図である。
【図５】例示的な一実施形態における、三次元位置の折り返しを示す図である。
【図６】例示的な一実施形態における、三次元位置の折り返しを示す図である。
【図７】例示的な一実施形態における、製造セルのブロック図である。
【図８】例示的な一実施形態による、航空機の製造及び保守方法のフロー図である。
【図９】例示的な一実施形態における、航空機のブロック図である。
【発明を実施するための形態】
【００１２】
図面及び下記の記載により、本開示の具体的な例示的実施形態が示される。本明細書に明示的に記載または図示されていないが、本開示の原理を具現化し本開示の範囲に含まれる様々な装置が当業者によって考案され得ることは、理解されるべきである。さらに、本明細書に記載のいかなる実施例も、本開示の原理の理解を助けるためのものであって、それらの具体的に記載された実施例や諸条件を限定しないものとして理解されるべきである。結果として、本開示は、下記の具体的な実施形態または実施例に限定されず、特許請求項の範囲及びその均等物によって限定される。
【００１３】
図１は、例示的な実施形態における、製造セル１００の図である。製造セル１００は、内部でロボット１５０が搬入部品の生産、製造、及び／または組み立てを補助するために動作することが予期される、任意の空間のスペースを含み得る。例えば、製造セル１００は、閉鎖空間、または作業場内の開放空間のスペースを含み得る。図１によると、製造セル１００は、空間１０２、台座１１０、台座１１０に装着されたロボット１５０、コンベヤー１６０、及び部品１７０を含む。台座１１０は、製造セル１００内の固定した場所を占める構造用部品を含み得るか、または所望に応じて、ロボット及び／または工具を様々な構成用にアレンジするために作業場の各地で運転することが可能な可動機構（例えばカート）を含み得る。したがって、ある実施形態では、台座１１０、部品１７０、及びコンベヤー１６０は、可動である、及び／または作業場の各地で運転可能である。台座１１０にはロボット１５０が装着されており、ロボット１５０は、複数のアクチュエータ（１１２、１１４、１１６）及び剛性の本体（１２０、１３０）を含む。複数のアクチュエータと剛体の本体は、合わせて運動連鎖１５６を規定する。ロボット１５０はまた、部品１７０に対する作業を実施し得るエンドエフェクタ１３２も含み得る。例えば、エンドエフェクタ１３２は、のこぎり、ドリル、リベットガン、自動積層装置（ＡＦＰ）などを含み得る。
【００１４】
コントローラ１５２は、エンドエフェクタ１３２及び撮像システム１３４を含む、ロボット１５０の動作を指示する。コントローラ１５２は、例えばカスタム回路として、プログラムされた指令を実行するプロセッサとして、またはこれらの何らかの組み合わせとして実装され得る。
【００１５】
部品１７０は、エンドエフェクタ１３２によって作業されるように構成された、任意の適切な構造物を含み得る。例えば、部品１７０は、航空機の翼用の硬化複合材パネル、胴体用の構造用部品、支柱、などを含み得る。コンベヤー１６０は部品１７０を製造セル１００内に移動するものであり、自動コンベヤーベルト、カートなどを含み得る。
【００１６】
エンドエフェクタ１３２が製造セル１００内の他の物体と衝突するのを防止するため、エンドエフェクタ１３２に撮像システム１３４が装着されている（例えば、エンドエフェクタ１３２に装着されているか、または剛性の本体１３０に装着されている）。撮像システム１３４は、三次元点群を生成して衝突を防止するため、エンドエフェクタ１３２の周囲の空間をスキャンする。さらに、撮像システム１３４は、ロボット１５０に取り付けられているあらゆる外装１４０（例えば電力ケーブル、油圧ホースなど）を含めて、ロボット１５０が占めている空間を正確に決定するため、ミラー（図２の２００）を利用することが可能である。こうしてロボット１５０は、アクチュエータ１１２、１１４、１１６に対して送られる関節空間指令を介して動かされる際に、この動きが、製造セル１００内の他の物体との衝突にどのように帰着し得るかを理解して、動かされる。コントローラ１５２は、撮像システム１３４からの入力に基づいて空間の情報を計算し得、衝突を回避するためにアクチュエータ１１２、１１４、及び１１６に指示するときに、この情報を利用し得る。撮像システム１３４は、光検出と測距（ＬＩＤＡＲ）システム、三次元スキャナー、もしくは（名目的三次元モデルであるロボット１５０が検討されている場合に）入力が三次元位置の計算に利用される二次元カメラ、または任意の他の適切な撮像システムであってよい。
【００１７】
図２は、例示的な一実施形態における、製造セル１００内で初期化をしているロボット１５０の図である。この実施形態では、ロボット１５０が自身の空間を正確に決定することができるように、製造セル１００内にミラー２００が置かれている。望ましい場合には、ロボット１５０の初期化完了後にミラー２００は取り外され得る。ミラー２００は、表面２０１を含み、ミラー２００から既知の距離及び方向で（例えば、ミラー２００のへり沿いに、ミラー２００から１インチ空けて上方に、下方に、及び／または両サイドなどに）設置された、スキャン対象物２１０を伴っていてよい。対象物２１０は、コントローラ１５２が認識可能な特有の色及び／または形状によって特徴づけられていてよい。これによって、撮像システム１３４に対するミラー２００の場所及び／または配向の測定の補助が促進され得る。
【００１８】
ロボット１５０の動作の例示的な詳細が、図３に関連して説明される。この実施形態では、ロボット１５０は初期化プロセスを開始しており、セルフスキャンを実施する準備ができている。ロボット１５０は、搬入部品（例えば部品１７０）に対する能動的な作業の実施を未だ開始していない。この初期化プロセスは、例えばロボット１５０が最初に設置されたときや、１日１回、１時間に１回などに実施されてよい。
【００１９】
図３は、例示的な一実施形態における、ロボット１５０を動作させる方法３００を示すフロー図である。方法３００のステップは、図１〜図２に示されるロボット１５０に関連して説明されるが、所望であれば方法３００が他のシステムで実施され得ることを、当業者は理解するであろう。本書に記載のフロー図のステップは網羅的ではなく、図示されない他のステップも含み得る。本書に記載のステップはまた、他の順序でも実施され得る。
【００２０】
コントローラ１５２は、製造セル１００内でミラー２００の場所を特定するために撮像システム１３４を動作させることによって、初期化プロセスを開始する（ステップ３０２）。このプロセスの一部として、コントローラ１５２は、撮像システム１３４を反復して再配置／再配向し得、ミラー２００（または対象物２１０）が発見されるまで、画像を取得し得る。したがって、このプロセスは、ミラー２００の近傍の対象物２１０を検出するように撮像システム１３４を動作させることと、既知であるミラー２００に対する対象物２１０の場所に基づいて、撮像システム１３４に対するミラー２００の位置及び配向を判定することとを含み得る。
【００２１】
ロボット１５０が撮像システム１３４をミラー２００に向けて配向した後、コントローラ１５２は、撮像システム１３４を動作させて、ミラー２００に提示された及び／またはミラー２００で反射された画像をスキャンすることによって三次元位置の点群を取得するため、撮像システム１３４からの入力を処理する（ステップ３０６）。例えば、撮像システム１３４がレーザーを利用する実施形態では、撮像システム１３４は、ミラー２００の箇所２０２に対してレーザー光１３６（図２に示す）を放射し得る。次いで、光１３６はミラー２００によって反射され、ロボット１５０上の箇所１５４に達する。レーザー光１３６によるロボット１５０上の箇所１５４の照射は、ミラー２００の反対側の面にある位置のように見える。この位置までの距離は、ミラー２００からの反射がロボット１５０まで進んだ距離と同じである。したがって、各位置／点に関して撮像システム１３４によって計算される総距離は、撮像システム１３４から箇所２０２までのレーザー光１３６による移動距離と、箇所／画像２０２から箇所１５４までのレーザー光１３６による移動距離とを合わせた距離に相当する。ロボット１５０（例えばエンドエフェクタ１３２を含む）と外装１４０が占める箇所の三次元点群を取得するため、こうした技法が反復して実施され得る。
【００２２】
距離が撮像システム１３４を介して測定された後、コントローラ１５２は、ミラー２００の表面２０１を規定する既知の表面といった、ミラー２００の既知の表面形状で位置を折り返すことによって、画像内の位置（例えば三次元位置）を修正する（ステップ３０８）。こうしたプロセスの詳細は、以下の実施例の節で記載される。
【００２３】
ミラー２００の表面２０１で位置を折り返すことによって画像内の位置を修正し終わると、コントローラ１５２は、修正された位置に基づいて、ロボット１５０（例えば、エンドエフェクタ１３２及び／または外装１４０を含む）が占める空間を決定し得る（ステップ３１０）。この空間は、点群によって、一連のボクセルなどとして表され得る。この情報は次に、ロボット１５０が占める空間を決定するために、コントローラ１５２のメモリ内に保存され得る。例えばロボット１５０は、アクチュエータ１１２、１１４及び１１６を介して既知の力が加えられた場合、コンピュータモデルに基づいて、ある空間を占めることが予期され得る。しかし、（例えば、外装１４０のねじれによって生じる）予期せぬ抵抗力によって、ロボット１５０が動作中に予期されるものとは異なる空間を占めることが起こり得る。
【００２４】
ロボット１５０が動いて複数のポーズ（例えば運動連鎖１５６によって許容された種々の位置）のそれぞれをとる際、これらのポーズのそれぞれでロボットが実際に占める空間を決定するため、コントローラ１５２は、ステップ３０２〜３１０を反復して実施し得る。コントローラ１５２はさらに、この空間情報を、ポーズごとにメモリ内に保存し得る。例えば、各空間は、アクチュエータ１１２、１１４、及び１１６によって加えられる力の種々の組み合せと相関関係を有していてよい（力の種々の組合せはそれぞれ、結果として異なるポーズとなる）。
【００２５】
さらなる実施形態では、力の組み合せがアクチュエータ１１２、１１４、及び１１６に対して加えられるとき、ロボット１５０が実施する動作は、ロボット１５０が到達するポーズに対して影響を与え得る。例えば、ロボット１５０があるポーズをとろうとする前に周回状の動作を実行する場合には、別の動作が行われた場合とは異なる力／ねじれが、外装１４０に生じ得る。これによって、動作の終了時にはアクチュエータ１１２、１１４、及び１１６によって同じ組み合せの力が加えられているにも関わらず、ロボット１５０がとる最終ポーズ（及びロボット１５０が占める空間）は変化し得る。こうした状況においては、コントローラ１５２は、同じ組み合わせの力が加えられたときに、種々のポーズのどれが生じ得るかを、まず決定する。コントローラ１５２はさらに、これらの種々のポーズのそれぞれで見られるロボット１５０の空間を組み合わせる。こうして、組合せた力が加えられたとき、（ロボット１５０が種々のポーズのうちのどれを用いているかに関わらず）ロボット１５０は他の物体と衝突しないであろう。
【００２６】
（例えば、複数のポーズのそれぞれにおける）ロボット１５０の空間が決定された後、コントローラ１５２は、その空間に基づいて、ロボット１５０の動作を指示する（ステップ３１２）。例えばロボット１５０が、ロボット１５０を２センチメートル超えて延びる外装１４０を有することが予期されているが、実際には外装１４０がロボット１５０を７センチメートル超えて延びている場合、コントローラ１５２は、製造セル１００内での衝突を防止するためにこの情報を使い得る。このプロセスの一部として、コントローラ１５２は、ロボット１５０が、製造セル１００内で検出された他の物体との衝突を起こし得るポーズをとることを制限し得る。
【００２７】
さらなる実施形態では、コントローラ１５２は、ロボット１５０のコンピュータ支援設計（ＣＡＤ）モデルをメモリ内に保存する。ステップ３１０でロボット１５０の真の空間を決定した後、コントローラ１５２は、ロボット１５０のＣＡＤモデルと真の空間との間の不一致（例えば、真の空間がＣＡＤモデルを１センチメートルよりも大きく超えて延びている箇所）を特定する。コントローラ１５２はさらに、これらの不一致のそれぞれの、位置及び重症度を表すレポートを生成し送信し得る。例えば、コントローラ１５２は、不一致を表すファイルを生成し得、このファイルをユーザのコンピュータに送信し得る。このファイルは、各不一致の箇所、不一致の直線的測定値、及び不一致の空間測定値を含み得る。本書で使用する場合、不一致とは、ロボット１５０の、位置、サイズ、または配向の、ＣＡＤファイルに示される予期された値からのあらゆるずれを含み得る。一実施形態では、不一致は、閾値よりも大きい場合（例えば、直線的なずれが１センチを超える場合）にのみレポートされる。さらなる実施形態では、ロボット１５０がエンドエフェクタ１３４で作業を実施しているときにロボットに付着した金属、削り屑、及び／または他の残屑が、ロボットによって検出されることを確実にするため、閾値は非常に低く（例えば、１ミリメートル以下に）設定され得る。
【００２８】
方法３００は、先行のシステムに比べた実質的なメリットを提供する。なぜならば、方法３００によって、複数のポーズのそれぞれにおけるロボットの真の形状を特定するため、ロボット１５０が自身をスキャンすることが可能になるからである。これによって、コントローラ１５２が、ロボット１５０の衝突に帰着する動作を先行して識別することが可能になり、こうした衝突を、実際に起きる前に回避することが可能になる。さもないと、１つ１つの衝突が生産の一時停止（または、ロボット１５０及び／または製造セル１００内もしくはその近傍の他の物体の高額な修理）に帰着するため、これらの衝突を回避することによって、実質的なメリットが提供される。
【００２９】
実施例
以下の例では、エンドエフェクタ１３２からロボット１５０の他の箇所への距離を決定する追加のプロセス、システム、及び方法が、ロボット１５０に関連して記載される。具体的には、図４〜図６が、これらの実施例において、例示的な実施形態のロボット１５０用の距離の三角測量を示す図である。これらの図は、二次元配置に関して検討されているが、これらの原理は、特に個々の三角形は、そもそも定義によって平面であるとの理解に照らして検討した場合、三次元配置の計算にも拡張可能である。さらに、セルフスキャンを実施する目的で、さらなる技法及びシステムが利用され得る。これらの技法には、限定しないが、三次元スキャナー技法、写真測量法、光検出と測距（ＬＩＤＡＲ）などが含まれる。例えば、写真測量法では、二次元入力の三次元位置との相関関連付けに関して結果的に生じるＰｎＰ問題を解決することによって三次元位置を検出し取得するため、名目的三次元モデルと組み合わせて二次元カメラからの入力が用いられ得る。ＰｎＰ問題に関する解決法は、最良適合を用いて剛性の本体の名目的三次元モデルから二次元測定値に変換する、並進オフセット及び回転オフセットを返し得る。こうした環境においては、スキャンされているロボットが剛体であると見なすことが有益であり得る。
【００３０】
以下の実施例は、三次元スキャナー技法に焦点を合わせているが、ＬＩＤＡＲ及び他の技法を用いて、同様の測距原理が利用され得る。図４によると、レーザー４１０は、点ｐ２から、点ｐ１を中心とするイメージャから撮像されている物体４００上の点ｐ３に、レーザー光線４１２を放射する。ｐ１とｐ２の間の距離（ｄ）は既知であり、距離（ｄｄ）は、レーザー光線４１２のスポット（ｐ３）よって作り出された照射が、センサ４２０のどこに当たるかを決定することによって測定される。さらに、センサ４２０は既知の照準線及び位置（ｐ１）を有し、レーザー４１０は、既知の方向及び位置（ｐ２）を有する。さらに、図４に示すように、センサ４２０から焦点距離（ｆ）を空けて、レンズ４３０が設置されている。距離ＤＤは、物体４００とセンサ４２０の照準線４２２との間の距離を表す。焦点面４２４もまた示されている。物体４００とセンサ４２０の間の距離は、三角法を用いて決定され得る。要約すると、光線４１２が戻ってくるときに、センサ４２０上の二次元のセントロイド位置が決定され得、光線４１２が移動する距離は、このセンサ４２０上のセントロイド位置に基づいて計算され得る。
【００３１】
図５に示すように、距離に関する様々なパラメータを特定するために、三角測量が用いられてよい。これらのパラメータに基づいて、正確な距離が決定され得る。角度Ｂは（ｄｄ／ｆ）の逆正接として規定され得、角度Ｃはπ／２−Ｂとして規定され得、角度Ｄはπ−Ａ−Ｃとして規定され得る。正弦定理によって、正弦（Ｄ）をｄ及びｄｄの和で除すると、正弦（Ｃ）を距離ｃで除したものと等しいことが理解されよう。したがって、この等式を再整理すると、距離ｃは、ｄとｄｄの和に正弦（Ｃ）を乗じ、正弦（Ｄ）で除したものと等しいということが判明し得る。点ｐ３は、レーザー光線４１２の方向に沿って、ｐ２から距離ｃの位置にある。したがって、物体までの距離は、上記の再整理された等式に基づいて決定され得る。
【００３２】
ミラーによって、（例えば、レーザースポットｐ３がセンサ４２０の被写界深度内及び視野内に留まる限り）焦点面４２４の背後のスキャンが可能になる。こうした実施形態では、物体４００は、ミラーライン６１０によって規定されるミラーを通して視覚される。図６に示すように、任意の直線のミラーライン６１０は関係式ｙ＝Ｍｍｉｒｒｏｒ＊ｘ＋ｂｍｉｒｒｏｒによって規定され得、その一方、任意の直線の反射線６２０は、垂線の関係式ｙ  ＝  Ｍｒｅｆｌｅｃｔ＊ｘ  ＋  ｂｒｅｆｌｅｃｔによって規定され得る。こうした環境では、ｐ３は、被照射位置ｐ５のミラーライン６１０の背後の画像を表している。したがって、位置ｐ３に関して行われた計算は、他の位置ｐ５をミラーライン６１０で垂直に「折り返す」計算である（三次元環境では、ミラーの表面は平面として規定される）。座標が（ｘ３，ｙ３）である位置ｐ３では、Ｍｒｅｆｌｅｃｔ＝−１／Ｍｍｉｒｒｏｒであり、ｙ３＝Ｍｒｅｆｌｅｃｔ＊ｘ３＋ｂｒｅｆｌｅｃｔであり、ｂｒｅｆｌｅｃｔ  ＝  ｙ３−  Ｍｒｅｆｌｅｃｔ＊ｘ３である。座標が（ｘ４，ｙ４）であり、ミラーラインが反射線と交差する位置である位置ｐ４では、Ｍｍｉｒｒｏｒ＊ｘ４＋ｂｍｉｒｒｏｒ＝Ｍｒｅｆｌｅｃｔ＊ｘ４＋ｂｒｅｆｌｅｃｔであり、ｘ４＊（Ｍｍｉｒｒｏｒ−Ｍｒｅｆｌｅｃｔ）＝ｂｒｅｆｌｅｃｔ−ｂｍｉｒｒｏｒであり、ｘ４＝（ｂｒｅｆｌｅｃｔ−ｂｍｉｒｒｏｒ）／（Ｍｍｉｒｒｏｒ−Ｍｒｅｆｌｅｃｔ）であり、ｙ４＝Ｍｍｉｒｒｏｒ＊ｘ４＋ｂｍｉｒｒｏｒである。座標が（ｘ５，ｙ５）である位置ｐ５では、ｘ５＝２＊（ｘ４−ｘ３）であり、ｙ５＝（ｙ４−ｙ３）である。さらなる実施形態では、センサ４２０の裏側の視界を提供するため、ｐ４とｐ５の間に別のミラーが設置されていてよい。これらの方程式を合わせて検討することによって、エンドエフェクタからロボット上の他の点までの真の距離を測定するためのフレームワークが提供される。
【００３３】
図７は、例示的な一実施形態における、製造セル７００のブロック図である。図７に示すように、セル７００はロボット７５０を含む。ロボット外装７４０は、エンドエフェクタ８３２に油圧と電力を提供するためにロボット７５０を覆っている。ロボット７５０はベース７１０に取り付けられており、コントローラ７５２を含んでいる。コントローラ７５２は、剛性の本体７２０及び７３０を再配置するためにアクチュエータ７１４、及び７１６の動作を指示する。これによって、エンドエフェクタ７３２（例えば、部品７７０に対して作業を実施するため）及び撮像システム７３４（例えば、ロボット１５０をスキャンするため）もまた、再配置される。アクチュエータ７１４、７１６、並びに剛性の本体７２０及び７３０（撮像システム７３４及びエンドエフェクタ４３２を含む）の組合せによって、運動連鎖７５４が形成される。コントローラ７５２はまた、メモリ７５４も含む。コントローラ７５２は、撮像システム７３４からの入力に基づいて三次元位置を検出するので、これらの位置を、どの空間７５８が計算され保存され得るかに基づいて、点群７５６で保存する。空間７５８は、ロボット１５０、外装１４０、エンドエフェクタ１３２、及び／または撮像システム１３４の全てを含み得る。さらに、ロボット１５０のこれらの機構のそれぞれの具体的な空間は、空間７５８の一部／部分として特定／決定され得る。ロボット７５０自身のスキャンのためにロボット７５０を利用することによって、先行のシステムに比べたメリットが提供される。なぜならば、種々のポーズをとっているときにロボット１５０が占める空間が、正確に測定され得、エンドエフェクタ７３２の位置と相互に関連付けられ得るからである。このようにして、エンドエフェクタ７３２は、予期せぬ衝突を生じることなく再配置され得る。
【００３４】
本開示の実施形態を、図面をさらに具体的に参照しながら、図８に示す航空機の製造及び保守方法８００、及び図９に示す航空機８０２に照らして説明する。製造前段階では、例示の方法８００は、航空機８０２の仕様及び設計８０４と、材料の調達８０６とを含み得る。製造段階では、航空機８０２の、構成要素とサブアセンブリの製造８０８と、システム統合８１０とが行われる。その後、航空機８０２は認可及び納品８１２を経て運航８１４に供され得る。顧客による運航期間中に、航空機８０２には、定期的な整備及び保守８１６（改造、再構成、改修なども含み得る）が予定される。
【００３５】
方法８００のプロセスの各々は、システムインテグレータ、第三者、及び／またはオペレータ（例えば顧客）によって実行され、もしくは実施され得る。本書の目的に関しては、システムインテグレータは、限定しないが、任意の数の航空機製造者、及び主要システムの下請業者を含み得、第三者は、限定しないが、任意の数のベンダー、下請業者、及び供給業者を含み得、オペレーターは、航空会社、リース会社、軍事団体、サービス機関などであり得る。
【００３６】
図９に示すように、例示的方法８００によって製造される航空機８０２は、複数のシステム８２０及び内装８２２を伴う機体８１８を含んでいてよい。高次のシステム８２０の例には、推進システム８２４、電気システム８２６、油圧システム８２８、及び環境システム８３０のうちの１つ以上が含まれる。任意の数の他のシステムが含まれていてよい。航空宇宙産業の例が示されているが、本発明の原理は、自動車産業などの他の産業にも適用され得る。
【００３７】
本書で具現化されている装置及び方法は、製造及び保守方法８００の各段階のうちの、任意の１つ以上において用いられ得る。例えば、製造段階８０８に対応する構成要素またはサブアセンブリは、航空機８０２の運航期間中に製作される構成要素またはサブアセンブリと類似の方法で、製造または生産され得る。また、１つ以上の装置の実施形態、方法の実施形態、またはそれらの組み合わせは、例えば、航空機８０２の組立を実質的に効率化するか、または航空機８０２のコストを削減することにより、製造段階８０８及び８１０において利用され得る。同様に、装置の実施形態、方法の実施形態、またはそれらの組み合わせのうちの１つ以上を、航空機８０２の運航期間中に、限定しないが例として整備及び保守８１６に利用することができる。例えば、本書に記載される技法及びシステムは、ステップ８０６、８０８、８１０、８１４、及び／または８１６で使用され得、及び／または、機体８１８、内装８２２、及び／またはシステム８２０（推進システム８２４、電気システム８２６、油圧システム８２８、及び／または環境システム８３０）で使用され得る。
【００３８】
一実施形態では、ロボット１５０は、コンポーネント及びサブアセンブリの製造９０８中に、機体１１８の一部を含む部品１７０を製造する。部品１７０は次に、システムインテグレーション８１０で航空機へと組み立てられ、部品１７０が損耗によって使用不可能になるまで、運航８１４期間中に使用され得る。次いで、整備及び保守８１６で、ロボット１５０は部品１７０を修理調整するか、または新たな部品１７０を製造する。
【００３９】
本明細書に記載の図面に示す様々な制御要素の内の任意のものが、ハードウェア、ソフトウェア、ファームウェア、またはこれらの何らかの組み合わせとして実装され得る。例えば、ある要素は専用ハードウェアとして実装され得る。専用ハードウェア要素は、「プロセッサ」、「コントローラ」、または同様の用語で呼ばれ得る。機能がプロセッサによって提供される場合、機能の提供は、単一の専用プロセッサによってであっても、単一の共有プロセッサによってであっても、またはそのうちの幾つかが共有であり得る複数の個別のプロセッサによってであってもよい。さらに、「プロセッサ」または「コントローラ」の語を明示的に使用することによって表されるのは、ソフトウェアの実行が可能なハードウェアのみであると解釈されるべきでなく、限定しないが、デジタル信号プロセッサ（ＤＳＰ）ハードウェア、ネットワークプロセッサ、特定用途向け集積回路（ＡＳＩＣ）もしくは他の回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ソフトウェア記憶用のリードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、不揮発性ストレージ、ロジックもしくは何らかの他の物理的ハードウェアコンポーネントもしくはモジュールなどが、黙示的に含まれてよい。
【００４０】
また、ある制御要素が、その要素の機能を実施するためにプロセッサまたはコンピュータによって実行可能な指令として実装され得る。指令の幾つかの例は、ソフトウェア、プログラムコード、及びファームウェアである。指令は、その要素の機能を実施するようにプロセッサに指示するためにプロセッサによって実行されるとき、動作可能である。指令は、プロセッサが読み取り可能な記憶デバイスに記憶され得る。ストレージデバイスの幾つかの例は、デジタルもしくはソリッドステートメモリ、磁気ディスク及び磁気テープなどの磁気記憶媒体、ハードドライブ、または光学可読デジタルデータ記憶媒体である。
【００４１】
ゆえに、要約すると、本発明の第１の態様により、下記が提供される。
【００４２】
Ａ１．製造セル（１００）内で動作するエンドエフェクタ（１３２）と、
製造セル内でエンドエフェクタを再配向する運動連鎖（１５６）を規定するアクチュエータ（１１４、１１６）と、
エンドエフェクタを伴う撮像システム（１３４）と、
ミラー（２００）の位置及び配向を特定し、撮像システムをミラーに向けて配向するようにアクチュエータに指示し、撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群（７５６）を取得し、ミラーによって規定される表面（２０１）で三次元位置を折り返すことによって、点群の三次元位置を修正し、修正された三次元位置に基づいて製造セル内でロボットが占める空間（７５８）を決定し、空間に基づいて、製造セル内での衝突を防止するように動作するようロボットに指示するコントローラ（１５２）と
を含むロボット（１５０）
を含む装置。
【００４３】
Ａ２．コントローラは、ロボットのコンピュータ支援設計（ＣＡＤ）モデルとこの空間との間の不一致を特定し、この不一致を表すレポートを送信する、
段落Ａ１に記載の装置もまた提供される。
【００４４】
Ａ３．コントローラは、修正された位置に基づいて、製造セル内でロボットを覆う外装（１４０）が占める空間を決定する、
段落Ａ１に記載の装置もまた提供される。
【００４５】
Ａ４．製造セル内での衝突を防止するため、外装が占める空間に基づいて動作するよう、コントローラがロボットに指示する、
段落Ａ３に記載の装置もまた提供される。
【００４６】
Ａ５．コントローラは、ミラーの近傍の対象物を検出するため撮像システムを動作させ、ミラーに対する対象物の既知の位置に基づいて、撮像システムに対するミラーの位置及び配向を決定する、
段落Ａ１に記載の装置もまた提供される。
【００４７】
Ａ６．コントローラは、修正された位置に基づいて、エンドエフェクタが占める空間を決定する、
段落Ａ１に記載の装置もまた提供される。
【００４８】
Ａ７．エンドエフェクタは、製造セル内で部品（１７０）に変更を加える、
段落Ａ１に記載の装置もまた提供される。
【００４９】
本発明のさらなる態様によれば、下記が提供される。
【００５０】
Ｂ１．製造セル内でミラーの位置及び配向を特定するため、ロボットのエンドエフェクタに取り付けられた撮像システムを動作させること（３０２）と、
ミラーに向けて撮像システムを配向するため、ロボットのアクチュエータに指示すること（３０４）と、
撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群を取得すること（３０６）と、
ミラーによって規定される表面で三次元位置を折り返すことによって、点群の三次元位置を修正すること（３０８）と、
修正された三次元位置に基づいて、製造セル内でロボットが占める空間を決定すること（３１０）と、
製造セル内での衝突を防止するため、空間に基づいてロボットの動作を指示すること（３１２）と
を含む方法（３００）。
【００５１】
Ｂ２．前記ロボットのコンピュータ支援設計（ＣＡＤ）モデルと前記空間との間の不一致を特定することと、
前記不一致を表すレポートを送信することと
をさらに含む、段落Ｂ１に記載の方法もまた提供される。
【００５２】
Ｂ３．修正された位置に基づいて、製造セル内でロボットを覆う外装が占める空間（７５８）を特定すること
をさらに含む、段落Ｂ１に記載の方法もまた提供される。
【００５３】
Ｂ４．製造セル内での衝突を防止するため、外装が占める空間に基づいて動作するよう、ロボットに指示すること
をさらに含む、段落Ｂ３に記載の方法もまた提供される。
【００５４】
Ｂ５．ミラーの近傍の対象物（２１０）を検出するため、撮像システムを動作させることと、
既知であるミラーに対する対象物の場所に基づいて、撮像システムに対するミラーの位置及び配向を決定すること
をさらに含む、段落Ｂ１に記載の方法もまた提供される。
【００５５】
Ｂ６．修正された位置に基づいて、エンドエフェクタが占める空間（７５８）を特定すること
をさらに含む、段落Ｂ１に記載の方法もまた提供される。
【００５６】
Ｂ７．製造セル内で部品に変更を加えるように、エンドエフェクタを動作させること
をさらに含む、段落Ｂ１に記載の方法。
【００５７】
本発明のさらなる態様によれば、下記が提供される。
【００５８】
Ｃ１．プログラムされた指令を具現化する非一時的コンピュータ可読媒体であって、前記指令は、プロセッサによって実行されると、
製造セル内でミラーの位置及び配向を特定するために、ロボットのエンドエフェクタに取り付けられた撮像システムを動作させること（３０２）と、
ミラーに向けて撮像システムを配向するために、ロボットのアクチュエータに指示すること（３０４）と、
撮像システムを動作させてミラー内の画像をスキャンすることによって、三次元位置の点群を取得すること（３０６）と、
ミラーによって規定される表面で三次元位置を折り返すことによって、点群の三次元位置を修正すること（３０８）と、
修正された三次元位置に基づいて、製造セル内でロボットが占める空間を決定すること（３１０）と、
製造セル内での衝突を防止するため、空間に基づいて、ロボットの動作を指示すること（３１２）を含む方法（３００）を実施するために動作することができる、非一時的コンピュータ可読媒体。
【００５９】
Ｃ２．ロボットのコンピュータ支援設計（ＣＡＤ）モデルと前記空間との間の不一致を特定することと、
不一致を表すレポートを送信することと
をさらに含む、段落Ｃ１に記載の方法もまた提供される。
【００６０】
Ｃ３．修正された三次元位置に基づいて、製造セル内でロボットを覆う外装が占める空間（７５８）を特定すること
をさらに含む、段落Ｃ１に記載の方法もまた提供される。
【００６１】
Ｃ４．製造セル内での衝突を防止するため、外装が占める空間に基づいて動作するよう、ロボットに指示すること
をさらに含む、段落Ｃ３に記載の方法もまた提供される。
【００６２】
Ｃ５．ミラーの近傍の対象物（２１０）を検出するため撮像システムを動作させることと、
既知であるミラーに対する対象物の場所に基づいて、撮像システムに対するミラーの位置及び配向を決定すること
をさらに含む、段落Ｃ１に記載の装置もまた提供される。
【００６３】
Ｃ６．修正された三次元位置に基づいて、エンドエフェクタが占める空間（７５８）を特定すること
をさらに含む、段落Ｃ１に記載の方法もまた提供される。
【００６４】
本書には具体的な実施形態が記載されているが、本開示の範囲は、それらの具体的な実施形態よって限定されるものではない。本開示の範囲は、下記の特許請求の範囲及びその均等物によって規定されるものである。
【図１】
2017213672.tif 000003
【図２】
2017213672.tif 000004
【図３】
2017213672.tif 000005
【図４】
2017213672.tif 000006
【図５】
2017213672.tif 000007
【図６】
2017213672.tif 000008
【図７】
2017213672.tif 000009
【図８】
2017213672.tif 000010
【図９】
2017213672.tif 000011
【外国語明細書】
2017213672000001.pdf
2017213672000002.pdf
2017213672000003.pdf
2017213672000004.pdf