(57)【要約】【課題】1つまたは複数の移動ロボットを使用してワークピース上で自律的に動作するためのシステムおよび方法を提供する。【解決手段】ロボットシステムは、ロボットと、物理的環境においてワークピースの動作表面上で動作するためのロボットのエンドエフェクタの移動のための親プランを自律的に生成するように構成されたプロセッサと、を含む。親プランはワークピースのコンピュータ支援設計（CAD）モデルに基づいており、親プランに定義され、ワークピース上の基準マーカーに対応する複数の作業ウェイポイントの各々におけるロボットのロボットアームの到達距離に基づいてエンドエフェクタの移動経路を定義する。プロセッサはロボットをワークピースに登録し、物理的環境における実際のワークピース位置と一致するまでワールドマップ内の近似的なワークピース位置を繰り返し調整し、ロボットアーム軌道を構築して実行し、エンドエフェクタを親プランで定義された移動経路に沿って動作表面上で動作させる。【選択図】図１
2019166631.tif 000002
【特許請求の範囲】
【請求項１】
ワークピース（300）上で自律的に動作するためのロボットシステム（100）であって、
プロセッサ（204）を含むデータ処理システム（200）に通信可能に結合され、ロボットアーム（106）と前記ロボットアーム（106）に結合されたエンドエフェクタ（110）とを有する少なくとも1つのロボット（102）を含み、
前記プロセッサ（204）は、物理的環境（350）内に配置されたワークピース（300）の動作表面（308）上で動作するための前記エンドエフェクタ（110）の移動のための親プラン（222）を自律的に生成するように構成され、前記親プラン（222）は、前記ワークピース（300）のコンピュータ支援設計（CAD）モデル（208）に基づいており、かつ、前記ワークピース（300）に取り付けられて、前記CADモデル（208）に表される複数の基準マーカー（316）に対応するように、前記親プラン（222）に含まれる複数の作業ウェイポイント（228）の各々における前記ロボット（102）の前記ロボットアーム（106）の到達距離に少なくとも部分的に基づいて前記エンドエフェクタ（110）の移動経路（238）を定義し、
前記プロセッサ（204）は、前記基準マーカー（316）の各々に対して、
前記ロボット（102）が基準マーカー（316）の前の接近ウェイポイント（226）に向かって移動しているとき、および／または前記基準マーカー（316）の前の前記接近ウェイポイント（226）にあるときに、前記ロボット（102）を前記物理的環境（350）内の前記ワークピース（300）に登録し、前記ロボット（102）が前記基準マーカー（316）に対応する前記作業ウェイポイント（228）に向かって移動しているとき、および／または前記作業ウェイポイント（228）にあるときに、ワールドマップ（242）内のモザイク状ワークピース衝突ジオメトリ（218）の近似的なワークピース位置（244）が前記物理的環境（350）内の実際のワークピース位置（306）と実質的に一致しない場合に、または一致するまで、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の位置を反復的に調整するステップと、
前記作業ウェイポイント（228）にある前記ロボット（102）と共に、前記作業ウェイポイント（228）に関連する前記移動経路（238）に沿って前記エンドエフェクタ（110）の一連の移動を実行するためのロボットアーム軌道（240）を構築するステップと、
前記ロボットアーム軌道（240）を実行し、前記作業ウェイポイント（228）にある前記ロボット（102）のために定義された前記親プラン（222）の部分に対応する前記ワークピース（300）の前記動作表面（308）の部分上で前記エンドエフェクタ（110）を動作させるステップと、
を順次自律的に実行するように構成される、
ロボットシステム（100）。
【請求項２】
前記プロセッサ（204）は、前記親プラン（222）を自律的に生成する際に、
前記CADモデル（208）のジオメトリファイル（216）に基づいて、前記ロボットアーム（106）の前記到達距離に基づく前記基準マーカー（316）からある距離において複数の作業ウェイポイント（228）をそれぞれ構築することと、
前記作業ウェイポイント（228）の各々において前記到達距離に対応した大きさの到達範囲（120）を構築することと、
各到達範囲（120）と前記動作表面（308）との交点に基づいて複数の表面セグメント（232）を定義することと、
各表面セグメント（232）について、前記表面セグメント（232）の最大寸法の方向として定義される切断方向（236）を決定することと、
各表面セグメント（232）を前記切断方向（236）に平行に配向された一連の垂直面と交差させることによって、各表面セグメント（232）について前記移動経路（238）を形成することと、
各作業ウェイポイント（228）について、隣接する移動経路（238）に沿って前記エンドエフェクタ（110）の交番する移動方向を指定することであって、交番する移動方向は前記エンドエフェクタ（110）の一連の移動を定義する、指定することと、
すべての前記作業ウェイポイント（228）における前記エンドエフェクタ（110）の前記移動経路（238）および前記一連の移動を含む前記親プラン（222）を保存することと、
を順次実行するように構成される、請求項1に記載のロボットシステム（100）。
【請求項３】
前記プロセッサ（204）は、
前記ワークピース（300）の前記CADモデル（208）の前記動作表面（308）を定義し、前記CADモデル（208）は衝突ジオメトリ（212）を有し、
前記CADモデル（208）の前記複数の基準マーカー（316）を定義し、
前記CADモデル（208）の前記衝突ジオメトリ（212）をモザイク化して、モザイク状ワークピース衝突ジオメトリ（218）を形成し、
前記ワークピース（300）の前記動作表面（308）、前記基準マーカー（316）、および前記モザイク状ワークピース衝突ジオメトリ（218）の前記定義を少なくとも含む前記ジオメトリファイル（216）を保存する
ように構成される、請求項2に記載のロボットシステム（100）。
【請求項４】
前記ロボット（102）はセンサシステム（114）を含み、
前記プロセッサ（204）は、前記ロボット（102）が前記物理的環境（350）の床面（352）に沿って操縦されている間に前記センサシステム（114）によって記録された、前記物理的環境（350）の環境境界（354）および前記環境境界（354）内の物体の画像データに基づいて前記ワールドマップ（242）を構築するように構成される、
請求項1に記載のロボットシステム（100）。
【請求項５】
前記プロセッサ（204）は、
前記ワークピース（300）のモザイク状ワークピース衝突ジオメトリ（218）を前記ワールドマップ（242）内に配置し、
前記モザイク状ワークピース衝突ジオメトリ（218）に基づいて前記ワークピース（300）の凸包（210）を作成し、
前記凸包（210）を前記ロボット（102）の立ち入り禁止領域として設定する
ように構成される、請求項4に記載のロボットシステム（100）。
【請求項６】
前記プロセッサ（204）は、
前記ロボット（102）の運動学的モデル（124）を前記ワールドマップ（242）にロードし、
前記運動学的モデル（124）に基づいて、前記ロボット（102）を前記ワークピース（300）に登録する前に、前記エンドエフェクタ（110）が各作業ウェイポイント（228）に関連する前記移動経路（238）に沿ったすべての位置に到達できるかどうかを判定する
ように構成される、請求項1に記載のロボットシステム（100）。
【請求項７】
前記ロボット（102）を前記ワークピース（300）に登録し、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記位置を調整する際に、前記プロセッサ（204）は、
前記ロボット（102）を前記接近ウェイポイント（226）まで移動することと、
前記ロボット（102）が前記接近ウェイポイント（226）に向かって移動しているとき、および／または前記接近ウェイポイント（226）にあるときに、前記ワークピース（300）上の前記基準マーカー（316）の識別パターン（318）が前記CADモデル（208）に表される前記基準マーカー（316）の前記識別パターン（318）と一致することを確認することと、
前記ロボット（102）が前記接近ウェイポイント（226）に向かって移動しているとき、および／または前記接近ウェイポイント（226）にあるときに、近似的なワークピース位置（244）が前記物理的環境（350）における前記ワークピース（300）の実際のワークピース位置（306）の所定の初期許容誤差内にない場合または前記初期許容誤差内になるまで、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記近似的なワークピース位置（244）を調整することと、
前記ロボット（102）を前記接近ウェイポイント（226）から前記作業ウェイポイント（228）まで移動させることと、
前記作業ウェイポイント（228）にある前記ロボット（102）を用いて、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記位置が、前記物理的環境（350）における前記実際のワークピース位置（306）と実質的に一致しない場合または一致するまで、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記位置を反復的に調整することと、
を順次実行するように構成される、請求項1に記載のロボットシステム（100）。
【請求項８】
前記ロボットアーム軌道（240）を構築する際に、前記プロセッサ（204）は、
各移動経路（238）に沿って間隔をあけて前記エンドエフェクタ（110）の複数のポーズをサンプリングすることと、
前記エンドエフェクタ（110）の各ポーズについて複数のz軸回転をサンプリングすることと、
サンプリングされた各ポーズについてすべての逆運動学的解を求めることと、
すべてのポーズを接続するグラフを構築し、各ポーズ間の最小接合移動を解くことと、
前記最小接合移動に従って前記移動経路（238）に沿って前記エンドエフェクタ（110）の前記一連の移動を実行するための前記ロボットアーム軌道（240）を構築することと、
を順次実行するように構成される、請求項1に記載のロボットシステム（100）。
【請求項９】
ワークピース（300）上で動作する方法であって、
物理的環境（350）においてワークピース（300）の動作表面（308）上で動作するための少なくとも1つのロボット（102）に対応する少なくとも1つのエンドエフェクタ（110）の移動のための親プラン（222）を、プロセッサ（204）を用いて自律的に生成するステップであって、前記親プラン（222）は、前記ワークピース（300）のコンピュータ支援設計（CAD）モデル（208）に基づいており、かつ、前記親プラン（222）に含まれる複数の作業ウェイポイント（228）の各々における前記ロボット（102）のロボットアーム（106）の到達距離に少なくとも部分的に基づいて前記エンドエフェクタ（110）の移動経路（238）を定義し、前記複数の作業ウェイポイント（228）は、前記ワークピース（300）に取り付けられて、前記CADモデル（208）に表される複数の基準マーカー（316）に対応する、ステップと、
前記プロセッサ（204）を使用して、前記複数の作業ウェイポイント（228）の各々において前記ロボット（102）に対して、
前記ロボット（102）が作業ウェイポイント（228）の前の接近ウェイポイント（226）に向かって移動しているとき、および／または前記作業ウェイポイント（228）の前の前記接近ウェイポイント（226）にあるときに、前記ロボット（102）を前記物理的環境（350）内の前記ワークピース（300）に登録し、前記ロボット（102）が前記作業ウェイポイント（228）に向かって移動しているとき、および／または前記作業ウェイポイント（228）にあるときに、ワールドマップ（242）内のモザイク状ワークピース衝突ジオメトリ（218）の近似的なワークピース位置（244）が前記物理的環境（350）内の実際のワークピース位置（306）と実質的に一致しない場合に、または一致するまで、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の位置を反復的に調整するステップと、
前記作業ウェイポイント（228）にある前記ロボット（102）と共に、前記作業ウェイポイント（228）に関連する前記移動経路（238）に沿って前記エンドエフェクタ（110）の一連の移動を実行するためのロボットアーム軌道（240）を構築するステップと、
前記作業ウェイポイント（228）にある前記ロボット（102）のために定義された前記親プラン（222）の部分に対応する前記動作表面（308）の部分上で前記エンドエフェクタ（110）を動作させるように前記ロボットアーム軌道（240）を実行するステップと、を順次自律的に実行するステップと、
を含む方法。
【請求項１０】
前記親プラン（222）を自律的に生成する前記ステップは、
前記CADモデル（208）のジオメトリファイル（216）に基づいて、前記ロボットアーム（106）の前記到達距離に基づく前記基準マーカー（316）からある距離において前記複数の作業ウェイポイント（228）をそれぞれ構築するステップと、
前記作業ウェイポイント（228）の各々において前記到達距離に対応した大きさの到達範囲（120）を構築するステップと、
各到達範囲（120）と前記動作表面（308）との交点に基づいて複数の表面セグメント（232）を定義するステップと、
各表面セグメント（232）について、前記表面セグメント（232）の最大寸法の方向として定義される切断方向（236）を決定するステップと、
各表面セグメント（232）を前記切断方向（236）にほぼ平行に配向された一連の垂直面と交差させることによって、各表面セグメント（232）について前記移動経路（238）を形成するステップと、
各作業ウェイポイント（228）について、隣接する移動経路（238）に沿って前記エンドエフェクタ（110）の交番する移動方向を指定するステップであって、交番する移動方向は各作業ウェイポイント（228）における前記エンドエフェクタ（110）の一連の移動を定義する、ステップと、
すべての前記作業ウェイポイント（228）における前記エンドエフェクタ（110）の前記移動経路（238）および前記一連の移動を含む前記親プラン（222）を保存するステップと、
を含む、請求項9に記載の方法。
【請求項１１】
前記ワークピース（300）の前記CADモデル（208）の前記動作表面（308）を定義するステップであって、前記CADモデル（208）は衝突ジオメトリ（212）を有する、ステップと、
前記CADモデル（208）の前記複数の基準マーカー（316）を定義するステップと、
モザイク状ワークピース衝突ジオメトリ（218）を形成するために、前記CADモデル（208）の前記衝突ジオメトリ（212）をモザイク化するステップと、
前記ワークピース（300）の前記動作表面（308）、前記基準マーカー（316）、および前記モザイク状ワークピース衝突ジオメトリ（218）の定義を保存することによって前記ジオメトリファイル（216）を生成するステップと、
をさらに含む、請求項10に記載の方法。
【請求項１２】
前記ロボット（102）のセンサシステム（114）を使用して、前記物理的環境（350）の環境境界（354）および前記環境境界（354）内の物体の画像データを記録しながら、前記物理的環境（350）の床面（352）に沿って前記ロボット（102）を操縦するステップと、
前記プロセッサ（204）を用いて、前記画像データに基づいて前記ワールドマップ（242）を構築するステップと、
を実行することによって前記ワールドマップ（242）を構成するステップをさらに含む、請求項9に記載の方法。
【請求項１３】
前記ワールドマップ（242）を構築した後に、前記方法は、前記ワークピース（300）のモザイク状ワークピース衝突ジオメトリ（218）を前記ワールドマップ（242）内に配置するステップと、
前記モザイク状ワークピース衝突ジオメトリ（218）に基づいて前記ワークピース（300）の凸包（210）を作成するステップと、
前記凸包（210）を前記ロボット（102）の立ち入り禁止領域として設定するステップと、
をさらに含む、請求項12に記載の方法。
【請求項１４】
前記親プラン（222）を生成した後であって、前記ロボット（102）を前記ワークピース（300）に登録する前に、前記方法は、
前記ロボット（102）の運動学的モデル（124）を前記ワールドマップ（242）にロードするステップと、
前記運動学的モデル（124）に基づいて、前記エンドエフェクタ（110）が各作業ウェイポイント（228）に関連する前記移動経路（238）に沿ったすべての位置に到達できるかどうかを判定するステップと、
を含む、請求項9に記載の方法。
【請求項１５】
前記ロボット（102）を前記ワークピース（300）に登録し、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記位置を調整する前記ステップは、
前記ロボット（102）を前記接近ウェイポイント（226）まで移動するステップと、
前記ロボット（102）が前記接近ウェイポイント（226）に向かって移動しているとき、および／または前記接近ウェイポイント（226）にあるときに、前記ワークピース（300）上の前記基準マーカー（316）の識別パターン（318）が前記CADモデル（208）に表される前記基準マーカー（316）の前記識別パターン（318）と一致することを確認するステップと、
前記ロボット（102）が前記接近ウェイポイント（226）に向かって移動しているとき、および／または前記接近ウェイポイント（226）にあるときに、近似的なワークピース位置（244）が前記物理的環境（350）における実際のワークピース位置（306）の所定の初期許容誤差内になるまで、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記近似的なワークピース位置（244）を調整するステップと、
前記ロボット（102）を前記接近ウェイポイント（226）から前記作業ウェイポイント（228）まで移動させるステップと、
前記ロボット（102）が前記作業ウェイポイント（228）に向かって移動しているとき、および／または前記作業ウェイポイント（228）にあるときに、前記ワールドマップ（242）内の前記近似的なワークピース位置（244）が前記物理的環境（350）における前記実際のワークピース位置（306）と実質的に一致するまで、前記ワールドマップ（242）内の前記モザイク状ワークピース衝突ジオメトリ（218）の前記近似的なワークピース位置（244）を反復的に調整するステップと、
を順次実行するステップを含む、請求項9に記載の方法。
【請求項１６】
前記ロボットアーム軌道（240）を構築する前記ステップは、
各移動経路（238）に沿って間隔をあけて前記エンドエフェクタ（110）の複数のポーズをサンプリングするステップと、
前記エンドエフェクタ（110）の各ポーズについて複数のz軸回転をサンプリングするステップと、
サンプリングされた各ポーズについてすべての逆運動学的解を求めるステップと、
すべてのポーズを接続するグラフを構築し、各ポーズ間の最小接合移動を解くステップと、
前記最小接合移動に従って前記移動経路（238）に沿って前記エンドエフェクタ（110）の前記一連の移動を実行するための前記ロボットアーム軌道（240）を構築するステップと、
を含む、請求項9に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にロボットシステムに関し、より詳細には、1つまたは複数の移動ロボットを使用してワークピース上で自律的に動作するためのシステムおよび方法に関する。
【背景技術】
【０００２】
生産プログラムにおける複合部品の製造は、レイアップマンドレルのレイアップ表面上に複合プライをレイアップすることを含むことができる。複合部品をレイアップするたびに、レイアップ表面を最初にクリーニングして、焼き付け樹脂、接着剤、シーリング化学物質、および／またはレイアップマンドレルの以前の使用から存在し得る他の消耗品などの汚染物質を除去しなければならない。レイアップ表面のクリーニングは、ハンドヘルドオービタルサンダーを使用して技能者によって手動で行われてもよい。ただし、大規模なレイアップマンドレルでは、手動によるクリーニングは時間がかかる。
【０００３】
レイアップマンドレルのクリーニングに必要な時間を短縮するために自動化された方法が開発された。1つの方法は、クリーニングする最大のレイアップマンドレルの大きさに合わせて構築され作動されるマンドレルクリーニングルームの建設を必要とする。残念なことに、専用のマンドレルクリーニングルームを建設することは、生産プログラムにとってかなりの非経常的な費用となる。いくつかのクリーニング技術は、製造施設の製造現場にマンドレルクリーニングステーションを設置することによって専用のマンドレルクリーニングルームを不要とする。しかしながら、大型レイアップマンドレルについては、インフラストラクチャ要件は依然として重要であり、そのような大型レイアップマンドレルを輸送および支持するための基礎または軌道システムを設置する必要性を含む場合がある。さらに、マンドレルクリーニングステーションによって占有される床面積は、製造施設の既存の製造システムに利用可能な床面積の量を減じる。
【０００４】
他の自動化されたアプローチは、1つより多いサイズまたは構成のレイアップマンドレルをクリーニングする能力に制限がある。加えて、いくつかのアプローチは、大型レイアップマンドレルのクリーニングを可能にするために、オーバーヘッドガントリーおよびフェンシングを含むクリーニングセルの恒久的な設置を必要とする。さらに、いくつかの自動化されたアプローチは、各固有のマンドレル構成に対して手動でカスタマイズされたクリーニングプロセスを必要とし、それには多大な人件費が生じる。
【０００５】
理解できるように、専用のクリーニングルームおよび／または関連するインフラストラクチャの必要性を回避し、種々のレイアップマンドレルのサイズおよび構成に対して再構成可能またはスケーラブルであり、各固有のマンドレル構成に対して手動でカスタマイズされたクリーニングプロセスを必要としない、レイアップマンドレルをクリーニングするためのシステムおよび方法に対する当技術分野での必要性が存在する。レイアップマンドレルをクリーニングすることに加えて、システムおよび方法は、好ましくは、様々な異なる種類のワークピースに対して様々な異なる種類の作業を行うことができる。
【発明の概要】
【課題を解決するための手段】
【０００６】
ワークピース上で作業を実行することに関連する上述の必要性は、ワークピース上で自律的に動作するためのロボットシステムを提供する本開示によって具体的に対処される。ロボットシステムは、プロセッサを含むデータ処理システムに通信可能に結合された少なくとも1つのロボットを含む。ロボットは、ロボットアームとロボットアームに結合されたエンドエフェクタとを有する。プロセッサは、物理的環境内に配置されたワークピースの動作表面上で動作するためのエンドエフェクタの移動のための親プランを自律的に生成するように構成される。親プランは、ワークピースのコンピュータ支援設計（CAD）モデルに基づいており、かつ、親プランに含まれ、ワークピースに取り付けられて、CADモデルに表される複数の基準マーカーに対応する複数の作業ウェイポイントの各々におけるロボットのロボットアームの到達距離に少なくとも部分的に基づいてエンドエフェクタの移動経路を定義する。
【０００７】
プロセッサは、基準マーカーの各々に対して、ロボットが基準マーカーの前の接近ウェイポイントに向かって移動しているとき、および／または基準マーカーの前の接近ウェイポイントにあるときに、ロボットを物理的環境内のワークピースに登録し、ロボットが基準マーカーに対応する作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が物理的環境内の実際のワークピース位置と実質的に一致しない場合に、または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整するステップと、作業ウェイポイントにあるロボットと共に、作業ウェイポイントに関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、ロボットアーム軌道を実行し、作業ウェイポイントにあるロボットのために定義された親プランの部分に対応するワークピースの動作表面の部分上でエンドエフェクタを動作させるステップと、を順次自律的に実行するように構成される。
【０００８】
さらなる例では、ロボットシステムは、各々がロボットアームとロボットアームに結合されたエンドエフェクタとを有する複数のロボットを含む。上述のように、ロボットシステムは、物理的環境内に配置されたワークピースの動作表面上で動作するための各エンドエフェクタの移動のための親プランを自律的に生成するように構成された少なくとも1つのプロセッサを含む。親プランはワークピースのCADモデルに基づいており、複数のロボットに配布するための複数の子プランを含む。子プランの各々は、ロボットのうちの1つのエンドエフェクタの移動経路を定義する。上述したように、移動経路は、子プランによって親プランに含まれる固有の一組の作業ウェイポイントのうちの1つまたは複数に割り当てられたロボットのロボットアームの到達距離に少なくとも部分的に基づく。上述のように、作業ウェイポイントは、ワークピース上に取り付けられて、CADモデル内に表されている複数の基準マーカーに対応する。
【０００９】
複数のロボットを有するロボットシステムでは、プロセッサは、ロボットがロボットに割り当てられた一組の作業ウェイポイントのうちの作業ウェイポイントの前の接近ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントの前の接近ウェイポイントにあるときに、各ロボットを自律的にワークピースに登録するように構成される。一組の作業ウェイポイントのうちの第1の作業ウェイポイントに向かって移動しているとき、および／または第1の作業ウェイポイントにあるときにロボットのうちの1つのみについて、プロセッサは、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が、ロボットが作業ウェイポイントにあるときに物理的環境における実際のワークピース位置と実質的に一致しない場合または一致するまで、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整するように構成される。さらに、ロボットに割り当てられた一組の作業中間点の各作業中間点にあるときの各ロボットについて、プロセッサは、作業ウェイポイントに関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築し、作業ウェイポイントにあるロボットのために定義された子プランの部分に対応する動作表面の部分上でエンドエフェクタを動作させるようにロボットアーム軌道を実行するように構成される。
【００１０】
ワークピース上で動作する方法も開示される。本方法は、物理的環境においてワークピースの動作表面上で動作するための少なくとも1つのロボットに対応する少なくとも1つのエンドエフェクタの移動のための親プランを、プロセッサを用いて自律的に生成するステップを含む。上述のように、親プランは、ワークピースのCADモデルに基づいており、親プランに含まれる複数の作業ウェイポイントの各々におけるロボットのロボットアームの到達距離に少なくとも部分的に基づいてエンドエフェクタの移動経路を定義する。上述のように、複数の作業ウェイポイントは、ワークピースに取り付けられてCADモデル内に表されている複数の基準マーカーに対応する。本方法は、プロセッサを使用して、複数の作業ウェイポイントの各々においてロボットに対して、ロボットが作業ウェイポイントの前の接近ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントの前の接近ウェイポイントにあるときに、ロボットを物理的環境内のワークピースに登録し、ロボットが作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が物理的環境内の実際のワークピース位置と実質的に一致しない場合に、または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整するステップと、作業ウェイポイントにあるロボットと共に、作業ウェイポイントに関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、作業ウェイポイントにあるロボットのために定義された親プランの部分に対応する動作表面の部分上でエンドエフェクタを動作させるようにロボットアーム軌道を実行するステップと、を順次自律的に実行するステップをさらに含む。
【００１１】
複数のロボットを使用する方法の実施態様では、本方法は、物理的環境内に配置されたワークピースの動作表面の異なる表面セグメント上で動作するように構成された対応する複数のロボットの複数のエンドエフェクタの移動のための親プランを、プロセッサを用いて自律的に生成するステップを含む。上述のように、親プランはワークピースのCADモデルに基づいており、複数のロボットに対応して配布するための複数の子プランを含む。子プランの各々は、ロボットのうちの1つのエンドエフェクタの移動経路を定義する。上述したように、移動経路は、親プランに含まれる固有の一組の作業ウェイポイントから動作するように子プランによって割り当てられたロボットのロボットアームの到達距離に少なくとも部分的に基づく。また上述したように、作業ウェイポイントは、ワークピース上に取り付けられて、CADモデル内に表されている基準マーカーに対応する。
【００１２】
複数のロボットを使用する本方法の実施態様は、プロセッサを使用して、ロボットに割り当てられた一組の作業ウェイポイントのうちの作業ウェイポイントの前の接近ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントの前の接近ウェイポイントにあるときに、ロボットの各々を物理的環境におけるワークピースに登録するステップと、一組の作業ウェイポイントのうちの第1の作業ウェイポイントにあるときのロボットのうちの1つのみについて、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が、ロボットが作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、物理的環境における実際のワークピース位置と実質的に一致しない場合または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整するステップと、ロボットに割り当てられた一組の作業中間点の各作業中間点にあるときの各ロボットについて、作業中間点に関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、ロボットに割り当てられた一組の作業ウェイポイントの各作業ウェイポイントにあるときの各ロボットについて、作業ウェイポイントにあるロボットのために定義された子プランの部分に対応する動作表面の部分上でエンドエフェクタを動作させるようにロボットアーム軌道を実行するステップと、を順次自律的に実行するステップをさらに含む。
【００１３】
説明された形態、機能および利点は、本開示の様々な実施形態において独立して達成することができるか、またはさらに他の実施形態において組み合わせることができ、そのさらなる詳細は以下の説明および図面を参照して理解することができる。
【００１４】
本開示のこれらの形態および他の特徴は、同様の番号が全体を通して同様の部品を指す図面を参照することにより、より明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】ワークピースの動作表面上で動作するための少なくとも1つのロボットを有し、ワークピース上で動作するためにロボットのエンドエフェクタの移動のための親プランを生成するためのリモートコンピューティングデバイスを任意選択的にさらに含むロボットシステムの一例のブロック図である。
【図２】エンドエフェクタの移動のための親プランを自律的に生成するためのプロセッサを有する、ロボットおよび／またはリモートコンピューティングデバイスのデータ処理システムのブロック図である。
【図３】ワークピースおよびロボットを含む物理的環境の一例の斜視図である。
【図４】ワークピースの一例の斜視図であり、ワークピース上で動作する前にロボットが登録する動作表面および複数の基準マーカーを示す図である。
【図５】ワークピースに含まれる3つの基準マーカーを示すワークピースの一部の拡大図である。
【図６】第1の識別パターンを有する第1の基準マーカーの一例を示す図である。
【図７】第1の識別パターンとは異なる第2の識別パターンを有する第2の基準マーカーの一例を示す図である。
【図８】第1の識別パターンおよび第2の識別パターンとは異なる第3の識別パターンを有する第3の基準マーカーの一例を示す図である。
【図９】移動ベース上に取り付けられ、エンドエフェクタを支持するロボットアームを含むロボットの一例の正面斜視図である。
【図１０】ロボットのナビゲーションおよびワークピースへのロボットの登録のためのセンサシステムを有する図9のロボットの後面斜視図である。
【図１１】図4のワークピースのCADモデルを示す表示画面の図であり、そこからジオメトリファイル（例えばSTEPファイル）が自律的に生成され、ワークピースの動作表面、基準マーカー、およびモザイク状ワークピース衝突ジオメトリの定義を含む。
【図１２】動作表面を少なくとも1つのロボットが個々に動作する複数の表面セグメントに分割するために各基準マーカーにおいて自律的に構築された複数の到達範囲を示すジオメトリファイルの動作表面の平面図である。
【図１３】ジオメトリファイルに基づいてプロセッサによって自律的に生成され、ロボットアームの到達距離に基づいてエンドエフェクタの移動経路を定義する親プランの一例を示す図である。
【図１４】ロボットおよび／またはリモートコンピューティングデバイスの表示画面の図であり、ワークピースを含む物理的環境を表し、ロボットのコンピュータ表現を含むワールドマップを示す。
【図１５】モザイク状ワークピース衝突ジオメトリおよびワールドマップ内に配置されたロボットのコンピュータ表現を示す図14の表示画面の図である。
【図１６】ロボットが物理的環境におけるワークピースの基準マーカーの1つに対応する作業ウェイポイントの前の接近ウェイポイントに自律的に移動する前の、モザイク状ワークピース衝突ジオメトリに重ね合わされた親プランをさらに示す図15の表示画面の図である。
【図１７】物理的環境におけるワークピースへのロボットの自律的な登録の間、およびワールドマップにおけるモザイク状ワークピース衝突の近似的なワークピース位置の調整の前の、モザイク状ワークピース衝突ジオメトリの接近ウェイポイントに位置するロボットのコンピュータ表現を示す図16の表示画面の図である。
【図１８】物理的環境における実際のワークピース位置と一致するようにワールドマップにおける近似的なワークピース位置を調整した後のワークピースの基準マーカーの前の接近ウェイポイントに位置するロボットを示す図17の表示画面の図である。
【図１９】作業ウェイポイントに配置されたロボットのコンピュータ表現を示す図18の表示画面の図である。
【図２０】作業ウェイポイントにあるロボットに対して定義された移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を自律的に構築する前に作業ウェイポイントに配置された図9〜図10のロボットの一例の斜視図である。
【図２１】作業ウェイポイントにあるロボットに対して定義された親プランの部分に対応する動作表面の部分上でロボットアーム軌道を自律的に実行する図20のロボットの斜視図である。
【図２２】ワークピース上で同時に動作するための複数のロボットを含むワールドマップを示す表示画面の図である。
【図２３】ワークピース上で自律的に動作する方法に含まれる動作のフローチャートである。
【図２４】親プランを自律的に生成するための動作のフローチャートである。
【図２５】ロボットをワークピースに登録し、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を調整するための動作のフローチャートである。
【図２６】作業ウェイポイントにあるロボットについてロボットアーム軌道を構築するための動作のフローチャートである。
【発明を実施するための形態】
【００１６】
ここで図面を参照すると、図面は本開示の好ましい様々な実施形態を例示する目的のためであり、図1に示されているのは、物理的環境350（図3）に配置されたワークピース300の動作表面308上で自律的に動作するための少なくとも1つのロボット102を有するロボットシステム100の一例のブロック図である。ロボット102は、製造施設の床（例えば、物理的環境）などの表面に沿ってロボット102を移動させるための自動誘導ビークルとして構成することができる移動ベース104を有する。ロボット102は、ロボットアーム106と、ロボットアーム106に結合されたエンドエフェクタ110と、を有する。エンドエフェクタ110は、ワークピース300の動作表面308上で動作を実行するように構成することができる。本開示では、ワークピース300は、複合部品（図示せず）をレイアップするためのレイアップ表面314（図3）を有するレイアップマンドレル302（図3）として構成される。エンドエフェクタ110は、複合部品をレイアップする前に汚染物質（図示せず）を除去するために軌道バッファまたはサンダー、ドライアイスブラスター、レーザー、またはレイアップ表面314（例えば、動作表面308）をクリーニングするための他の装置として構成することができる。しかしながら、エンドエフェクタ110は、様々な異なる種類のワークピース300のうちのいずれか1つの上での様々な異なる種類の作業のうちのいずれか1つを実行するための様々な異なる構成のいずれかで提供されてもよく、レイアップマンドレル302のレイアップ表面314上でクリーニング作業を実行することに限定されない。
【００１７】
ロボット102はさらに、物理的環境350内のワークピース300の周りでロボット102をナビゲートするための、レーザー116（例えば、レーザースキャナ）および／またはカメラベースのマシンビジョンシステムのカメラ118などの複数のセンサを有するセンサシステム114を含むことができる。センサシステム114は、代替的にまたは追加的に、無線周波数センサ、超音波センサ、および／またはロボット102のナビゲーションを容易にするための他の種類のセンサを含むことができる。センサシステム114は、ワークピース300に対するロボット102およびロボットアーム106の動きを調整するために、ワークピース300上の基準マーカー316（例えば、図4〜図5）を検出し、基準マーカー316に関する識別データおよび位置データをデータ処理システム200に送信するように構成される。基準マーカー316は各々、ロボット102のワークピース300への登録を容易にするために固有の識別パターン318（例えば、図6〜図8）を含むことができる。ワークピース300はさらに、反射型ターゲットアイコン、無線周波数識別（RFID）ターゲット識別器、磁気基準点、またはそれらの組み合わせなどのロボット102のためのナビゲーション補助装置（図示せず）を含むことができる。
【００１８】
図1〜図2を参照すると、ロボット102は、移動ベース104、ロボットアーム106、およびエンドエフェクタ110の移動を含むロボット102を制御するためのデータ処理システム200に通信可能に結合されている。いくつかの例では、データ処理システム200はロボット102に統合されてもよい。他の例では、データ処理システム200は、ワークピース300上で動作を実行するためにロボット102を制御するためにロボット102と（例えば無線で）通信するように構成されたリモートコンピューティングデバイス202の一部であってもよい。リモートコンピューティングデバイス202は、ラップトップコンピュータ、タブレット、または他のモバイルコンピューティングデバイスなどのモバイルコンピューティングデバイスであってもよい。あるいは、リモートコンピューティングデバイス202は、デスクトップコンピュータまたはパーソナルコンピュータなどの据置型コンピューティングデバイスであってもよい。リモートコンピューティングデバイス202は、ロボット102およびリモートコンピューティングデバイス202に取り付けられたアンテナ（図示せず）を介してロボット102と無線通信することができる。
【００１９】
図2では、データ処理システム200は、プロセッサ204と、プロセッサ204に通信可能に結合されたメモリ206と、を含む。プロセッサ204は、ワークピース300の動作表面308上での動作におけるエンドエフェクタ110の動きを定義する親プラン222を自律的に生成するように構成される。親プラン222は、ワークピース300のコンピュータ支援設計（CAD）モデル208に基づき、メモリ206に格納することができるジオメトリファイル216（例えば、STEPファイル）から生成される。親プラン222は、ワークピース300に取り付けられた複数の基準マーカー316に対応する複数の作業ウェイポイント228を定義する。親プラン222はまた、各作業ウェイポイント228に配置されたロボット102のためのエンドエフェクタ110の移動経路238（例えば3次元）を定義し、各作業ウェイポイント228におけるロボット102のための移動経路238に沿ったエンドエフェクタ110の一連の移動を定義する。エンドエフェクタ110の移動経路238は、ロボット102に取り付けられたロボットアームベース108（図9〜図10）の回転中心（図示せず）に対するロボットアーム106の到達距離に少なくとも部分的に基づいている。
【００２０】
以下により詳細に説明するように、プロセッサ204は、基準マーカー316の各々におけるロボット102に対して以下の一連のステップを自律的に実行するように構成される。すなわち、（1）ロボット102が基準マーカー316に対応する作業ウェイポイント228の前の接近ウェイポイント226にあるときに、ロボット102を物理的環境350内のワークピース300に自律的に登録し、ロボット102が作業ウェイポイントにあるときに、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の近似的なワークピース位置244（すなわち、位置と向き）が物理的環境350内の実際のワークピース位置306（すなわち、位置と向き）と実質的に一致しない場合に、または一致するまで、物理的環境350のワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置を反復的に調整するステップと、（2）作業ウェイポイント228にあるロボット102と共に、作業ウェイポイントに関連する移動経路238に沿ってエンドエフェクタ110の一連の移動を実行するためのロボットアーム軌道240を自律的に構築するステップと、（3）ロボットアーム軌道240を自律的に実行して、エンドエフェクタ110に移動経路238に沿った一連の移動を実行させ、それによって作業ウェイポイント228にあるロボット102のために定義された親プラン222の部分に対応するワークピース300の動作表面308の部分上で動作させるステップである。
【００２１】
図3は、ワークピース300およびロボット102の一例を含む物理的環境350の一例を示す。物理的環境350は製造施設の一部であってもよい。ワークピース300がレイアップマンドレル302である例では、物理的環境350は複合材製造施設の指定された領域であってもよい。図3にはまた、物理的環境350内で動作するロボット102の例が示されている。上述のように、ロボット102は、床面352に沿ってロボット102を並進移動させるための移動ベース104を含む。さらに、ロボット102は、ワークピース300の動作表面308上で動作を実行するためのエンドエフェクタ110を有するロボットアーム106を含む。
【００２２】
図4は、レイアップマンドレル302として構成されたワークピース300の例を示す。レイアップマンドレル302は、エンドエフェクタ110が動作するレイアップ表面314（例えば、動作表面）を含む。この例では、動作表面308は、レイアップマンドレル302の周囲に延在し、ロボット102による自律的なクリーニングのために指定されたレイアップ表面314のバンドを含む。ワークピース300は、ワークピース300を床面352上に支持するための脚部を含むことができるワークピースベース304を有する。上述のように、ワークピース300は、ワークピース300上で動作する前にロボット102が登録する複数の基準マーカー316を含む。基準マーカー316は、ワークピース300の外周に沿って離間した位置でワークピース300から横方向外側に突出するマンドレル固定具（図示せず）に取り付けることができる。
【００２３】
図5〜図8を参照すると、ロボット102のワークピース300への登録を容易にするためにワークピース300に取り付けられた3つの基準マーカー316を示すワークピース300の一部が図5に示されている。基準マーカー316の各々は、固有の識別パターン318を有する。例えば、図6は、第1の識別パターン318aを有する第1の基準マーカー316aを示す。図7は、第1の識別パターン318aとは異なる第2の識別パターン318bを有する第2の基準マーカー316bを示す。図8は、第1の識別パターン318aおよび第2の識別パターン318bとは異なる第3の識別パターン318cを有する第3の基準マーカー316cを示す。基準マーカー316は、正方形および白黒の識別パターン318を有するように示されているが、基準マーカー316は、様々な異なるサイズ、形状、色、および構成のうちの任意の1つで提供することができる。ロボット102（図9〜図10）のセンサシステム114（図9〜図10）の視野内にあるとき、基準マーカー316はロボット102のセンサシステム114（例えばカメラベースのマシンビジョンシステム）によって撮像することができ、プロセッサ204がワークピース300に対するロボット102の位置を確認することを可能にするために、プロセッサ204（図2）によってワークピース300のCADモデル208（図2）に表される対応する基準マーカー316とマッチングされる。さらに、基準マーカー316は、ワールドマップ242内の近似的なワークピース位置244（例えば図15）を物理的環境350内の実際のワークピース位置306（図3）に反復的に調整する以下で述べるプロセスの間に、ロボット102に対するワークピース300の位置（例えば、位置と向き）の決定を容易にする。
【００２４】
図9〜図10は、本開示において実施することができるようなロボット102の一例を示す。上述のように、ロボット102は、床面352（図3）に沿って自走移動するための移動ベース104を有し、エンドエフェクタ110を支持するロボットアーム106を含む。図示の例では、ロボット102は、キーボード250を含み、かつ、ワークピース300のCADモデル208と、ワークピース300およびロボット102を含む物理的環境350のワールドマップ242内のロボット102のコンピュータ表現214と、を示す表示画面248を有するユーザーインターフェース246を含む。図10は、ロボット102のナビゲーションおよびワークピース300への登録のためのセンサシステム114の一例を示す、ロボット102のさらなる斜視図である。
【００２５】
図11は、ワークピース300のCADモデル208を示す、ロボット102（図9〜図10）またはリモートコンピューティングデバイス202の表示画面248の図である。CADモデル208は、ワークピース300の三次元ソリッドモデルであってもよく、またはCADモデル208は、ワークピース300の三次元表面モデルであってもよい。CADモデル208は、種々のワークピース300のリスト（図示せず）の中からユーザーによって手動で選択することができる。例えば、CADモデル208は、ロボット102のタッチスクリーン表示画面248もしくはキーボード250またはリモートコンピューティングデバイス202（図2）を使用して、CADモデルのドロップダウンメニュー（図示せず）から選択することができる。
【００２６】
本開示では、プロセッサ204（図2）は、親プラン222が生成されるCADモデル208の上述のジオメトリファイル216を生成するように構成される。後述するように、ジオメトリファイル216は、ワークピース300の動作表面308（図11）、ワークピース300の基準マーカー316（図11）、およびモザイク状ワークピース衝突ジオメトリ218（図11）の定義を含む。一例では、ジオメトリファイル216は、STEP（製品データ交換規格）フォーマットで保存することができる。しかしながら、ジオメトリファイル216は、STEPフォーマット以外のフォーマットで保存されてもよい。
【００２７】
図11では、動作表面308は、CADモデル208から動作表面308を選択するためにユーザーインターフェース246（図9〜図10）を使用してユーザーによって定義されてもよい。例えば、動作表面308は、ユーザーが動作表面308の境界を手動で選択することによって、CADモデル208から手動で選択することができる。図11のレイアップマンドレル302の文脈では、ユーザーはレイアップ表面314の外周の周りに延在する表面領域のバンドを定義する内周310および外周312を手動で選択することができる。しかしながら、他の例では、動作表面308は、CADモデル208開発者によってCADモデル208内で予め指定されてもよく、プロセッサ204は、CADモデル208がユーザーによって手動で選択されると、CADモデル208から予め指定された動作表面308を自律的に選択することができる。選択されると、動作表面308の定義はジオメトリファイル216に保存される。本開示では、自律的な動作は、手動のプロンプトまたは手動の介入なしに自動的に実行される動作として説明することができる。
【００２８】
プロセッサ204はまた、ジオメトリファイル216内に複数の基準マーカー316の定義を保存することができる。上述のように、基準マーカー316はワークピース300のCADモデル208に含まれる。上述のように、基準マーカー316は、ロボット102のロボットアーム106の到達距離（例えば到達半径）に少なくとも部分的に基づく位置および間隔でワークピース300に取り付けることができる。基準マーカー316は、基準マーカー316に近接しているとき、ロボット102のセンサシステム114（例えば、カメラベースのマシンビジョンシステム）の視野内にあるように配置されてもよい。基準マーカー316が定義されると、プロセッサ204は基準マーカー316の定義をジオメトリファイル216に保存する。
【００２９】
プロセッサ204はまた、CADモデル208の衝突ジオメトリ212を自律的に選択してモザイク化し、ロボット102との衝突チェック中に使用するためのモザイク状ワークピース衝突ジオメトリ218を形成することができる。ワークピース300の衝突ジオメトリは、ワークピース300の周りをナビゲートするとき、および作業ウェイポイント228のいずれか1つに配置されているときにロボット102が動作表面308上で動作しているときにロボット102が衝突する可能性があるワークピース300のトポロジーとして説明することができる。衝突ジオメトリ212は、ロボット102が接触する可能性があるワークピース300の外側に面する部分の形状であってもよい。衝突ジオメトリ212は、動作表面308の下側など、ワークピース300の内側のジオメトリを除外する。プロセッサ204による衝突ジオメトリ212のモザイク化は、CADモデル208の三次元画像を、互いに重ならずかつ隙間がない複数の相互に噛み合う平面多角形に単純化することとして説明することができる。モザイク状ワークピース衝突ジオメトリ218は、衝突チェック計算の計算量を減らすことができる。
【００３０】
上述したように、ジオメトリファイル216は、ワークピース300の動作表面308、基準マーカー316、およびモザイク状ワークピース衝突ジオメトリ218の定義を少なくとも含むSTEPファイルとして保存することができる。しかしながら、他の例では、ジオメトリファイル216は、初期グラフィック交換仕様（IGES）フォーマット、または3次元ジオメトリ、トポロジー、および／またはワークピース300のCADモデル208の他の構成データの定義およびグループ化を可能にする他のフォーマットで保存することができ、これは、ロボット102のナビゲーションおよびエンドエフェクタ110によってワークピース300上で行われる動作を容易にする。
【００３１】
図12は、上述の方法でジオメトリファイル216から生成された動作表面308の定義の図である。動作表面308上に重ね合わされているのは、プロセッサ204によって自律的に構築され、基準マーカー316の各々に対応する複数の到達範囲120である。到達範囲は、プロセッサ204によって自律的に生成された上述の親プラン222に従って、ロボット102が個々に動作する動作表面308を複数の表面セグメント232に分割するための手段として構築される。
【００３２】
親プラン222を生成する際に、プロセッサ204は、ジオメトリファイル216に基づいて、基準マーカー316からそれぞれ所定の距離にある複数の作業ウェイポイント228を自律的に構築するように構成される。各基準マーカー316と作業ウェイポイント228との間の距離は、ロボットアーム106の到達距離に基づいてもよい。例えば、プロセッサ204は、基準マーカー316の各々から所定のゼロでない距離に作業ウェイポイント228を自律的に構築することができる。所定の距離は、移動ベース104の外形寸法、ロボットアーム106の到達距離、ならびにロボットアーム106を構成するアーム接合部の運動学的能力、軌道バッファのバッファパッドの直径などのエンドエフェクタ110のインターフェース部分112のサイズ、および他の要素などの他のロボット102のパラメータに基づいてもよい。各作業ウェイポイント228は、基準マーカー316の面から垂直に測定される、基準マーカーからの所定の距離で定義されてもよい。
【００３３】
作業ウェイポイント228を定義した後に、プロセッサ204は、各作業ウェイポイント228において上述の到達範囲120を自律的に構築するように構成される。到達範囲120は、非常に薄いシェルとして説明することができる。単一のロボット102を使用してワークピース300上で動作するロボットシステム100では、各作業ウェイポイント228における到達範囲120は、ロボットアームベース108（図9〜図10）の回転中心から測定されるエンドエフェクタ110の最大到達距離を表すことができる同じ球周囲を有する。各到達範囲120と動作表面308との交点において、プロセッサ204は、各隣接する一対の球周囲の2つの交点間に延在する境界線122を自律的に構成する。境界線122の各隣接する対は表面セグメント232を定義する。これに関して、表面セグメント232の各々は、対向する一対の境界線122によって少なくとも部分的に境界を定められてもよく、動作表面308の定義に応じて、さらに動作表面308の外周312（図11）および／または内周310（図11）によって、および／または到達範囲120の一部によって境界を定められてもよい。
【００３４】
表面セグメント232を定義した後に、プロセッサ204は、表面セグメント232の各々を自律的にモザイク化して、複数のモザイク状表面セグメント234（図11）を形成することができる。さらに、作業ウェイポイント228の各々において、プロセッサ204は、エンドエフェクタ110の切断方向236を自律的に決定するように構成される。切断方向236は、表面セグメント232の最大寸法の方向であると決定することができる。例えば、切断方向236は、モザイク状表面セグメント234の両側の間の最長直線距離の方向であってもよい。切断方向236は、動作表面308を上から見たときのエンドエフェクタ110の移動方向を一般的に定義する。各作業ウェイポイント228において、プロセッサ204は、各々がモザイク状表面セグメント234の切断方向236に平行に配向された一連の垂直面（図示せず）を自律的に構築することができる。垂直面は、エンドエフェクタ110のインターフェース部分112（図9〜図10）の幅に対応する距離で離間していてもよい。上述のように、エンドエフェクタ110のインターフェース部分112は、レイアップ表面314をクリーニングするバフ研磨パッドの部分などの、動作表面308と直接密接に接触しているエンドエフェクタ110の部分として説明することができる。
【００３５】
各作業ウェイポイント228において、垂直面はモザイク状表面セグメント232（図13）と交差し、それによって表面セグメント232に沿って複数の移動経路238を形成する。移動経路238は、ロボット102が作業ウェイポイント228に配置されたときにエンドエフェクタ110が移動する三次元の移動経路を定義する。各作業ウェイポイント228について、プロセッサ204は、隣接する移動経路238に沿ってエンドエフェクタ110の交番する移動方向を指定することができる。プロセッサ204は、すべての作業ウェイポイント228におけるエンドエフェクタ110の移動経路238、および各作業ウェイポイント228における移動経路238に沿ったエンドエフェクタ110の移動の方向および順序を表す一連の移動を含む親プラン222を自律的に保存する。
【００３６】
図13は、上述の方法でプロセッサ204（図1〜図2）によって自律的に生成された親プラン222の一例の図である。上述のように、親プラン222は、作業ウェイポイント228、各作業ウェイポイント228におけるエンドエフェクタ110（図9〜図10）の移動経路238、および各作業ウェイポイント228についての移動経路238に沿ったエンドエフェクタ110の一連の移動を含む。図13では、作業ウェイポイント228は、ロボット102（図9〜図10）が作業ウェイポイント228から作業ウェイポイント228に順次移動し、各作業ウェイポイント228で停止して、エンドエフェクタ110が作業ウェイポイント228に対応する表面セグメント232の部分上で動作することができる順序の一例を示すために、連続して番号付けされている。
【００３７】
図14は、ロボット102および／またはリモートコンピューティングデバイス202の表示画面248の図であり、ワールドマップ242を示している。ワールドマップ242は、ロボット102が動作するワークピース300（図3）を含むための物理的環境350（図3）の二次元または三次元表現である。物理的環境350は、ロボット102がワークピース300上で動作する専用の部屋を含んでもよく、あるいは物理的環境350は、ロボット102（図9〜図10）がワークピース300上で動作する施設の局所領域を含んでもよい。図14のワールドマップ242内には、ロボット102のコンピュータ表現214も示されている。ロボットシステム100のいくつかの例では、ワールドマップ242はロボット102によって以前に構築され、データ処理システム200のメモリ206（図2）に保存されていてもよい。ワールドマップ242が以前に構築されてメモリ206に保存されている場合には、ユーザーは、ユーザーインターフェース246（図9〜図10）を使用して、ワールドマップのリスト（ドロップダウンメニューなど）からワールドマップ242をプロセッサ204にロードするためにワールドマップ242を選択することができる。
【００３８】
図14では、物理的環境350のワールドマップ242がメモリ206内に存在しない場合には、プロセッサ204は、ロボット102（図9〜図10）によって記録された画像データに基づいてワールドマップ242を構築することができる。撮像データは、物理的環境350の環境境界354を表すことができ、また環境境界354内に位置する物体（図示せず）を表すことができる。画像データは、ロボット102が物理的環境350の床面352（図3）に沿って操縦されている間にセンサシステム114によって記録されてもよい。上述のように、ロボット102のセンサシステム114は、カメラ118（図10）、レーザー116（図10）、超音波装置、および／または物理的環境350の三次元マッピング用の他の撮像装置を含むことができる。例えば、ロボット102は、物理的環境350内のロボット102の位置を追跡しながら、物理的環境350の同時位置特定およびマッピング（SLAM）を実行するように構成された1つまたは複数のレーザースキャナを含むことができる。
【００３９】
さらに図14を参照すると、物理的環境350のマッピングは、物理的環境350の環境境界を形成する壁356、天井、障壁、フェンス、および出入り口などの構造物の相対位置を定義することができる。さらに、物理的環境350のマッピングは、ポスト、ロボット充電ステーション、製造設備、照明、配管、暖房、換気、および他の設備などのユーティリティ設備などの、環境境界内の物体の相対位置を定義することができる。物理的環境350のマッピングは、センサシステム114が物理的環境350をマッピングしてワールドマップ242を入力する間に、（例えば、オペレータがジョイスティックを操作することによって）物理的環境350の周りでロボット102を遠隔制御で操縦することによって実行することができる。マッピング動作の一部として、プロセッサ204は、粒子フィルタリングによって、ワールドマップ242内にロボット102のコンピュータ表現214を配置することができる。ワールドマップ242が構築された後に、ワールドマップ242およびロボット102のコンピュータ表現214は、データ処理システム200のメモリ206（図2）に保存することができる。
【００４０】
図15は、ワークピース300（図3）のモザイク状ワークピース衝突ジオメトリ218およびワールドマップ242内に配置されたロボット102（図9〜図10）のコンピュータ表現214を示す図14の表示画面248の図である。ワールドマップ242が以前に構築され、ジオメトリファイル216から自律的に抽出され、リスト（例えばドロップダウンメニュー）から手動で選択された後にプロセッサ204によってワールドマップ242にロードされた場合には、プロセッサ204は、ロボット102のセンサシステム114（例えば、レーザー116）に物理的環境350をスキャンさせ、スキャンされたデータをワールドマップ242と比較させて、ロボット102のコンピュータ表現214の位置および向きを決定することによって、ワールドマップ242内でロボット102のコンピュータ表現214の位置を自律的に調整することができる。しかしながら、例えば、物理的環境350内のロボット102の実際の位置に対するワールドマップ242内のロボット102のコンピュータ表現214の位置間の差が大きい例では、物理的環境350内のロボット102の実際の位置にほぼ一致するように、ユーザーインターフェースを介して、ワールドマップ242内のロボット102のコンピュータ表現214の位置および／または向きを手動で操作または調整することによって、ユーザーがロボット102のコンピュータ表現214の位置を特定する必要があり得る。
【００４１】
図16は、モザイク状ワークピース衝突ジオメトリ218上に重ね合わされた親プラン222を示す図15の表示画面248の図である。モザイク状ワークピース衝突ジオメトリ218がロードされると、プロセッサ204は親プラン222をワールドマップ242に自律的にロードすることができる。プロセッサ204は、モザイク状ワークピース衝突ジオメトリ218とアライメントしてワールドマップ242内に親プラン222を自律的に配置することができる。例えば、親プラン222は、親プラン222内の作業ウェイポイント228がモザイク状ワークピース衝突ジオメトリ218の作業ウェイポイント228の位置と一致するように配置することができる。親プラン222をロードした後に、プロセッサ204は、モザイク状ワークピース衝突ジオメトリ218に基づいてワークピース300の凸包210を自律的に作成することができ、ロボット102を作業ウェイポイント228から作業ウェイポイント228にナビゲーションする間に凸包210をロボット102の立ち入り禁止領域として設定することができる。凸包210は、移動ベース104およびロボットアーム106の移動中におけるロボット102とワークピース300との間の衝突チェックのために、ワークピース300の周辺部を反映するワークピース300のトップダウンシルエットとして説明することができる。図16はまた、プロセッサ204が、ロボット102が最初にナビゲートすることができる作業ウェイポイント228の前に自律的に構築した接近ウェイポイント226も示す。
【００４２】
図17は、ロボット102がワークピース300に自律的に登録する作業ウェイポイント228のうちの第1のものに対応する上述の接近ウェイポイント226に位置するロボット102のコンピュータ表現214を示す図16の表示画面248の図である。いくつかの例では、プロセッサ204は、ロボット102の運動学的モデル124（図2）をワールドマップ242に自律的にロードすることができ、運動学的モデル124に基づいて、エンドエフェクタ110が、作業ウェイポイント228の各々においてロボット102の親プラン222に定義された移動経路238に沿ったすべての位置に到達することができるかどうかを判定するための到達確認を実行することができる。プロセッサ204は、少なくともロボット102がワークピース300に登録する前に、自律的に到達確認を実行することができる。ロボット102の運動学的モデル124は、ロボットアームを構成する個々のアーム（図示せず）のサイズ（例えば、長さ）の定義として説明することができ、各アーム接合部（図示せず）の回転能力を含む。図17はまた、物理的環境350におけるワークピース300の実際のワークピース位置306（例えば、位置および／または向き）と一致するようにワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置（例えば、位置および／または向き）を調整するための可能性のある方向を示す親プラン222の左側に隣接する矢印を示す。
【００４３】
図18は、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の近似的なワークピース位置244が物理的環境350におけるワークピース300の実際のワークピース位置306と実質的に一致するように調整された後に、基準マーカー316の前の接近ウェイポイント226に配置されたロボット102のコンピュータ表現214を示す。プロセッサ204は、最初にロボット102を物理的環境350内のその現在位置から接近ウェイポイント226までナビゲートまたは移動することによって、モザイク状ワークピース衝突ジオメトリ218の位置の調整を自律的に実行する。上述のように、プロセッサ204は、作業ウェイポイント228の各々の前の接近ウェイポイント226を自律的に構築する。各接近ウェイポイント226は、ワークピース300と衝突する危険性が比較的低い状態でロボット102が基準マーカー316を検出することができる作業ウェイポイント228の前の所定の安全距離に配置されている。接近ウェイポイント226と作業ウェイポイント228との間の距離は、ロボット102の外形寸法と、ナビゲーションのためにレーザー116を使用することができるセンサシステム114の距離測定の許容誤差（例えば、数インチまたはセンチメートル）と、に基づくことができる。
【００４４】
図17〜図19を参照すると、図17に示すように接近ウェイポイント226に到達すると、ロボット102は、1つまたは複数の撮像システムを使用することなどによって、ワークピース300上の基準マーカー316を自律的に検出する。例えば、ロボット102のセンサシステムは、ロボット102のレーザーベースのナビゲーションシステムよりも高い解像度を有するカメラを含むことができる。例えば、ロボット102のカメラベースのマシンビジョンシステムは、物理的環境350内のワークピース300の実際のワークピース位置306を決定するために、1つまたは複数の基準マーカー316を撮像することができる。プロセッサ204は、カメラベースのマシンビジョンシステムから画像を受信し、現在撮像されている基準マーカー316の識別パターン318がワークピース300のジオメトリファイル216内の基準マーカー316の識別パターン318と一致することを確認することができる。上述のように、プロセッサ204は、近似的なワークピース位置244（例えば、位置および向き）が物理的環境350におけるワークピース300の実際のワークピース位置306（例えば、位置および向き）の初期許容誤差内になるまで、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の近似的なワークピース位置244を自律的に調整することができる。例えば、プロセッサ204は、物理的環境350内の実際のワークピース位置306から約1インチ（例えば、2．54cm）以内になるまで、ワールドマップ242内の近似的なワークピース位置244を自律的に調整することができる。図17に示すように、近似的なワークピース位置244の調整は、物理的環境350内の実際のワークピース位置306と一致させるためにモザイク状衝突ジオメトリ212の並進および向きの両方を含むことができる。
【００４５】
図18に示すように、ワールドマップ242内の近似的なワークピース位置244が物理的環境350内の実際のワークピース位置306の初期許容誤差内に調整された後に、図19に示すように、ロボット102は接近ウェイポイント226から接近ウェイポイント226に対応する作業ウェイポイント228まで自律的に移動することができる。作業ウェイポイント228にあるロボット102について、プロセッサ204は、ワールドマップ242が物理的環境350内の実際のワークピース位置306と初期許容誤差よりも小さい所定の最終許容誤差内で実質的に一致するまで、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218を反復的に調整することができる。例えば、最終許容誤差は、0．100インチ（2．54mm）のオーダー、より好ましくは約0．050インチ（1．27mm）未満であってもよい。本明細書で開示される例のうちの任意の1つでは、1つまたは複数のロボット102は、接近ウェイポイント226および／または作業ウェイポイント228のいずれか1つに向かって移動する間、および／またはそこにいる間に、バックグラウンド動作としてワークピース300上の基準マーカー316を連続的に検出し、識別し、（例えばジオメトリファイル216と）一致させることができる。
【００４６】
さらに、本明細書で開示される例のうちの任意の1つでは、1つまたは複数のロボット102は、ワールドマップ242内の近似的なワークピース位置244をロボット102が接近ウェイポイント226および／または作業ウェイポイント228のうちのいずれか1つに向かって移動しているときおよび／またはそこにあるときの物理的環境350内の実際のワークピース位置306の初期または最終許容誤差内に連続的に（例えばバックグラウンド動作として）更新または調整することができる。さらに、本明細書で開示される例のうちのいずれか1つでは、プロセッサ204は、ワールドマップ242内の近似的なワークピース位置244を反復的に調整し続けるかどうかを決定する際に、ロボット102のセンサシステム114による基準マーカー316の検出品質を考慮することができる。例えば、ロボット102が作業ウェイポイント228から作業ウェイポイント228まで移動しているとき、および／またはロボット102が接近ウェイポイント226に配置されているときに、プロセッサ204は、カルマンフィルタリングを使用して、センサシステム114によって生成された（例えば、基準マーカー316の）撮像データの品質を、（例えば、反復中に）ワールドマップ242内の近似的なワークピース位置244を最初に調整するか調整し続けるかを決定する要素として評価することができる。代替的にまたは付加的に、プロセッサ204は、ロボット102と基準マーカー316との間の距離電流またはロボット102のセンサシステム114によって生成された画像内の基準マーカー316の位置のいずれかに基づいて、ロボット102による基準マーカー316の各検出に信頼値を割り当てるように構成されてもよい。例えば、レンズの中心またはその近くでの低減された歪み量に対してレンズの周囲に存在することが知られているより大きな量の歪みのために、基準マーカーがカメラ118のレンズ（図示せず）の周囲に位置する撮像データに低い信頼値を割り当てることができる。対照的に、基準マーカー316がレンズの中心に配置されている撮像データに高い信頼値を割り当てることができる。
【００４７】
図20は、物理的環境350内にあり、作業ウェイポイント228においてロボット102に対して定義された移動経路238（図2）に沿ってエンドエフェクタ110の一連の移動を実行するために、プロセッサ204（図1〜図2）がロボットアーム軌道240（図2）を自律的に構築する前にワークピース300の作業ウェイポイント228に配置されたロボット102の一例の斜視図である。各作業ウェイポイント228でロボット102のロボットアーム軌道240を構成する際に、プロセッサ204は、ロボット102が現在位置している作業ウェイポイント228に関連する各移動経路238に沿って間隔をおいてエンドエフェクタ110の複数のポーズ（図示せず）をサンプリングするように構成される。エンドエフェクタ110のポーズは、エンドエフェクタ110の位置と向きの組み合わせを含む。プロセッサ204は、エンドエフェクタ110の各ポーズについて複数のz軸回転（図示せず）をサンプリングし、各サンプリングされたポーズについてすべての逆運動学解を求める。次に、プロセッサ204は、すべてのポーズを結ぶグラフ（図示せず）を構築し、ポーズ間のエンドエフェクタ110の移動中のロボットアーム106の最小接合移動について解く。プロセッサ204は、最小接合移動に基づいて移動経路238に沿ってエンドエフェクタ110の一連の移動を実行するためのロボットアーム軌道240を構築する。
【００４８】
図21は、作業ウェイポイント228でロボット102に対して定義される親プラン222（図2）の部分に対応するレイアップマンドレル302の部分（例えば、動作表面308）上でロボットアーム軌道240（図2）を自律的に実行する図20のロボット102の斜視図である。本開示の文脈においてロボットアーム軌道240を実行する際に、ロボット102は、エンドエフェクタ110が親プラン222（図13）で定義された移動経路238をたどるときに軌道バッファを使用してレイアップ表面314をクリーニングすることができる。ロボット102は、親プラン222に定義された作業ウェイポイント228まで連続的に移動し、各作業ウェイポイント228においてエンドエフェクタ110に対して定義された動作表面308の各部分上で動作する。
【００４９】
より具体的には、作業ウェイポイント228の各々について、ロボット102は順次かつ自律的に以下のステップを実行する。すなわち、ロボット102を作業ウェイポイント228の前の接近ウェイポイント226まで移動し、ロボット102をワークピース300に登録するステップ（図17）と、ワールドマップ242内の近似的なワークピース位置244を、物理的環境350内の実際のワークピース位置306の初期許容誤差（例えば、1．0インチまたは2．54cm以内）内に調整するステップ（図17〜図18）と、ロボット102を接近ウェイポイント226から作業ウェイポイント228まで移動し、ロボット102のコンピュータ表現の位置および向きを作業ウェイポイント228の位置および向きと一致するように調整するステップ（図18〜図19）と、ワールドマップ242内の近似的なワークピース位置244を、物理的環境350内の実際のワークピース位置306の最終許容誤差（例えば、0．050インチまたは1．27mm以内）内に反復的に調整するステップ（図19）と、作業ウェイポイント228に関連する移動経路238に沿ってエンドエフェクタ110の一連の移動を実行するためのロボットアーム軌道240を構築するステップ（図20）と、ロボットアーム軌道240を実行して、エンドエフェクタが作業ウェイポイント228に対して定義された動作表面308の部分上で動作するように、エンドエフェクタ110に移動経路238に沿った一連の移動を実行させるステップである。
【００５０】
ロボットシステム100（例えば、プロセッサ204）は、ロボット102が親プラン222を完了するまで実行するまで、作業ウェイポイント228の各々において上述のステップを自律的に実行するように構成される。ロボット102は、上述のようにワークピース300用に構成された凸包210を侵害することなく、ワークピース300の周囲を自律的にナビゲートし、作業ウェイポイント228から作業ウェイポイント228に移動するように構成される。いくつかの例では、ロボットシステム100は、任意の時点でロボット動作を手動で一時停止することを可能にするように構成することができる。そのような手動の一時停止は、ワールドマップ242を更新するために物理的環境350のロボット102による修正されたスキャンを可能にするなどのデータの手動入力を可能にすることができる。
【００５１】
図22を参照すると、ワークピース300上で同時にかつ自律的に動作するための複数のロボット102を含むロボットシステム100のワールドマップ242を示す表示画面248が示されている。複数のロボット102を有するロボットシステム100は、ロボットシステムが複数のロボット102を有することを除いて、上述の単一のロボット102を有するロボットシステムと同様に動作することができ、親プラン222は、対応する複数のロボット102に配布される複数の子プラン224を含む。親プラン222は、ロボット102のうちの1つのプロセッサ204によって、またはリモートコンピューティングデバイス202のプロセッサ204によって生成することができる。プロセッサ204は、複数のロボット102への対応する分配のために親プラン222を複数の子プラン224に自律的に分割することができる。子プラン224は、ロボット102および／またはリモートコンピューティングデバイス202に含まれ得るアンテナ（図示せず）によって無線で配布することができる。子プラン224の各々は、子プラン224が分配されたロボット102のエンドエフェクタ110の移動経路238を定義する。各ロボット102の移動経路238は、ロボット102のロボットアーム106の到達距離に基づいてもよい。子プラン224の各々は、親プラン222に定義された作業ウェイポイント228の総数の中から、各ロボット102に固有の一組の作業ウェイポイント230を割り当てる。
【００５２】
さらに図22を参照すると、複数のロボット102を有するロボットシステム100では、ロボット102が子プラン224によってロボット102に割り当てられた一組の作業ウェイポイント230のうちの作業ウェイポイント228の前の接近ウェイポイント226にあるとき、各ロボット102は上述の方法でワークピース300に自律的に登録する。しかしながら、ロボット102のうちの1つのみが、その子プラン224の作業ウェイポイント228のうちの第1の作業ウェイポイント228に向かって移動するとき、および／または第1の作業ウェイポイント228にあるときに、近似的なワークピース位置244が、物理的環境350内の実際のワークピース位置306と実質的に一致しない場合、または一致するまで、ワールドマップ242内でモザイク状ワークピース衝突ジオメトリ218を調整するために使用される。残りのロボット102は、ワールドマップ242内の近似的なワークピース位置244を変更または調整するために使用されなくてもよい。ワールドマップ242内の近似的なワークピース位置244が物理的環境350内の実際のワークピース位置306と一致するように調整されると、ロボット102が子プラン224の別の作業ウェイポイント228に移動するごとに近似的なワークピース位置244が調整されないようにロボットシステム100は構成される。しかしながら、ロボットに割り当てられた一組の作業ウェイポイント230の各作業ウェイポイント228にあるとき、ロボット102の各々について、プロセッサ204は、作業ウェイポイント228に関連する移動経路238に沿ってエンドエフェクタ110の一連の移動を実行するためのロボットアーム軌道240を自律的に構築し、作業ウェイポイント228でロボット102に対して定義された子プラン224の部分に対応する動作表面308の部分上でエンドエフェクタ110を動作させるようにロボットアーム軌道240を実行するように構成される。
【００５３】
上述のように、プロセッサ204は、親プラン222を自律的に生成し、複数のロボット102への対応する分配のために親プラン222を複数の子プラン224に分割する。親プラン222を複数の子プラン224に分割する際に、プロセッサ204は、1つまたは複数の要素に基づいて、一組の作業ウェイポイント230を各ロボット102に割り当てることができる。例えば、作業ウェイポイント228は、互いに対する作業ウェイポイント228のウェイポイント位置に基づいてロボット102に割り当てられてもよい。これに関して、作業ウェイポイント228は、それらの互いの近接度に基づいてグループにまとめられてもよい。例えば、図22に示される4つのロボット102のうち、ロボット102のうちの第1のロボット102は、1〜4として識別される作業ウェイポイント228に割り当てられ、ロボット102のうちの第2のロボット102は、5〜9として識別される作業ウェイポイント228に割り当てられ、ロボット102のうちの第3のロボット102は、10〜14として識別される作業ウェイポイント228に割り当てられ、ロボット102のうちの第4のロボット102は、15〜19として識別される作業ウェイポイント228に割り当てられる。作業ウェイポイント228をロボット102に割り当てる際の別の要素は、エンドエフェクタ110の互いに対するエンドエフェクタ110の能力に基づいてもよい。例えば、ロボット102のうちの1つまたは複数は、他のロボット102のエンドエフェクタ110とは異なるエンドエフェクタ110を有することができ、したがって、他のエンドエフェクタ110よりも動作表面308のいくつかの領域で動作を実行することにおいて優れている。レイアップマンドレル302のレイアップ表面314をクリーニングする例では、エンドエフェクタ110のうちの1つのバフ研磨ディスクは、他のエンドエフェクタ110のバフ研磨ディスクよりも小さい直径を有することができ、したがって、レイアップ表面314の高曲率領域によりアクセスしやすくクリーニングすることができる。作業ウェイポイント228をロボット102に割り当てる際の別の要素は、互いに対するロボット作業負荷に基づいてもよい。例えば、作業ウェイポイント228は、各ロボット102が動作表面308上で動作する合計時間に関してロボット102間の作業負荷を均衡させるために割り当てられてもよい。
【００５４】
複数のロボット102を有するロボットシステム100用のワールドマップ242を構築する際に、プロセッサ204は、物理的環境350の床面352に沿って操縦されている間に複数のロボット102のうちの1つまたは複数のセンサシステム114によって記録された画像データに基づいてワールドマップ242を構築することができる。必要ならば、プロセッサ204は、ワールドマップ242内の複数のロボット102の各々のコンピュータ表現214を（例えば、粒子フィルタリングを介して）位置特定することができる。上述のように、1つまたは複数のロボット102のコンピュータ表現214の位置は、1つまたは複数のロボット102またはリモートコンピューティングデバイス202のユーザーインターフェース246を介してユーザーによって手動で操作されてもよい。加えて、プロセッサ204は、子プラン224によってその役割に割り当てられた一組の作業ウェイポイント230のうちの各作業ウェイポイント228について、ロボット102の各々について到達確認を実行することができる。例えば、プロセッサ204は、各ロボット102のエンドエフェクタ110が、ロボット102が割り当てられている作業ウェイポイント228の各々に関連する移動経路238に沿ったすべての位置に到達することができるかどうかを判定するために、複数のロボット102のうちの各固有の1つの運動学的モデル124をロードすることができる。プロセッサ204は、上述の方法で、複数のロボット102の各々に対してロボットアーム軌道240を構成し実行することができる。
【００５５】
本明細書に開示するロボットシステム100の任意の例では、ロボット102（図9〜図10）および／またはロボットアーム106（図9〜図10）は、ロボット102が人間や他の動く物体と同じ一般的なワークスペース内で動作することができるという意味で協調ロボットであり得る。これに関して、ロボットシステム100のプロセッサ204は、アーム停止条件が発生すると、ロボットアーム106および／またはエンドエフェクタ110の移動を自律的に停止するように構成されてもよい。本開示では、アーム停止状態は、ロボットアーム106および／またはエンドエフェクタ110がワークピース300の動作表面308以外の物体と接触したこととして説明することができる。例えば、ロボットアーム106および／またはエンドエフェクタ110と静止物体（例えば、ワークピース300の動作表面308以外の任意の面）または可動物体（例えば、他のロボット、人間など）との接触によって、ロボット102に自律的にすべての動きを停止させることができる。別の例では、床面352に沿った移動ベース104の移動は、ベース停止条件が発生すると自律的に停止することができる。本開示では、ベース停止条件は、移動ベース104との衝突経路上にあり、ロボット102から一定の距離内にある任意の物体の検出時に発生することができる。ベース停止条件は、ロボット102からの撮像データまたは他のセンサ入力に基づいてプロセッサ204によって決定することができる。ベース停止条件の存在を判定すると、プロセッサ204は、ロボット102と物体との著しい衝突の前に移動ベース104の移動を停止することができる。
【００５６】
顕著な衝突は、物体の検出から数秒以内に発生するようにプロセッサ204によって計算された衝突として説明することができ、あるいは移動物体がロボット102から数フィート以内に入ったときに衝突を顕著として説明することができる。衝突検出に対する保護は、ロボット102のセンサシステム114の視野内にある物体（例えば、レーザー116、カメラ118、他のセンサ）を連続的に監視することによって提供することができる。ロボット102は、ロボット102の高さより上に位置する物体を検出するための超音波センサを含むことができる。ロボット102と物体との間の距離は、ロボット102が物体と衝突する前に停止することができることを保証するために、ロボット102の速度に対してマッピングされてもよい。代替的または追加的に、衝突に対する保護は、ロボット102内のモーターエンコーダを監視して、ロボットの速度、物体に対する速度の差、および物体に対するロボット102の運動方向を連続的に決定することによって提供されてもよい。衝突に対するさらなる保護手段は、ロボットアーム106と移動ベース104の同時動作を防止するために、ロボットアーム106と移動ベース104との間のインターロックを含むことができる。
【００５７】
有利には、本開示のロボットシステム100の例のうちのいずれか1つにおいて、プロセッサ204は、物理的環境350内のすべての移動物体をレーザー116によって、カメラ118によって、または超音波センサ（図示せず）などの他の種類のセンサによって検出するかを動的に計画する。人間がロボット102の移動ベース104の前を歩く場合、プロセッサ204は、作業ウェイポイント228から作業ウェイポイント228へ移動するときなど、ロボット102のナビゲーション中に人間の周りを自律的に計画することができる。さらに、ロボットアーム106または移動ベース104の動きが、上述のようにアーム停止状態またはベース停止状態の発生のためにそれぞれ停止される場合には、プロセッサ204は、移動が停止された状態でロボット102の動作を自律的に再開することができ、あるいは、より適切であれば、ロボット102は自律的に別のより適切な状態に進み、ロボット102は回復して動作を継続する。ロボット102が作業ウェイポイント228に配置されている間に、人との接触などによりロボット102がぶつかって新たな位置にわずかに移動すると、ロボットアーム106の移動は停止し、プロセッサ204はロボット102の新しい位置における新たなロボットアーム軌道240を自律的に構築することができる。
【００５８】
図23は、ワークピース300上で自律的に動作させる方法400に含まれる動作のフローチャートである。方法400のステップ402は、製造施設または複合材部品レイアップ施設などの物理的環境350においてワークピース300（例えばレイアップマンドレル302）の動作表面308上で作業するための少なくとも1つのロボット102のエンドエフェクタ110の移動のための親プラン222を、プロセッサ204を用いて自律的に生成するステップを含む。上述のように、親プラン222はワークピース300のCADモデル208に基づいており、ロボット102が親プラン222に含まれる複数の作業ウェイポイント228の各々に配置されているときに、ロボット102のロボットアーム106の到達距離に少なくとも部分的に基づいてエンドエフェクタ110の移動経路238および一連の移動を定義する。上述のように、親プラン222内の作業ウェイポイント228は、ワークピース300上に取り付けられ、CADモデル208内に表されている複数の基準マーカー316に対応する。
【００５９】
方法400のステップ404は、プロセッサ204を使用して、親プラン222内の作業ウェイポイント228の各々についてロボット102の一連のステップを自律的に実行するステップを含む。シーケンス中のステップ406は、ロボット102が作業ウェイポイント228の前の接近ウェイポイント226にあるときに、ロボット102を物理的環境350内のワークピース300に自律的に登録するステップと、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の近似的なワークピース位置244（例えば、位置および向き）が、物理的環境350におけるワークピース300の実際のワークピース位置306（例えば、位置および向き）と実質的に一致しない場合に、または一致するまで、物理的環境350のワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置（例えば、位置および向き）を反復的に調整するステップと、を含む。いくつかの例では、モザイク状ワークピース衝突ジオメトリ218の位置の調整は、ロボット102が作業ウェイポイント228のうちの最初の1つにあるときにのみ実行することができる。物理的環境350内のワークピース300がモザイク状ワークピース衝突ジオメトリ218の初期調整後に移動される場合を除き、ロボット102が作業ウェイポイント228から作業ウェイポイント228へ移動するときに、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置をさらに調整する必要はない場合がある。
【００６０】
シーケンスのステップ408は、図26を参照して以下でより詳細に説明するように、作業ウェイポイント228にあるロボット102を用いて、作業ウェイポイント228に関連する移動経路238に沿ってエンドエフェクタ110の一連の移動を実行するためのロボットアーム軌道240を自律的に構築するステップを含む。シーケンスのステップ410は、作業ウェイポイント228においてロボット102に対して定義された親プラン222の部分に対応する動作表面308の部分にエンドエフェクタ110を動作させるようにロボットアーム軌道240を自律的に実行するステップを含む。上述のように、ロボット102は各作業ウェイポイント228に連続的に移動し、各作業ウェイポイント228において、プロセッサ204はロボットアーム軌道240を構成し、ロボットアーム106に作業ウェイポイント228に対応する親プラン222のその部分についてロボットアーム軌道240を実行させる。
【００６１】
図24は、ステップ402で述べた親プラン222を自律的に生成する方法500に含まれる動作のフローチャートである。親プラン222を自律的に生成する方法500のステップ502は、CADモデル208のジオメトリファイル216（例えば、STEPファイル）に基づいて、ロボットアーム106の到達距離に基づく基準マーカー316からの距離にある複数の作業ウェイポイント228をそれぞれ構築するステップを含む。上述のように、作業ウェイポイント228は、移動ベース104の寸法、ロボットアーム106の到達距離、および／または他のロボットパラメータに基づいて、基準マーカー316の各々から所定のゼロでない距離に確立されてもよい。ジオメトリファイル216を生成するプロセスは、動作表面308の境界を選択することなどによって、ワークピース300のCADモデル208の動作表面308を定義するステップをさらに含む。あるいは、動作表面308は、CADモデル208の開発者によって予め指定されてもよい。さらに、ジオメトリファイル216を生成するプロセスは、上述のように、CADモデル208の複数の基準マーカー316を定義するステップ、およびCADモデル208の衝突ジオメトリ212をモザイク化して、モザイク状ワークピース衝突ジオメトリ218を形成するステップを含む。ジオメトリファイル216は、ワークピース300の動作表面308、基準マーカー316、およびモザイク状ワークピース衝突ジオメトリ218の定義を含むように保存され、メモリ206に格納されてもよい。上述のように、ジオメトリファイル216はSTEPファイルとして保存することができる。
【００６２】
さらに図12を参照しながらさらに図24を参照すると、親プラン222を生成するステップ504は、図12に示すように、ロボットアーム106の到達距離に対応する大きさの到達範囲120を作業ウェイポイント228の各々に構築するステップを含むことができる。本開示において、到達範囲120は、ロボットアーム106の到達距離に対応する球体直径を有する非常に薄いシェルとして説明することができる。親プラン222を生成するステップ506は、各到達範囲120と動作表面308との交点に基づいて複数の表面セグメント232を定義するステップを含むことができる。例えば、上に示したように、各到達範囲120の球体外周は動作表面308と交差し、境界線122は交差する球体外周の各隣接対の交差点の間に構築される。境界線122は、表面セグメント232の境界を少なくとも部分的に定義することができる。親プラン222の生成は、表面セグメント232の各々をモザイク化して複数のモザイク状表面セグメント234を形成するステップをさらに含むことができる。
【００６３】
親プラン222を生成するステップ508は、表面セグメント232の最大寸法の方向として説明することができる切断方向236を各表面セグメント232について決定するステップをさらに含むことができる。例えば、切断方向236は、動作表面308を上から見たときに、モザイク状表面セグメント234の対向する側面間の最長直線距離であってもよい。上述のように、切断方向236は、図12に示すように、動作表面308の外周312および／または内周310に対してほぼ平行であってもよい。親プラン222を生成するステップ510は、各表面セグメント232をそれぞれ切断方向236にほぼ平行に配向された間隔をおいて配置された一連の垂直面（図示せず）と交差させることによって各表面セグメント232の移動経路238を形成するステップを含む。各作業ウェイポイント228における垂直面と表面セグメント232との交差は、三次元の複数の移動経路238をもたらす。上述のように、移動経路は、動作表面308上で動作するときにエンドエフェクタ110が移動する経路である。親プラン222を生成するステップ512は、各作業ウェイポイント228について、隣接する移動経路238に沿ってエンドエフェクタ110の交番する移動方向を指定するステップを含むことができる。交番する移動方向は、各作業ウェイポイント228におけるエンドエフェクタ110の一連の移動を定義する。親プラン222を生成するステップ514は、すべての作業ウェイポイント228におけるエンドエフェクタ110の移動経路238および一連の移動を含む親プラン222を保存するステップを含む。
【００６４】
上述のように、ステップ406は、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置を反復的に調整するステップを含む。ワールドマップ242がまだ構築されていない、および／またはメモリ206に存在しない場合には、本方法は、ロボット102のセンサシステム114（例えば、カメラ118、レーザー116など）を使用して、物理的環境350を定義する環境境界354および環境境界354内の物体の画像データを記録しながら、物理的環境350の床面352に沿ってロボット102を（例えば、遠隔制御を介して）操縦することによって、ワールドマップ242を構築するステップをさらに含むことができる。本方法は、プロセッサ204を使用して、撮像データに基づいてワールドマップ242を構築するステップを含む。ワールドマップ242の構築は、物理的環境350内のロボット102の実際の位置を反映するために、粒子フィルタリングを介してワールドマップ242内のロボット102のコンピュータ表現214を位置決めまたは位置特定するステップをさらに含むことができる。
【００６５】
ワールドマップ242が存在する場合には、プロセッサ204は、ワークピース300のモザイク状ワークピース衝突ジオメトリ218をワールドマップ242に自律的にロードして位置決めすることができる。さらに、プロセッサ204は、図16に示すように親プラン222がモザイク状ワークピース衝突ジオメトリ218とアライメントされるような方法でワールドマップ242に親プラン222を自律的にロードする。いくつかの例では、衝突チェック中の計算強度を減らすために、プロセッサ204は、モザイク状ワークピース衝突ジオメトリ218に基づいてワークピース300の凸包210を自律的に作成することができ、作業ウェイポイント228から作業ウェイポイント228までナビゲートするときに、凸包210をロボット102の立ち入り禁止領域として設定することができる。親プラン222を生成した後で、ロボット102をワークピース300に登録する前に、プロセッサ204は、作業ウェイポイント228の各々においてロボット102の到達確認を自律的に実行することができる。これに関して、プロセッサ204は、ロボット102の運動学的モデル124をワールドマップ242に自律的にロードし、運動学的モデル124に基づいて、ロボット102のエンドエフェクタ110が各作業ウェイポイント228に関連する移動経路238に沿ったすべての位置に到達することができるかどうかを判定する。ロボットシステム100が複数のロボット102を含む場合には、各ロボット102のエンドエフェクタ110が、ロボット102が割り当てられた各作業ウェイポイント228の移動経路238に沿ってすべての位置に到達することができるかどうかを決定するために、ロボット102の各固有の1つの運動学的モデル124がロードされ使用される。
【００６６】
図25を参照すると、ステップ406で述べたようにロボット102をワークピース300に登録し、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置を調整する方法600に含まれ得る動作のフローチャートが示される。方法600のステップ602は、ロボット102を接近ウェイポイント226に移動するステップと、図16〜図17に示すように、ロボットの中心線（図示せず）が接近ウェイポイント226のウェイポイント中心線（図示せず）とほぼ平行になり、アライメントされるまでロボット102を配向するステップと、を含む。ステップ604は、接近ウェイポイント226におけるロボット102を用いて、接近ウェイポイント226におけるワークピース300上の基準マーカー316の識別パターン318がジオメトリファイル216に定義されてCADモデル208で表される基準マーカー316の識別パターン318と一致することを確認するステップを含む。そうであれば、ステップ606は、図17〜図18に示し、上述したように、近似的なワークピース位置244が物理的環境350内の実際のワークピース位置306の所定の初期許容誤差内になるまで、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の近似的なワークピース位置244を調整するステップを含む。上述のように、ワークピース300上の基準マーカー316を検出し、識別し、ジオメトリファイル216に一致させ、物理的環境350内の実際のワークピース位置306と実質的に一致するように、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置を更新（例えば調整）するプロセスは、例えば、接近ウェイポイント226および／または作業ウェイポイント228のうちのいずれか1つに向かって移動しているとき、および／またはそこに停止しているときなど、1つまたは複数のロボット102がワークピース300の周りをナビゲートするときに、連続的に（例えば、リアルタイムで）実行することができる。さらに、プロセッサ204は、ワールドマップ242内の近似的なワークピース位置244を反復して調整し続けるかどうかを決定する際に、基準マーカー316の検出品質を考慮することができる。例えば、プロセッサ204は、上述したように、ワールドマップ242内の近似的なワークピース位置244を最初に調整するか、または（例えば、反復中に）調整し続けるかどうかを決定する際の要素として（例えば、基準マーカー316の）撮像データの品質を評価するために、カルマンフィルタリングおよび／または信頼値の割り当てを使用することができる。
【００６７】
ステップ608は、図18〜図19に示すように、ロボット102を接近ウェイポイント226から作業ウェイポイント228まで自律的に移動するステップを含む。ステップ610は、作業ウェイポイント228にあるロボット102を用いて、図20に示すように、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の近似的なワークピース位置244が物理的環境350内の実際のワークピース位置306と実質的に一致するまで、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置を反復的に調整するステップを含む。
【００６８】
次に図20をさらに参照しながら図26を参照すると、ステップ408で述べたようにロボットアーム軌道240を構築する方法700に含めることができる動作のフローチャートが示されている。方法700のステップ702は、各移動経路238に沿って間隔をあけてエンドエフェクタ110の複数のポーズ（図示せず）をサンプリングするステップを含むことができる。図20に示すように、ロボットアーム軌道240が構築されている間、エンドエフェクタ110はまだ移動していない。ステップ704は、エンドエフェクタ110の各ポーズについて複数のz軸回転をサンプリングするステップを含む。図示されていないが、エンドエフェクタ110のz軸は、ポーズの位置で動作表面308に対して局所的に垂直に向けられている。ステップ706は、エンドエフェクタ110が各サンプリングされたポーズに確実に動くことができるようにするための手段として、各サンプリングされたポーズについてのすべての逆運動学的解を求めるステップを含む。ステップ708は、すべてのポーズを結ぶグラフ（図示せず）を構築し、各ポーズ間の最小接合移動について解くステップを含む。ステップ710は、最小接合移動に従って移動経路238に沿ってエンドエフェクタ110の一連の移動を実行するためのロボットアーム軌道240を構築するステップを含む。図21は、ロボットアーム軌道240を実行してエンドエフェクタ110を動作表面308上で動作させるロボットアーム106を示す。作業ウェイポイント228のうちの1つで移動経路238の一連の移動を実行した後に、ロボット102は、親プラン222内に定義された作業ウェイポイント228のうちの他の1つ（例えば、隣接する）に自律的に移動する。ロボット102は、作業ウェイポイント228の各々に連続的に移動して、親プラン222が実行されて完了するまで、各作業ウェイポイント228でロボットアーム軌道240を構築し実行する。
【００６９】
複数のロボット102を有するロボットシステム100の場合、ワークピース300上で自律的に動作する方法は、親プラン222を自律的に生成するときに、プロセッサ204が、複数のロボット102に対応して配布するために親プラン222を複数の子プラン224に分割することを除いて、単一のロボット102を有するロボットシステム100について上述した方法と同じである。加えて、プロセッサ204は、作業ウェイポイント228のうちの最初の1つにおいてロボット102のうちの単一のロボット102のみを使用して、ワールドマップ242内のモザイク状ワークピース衝突ジオメトリ218の位置を反復的に調整して物理的環境350における実際のワークピース位置306と実質的に一致させる。プロセッサ204は、上述のように、互いに対する作業ウェイポイント228のウェイポイント位置に基づいて、エンドエフェクタ110の互いに対するエンドエフェクタ能力に基づいて、および／または互いに対するロボット102のロボット作業負荷に基づいて、複数のロボット102の各々に固有の一組の作業ウェイポイント230を割り当てることができる。
【００７０】
ワールドマップ242の構築は、ロボット102のセンサシステム114を使用して、物理的環境350の環境境界354および環境境界354内の物体を含む撮像データを記録しながら、物理的環境350の床面352に沿って複数のロボット102のうちの少なくとも1つを手動で操縦（例えば、操作）すること、およびプロセッサ204を使用して、撮像データに基づいてワールドマップ242を構築することにより、実行されてもよい。さらに、ワールドマップ242を生成するステップは、ワールドマップ242内の複数のロボット102の各々のコンピュータ表現214を位置特定するステップを含むことができる。いくつかの例では、親プラン222を生成した後で、ロボット102をワークピース300に登録する前に、本方法は、ロボットアーム106について到達確認を実行するステップを含むことができる。これに関して、プロセッサ204は、複数のロボット102のうちの各固有の1つの運動学的モデル124をワールドマップ242に自律的にロードすることができ、各ロボット102について、エンドエフェクタ110が、ロボット102が割り当てられている作業ウェイポイント228の各々に関連する移動経路238に沿ったすべての位置に到達することができるかどうかを判定することができる。
【００７１】
ロボット102のうちの1つまたは複数が協調的であるロボットシステム100の場合、本方法は、アーム停止条件が発生したときにロボットアーム106の動きを停止させるステップを含むことができる。上述のように、アーム停止条件は、ロボットアーム106および／またはエンドエフェクタ110がワークピース300の動作表面308以外の物体と接触することを含むことができる。代替的にまたは追加的に、本方法は、上述したように、移動ベース104との衝突経路上の物体の検出を含むベース停止条件の発生時に移動ベース104の移動を停止するステップを含むことができる。アーム停止状態またはベース停止状態の発生によりロボットアーム106または移動ベース104の移動がそれぞれ停止した場合には、本方法は、移動が停止されたステップまたはフェーズで、あるいは移動が停止されたフェーズに続く次の適切なステップまたはフェーズで、ロボット102の動作を自律的または手動で再開するステップを含むことができる。
【００７２】
さらに、本開示は、以下の項による実施形態を含む。
【００７３】
第1項．ワークピース上で自律的に動作するためのロボットシステムであって、プロセッサを含むデータ処理システムに通信可能に結合され、ロボットアームとロボットアームに結合されたエンドエフェクタとを有する少なくとも1つのロボットを含み、プロセッサは、物理的環境内に配置されたワークピースの動作表面上で動作するためのエンドエフェクタの移動のための親プランを自律的に生成するように構成され、親プランは、ワークピースのコンピュータ支援設計（CAD）モデルに基づいており、かつ、ワークピースに取り付けられて、CADモデルに表される複数の基準マーカーに対応するように、親プランに含まれる複数の作業ウェイポイントの各々におけるロボットのロボットアームの到達距離に少なくとも部分的に基づいてエンドエフェクタの移動経路を定義し、プロセッサは、基準マーカーの各々に対して、ロボットが基準マーカーの前の接近ウェイポイントに向かって移動しているとき、および／または基準マーカーの前の接近ウェイポイントにあるときに、ロボットを物理的環境内のワークピースに登録し、ロボットが基準マーカーに対応する作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が物理的環境内の実際のワークピース位置と実質的に一致しない場合に、または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整するステップと、作業ウェイポイントにあるロボットと共に、作業ウェイポイントに関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、ロボットアーム軌道を実行し、作業ウェイポイントにあるロボットのために定義された親プランの部分に対応するワークピースの動作表面の部分上でエンドエフェクタを動作させるステップと、を順次自律的に実行するように構成される。
【００７４】
第2項．第1項に記載のロボットシステムであって、プロセッサは、親プランを自律的に生成する際に、CADモデルのジオメトリファイルに基づいて、ロボットアームの到達距離に基づく基準マーカーからある距離において複数の作業ウェイポイントをそれぞれ構築することと、作業ウェイポイントの各々において到達距離に対応した大きさの到達範囲を構築することと、各到達範囲と動作表面との交点に基づいて複数の表面セグメントを定義することと、各表面セグメントについて、表面セグメントの最大寸法の方向として定義される切断方向を決定することと、各表面セグメントを切断方向に平行に配向された一連の垂直面と交差させることによって、各表面セグメントについて移動経路を形成することと、各作業ウェイポイントについて、隣接する移動経路に沿ってエンドエフェクタの交番する移動方向を指定することとであって、交番する移動方向はエンドエフェクタの一連の移動を定義する、指定することと、すべての作業ウェイポイントにおける移動経路およびエンドエフェクタの一連の移動を含む親プランを保存することと、を順次実行するように構成される。
【００７５】
第3項．第2項に記載のロボットシステムであって、プロセッサは、ワークピースのCADモデルの動作表面を定義し、CADモデルは衝突ジオメトリを有し、CADモデルの複数の基準マーカーを定義し、CADモデルの衝突ジオメトリをモザイク化して、モザイク状ワークピース衝突ジオメトリを形成し、ワークピースの動作表面、基準マーカー、およびモザイク状ワークピース衝突ジオメトリの定義を少なくとも含むジオメトリファイルを保存するように構成される。
【００７６】
第4項．第1項に記載のロボットシステムであって、ロボットはセンサシステムを含み、プロセッサは、ロボットが物理的環境の床面に沿って操縦されている間にセンサシステムによって記録された、物理的環境の環境境界および環境境界内の物体の画像データに基づいてワールドマップを構築するように構成される。
【００７７】
第5項．第4項に記載のロボットシステムであって、プロセッサは、ワークピースのモザイク状ワークピース衝突ジオメトリをワールドマップ内に配置し、モザイク状ワークピース衝突ジオメトリに基づいてワークピースの凸包を作成し、凸包をロボットの立ち入り禁止領域として設定するように構成される。
【００７８】
第6項．第1項に記載のロボットシステムであって、プロセッサは、ロボットの運動学的モデルをワールドマップにロードし、運動学的モデルに基づいて、ロボットをワークピースに登録する前に、エンドエフェクタが各作業ウェイポイントに関連する移動経路に沿ったすべての位置に到達できるかどうかを判定するように構成される。
【００７９】
第7項．第1項に記載のロボットシステムであって、ロボットをワークピースに登録し、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を調整する際に、プロセッサは、ロボットを接近ウェイポイントまで移動することと、ロボットが接近ウェイポイントに向かって移動しているとき、および／または接近ウェイポイントにあるときに、ワークピース上の基準マーカーの識別パターンがCADモデルに表される基準マーカーの識別パターンと一致することを確認することと、ロボットが接近ウェイポイントに向かって移動しているとき、および／または接近ウェイポイントにあるときに、近似的なワークピース位置が物理的環境におけるワークピースの実際のワークピース位置の所定の初期許容誤差内にない場合または初期許容誤差内になるまで、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置を調整することと、ロボットを接近ウェイポイントから作業ウェイポイントまで移動させることと、作業ウェイポイントにあるロボットを用いて、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置が、物理的環境における実際のワークピース位置と実質的に一致しない場合または一致するまで、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整することと、を順次実行するように構成される。
【００８０】
第8項．第1項に記載のロボットシステムであって、ロボットアーム軌道を構築する際に、プロセッサは、各移動経路に沿って間隔をあけてエンドエフェクタの複数のポーズをサンプリングすることと、エンドエフェクタの各ポーズについて複数のz軸回転をサンプリングすることと、サンプリングされた各ポーズについてすべての逆運動学的解を求めることと、すべてのポーズを接続するグラフを構築し、各ポーズ間の最小接合移動を解くことと、最小接合移動に従って移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築することと、を順次実行するように構成される。
【００８１】
第9項．ワークピース上で自律的に動作するためのロボットシステムであって、各々がロボットアームとロボットアームに結合されたエンドエフェクタとを有する複数のロボットと、物理的環境内に配置されたワークピースの動作表面上で動作するための各エンドエフェクタの移動のための親プランを自律的に生成するように構成された少なくとも1つのプロセッサと、を含み、親プランは、ワークピースのコンピュータ支援設計（CAD）モデルに基づいており、複数のロボットに分配するための複数の子プランを含み、各々は、1つのロボットのエンドエフェクタの移動経路を定義し、移動経路は、子プランによって親プランに含まれる固有の一組の作業ウェイポイントのうちの1つまたは複数に割り当てられたロボットのロボットアームの到達距離に少なくとも部分的に基づき、作業ウェイポイントは、ワークピース上に取り付けられて、CADモデル内に表されている複数の基準マーカーに対応し、プロセッサは、ロボットの各々について、ロボットに割り当てられた一組の作業ウェイポイントのうちの作業ウェイポイントの前の接近ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントの前の接近ウェイポイントにあるときに、物理的環境におけるワークピースに登録することと、一組の作業ウェイポイントのうちの第1の作業ウェイポイントに向かって移動しているとき、および／または第1の作業ウェイポイントにあるときのロボットのうちの1つのみについて、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が、ロボットが作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、物理的環境における実際のワークピース位置と実質的に一致しない場合または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整することと、ロボットに割り当てられた一組の作業中間点の各作業中間点にあるときの各ロボットについて、作業中間点に関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築することと、作業ウェイポイントにあるロボットのために定義された子プランの部分に対応する動作表面の部分上でエンドエフェクタを動作させるようにロボットアーム軌道を実行することと、を順次自律的に実行するように構成される。
【００８２】
第10項．第9項に記載のロボットシステムであって、プロセッサは、互いに対する作業ウェイポイントのウェイポイント位置、エンドエフェクタの互いに対するエンドエフェクタ能力、および互いに対するロボットのロボット作業負荷のうちの少なくとも1つに基づいて、一組の作業ウェイポイントを複数のロボットの各々に割り当てるように構成される。
【００８３】
第11項．ワークピース上で動作する方法であって、物理的環境においてワークピースの動作表面上で動作するための少なくとも1つのロボットに対応する少なくとも1つのエンドエフェクタの移動のための親プランを、プロセッサを用いて自律的に生成するステップであって、親プランは、ワークピースのコンピュータ支援設計（CAD）モデルに基づいており、かつ、親プランに含まれる複数の作業ウェイポイントの各々におけるロボットのロボットアームの到達距離に少なくとも部分的に基づいてエンドエフェクタの移動経路を定義し、複数の作業ウェイポイントは、ワークピースに取り付けられて、CADモデルに表される複数の基準マーカーに対応する、ステップと、プロセッサを使用して、複数の作業ウェイポイントの各々においてロボットに対して、ロボットが作業ウェイポイントの前の接近ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントの前の接近ウェイポイントにあるときに、ロボットを物理的環境内のワークピースに登録し、ロボットが作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置が物理的環境内の実際のワークピース位置と実質的に一致しない場合に、または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を反復的に調整するステップと、作業ウェイポイントにあるロボットと共に、作業ウェイポイントに関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、作業ウェイポイントにあるロボットのために定義された親プランの部分に対応する動作表面の部分上でエンドエフェクタを動作させるようにロボットアーム軌道を実行するステップと、を順次自律的に実行するステップと、を含む。
【００８４】
第12項．第11項に記載の方法であって、親プランを自律的に生成するステップは、CADモデルのジオメトリファイルに基づいて、ロボットアームの到達距離に基づく基準マーカーからある距離において複数の作業ウェイポイントをそれぞれ構築するステップと、作業ウェイポイントの各々において到達距離に対応した大きさの到達範囲を構築するステップと、各到達範囲と動作表面との交点に基づいて複数の表面セグメントを定義するステップと、各表面セグメントについて、表面セグメントの最大寸法の方向として定義される切断方向を決定するステップと、各表面セグメントを切断方向にほぼ平行に配向された一連の垂直面と交差させることによって、各表面セグメントについて移動経路を形成するステップと、各作業ウェイポイントについて、隣接する移動経路に沿ってエンドエフェクタの交番する移動方向を指定するステップであって、交番する移動方向は各作業ウェイポイントにおけるエンドエフェクタの一連の移動を規定する、ステップと、すべての作業ウェイポイントにおけるエンドエフェクタの移動経路および一連の移動を含む親プランを保存するステップと、を含む。
【００８５】
第13項．第12項に記載の方法であって、ワークピースのCADモデルの動作表面を定義するステップであって、CADモデルは衝突ジオメトリを有する、ステップと、CADモデルの複数の基準マーカーを定義するステップと、モザイク状ワークピース衝突ジオメトリを形成するために、CADモデルの衝突ジオメトリをモザイク化するステップと、ワークピースの動作表面、基準マーカー、およびモザイク状ワークピース衝突ジオメトリの定義を保存することによってジオメトリファイルを生成するステップと、をさらに含む。
【００８６】
第14項．第11項に記載の方法であって、ロボットのセンサシステムを使用して、物理的環境の環境境界および環境境界内の物体の画像データを記録しながら、物理的環境の床面に沿ってロボットを操縦するステップと、プロセッサを用いて、画像データに基づいてワールドマップを構築するステップと、を実行することによってワールドマップを構成するステップをさらに含む。
【００８７】
第15項．第14項に記載の方法であって、ワールドマップを構築した後に、方法は、ワークピースのモザイク状ワークピース衝突ジオメトリをワールドマップ内に配置するステップと、モザイク状ワークピース衝突ジオメトリに基づいてワークピースの凸包を作成するステップと、凸包をロボットの立ち入り禁止領域として設定するステップと、をさらに含む。
【００８８】
第16項．第11項に記載の方法であって、親プランを生成した後であって、ロボットをワークピースに登録する前に、ロボットの運動学的モデルをワールドマップにロードするステップと、運動学的モデルに基づいて、エンドエフェクタが各作業ウェイポイントに関連する移動経路に沿ったすべての位置に到達できるかどうかを判定するステップと、を含む。
【００８９】
第17項．第11項に記載の方法であって、ロボットをワークピースに登録し、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの位置を調整するステップは、ロボットを接近ウェイポイントまで移動するステップと、ロボットが接近ウェイポイントに向かって移動しているとき、および／または接近ウェイポイントにあるときに、ワークピース上の基準マーカーの識別パターンがCADモデルに表される基準マーカーの識別パターンと一致することを確認するステップと、ロボットが接近ウェイポイントに向かって移動しているとき、および／または接近ウェイポイントにあるときに、近似的なワークピース位置が物理的環境における実際のワークピース位置の所定の初期許容誤差内になるまで、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置を調整するステップと、ロボットを接近ウェイポイントから作業ウェイポイントまで移動させるステップと、ロボットが作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、ワールドマップ内の近似的なワークピース位置が物理的環境における実際のワークピース位置と実質的に一致するまで、ワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置を反復的に調整するステップと、を順次実行するステップを含む。
【００９０】
第18項．第11項に記載の方法であって、ロボットアーム軌道を構築するステップは、各移動経路に沿って間隔をあけてエンドエフェクタの複数のポーズをサンプリングするステップと、エンドエフェクタの各ポーズについて複数のz軸回転をサンプリングするステップと、サンプリングされた各ポーズについてすべての逆運動学的解を求めるステップと、すべてのポーズを接続するグラフを構築し、各ポーズ間の最小接合移動を解くステップと、最小接合移動に従って移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、を含む。
【００９１】
第19項．ワークピース上で自律的に動作する方法であって、物理的環境内に配置されたワークピースの動作表面の異なる表面セグメント上で動作するように構成された対応する複数のロボットの複数のエンドエフェクタの移動のための親プランを、プロセッサを用いて自律的に生成するステップであって、マスタープランは、ワークピースのコンピュータ支援設計（CAD）モデルに基づいており、複数のロボットに対応して分配するための複数の子プランを含み、各々は1つのロボットのエンドエフェクタの移動経路を定義し、移動経路は、親プランに含まれる固有の一組の作業ウェイポイントから動作するように子プランによって割り当てられたロボットのロボットアームの到達距離に少なくとも部分的に基づいており、作業ウェイポイントは、ワークピース上に取り付けられて、CADモデル内に表されている複数の基準マーカーに対応する、ステップと、プロセッサを使用して、ロボットがロボットに割り当てられた一組の作業ウェイポイントのうちの作業ウェイポイントの前の接近ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントの前の接近ウェイポイントにあるときに、ロボットの各々を物理的環境におけるワークピースに登録するステップと、一組の作業ウェイポイントのうちの第1の作業ウェイポイントに向かって移動しているとき、および／または第1の作業ウェイポイントにあるときのロボットのうちの1つのみについて、ワールドマップ内の近似的なワークピース位置が、ロボットが作業ウェイポイントに向かって移動しているとき、および／または作業ウェイポイントにあるときに、物理的環境における実際のワークピース位置と実質的に一致しない場合または一致するまで、物理的環境のワールドマップ内のモザイク状ワークピース衝突ジオメトリの近似的なワークピース位置を反復的に調整するステップと、ロボットに割り当てられた一組の作業中間点の各作業中間点にあるときの各ロボットについて、作業中間点に関連する移動経路に沿ってエンドエフェクタの一連の移動を実行するためのロボットアーム軌道を構築するステップと、ロボットに割り当てられた一組の作業ウェイポイントの各作業ウェイポイントにあるときの各ロボットについて、作業ウェイポイントにあるロボットのために定義された子プランの部分に対応する動作表面の部分上でエンドエフェクタを動作させるようにロボットアーム軌道を実行するステップと、を自律的に実行するステップを含む。
【００９２】
第20項．第19項に記載の方法であって、互いに対する作業ウェイポイントのウェイポイント位置と、互いに対するエンドエフェクタのエンドエフェクタ能力と、互いに対するロボットのロボット作業負荷と、の少なくとも1つに基づいて、複数のロボットの各ロボットに固有の一組の作業ウェイポイントを割り当てるステップをさらに含む。
【００９３】
本開示に関係する、前述の説明および関連する図面に提示された教示の利益を有する当業者には、本開示の多くの改変および他の構成が想到されるであろう。本明細書に記載された構成は例示的なものであり、限定的または網羅的であることを意図するものではない。本明細書では特定の用語を使用しているが、それらは一般的かつ説明的な意味でのみ使用され、限定の目的では使用されていない。
【符号の説明】
【００９４】
100  ロボットシステム
102  ロボット、第1のロボット、第2のロボット、第3のロボット、第4のロボット
104  移動ベース
106  ロボットアーム
108  ロボットアームベース
110  エンドエフェクタ
112  インターフェース部分
114  センサシステム
116  レーザー
118  カメラ
120  到達範囲
122  境界線
124  運動学的モデル
200  データ処理システム
202  リモートコンピューティングデバイス
204  プロセッサ
206  メモリ
208  CADモデル
210  凸包
212  衝突ジオメトリ
214  コンピュータ表現
216  ジオメトリファイル
218  モザイク状ワークピース衝突ジオメトリ
222  親プラン
224  子プラン
226  接近ウェイポイント
228  作業ウェイポイント、第1の作業ウェイポイント
230  作業ウェイポイント
232  表面セグメント
234  モザイク状表面セグメント
236  切断方向
238  移動経路
240  ロボットアーム軌道
242  ワールドマップ
244  近似的なワークピース位置
246  ユーザーインターフェース
248  表示画面
250  キーボード
300  ワークピース
302  レイアップマンドレル
304  ワークピースベース
306  実際のワークピース位置
308  動作表面
310  内周
312  外周
314  レイアップ表面
316  基準マーカー
316a  第1の基準マーカー
316b  第2の基準マーカー
316c  第3の基準マーカー
318  識別パターン
318a  第1の識別パターン
318b  第2の識別パターン
318c  第3の識別パターン
350  物理的環境
352  床面
354  環境境界
356  壁
400  方法
500  方法
600  方法
700  方法
【図１】
2019166631.tif 000003
【図２】
2019166631.tif 000004
【図３】
2019166631.tif 000005
【図４】
2019166631.tif 000006
【図５】
2019166631.tif 000007
【図６】
2019166631.tif 000008
【図７】
2019166631.tif 000009
【図８】
2019166631.tif 000010
【図９】
2019166631.tif 000011
【図１０】
2019166631.tif 000012
【図１１】
2019166631.tif 000013
【図１２】
2019166631.tif 000014
【図１３】
2019166631.tif 000015
【図１４】
2019166631.tif 000016
【図１５】
2019166631.tif 000017
【図１６】
2019166631.tif 000018
【図１７】
2019166631.tif 000019
【図１８】
2019166631.tif 000020
【図１９】
2019166631.tif 000021
【図２０】
2019166631.tif 000022
【図２１】
2019166631.tif 000023
【図２２】
2019166631.tif 000024
【図２３】
2019166631.tif 000025
【図２４】
2019166631.tif 000026
【図２５】
2019166631.tif 000027
【図２６】
2019166631.tif 000028
【外国語明細書】
2019166631000001.pdf