(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024150408
(43)【公開日】2024-10-23
(54)【発明の名称】印刷アレイを制御するためのシステム及び方法
(51)【国際特許分類】
B41J 2/01 20060101AFI20241016BHJP
B05C 11/00 20060101ALI20241016BHJP
G06T 11/80 20060101ALI20241016BHJP
G06T 17/20 20060101ALI20241016BHJP
【FI】
B41J2/01 109
B41J2/01 201
B41J2/01 205
B05C11/00
G06T11/80 A
G06T17/20 500
【審査請求】未請求
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024047645
(22)【出願日】2024-03-25
(31)【優先権主張番号】18/192,434
(32)【優先日】2023-03-29
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
(71)【出願人】
【識別番号】500520743
【氏名又は名称】ザ・ボーイング・カンパニー
【氏名又は名称原語表記】The Boeing Company
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】イングラム, ルーク チャールズ
(72)【発明者】
【氏名】ベイカー, アンソニー ウェイン
(72)【発明者】
【氏名】ドリス, スティーヴン エー.
(57)【要約】 (修正有)
【課題】市販のラスタ画像プロセッサは、特に民間航空機といった大型の物体の構造的表面を処理しコーディングを施すときには、計算効率が低くコストが掛かる。
【解決手段】入力センサ(78)から物体(20)の少なくとも一部分に関する入力データを収集することと、入力データに基づいてUV座標マップ(129)を生成することと、インク濃度ルックアップテーブル(142)を使用して、UV座標マップ(129)に対応するインク濃度ビットマップ(133)を生成することであって、インク濃度ビットマップ(133)のビットのディザを生成し出力し、これにより、ディザリングされた画像ピクセルデータ(135)を生成することと、物体(20)の輪郭表面(46)上に画像を印刷するよう印刷アレイ(64)を制御するために、ディザリングされた画像ピクセルデータ(135)に基づいて、制御プラン(102)をコンパイルし出力することと、を行わせる。
【選択図】
図11
【特許請求の範囲】
【請求項1】
計算システム(68)であって、
入力センサ(78)と、
プロセッサ(74)と、
実行可能な命令(98)を格納するメモリ(76)と、
を備え、前記実行可能な命令(98)が、前記プロセッサ(74)による実行に応じて、前記プロセッサ(74)に、
前記入力センサ(78)から物体(20)の少なくとも一部分に関する入力データを収集することと、
前記入力データに基づいてUV座標マップ(129)を生成することと、
所定のプロセス(146)のインク濃度ルックアップテーブル(142)を使用して、前記UV座標マップ(129)に対応するインク濃度ビットマップ(133)を生成することであって、前記インク濃度ビットマップ(133)が、前記インク濃度ビットマップ(133)中のビットごとにプロセス(146)インク濃度を含む、インク濃度ビットマップ(133)を生成することと、
前記インク濃度ビットマップ(133)のディザを生成して出力し、これにより、ディザリングされた画像ピクセルデータ(135)を生成することと、
前記物体(20)の輪郭表面(46)上に画像を印刷するよう印刷アレイ(64)を制御するために、ディザリングされた前記画像ピクセルデータ(135)に基づいて、制御プラン(102)をコンパイルし出力することと、
を行わせる、計算システム(68)。
【請求項2】
前記プロセッサ(74)が、
前記物体(20)の前記輪郭表面(46)の三次元表面メッシュモデル(112)、二次元画像(114)を含む二次元画像(114)ファイル、及び前記印刷アレイ(64)の三次元モデル(110)を受信することと、
前記ディザリングされた画像ピクセルデータ(135)に基づいて、前記印刷アレイ(64)の前記三次元モデル(110)の複数の移動を生成することと、
前記複数の移動を問題なく実行できるという確認に応じて、前記制御プラン(102)をコンパイルし出力することと、
を行うようさらに構成される、請求項1に記載の計算システム(68)。
【請求項3】
前記UV座標マップ(129)が、前記輪郭表面(46)の前記三次元表面メッシュモデル(112)の上に重ねられ、これにより、前記UV座標マップ(129)が、前記三次元表面メッシュモデル(112)上の或る位置に対応する前記二次元画像(114)の複数のUV座標を定め、
前記UV座標マップ(129)が、複数の領域的UV座標マップ(131)に分割され、前記複数の領域的UV座標マップ(131)が、前記三次元表面メッシュモデル(112)の複数のメッシュ面(158)にそれぞれ対応している、請求項2に記載の計算システム(68)。
【請求項4】
前記所定のプロセス(146)のインク濃度ルックアップテーブル(142)が、複数の領域的インク濃度ビットマップを生成するために使用され、前記複数の領域的インク濃度ビットマップがそれぞれ、前記複数のメッシュ面(158)にそれぞれが対応する前記複数の領域的UV座標マップ(131)に対応し、
前記ディザが、前記複数のメッシュ面(158)にそれぞれが対応する前記複数の領域的インク濃度ビットマップのそれぞれについてディザを生成し、これにより、前記複数のメッシュ面(158)にそれぞれが対応する複数のメッシュ面ディザを生成することによって、生成される、
請求項3に記載の計算システム(68)。
【請求項5】
前記複数のメッシュ面ディザのそれぞれが、前記メッシュ面の中央領域と、前記メッシュ面の少なくとも1つのエッジの近傍のエッジギャップと、を含むディザを含み、
前記複数のメッシュ面(158)のうち2つのメッシュ面(158)を継ぎ合わせて複合面を生成するために、
前記2つのメッシュ面(158)に対応するメッシュ面ディザが並置され、前記2つのメッシュ面(158)の前記エッジギャップの間にオフセットギャップ(166)が設けられ、
前記ディザリングが、前記2つのメッシュ面(158)の間の前記オフセットギャップ(166)内で行われ、これにより、前記複合面の継ぎ合わされた前記メッシュ面(158)でアーチファクトが最小に抑えられる、請求項4に記載の計算システム(68)。
【請求項6】
前記インク濃度ビットマップ(133)のビットのディザが、ポアソンディスクサンプリング技術を使用して生成され出力される、請求項1に記載の計算システム(68)。
【請求項7】
前記インク濃度ビットマップ(133)のビットのディザが、所定の球体半径ルックアップテーブル(144)を使用して生成され出力されて、前記インク濃度ビットマップ(133)内の各プロセス(146)インク濃度が球体半径(168)に変換される、請求項6に記載の計算システム(68)。
【請求項8】
前記所定の球体半径ルックアップテーブル(144)では、より低いインク濃度がより大きな球体半径に対応し、より高いインク濃度がより小さな球体半径に対応する、請求項7に記載の計算システム(68)。
【請求項9】
所定のプロセス(146)のインク濃度ルックアップテーブル(142)が、RGB画像ピクセル値の全ての可能な置換のプロセス(146)インク濃度を定める、請求項1に記載の計算システム(68)。
【請求項10】
前記入力センサ(78)がスキャナであり、
前記入力データが、前記物体(20)の前記輪郭表面(46)の表面トポグラフィデータである、請求項1に記載の計算システム(68)。
【請求項11】
方法(200)であって、
入力センサ(78)から物体(20)の少なくとも一部分に関する入力データを収集することと、
前記入力データに基づいてUV座標マップ(129)を生成することと、
所定のプロセス(146)のインク濃度ルックアップテーブル(142)を使用して、前記UV座標マップ(129)に対応するインク濃度ビットマップ(133)を生成することであって、前記インク濃度ビットマップ(133)が、前記インク濃度ビットマップ(133)中のビットごとにプロセス(146)インク濃度を含む、インク濃度ビットマップ(133)を生成することと、
前記インク濃度ビットマップ(133)のディザを生成し出力し、これにより、ディザリングされた画像ピクセルデータ(135)を生成することと、
前記物体(20)の輪郭表面(46)上に画像を印刷するよう印刷アレイ(64)を制御するために、ディザリングされた前記画像ピクセルデータ(135)に基づいて、制御プラン(102)をコンパイルし出力することと、
を含む、方法(200)。
【請求項12】
前記物体(20)の前記輪郭表面(46)の三次元表面メッシュモデル(112)、二次元画像(114)を含む二次元画像(114)ファイル、及び前記印刷アレイ(64)の三次元モデル(110)を受信することと、
前記ディザリングされた画像ピクセルデータ(135)に基づいて、前記印刷アレイ(64)の前記三次元モデル(110)の複数の移動を生成することと、
前記複数の移動を問題なく実行できるという確認に応じて、前記制御プラン(102)をコンパイルし出力することと、
をさらに含む、請求項11に記載の方法(200)。
【請求項13】
前記UV座標マップ(129)が、前記輪郭表面(46)の前記三次元表面メッシュモデル(112)の上に重ねられ、これにより、前記UV座標マップ(129)が、前記三次元表面メッシュモデル(112)上の或る位置に対応する前記二次元画像(114)の複数のUV座標を定め、
前記UV座標マップ(129)が、複数の領域的UV座標マップ(131)に分割され、前記複数の領域的UV座標マップ(131)が、前記三次元表面メッシュモデル(112)の複数のメッシュ面(158)にそれぞれ対応している、請求項12に記載の方法(200)。
【請求項14】
前記所定のプロセス(146)のインク濃度ルックアップテーブル(142)が、複数の領域的インク濃度ビットマップを生成するために使用され、前記複数の領域的インク濃度ビットマップがそれぞれ、前記複数のメッシュ面(158)にそれぞれが対応する前記複数の領域的UV座標マップ(131)に対応し、
前記ディザが、前記複数のメッシュ面(158)にそれぞれが対応する前記複数の領域的インク濃度ビットマップのそれぞれについてディザを生成し、これにより、前記複数のメッシュ面(158)にそれぞれが対応する複数のメッシュ面ディザを生成することによって、生成される、
請求項13に記載の方法(200)。
【請求項15】
前記複数のメッシュ面ディザ(172、174)のそれぞれが、前記メッシュ面の中央領域と、前記メッシュ面の少なくとも1つのエッジの近傍のエッジギャップと、を含むディザを含み、
前記複数のメッシュ面(158)のうち2つのメッシュ面(158)を継ぎ合わせて複合面を生成するために、
前記2つのメッシュ面(158)に対応するメッシュ面ディザ(172、174)が並置され、前記2つのメッシュ面(158)の前記エッジギャップの間にオフセットギャップ(166)が設けられ、
前記ディザリングが、前記2つのメッシュ面(158)の間の前記オフセットギャップ(166)内で行われ、これにより、前記複合面の継ぎ合わされた前記メッシュ面(158)でアーチファクトが最小に抑えられる、
請求項14に記載の方法(200)。
【請求項16】
前記インク濃度ビットマップ(133)のビットのディザが、ポアソンディスクサンプリング技術を使用して生成され出力される、請求項11に記載の方法(200)。
【請求項17】
前記インク濃度ビットマップ(133)のビットのディザが、所定の球体半径ルックアップテーブル(144)を使用して生成され出力されて、前記インク濃度ビットマップ(133)内の各プロセス(146)インク濃度が球体半径(168)に変換される、請求項16に記載の方法(200)。
【請求項18】
前記所定の球体半径ルックアップテーブル(144)では、より低いインク濃度がより大きな球体半径に対応し、より高いインク濃度がより小さな球体半径に対応する、請求項17に記載の方法(200)。
【請求項19】
所定のプロセス(146)のインク濃度ルックアップテーブル(142)が、RGB画像ピクセル値の全ての可能な置換のプロセス(146)インク濃度を定める、請求項11に記載の方法(200)。
【請求項20】
輪郭表面(46)上に印刷するために構成された自動化された表面処理アセンブリ(58)であって、
印刷アレイ(64)と、
入力センサ(78)と、
プロセッサ(74)と、
実行可能な命令(98)を格納するメモリ(76)と、
を備え、前記実行可能な命令(98)が、前記プロセッサ(74)による実行に応じて、前記プロセッサ(74)に、
前記入力センサ(78)から物体(20)の少なくとも一部分に関する入力データを収集することと、
前記入力データに基づいてUV座標マップ(129)を生成することと、
所定のプロセス(146)のインク濃度ルックアップテーブル(142)を使用して、前記UV座標マップ(129)に対応するインク濃度ビットマップ(133)を生成することであって、前記インク濃度ビットマップ(133)が、前記インク濃度ビットマップ(133)中のビットごとにプロセス(146)インク濃度を含む、インク濃度ビットマップ(133)を生成することと、
前記インク濃度ビットマップ(133)のディザを生成して出力し、これにより、ディザリングされた画像ピクセルデータ(135)を生成することと、
前記物体(20)の前記輪郭表面(46)上に画像を印刷するよう前記印刷アレイ(64)を制御するために、ディザリングされた前記画像ピクセルデータ(135)に基づいて、制御プラン(102)をコンパイルして出力することと、
を行わせる、自動化された表面処理アセンブリ(58)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して、表面処理のシステム及び方法に関し、特に、輪郭が付けられた複雑な表面に沿ったインクジェット印刷のための自動化された制御に関する。
【背景技術】
【0002】
複雑な形状の物体への高品質なインクジェット印刷の適用においては、当該物体のファセット化された(faceted)メッシュ表現が、ラスタ画像プロセッサを含む市販のインクジェットツールに入力され、ラスタ画像プロセッサが、メッシュ表現の平坦なファセットを、インクジェットプリンタが可読なビットマップに変換する。しかしながら、市販のラスタ画像プロセッサは、特に民間航空機といった大型の物体の構造的表面を処理しコーディングを施すときには、計算効率が低くコストが掛かる。民間航空機には、ファセット化されたメッシュ表現として表すために大量のデータセットを必要とする輪郭が付けられた多種多様な大きな表面がある。民間航空機に対してカラー印刷又はコーティングを施すときには、インク液滴を配置するのに最も適した位置及び球体半径を決定することが、大量の計算リソースを要する複雑なプロセスとなる。
【発明の概要】
【0003】
上記に鑑みて、計算システムであって、入力センサと、プロセッサと、実行可能な命令を格納するメモリと、を備え、実行可能な命令が、プロセッサによる実行に応じて、プロセッサに、入力センサから物体の少なくとも一部分に関する入力データを収集することと、入力データに基づいてUV座標マップを生成することと、所定のプロセスのインク濃度ルックアップテーブルを使用して、UV座標マップに対応するインク濃度ビットマップを生成することであって、インク濃度ビットマップが、インク濃度ビットマップ中のビットごとにプロセスインク濃度を含む、インク濃度ビットマップを生成することと、インク濃度ビットマップのディザを生成し出力し、これにより、ディザリングされた画像ピクセルデータを生成することと、物体の輪郭表面上に画像を印刷するよう印刷アレイを制御するために、ディザリングされた画像ピクセルデータに基づいて、制御プランをコンパイルして出力することと、を行わせる、計算システムが提供される。
【0004】
上述の特徴、機能及び利点は、様々な実施形態において単独で実現することが可能であり、又はさらに別の実施形態において組み合わせることが可能であるが、それらのさらなる詳細は、以下の明細書の記載及び図面を参照して理解することができる。
【図面の簡単な説明】
【0005】
【
図1】本開示に係る、航空機の形態により構成された例示的なビークルの斜視図である。
【
図2】本開示に係る、例示的な輪郭表面、及び表面処理アセンブリの斜視図である。
【
図3】本開示に係る、
図2の表面処理アセンブリに取り付けられる例示的な印刷アレイの斜視図である。
【
図4】本開示に係る、
図2の表面処理アセンブリための制御システムの概略図である。
【
図5】本開示に係る、
図4の制御システムを介して実行されるコンピュータプログラムの概略図である。
【
図6】本開示に係る、
図5のコンピュータプログラムのシミュレーションモジュールのフローチャートである。
【
図7】
図5のシミュレーションモジュールによって生成されたディザリングされた画像ピクセルデータの非限定的な例である。
【
図8】
図7のディザリングされた画像ピクセルデータを生成するためのスティッチングプロセスの非限定的な例を図示する。
【
図9】
図7のディザリングされた画像ピクセルデータを生成するための
図8の移動プロセスにおける、スティッチングプロセスの非限定的な例を図示する。
【
図10】本開示の一実施形態に係る、インク濃度ルックアップテーブル及び球体半径ルックアップテーブルを事前計算し生成するためのプロセスの概略図を図示する。
【
図11】本開示の一実施形態に係る、物体の輪郭表面上に画像を印刷するよう印刷アレイを制御する制御プランをコンパイルし出力するための、コンピュータにより処理される第1の方法のフローチャートである。
【
図12】本開示の一実施形態に係る、インク濃度ルックアップテーブル及び球体半径ルックアップテーブルを事前に計算し生成するための、コンピュータにより処理される第2の方法のフローチャートである。
【
図13】本開示の例示的な計算環境の一実施形態を示す。
【発明を実施するための形態】
【0006】
上記の問題に鑑みて、本開示では、物体の輪郭表面上に画像を印刷するよう印刷アレイを制御する制御プランをコンパイルし出力するためのシステム及び方法が記載される。
図1を参照すると、ビークル20が示されている。非限定的な一例によるビークル20は、非限定的な一例による航空機である。代替的に、ビークルが、ロケット、自働車、トラック、バス、オートバイ、自転車などといった、輪郭表面を有する他の種類のビークルでありうる。図示されるように、ビークル20は、胴体24、翼26、及び尾部28を含む機体22によって構成されている。幾つかの実施形態において、ビークル20を移動方向に推進するために、各翼26に1つ以上の航空機エンジン30が連結されている。さらに、翼26が胴体24に固定的に取り付けられており、航空機エンジン30が翼26の下側の表面に取り付けられているが、航空機エンジン30の他の取付位置も考えられる。幾つかの実施形態において、翼26は、胴体24に沿ったほぼ中央の位置に配置されており、翼26は、複数のフラップ32、前縁装置34、及び周辺端部装置36(即ちウイングレット)を含むよう構成されている。さらに、ビークル20の運航中には、ビークル20を制御し安定させるために、フラップ32、前縁装置34、及び周辺端部装置36を複数の位置で調整することができる。例えば、フラップ32及び前縁装置34は、翼26の様々な所望の揚力特性を生み出すため、幾つかの異なるポジションに調整可能である。さらに、機体22の尾部28は、ビークル20の他の安定性機能及び操縦性機能を提供する構成要素を含み、例えば、昇降舵38、方向舵40、垂直安定板フィン42、及び水平安定板44を含む。
【0007】
図2は、尾部28が取り付けられた胴体24の非限定的な一例を示している。概して、ビークル20の胴体24及び他の構成要素は、アルミニウム、アルミニウム合金、チタン、炭素複合材、又は他の材料で構成されている。さらに、胴体24が、ビークル20の管状の構造を形成する。このように、胴体24の表面は、胴体24の伸張及び幅に沿って変化する寸法及びトポロジを示している。胴体24が1つ以上の輪郭表面46を有することが分かるであろう。さらに、翼26(
図1参照)及び尾部28は、同様に1つ以上の輪郭表面46により形成されたビークル20の構成要素である。輪郭表面46は、一連の変化する表面外形によって形成された、例えば、限定するものではないが、直径の増加、直径の減少、凸状表面、凹状表面、若しくは他のこのような表面外形、プロファイル、又はこれらの組み合わせによって形成された様々な表面プロファイルを有する表面でありうる。
【0008】
ビークル20の製造中及び/又は整備中には、胴体24、及び他のこのようなビークル20の構成要素が作業領域48内に配置され、1つ以上の製造ステップ又は計画された整備ステップのために準備される。幾つかの実施形態において、ビークル20の製造及び/又は整備は、様々な輪郭表面46に沿って1つ以上の処理を提供することを含む。概して、輪郭表面46の表面処理は、輪郭表面46の洗浄、研磨、下塗り、塗装、保護、補修、又は他のこのような表面処理のうちの1つ以上を含む。さらに、輪郭表面46の処理の非限定的な一例が、胴体24、翼26(
図1)、及び尾部28の少なくとも一部分に対して装飾的なリバリィコーティング(livery coating)50を施すことを含む。リバリィコーティング50によって、ビークル20が直面する厳しい環境条件に対する表面保護と、1のビークル20を他のビークルから識別し区別するのを助ける装飾的なデザインと、が提供される。具体的な一例において、ビークル20を購入した顧客が、自身がリバリィコーティング50として施したい航空機のグラフィックス及び/又は画像を提供する。
【0009】
図2及び
図3でさらに図示するように、作業領域48には表面処理アセンブリ58が備えられ、表面処理アセンブリ58は、ビークル20の輪郭表面46に沿って、リバリィコーティング50又は他のこのような表面処理を施すよう構成されている。幾つかの実施形態において、表面処理アセンブリ58がガントリ60に取り付けられている。ガントリ60は、作業領域48内での表面処理アセンブリ58の移動を支えるよう構成されている。非限定的な一例において、ガントリ60がオーバヘッド構造62に取り付けられており、オーバヘッド構造62は、表面処理の間ビークル20の胴体24又は他の構成要素を収容する作業領域48の長さL-Lに沿って移動する。さらに、ガントリ60は、表面処理アセンブリ58がビークル20の輪郭表面46を処理する間、表面処理アセンブリ58を作業領域48の長さL-Lに沿って移動させるよう構成されている。
【0010】
幾つかの実施形態において、表面処理アセンブリ58が、インクジェット印刷アレイ64を含む。
図3は、表面処理アセンブリ58(
図2)に動作可能に取り付け可能な1つの例示的なインクジェット印刷アレイ64を示しているが、他のこのような印刷アレイの使用が考えられる。インクジェット印刷アレイ64は、輪郭表面46に沿ってリバリィコーティング50又は他のこのような表面処理層を施すよう構成されている。輪郭表面46は、測定可能で印刷可能な表面を有する機械加工された様々な構成要素の表面として定義されうる。結果として、インクジェット印刷アレイ64は、輪郭表面46に沿って表面処理層(例えば、リバリィコーティング50)を施すよう構成されている。さらに、インクジェット印刷アレイ64は、輪郭表面46上にインク又は他のこのような表面コーティングを施すよう構成された複数のインクジェットノズル65を含む。概して、各インクジェットノズル65は、所望のカラー群からの1つのカラーを分注するよう構成されている。非限定的な一例においてカラー群が、シアン(C)、マジェンダ(M)、イエロー(Y)、及びブラック(K)を含むが、他のカラーが可能である。さらに、表面処理アセンブリ58が、輪郭表面46の表面プロファイルに従って表面処理アセンブリ58及びインクジェット印刷アレイ64を調整するよう構成された1つ以上の調整機構67を含む。非限定的な一例において、1つ以上の調整機構67が、表面処理アセンブリ58を調整するために作動又はそうでなければ操作されうる支持アーム69と調整可能ベース71のセットを含む。
【0011】
さらに、表面処理アセンブリ58には、インクジェット印刷アレイ64に動作可能に結合される自動ロボット66がさらに組み込まれうる。自動ロボット66は、輪郭表面46の形状及びプロファイルに従ってインクジェット印刷アレイ64を配置し調整するよう制御されうる。先に記載したように、輪郭表面46は、機械加工された様々な部品(例えば、胴体24、翼26、及びウイングレット36)の組立中に生成される測定可能で印刷可能な表面として形成され又はそうでなければ定義されうる。自動ロボット66の幾つかの実施形態が、インクジェット印刷アレイ64に動作可能に結合される作動アーム又は他のこのような調整可能な支持構造を含む。結果的に、自動ロボット66と表面処理アセンブリ58とはそれぞれ、表面処理アセンブリ58を輪郭表面46に沿って移動させるために、連続的に調整され制御されうる。加えて、自動ロボット66及び表面処理アセンブリ58は、インクジェット印刷アレイ64と輪郭表面46との間の通常の配向を維持し、インクジェット印刷アレイ64と輪郭表面46との間の分注ギャップ、及び他のこのような調整を維持するよう調整されうる。
【0012】
図4は、
図2及び
図3を引き続き参照するが、表面処理アセンブリ58及び自動ロボット66を動作させかつ制御するために利用される例示的な制御システム68の概略図を提供する。制御システム68は、表面処理アセンブリ58に通信可能に接続されたコントローラ70を含む。コントローラ70と表面処理アセンブリ58との間の通信は、無線ネットワーク、コンピュータデータネットワーク、Wi-Fiデータネットワーク、セルラーデータネットワーク、衛星データネットワーク、又は他のこのようなデータ通信ネットワークを使用して確立される。コントローラ70と表面処理アセンブリ58との間の通信ネットワークを確立することで、コントローラは、リバリィコーティング50を施す間(
図2)に、表面処理アセンブリ58及び自動ロボット66に制御信号を送信し又はそうでなければ伝えることが可能となる。さらに、幾つかの実施形態において、表面処理アセンブリ58が、コントローラ70に送信され又はそうでなければ伝えられるデータ又は他の情報を収集する。幾つかの実施形態において、コントローラ70が、表面処理アセンブリ58から受信したデータ及び他の情報を使用して、コントローラ70から表面処理アセンブリ58及び自動ロボットに送信される制御信号を生成及び/又は更新する。幾つかのケースで、作業領域48(
図2)が、1より多い表面処理アセンブリ58を備えて構成されうる。結果として、コントローラ70は、1より多い表面処理アセンブリ58を所望のように制御し動作させるよう構成されうる。
【0013】
図4にさらに図示されるように、コントローラ70は、オペレータ又は他の関心がある人物をコントローラ70にアクセスさせる入力/出力モジュール72を含む。例えば、入力/出力モジュール72は、入力デバイスによって構成され、例えば、限定するものではないが、キーボード、マウス、ダイアル、ホイール、ボタン、タッチスクリーン、マイクロフォン、又は他の入力デバイスによって構成されうる。オペレータは、入力/出力モジュール72の入力デバイスを使用して、コントローラ70により実行されるコマンド及び命令を入力し又はそうでなれば実行することが可能である。さらに、入力/出力モジュール72は、出力デバイスによって構成され、例えば、限定されるものではないが、モニタ、スクリーン、スピーカ、プリンタ、又は他の出力デバイスによって構成されている。結果として、コントローラ70によって生成されたデータ及び他の情報が、入力/出力モジュール72の出力デバイスによってオペレータに出力されうる。加えて、一実施形態において、コントローラ70がプロセッサ74及びメモリ76をさらに含み、プロセッサ74は、メモリ76又は他のこのようなソフトウェア格納位置に格納されたソフトウェアによって提供される命令を実行し又はそうでなれば行う。
【0014】
上述のように、コントローラ70は、表面処理アセンブリ58及び自動ロボット66に通信可能に接続されており、稼働中に動作コマンドを送信する。幾つかの実施形態において、コントローラ70がまた、処理される胴体24又は他の構成要素の輪郭表面46に沿って表面処理アセンブリ58及び自動ロボット66を移動させるための作動制御信号を、ガントリ60に対して送信するよう構成されている。代替的に、表面処理アセンブリ58が、作業領域48(
図2)の周りで表面処理アセンブリ58及び自動ロボット66を移動させるよう構成された自走搬送車(AGV:automated guided vehicle)に装着され又はそうでなければと取り付けられうる。結果として、コントローラ70はAGVに通信可能に接続でき、コントローラ70は、AGVに制御信号を送信又はそうでなければ伝送する。非限定的な一例において、AGVが作業領域48のフロアに配置されており、AGVが、輪郭表面46(
図2)の処理中に作業領域48の長さL-Lに沿って移動する。
【0015】
表面処理アセンブリ58、及び特に自動ロボット66は、インクジェット印刷アレイ64に動作可能に結合されている。さらに、一実施形態による自動ロボット66は、インクジェット印刷アレイ64の調整機構67を自動ロボット66に動作可能に結合する1つ以上の作動装置を有する。結果として、コントローラ70と表面処理アセンブリ58との間で送信される制御信号は、輪郭表面46(
図2)に対してインクジェット印刷アレイ64を移動し調整する作動装置のための作動コマンドをさらに含む。例えば、作動装置は、インクジェット印刷アレイ64が輪郭表面46(
図2)に対する通常の配向及び適切な分注ギャップを維持するように、制御される。さらに、幾つかの実施形態において、コントローラ70からの制御信号は、インクジェット印刷アレイ64の個別インクジェットノズル65を、輪郭表面46(
図2)に沿ってリバリィコーティング50を分注し又はそうでなければ施すために、作動及び/又は停止するためのコマンドを含む。
【0016】
さらに、インクジェット印刷アレイ64は、表面処理アセンブリ58の稼働中に走査しデータを収集するよう構成された1つ以上のセンサ78を含む。非限定的な一例において、センサ78は、輪郭表面46及びその周りの領域を走査しこれらの表面トポグラフィデータを収集するよう構成されたスキャナ又は表面走査レーザを含む。例えば、センサ78は、輪郭表面46(
図2)を走査して計測データ及び他の表面プロファイルデータを収集し、例えば、限定するものではないが、表面粗さデータ、表面撮像データ、位置/位置決めデータ、高さ検知データ、角度方向データ、及び任意の他のこのような表面データを収集する。上記データは、解析のために、コントローラ70に伝送され又はそうでなければ送り返される。幾つかの実施形態において、コントローラ70が、センサ78のデータ解析に基づいて、表面処理アセンブリ58のための制御信号を生成及び/又は更新する。追加的又は代替的に、センサ78のデータが、後の時点に解析するためにメモリ76に格納される。当然のことながら、レーザ走査センサはセンサ78として使用される1種のデータ収集デバイスであるが、例えば、干渉計、容量性トランスデューサ、超音波トランスデューサ、カメラ、又は他のこのようなセンサといった他の種類のセンサ及び/又はこれらの組み合わせが、自動ロボット66又は表面処理アセンブリ58の他の構成要素と組み合わせられ得、かつ、表面処理アセンブリ58を調整し制御するために使用されるデータを収集するよう構成される。
【0017】
ネットワーク80が、制御システム68の制御プランを開発し、プログラミングし、シミュレートし、及び送信するために使用される。非限定的な一例において、ネットワーク80が、ネットワークサーバ82、計算装置84(例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、又はスマートフォン)、及びコントローラ70を含む。幾つかの実施形態において、ネットワーク80が、互いに通信可能に接続された複数のネットワークサーバ82、計算装置84、及びコントローラ70を含むが、分かり易くするために、
図4では単一のネットワークサーバ82、計算装置84、及びコントローラ70が示されている。このように、ネットワーク80は、ネットワークサーバ82と、計算装置84と、コントローラ70とが互いに通信可能に接続された通信ネットワークを創出するよう構成されている。ネットワークサーバ82と、計算装置84と、コントローラ70との間の通信は、無線ネットワーク、コンピュータデータネットワーク、Wi-Fiデータネットワーク、セルラーデータネットワーク、衛星データネットワーク、又は他のこのようなデータ通信ネットワークを使用して確立される。幾つかの実施形態において、ネットワークサーバ82は、計算装置84及びコントローラ70のそれぞれとのデータの送受信を促進する集中型の計算及び通信デバイスとして構成されているが、ネットワークの他の構成も考えられる。
【0018】
さらに、一実施形態において、ネットワークサーバ82が、表面処理アセンブリ58の制御及び処理に関するデータ及び情報を含むネットワークデータベース86に接続されている。ネットワークデータベース86は、例えば、限定するものではないが、表面トポグラフィデータ、印刷される画像又はデザインデータ、プリントヘッドデータ、制御プランデータ、及び他のこのようなデータといったデータ及び情報を含む。さらに、ネットワークサーバ82及びネットワークデータベース86は、ネットワークデータベース86に格納されたデータに計算装置84、コントローラ70、及び他の計算装置がアクセス可能であるように、構成されている。加えて、1つ以上のセンサ78(
図3及び
図4)によって収集されたデータは、コントローラ70からネットワークサーバ82に送信することが可能である。幾つかの実施形態において、ネットワークサーバ82が、ネットワークサーバ82又は計算装置84による解析のためにデータを受信する。代替的に、ネットワークサーバ82が、コントローラ70から受信した、後の参照及び解析のためにネットワークデータベース86に格納すべきデータを送信する。様々なネットワークのタスクを実行するために、例えば、限定するものではないが、計算装置84とコントローラ70との間の通信を促進するため、データを管理し格納するため、及び他のこのようなタスクのために、ネットワークサーバ82が、サーバメモリ90に通信可能に接続された少なくとも1つのサーバプロセッサ88をさらに含む。概して、サーバプロセッサ88は、サーバメモリ90内に格納されたコンピュータプログラムによって提供される命令を実行するよう構成される。サーバメモリ90が、例えば、限定するものではないが、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、及び他のこのようなメモリデバイスといったメモリデバイスを含む。結果的に、コンピュータプログラムが、又は幾つかのケースでは、複数のコンピュータプログラムが、ネットワーク80のための1つ以上のタスクを実行するために、ネットワークサーバ82がそれに従い実行する命令を提供する。
【0019】
幾つかの実施形態において、ネットワークサーバ82と計算装置84とが協働して、表面処理アセンブリ58(
図2)の制御プランを生成するためにデータ及び情報を解析する。幾つかのケースで、ネットワークサーバ82及び計算装置84は、輪郭表面46(
図2)に沿ってリバリィコーティング50(
図2)を施すことが複雑なプロセスであるため、制御プランのプログラミング中に1つ以上のシミュレーションを実行する。1つ以上のシミュレーションが、自動ロボット66、及びインクジェット印刷アレイ64(
図2及び
図3)を含む表面処理アセンブリ58のための制御プランを試すために、ネットワークサーバ82及び/又は計算装置84によって実行されうる。シミュレーション結果は、制御プランによってリバリィコーティング50(
図2)又は他の表面処理が輪郭表面46(
図2)に正確に施されることを確認するために、ネットワークサーバ82及び計算装置84によって解析されうる。加えて、シミュレーション結果が、シミュレーション中に検出されたあらゆる制御プランのエラーを修正するため制御プランを見直すために、ネットワークサーバ82及び計算装置84によって使用されうる。
【0020】
計算装置84が、計算装置入力/出力モジュール92、計算装置プロセッサ94、及び計算装置メモリ96を含む。幾つかの実施形態において、計算装置入力/出力モジュール92が、入力デバイスによって構成され、例えば、限定するものではないが、キーボード、マウス、ダイアル、ホイール、ボタン、タッチスクリーン、マイクロフォン、又は他の入力デバイスによって構成されている。加えて、入力/出力モジュール92は、出力デバイスによって構成され、例えば、限定されるものではないが、モニタ、スクリーン、スピーカ、プリンタ、又は他の出力デバイスによって構成されている。結果的に、ユーザは、計算装置84によって実行されるコマンド及び命令を入力することができ、かつ、計算装置84によって生成されたデータ及び他の情報を見ることができる。加えて、計算装置プロセッサ94が、計算装置メモリ96内に格納されたコンピュータプログラム98で概説された命令を実行するよう構成される。計算装置プロセッサ94と計算装置メモリ96とは、計算装置プロセッサ94が計算装置メモリ96に格納された命令及び/又は他のこのようなデータを取得して実行できるように、互いに通信可能に接続されている。さらに、計算装置プロセッサ94が実行した命令によって生成されたデータ及び他の情報が、計算装置メモリ96に格納されうる。概して、計算装置メモリ96は、繰り返しメモリから読み出し及び/又はメモリに格納することが可能なコンピュータハードウェアデバイス、例えば、RAM、ROM、フラッシュメモリ、ハードディスクドライブ、ソリッドステートディスクドライブ、又は他のこのようなメモリデバイスである。
【0021】
ここで
図5を参照すると、制御プランをプログラミングしシミュレートするために使用されるコンピュータプログラム98の概略図が示されている。コンピュータプログラム98は、ネットワークサーバ82上で動作し、計算装置84が、ネットワーク80を介してコンピュータプログラム98にアクセスする。代替的に、コンピュータプログラム98が、計算装置84の計算装置メモリ96に局所的に格納されており、ユーザは、計算装置入力/出力モジュール92から直接的にコンピュータプログラム98を起動して動作させることが可能である。一実施形態において、コンピュータプログラム98が、胴体24、翼26(
図1)、又は他のビークル20の構成要素(
図1)の輪郭表面46(
図2)に沿ってリバリィコーティング50(
図2)又は他の表面処理を施す表面処理アセンブリ58のシミュレーション100を実行するようプログラム化されている。さらに、シミュレーション100の結果は、コンピュータプログラム98によって、輪郭表面46(
図2)の処理中に表面処理アセンブリ58(
図2)が実行する制御プラン102を生成し又はそうでなければプログラム化するために利用される。制御プラン102は、インクジェット印刷アレイ64及び自動ロボット66を含む表面処理アセンブリ58が、輪郭表面46に沿ってリバリィコーティング50を施す間に従い実行するための一連の命令を提供する。追加的又は代替的に、シミュレーション100の結果が、以前に見直した制御プラン102を検証及び/又は更新するために使用され、コンピュータプログラム98が、更新又は修正された制御プラン102を生成する。
【0022】
一実施形態において、コンピュータプログラム98が1つ以上の入力パラメータ104を受信し、当該入力パラメータ104が、シミュレーション100中にコンピュータプログラム98によって使用される。入力パラメータ104は、計算装置入力/出力モジュール92を使用してコンピュータプログラム98に入れられ又はそうでなければ入力される。代替的に、入力パラメータ104が、ネットワーク80(
図4)のネットワークデータベース86、又は他の位置に格納されている。従って、入力パラメータ104は、シミュレーション100を実行するためにコンピュータプログラム98にインポート又はアップロードされる。概して、入力パラメータ104は、表面処理アセンブリ58(
図2)及び輪郭表面46(
図2)に関する情報を含むが、入力パラメータ104は、シミュレーション100を完了するための他の情報及びデータを含むよう構成されうる。例えば、コンピュータプログラム98により使用される1つのこのような入力パラメータ104は、印刷プロファイル106である。幾つかの実施形態において、印刷プロファイル106は、輪郭表面46(
図2)に施されるリバリィコーティング50(
図2)の、1インチ当たりのドット数(DPI:dots per inch)による所望の解像度を規定する。さらに、入力パラメータ104が、コンピュータプログラム98に入力される分注ギャップ108を含む。分注ギャップ108は、インクジェット印刷アレイ64(
図2)と輪郭表面46(
図2)との間の距離(例えば、最小距離及び最大距離)についての許容可能な範囲を規定する。さらに、インクジェット印刷アレイ64(
図2)の三次元(3D)モデル110が、入力パラメータ104のうちの1つとして入力され又はそうでなければ提供される。一実施形態において、インクジェット印刷アレイ64の3Dモデル110が、ネットワークデータベース86(
図4)に格納されており、ユーザが、インクジェット印刷アレイ64の3Dモデル110をコンピュータプログラム98にロード又はインポートするが、インクジェット印刷アレイ64の3Dモデル110の他の格納位置が考えられる。
【0023】
さらに、入力パラメータ104が、輪郭表面46(
図2)の3D表面メッシュのモデル又はスキャン112を含み、当該3D表面メッシュのモデル又はスキャン112が、コンピュータプログラム98に入力される。上述したように、輪郭表面46(
図2)は、一連の変化する表面外形、例えば、限定するものではないが、直径の増減、凸状表面、凹状表面、若しくは他のこのような表面外形、プロファイル、又はこれらの組み合わせによって形成される。従って、3D表面メッシュモデル112は、輪郭表面46(
図2)の表面プロファイルを画定する交点、辺及び面を含む正確な輪郭マップを提供する。3D表面メッシュモデル112は、制御プラン102が、リバリィコーティング50(
図2)を施す間表面処理アセンブリ58の輪郭表面46に沿った移動を正確に指示し制御することを確認するために、コンピュータプログラム98によってシミュレーション100に組み込まれる。
【0024】
非限定的な一例において、コンピュータプログラム98によって実行されるシミュレーション100は、インクジェット印刷アレイ64が輪郭表面46(
図2)に接触しないことを確認するために、分注ギャップ108、インクジェット印刷アレイ64の3Dモデル110、及び輪郭表面46の3D表面メッシュモデル112を使用する。加えて、このような入力パラメータ104は、シミュレーション100が、輪郭表面46(
図2)にリバリィコーティング50(
図2)が適切に施されるかを予測するのを支援する。幾つかのケースで、シミュレーション100が制御プランの問題を特定し、コンピュータプログラム98が、ユーザによって提供された特定の入力パラメータ104を使用して、制御プランへの訂正アクション又は修正を提供する。
【0025】
図5を続けて参照しつつ、
図3に戻って参照すると、インクジェット印刷アレイ64及び/又は表面処理アセンブリ58が、輪郭表面46(
図2)を走査するよう構成された1つ以上のセンサ78を含む。非限定的な一例において、センサ78は、例えば、限定するものではないが、輪郭表面46及びその周辺領域の表面粗さ、表面撮像データ、位置/位置決めデータ、高さ感知データ、角度方向データ、及び他の表面プロファイルデータといった、表面トポグラフィデータ及び表面プロファイルデータを走査して収集するよう構成された表面走査レーザである。結果として、一実施形態において、1つ以上のセンサ78を使用して、輪郭表面46(
図2)を走査し、コンピュータプログラム98に入力される入力パラメータ104の3D表面メッシュモデル112を提供する当然のことながら、レーザ走査センサは、使用される1種のセンサ78であり、干渉計、容量性トランスデューサ、カメラ、又は他のこのようなセンサといった他のセンサ及び/又は様々なセンサの組み合わせを、インクジェット印刷アレイ64及び/又は表面処理アセンブリ58と組み合わせることができる。さらに、3D表面メッシュモデル112はまた、ユーザによって提供される他のデータ及び情報からも規定されうる。
【0026】
加えて、
図5に図示された入力パラメータ104が、2D画像を含む二次元(2D)画像ファイル114を含み、当該二次元(2D)画像ファイル114が、コンピュータプログラム98に入力される。非限定的な一例において、2D画像ファイル114が、輪郭表面46(
図2)に沿って施されるリバリィコーティング50(
図2)のデザインを含む。シミュレーション100中に、コンピュータプログラム98は、輪郭表面46(
図2)の3D表面メッシュモデル112の上に、2D画像ファイル114を重ね又は重ね合わせ、これにより、2D画像ファイル114に基づいてUV座標マップが生成されると、UV座標マップが、3D表面メッシュモデル112上の或る位置に対応する二次元画像の複数のUV座標を定める。コンピュータプログラム98はまた、インク濃度ルックアップテーブル142及び球体半径ルックアップテーブル144を含む印刷濃度データベース140を使用して、以下で
図6~
図10を参照して詳述するように、インク液滴の適切な配置並びにその球体半径及びインク濃度を決定する。
【0027】
さらに、シミュレーション100が完了すると、コンピュータプログラム98は、コントローラ70(
図4)又は他のこのような制御デバイスによって使用される、表面処理アセンブリ58(
図4)を動作させるための制御プラン102を出力する。非限定的な一例において、制御プラン102が、
図4のネットワーク80を介して伝えられる。代替的に、制御プラン102がネットワークデータベース86にロードされ、表面処理アセンブリ58(
図4)のユーザが、コントローラ70を使用して制御プラン102にアクセスする。
【0028】
図1~
図5を引き続いて参照しつつ、ここで
図6を参照すると、シミュレーション100を実行する方法116が示されている。幾つかの実施形態において、シミュレーション100が、表面処理アセンブリ58を動作させ制御するようプログラム化された制御プラン102を生成し最適化するために、計算装置84及び/又はネットワークサーバ82によって実行される。第1のブロック118において、分注ギャップ108、インクジェット印刷アレイ64の3Dモデル110、及び3D表面メッシュモデル112が、入力パラメータ104として提供されてシミュレーション100によって使用される。シミュレーション100は、分注ギャップ108、インクジェット印刷アレイ64の3Dモデル110、及び3D表面メッシュモデル112をさらに解析して、自動ロボット66のための一連の移動経路を生成する。自動ロボット66のための移動経路は、入力パラメータ104によって提供されたデータ及び情報に基づいているが、追加の情報が、輪郭表面46の処理中に自動ロボット66が従うユーザによって提供されうる。
【0029】
加えて、ブロック120において、入力パラメータ104からの印刷プロファイル106の情報が、ブロック118で生成された自動ロボット66のための移動経路と組み合わされる。印刷プロファイル106の情報は、輪郭表面46に沿って施されるリバリィコーティング50のための特定又は所望の解像度を含む。印刷プロファイル106において指定される解像度(例えば、DPI)は、自動ロボット66のための特定の移動経路を補間又は修正するために使用される。結果として、リバリィコーティング50は、表面処理アセンブリ58が輪郭表面46に沿って印刷する間、所望の解像度で施される。
【0030】
次のブロック122では、シミュレーション100が、自動ロボット66の生成された移動経路を評価するために、ロボット移動テストを実行する。ロボット移動テストは、自動ロボット66が生成された移動経路に従って移動することを確認するよう構成されている。さらに、シミュレーション100は、自動ロボット66が実行すべき生成された移動経路が問題なく実行されることを確認する。例えば、リバリィコーティング50を施す、間インクジェット印刷アレイ64は輪郭表面46の近傍に位置決めされており、ロボット移動テストは、提案した移動経路が表面処理アセンブリ58と輪郭表面46との間の衝突を引き起こさないことを確認する。
【0031】
一実施形態において、ブロック122で実行される上記移動テストに通らなかった場合には、シミュレーション100はブロック118に戻って、自動ロボット66のための移動経路を最適化して再生成する。非限定的な一例において、ブロック122で生成された、移動テストに落ちた結果が、自動ロボット66のための移動経路を最適化するために、移動経路の再生成中にコンピュータプログラム98によって解析される。追加的又は代替的に、ブロック122で移動テストに落ちたことがユーザに通知されうる。その場合、ユーザは、その結果を解析し、これに対応して移動経路を編集することが可能である。シミュレーション100のその部分が、ブロック122で実行されるロボット移動テストに通った場合には、シミュレーション100は次のブロック124に進む。
【0032】
ブロック124では、移動経路に沿って自動ロボット66が行う各ステップ又はインデックス付けされた(indexed)移動をさらに解析して、インクジェット印刷アレイ64から分注されるドットの位置を決定する。上述したように、インクジェット印刷アレイ64は複数のインクジェットノズル65を含み、インクジェット印刷アレイ64の各インクジェットノズル65が、特定のカラーのインクを分注するよう構成されている。概して、インクジェットノズル65は、所望のカラー群からの1つのカラーを分注するよう構成されている。カラー群の非限定的な一例には、シアン(C)、マジェンダ(M)、イエロー(Y)、ブラック(K)が含まれるが、インクジェットノズル65は、所望の他のカラーを分注するよう構成されうる。さらに、入力パラメータ104に含まれておりコンピュータプログラム98によって参照されるインクジェット印刷アレイ64の3Dモデル110が、インクジェット印刷アレイ64のツール中心点(TCP:tool center point)を定めることをさらに含む。結果として、シミュレーション100は、インクジェット印刷アレイ64の定められたTCPを使用して、インクジェット印刷アレイ64の定められたTCPに対する、各インクジェットノズル65の位置を決定することができる。さらに、定められたTCPによって、コンピュータプログラム98が、インクジェット印刷アレイ64のTCPに対する各インクジェットノズル65のショット方向を計算し又はそうでなければ決定することが可能となる。幾つかの実施形態において、インクジェットノズル65の位置情報と、インクジェットノズル65のショット方向情報とを組み合わせることで、シミュレーション100が、インクジェット印刷アレイ64から分注される各ドットの位置を予測し、監視し、及び解析することが可能となる。
【0033】
さらに、輪郭表面46と、インクジェット印刷アレイ64のそれぞれのインクジェットノズル65と、の間の各ドット距離が、自動ロボット66が移動経路に沿って行う各ステップ又は各インデックス(index)で予測され、監視され、及び解析される。幾つかの実施形態において、各ドットとインクジェットノズル65との間の計算された距離が、入力パラメータ104のうちの1つとして定められ又はそうでなければ入力された分注ギャップ108の範囲(例えば、最小範囲及び最大範囲)と比較されうる。結果的に、シミュレーション100は、輪郭表面46上の各ドットと、インクジェットノズル65との間の距離が、分注ギャップ108により定められた最小距離及び最大距離と対応していることをさらに確認する。
【0034】
次のブロック126では、シミュレーション100が、輪郭表面46に沿って分注される各ドットの表面カバレッジを決定するための表面カバレッジテストを実行する。表面カバレッジテスト中には、ドットカバレッジが、輪郭表面46に沿って印刷される所望の画像(例えば、リバリィコーティング50)に従って解析される。このように、シミュレーション100は、輪郭表面46上の正しいドット位置をチェックする。さらに、実行される表面カバレッジテストは、以前のブロック124で計算された、各ノズルと輪郭表面46との間の正しいドット距離を確認するよう構成されている。輪郭表面46上のドットカバレッジが、表面カバレッジテストを通らない場合には、シミュレーション100は次いでブロック118に戻り、自動ロボット66のための移動経路の生成、及びシミュレーション100の後続の定められたステップを繰り返す。幾つかの実施形態において、コンピュータプログラム98が、表面カバレッジテスト中に取得した結果及びシミュレーション100の他の部分を参照し使用して、コンピュータプログラム98によって使用される入力パラメータ104又は他のこのようなデータの幾つかを更新する。結果的に、ブロック122で実行される移動テストと、ブロック126で実行される表面カバレッジテストの両方をシミュレーション100が通るよう支援するために、1つ以上の訂正アクションがコンピュータプログラム98によって実行される。
【0035】
さらに、シミュレーション100は、コンピュータプログラム98に入力された輪郭表面46の3D表面メッシュモデル112及び2D画像ファイル114(例えば、リバリィコーティング50)を解析することを含む。幾つかのケースにおいて、適切に表示されるようにリバリィコーティング50を印刷することは、表面処理アセンブリ58が輪郭表面に沿って移動する間に出会う変化する面プロファイル及び外形(例えば、凸状、凹状、直径の増減)のために、困難である。結果として、ブロック128において、UV座標マップ129が、コンピュータプログラム98又は他のこのようなコンピュータプログラムによって生成される。概して、UV座標マップ129は、3Dの表面(例えば、輪郭表面46、3D表面メッシュモデル112)上に2D画像(例えば、リバリィコーティング50、2D画像ファイル114)を投影することで生成される。さらに、UV座標マップ129を作成することで、3Dの物体(例えば、輪郭表面46の3D表面メッシュモデル112に投影された2D画像ファイル114)を、幾つかの多角形又は他のこのような形状に分割することが可能となる。結果的に、幾つかの実施形態において、UV座標マップ129は、2D画像ファイル114が輪郭表面46の3D表面メッシュモデル112に亘って重ね合わされマッピングされた後で、2D画像ファイル114がどのように現われるかを評価するために、シミュレーション100によって使用される。
【0036】
ブロック126に戻って参照すると、ドットの表面カバレッジテストに通った場合に、その後次のブロック130において、シミュレーション100は、輪郭表面46の3D表面メッシュモデル112及び2D画像ファイル114を複数の領域又はメッシュ面に分割することにより、ブロック128で生成されたUV座標マップ129を処理することに進み、これにより、UV座標マップ129が、複数の領域的UV座標マップ131に分割され、複数の領域的UV座標マップ131が、3D表面メッシュモデル112の複数のメッシュ面にそれぞれ対応している。上述したように、3D表面メッシュモデル112は、表面処理アセンブリ58が処理することが意図された輪郭表面46の部分の表面プロファイルを提供する。しばしば、これは大きな表面領域を含み、従って、コンピュータプログラム98は、印刷プロセスをより管理可能なものとするために、3D表面メッシュモデル112を複数の多角形領域に分割する。3D表面メッシュモデル112は、当該3D表面メッシュモデル112の複数の領域又はメッシュ面にそれぞれが対応する複数の領域的UV座標マップ131を生成するように、例えば、限定するものではないが、三角形、矩形、及び/又は方形といった多角形の領域に分割することができる。しかしながら、他の多角形の形状が可能である。同様に、2D画像ファイル114が、対応する多角形の領域的UV座標マップ131に分割される。
【0037】
さらに、領域的UV座標マップ131を作成することは、3Dの物体(例えば、3D表面メッシュモデル112)を構成する複数の多角形に含まれる表面マッピングに対応する、2D画像(例えば、2D画像ファイル114)のピクセル(例えば、ドット)を定め又は割り当てることを含む。換言すれば、領域的UV座標マップ131のUV座標は、2D画像上のどのピクセル(例えば、ドット)が多角形の3Dの物体上の特定の交点に対応するかを制御するマーカとして機能する。
【0038】
2D画像のUV座標マップ129、及び3D表面が、領域的UV座標マップ131に分割されると、領域的UV座標マップ131がラスタ画像プロセッサ132に入力され、ラスタ画像プロセッサ132は、所定のプロセスのインク濃度ルックアップテーブル142を使用して、複数の領域的インク濃度ビットマップ133を生成し、複数の領域的インク濃度ビットマップ133はそれぞれ、複数のメッシュ面にそれぞれが対応する複数の領域的UV座標マップ131に対応している。印刷濃度データベース140の所定のインク濃度ルックアップテーブル142が、各レッド、グリーン、及びブルー(RGB:red、green、blue)画像ピクセルのプロセスインク(CMYK:Cyan、Magenta、Yellow、Black)濃度を定める。1つのRGB画像ピクセルは、複数のインク濃度によって定められうる。というのは、様々な組み合わせのインク濃度によって、結果的に同じRGB画像ピクセルが得られるからである。インク濃度ルックアップテーブル142を使用することで、ラスタ画像プロセッサ132が、各RGB画像ピクセルのプロセスインク(CMYK)濃度を計算する必要性が排除され、これにより、ラスタ画像プロセッサ132の計算リソースが節約される。
【0039】
非限定的な一例において、インク濃度ビットマップ133のピクセル/ドット情報が、インク濃度ビットマップ133内のビットごとに、プロセスインク(CMYK)濃度、領域インデックス、コースインデックス、ステップインデックス、ピクセル/ドットのカラー(例えば、C、M、Y、及びK)、ノズルインデックス、及び/又は他の情報を含む。インク濃度ビットマップ133内のビットごとのピクセル/ドット情報は、3D距離を最小に抑え、分注ギャップ108により定められた最小/最大ショット距離範囲内でドットを生成し、及び、ブロック126で表面カバレッジテストで検証された保証された表面カバレッジを提供するように、ラスタ画像プロセッサ132によって選択されうる。インク濃度ビットマップ133は、色平面によって分けられうる。例えば、インク濃度ビットマップ133が、シアン色平面、マジェンダ色平面、イエロー色平面、及びブラック色平面を含みうる。インク濃度ビットマップ133は、計算装置84によって、計算装置メモリ96、ネットワークデータベース86、又は他のデータ格納位置に格納されうる。
【0040】
次のブロック134では、シミュレーション100が、球充填アルゴリズムを使用して、3D表面メッシュモデル112の各領域内又は各メッシュ面内で、インク濃度ビットマップ133のビットのディザを生成する。ディザは、複数のメッシュ面にそれぞれが対応する複数の領域的インク濃度ビットマップ133のそれぞれについてディザを生成し、これにより複数のメッシュ面にそれぞれが対応する複数のメッシュ面ディザを生成することによって、生成されうる。インク濃度ビットマップ133のビットのディザは、修正されたポアソンディスクサンプリング(Poisson Disk)技術を使用して生成することができ、修正されたポアソンディスクサンプリング技術では、プロセスインク(CMYK)濃度ごとに球体半径を定める印刷濃度データベース140の所定の球体半径ルックアップテーブル144を参照する。インク濃度ビットマップ133内の各インク濃度が球体半径に変換され、これにより、ディザリングされた画像ピクセルデータ135が生成される。
【0041】
ディザリング(dithering)プロセスは、表面の或る領域を選択すること(例えば、三角形を選択して、その三角形内の或る点を選択すること)と、次いで、所定の球体半径ルックアップテーブル144に基づいて、濃度ビットマップ133内のビットごとに球体半径を精選しノードを選択することと、を含みうる。換言すれば、本技術では、インク濃度ビットマップ133内の所与のビットのプロセスインク濃度を読み出し、球体半径ルックアップテーブル144に基づいて、インク濃度ビットマップ133内のプロセスインク濃度ごとに球体半径及びノードを選択する。その後、選択されたノードの所定の半径内にある全てのノードが除去される。その後、本プロセスは、インクビットマップの各領域又は各メッシュ面の色平面ごとに所望のサンプリング濃度が実現されるまで、複数回繰り返される。
【0042】
各ノードが、インク濃度ビットマップ133内の自身の対応するビットのドット情報(例えば、領域インデックス、コースインデックス、ステップインデックス、カラー、ノズルインデックス)を受信する。色平面ごとにインク濃度ビットマップ133のビットのディザが生成され、統合され、ディザリングされた画像ピクセルデータ135として出力される。
【0043】
インクジェット印刷アレイ64は、インクジェット印刷で通常使用される4原色(C、M、Y、K)で構成されるため、ディザリングによって、輪郭表面46に沿ってリバリィコーティング50を施すために利用可能なカラーが拡大しうる。従って、ディザリングは、上記4色(C、M、Y、K)又は他の特定されたカラーパレットに含まれない近似色への利用可能なカラーピクセルの拡散を利用する。結果的に、画像ピクセルのディザリングによって、2D画像ファイル114のピクセルカラーをつくるために輪郭表面46に沿った特定の位置で分注される特定のドットカラー(例えば、C、M、Y、及びK)が決定される。さらに、画像ピクセルのディザリングは、印刷プロファイル106で指定されたDPIの解像度又は他のこのような入力パラメータ104により、3D表面メッシュモデル112上で2D画像ファイル114を再現するよう構成されている。非限定的な一例において、印刷プロファイル106が、2D画像ファイル114のための300DPIの印刷解像度を含む。しかしながら、2D画像ファイル114の他の解像度が可能である。
【0044】
図7を見ると、ブロック134で出力されたディザリングされた画像ピクセルデータ135の非限定的な一例が示されている。本例では、4つのディザリングされた画像ピクセルデータ135が存在し、即ち、シアン色平面のディザリングされた画像ピクセルデータ135aと、マジェンダ色平面のディザリングされた画像ピクセルデータ135bと、イエロー色平面のディザリングされた画像ピクセルデータ135cと、ブラック色平面のディザリングされた画像ピクセルデータ135dと、が存在する。上記の個別色平面のディザリングされた画像ピクセルデータ135a~dはそれぞれ、ラスタ画像プロセッサ132によって生成されたインク濃度ビットマップ133の色平面ビットマップから生成されたものである。ディザリングされた画像ピクセルデータ135中の各ドット球体は、色ごとのプロセスインク濃度、ドット半径を含む特性を有しており、かつ、領域インデックス、コースインデックス、ステップインデックス、及びノズルノズルインデックスを含む他のドット情報を含みうる。概して、より低いインク濃度がより大きな球体半径に対応し、より高いインク濃度がより小さな球体半径に対応する。
【0045】
図7の例では、4つのディザリングされた画像ピクセルデータ135が、複数のメッシュ面を含む。各色平面において、ディザリングされた画像ピクセルデータのメッシュ面が一緒に継ぎ合わされており、これにより、色平面のディザリングされた画像ピクセルデータ135a~dはそれぞれ、1つの表面を形成するシームレスに繋がれたメッシュ面を含む。個別色平面のディザリングされた画像ピクセルデータ135a~dが一緒に統合されたときには、インク液滴の適切な配置並びにその球体半径及びインク濃度が決定され得、所望のリバリィコーティング50が、輪郭表面46上で実現されうる。137の図に示すように、インク液滴の球体の半径は、ラスタ画像プロセッサにより生成されたインク濃度ビットマップに正確に対応するようインク濃度を制御するために変化している。しかしながら、スティッチングアルゴリズム(stitching algorithm)がメッシュ面間の遷移領域を適切に融合し又は滑らかにするのに失敗したときには、139の図に示すように、望まれないアーチファクトが、メッシュ面間の継ぎ合わされた継ぎ目に沿って出現しうる。
【0046】
図8を見ると、メッシュ面間の遷移領域を適切に融合し又は滑らかにするスティッチングアルゴリズムを使用して複数のメッシュ面を継ぎ合わせることで、イエロー色平面のディザリングされた画像ピクセルデータ135cを生成するためのスティッチングプロセスの非限定的な一例が示されている。シミュレーション100が、球充填アルゴリズムを使用して、3D表面メッシュモデル112の各領域内又はメッシュ面内でインク濃度ビットマップ133のビットのディザを生成した後に、複数の領域又はメッシュ面のディザリングされた画像ピクセルデータが結合されて、予備的なイエロー色平面のディザリングされた画像ピクセルデータ135caを生成する。しかしながら、領域又はメッシュ面が単純に隣り合って配置されたときには、領域又はメッシュ面の境界に継ぎ目又はアーチファクトが未だ見えている。従って、スティッチングアルゴリズムが、領域間又はメッシュ面間の遷移領域を滑らかにするために実行され得、これにより、最終的なイエロー色平面のディザリングされた画像ピクセルデータ135cでは、継ぎ目又はアーチファクトが見えない。一緒に継ぎ合わされる領域又はメッシュ面の数は、ユーザ入力、利用可能な計算リソース、及び他の要因に基づいて動的に決定されうる。
【0047】
図9を見ると、
図7のディザリングされた画像ピクセルデータを生成するための、
図8のスティッチングプロセスにおけるディザリングプロセスの非限定的な一例の詳細
図156が示されており、ここでは、2つのメッシュ面158、160が継ぎ合わされて複合面を生成する。本例では、第1のメッシュ面158が、第1のメッシュ面ディザ172を有し、第2のメッシュ面160が、第2のメッシュ面ディザ174を有する。メッシュ面ディザ172、174のそれぞれが、メッシュ面の中央領域と、メッシュ面の少なくとも1つのエッジの近傍のエッジギャップと、を有する。第1のメッシュ面158及び第2のメッシュ面160にそれぞれ対応するメッシュ面ディザ172、174は、最初に所定のオフセット距離164だけ互いに離れて並置されており、これにより、2つのメッシュ面158、160のエッジギャップ間に設けられたオフセットギャップ166が生じ、当該オフセットギャップ166内でディザリングが実行され、インク液滴球体162が球充填アルゴリズムを使用して詰め込まれ、これにより、複合面の継ぎ合わせたメッシュ面158、160においてアーチファクトが最小に抑えられる。
【0048】
オフセットギャップ166内の適切なインク濃度が色平面ごとに計算され、これにより、オフセットギャップ166の両側のインク濃度が滑らかに融合する。次いで、計算されたインク濃度に基づいて、球体半径168、及び球体ノードが、球体半径ルックアップテーブルに基づいて、オフセットギャップ166内のプロセスインク濃度ごとに選択される。次の球体ノードが、球体半径ルックアップテーブル内で示された距離拘束170に基づいて選択される。その後、本プロセスは、オフセットギャップ166内の色平面ごとに所望のサンプリング濃度が実現するまで、複数回反復的に繰り返される。これに対応して、得られた継ぎ合わされたメッシュ面158、160は、オフセットギャップ166内のインク液滴球体162が均一に間隔を空けて分散しており、エイリアシング(aliasing)及び他のアーチファクトが低減される。
【0049】
図6に戻り、ここでブロック136を参照すると、シミュレーション100が、ディザリングされた画像ピクセルデータ135に基づいて、輪郭表面46の処理中に表面処理アセンブリ58を制御するための静的な印刷制御プラン138をコンパイルして出力する。静的な印刷制御プラン138は、表面処理アセンブリ58に、ディザリングされた画像ピクセルデータ135に基づいて印刷アレイ64の三次元モデル110の複数の移動を生成させるよう構成されている。換言すれば、プロセッサによって実行されるシミュレーション100は、複数の移動が印刷アレイ64によって問題なく実行されうるという確認に応じて、静的な印刷制御プラン138をコンパイルし出力するよう構成されており、これにより、静的な印刷制御プラン138が、リバリィコーティング50といった画像を、航空機といった物体の輪郭表面46上に印刷するよう印刷アレイ64を制御ために実行されうる。
【0050】
幾つかの実施形態において、ブロック136において生成された静的な印刷制御プラン138は、表面処理アセンブリ58のための制御システム68に送信され又はそうでなければ当該制御システム68が上記印刷制御プラン138アクセスする。非限定的な一例において、静的な印刷制御プラン138が、自動ロボット66を、当該自動ロボット66が考案された移動経路に沿って各ステップを介して移動する間に、制御するよう構成されている。さらに、各ステップにおいて、静的な印刷制御プラン138が、自動ロボット66の正確な次の位置、及び自動ロボット66が移動経路に沿って移動するよう指示された特定の速度を出力するよう構成されている。
【0051】
加えて、幾つかの実施形態において、静的な印刷制御プラン138が、TCP軸に沿った補間されたDPI間隔での、スケジューリング命令及びトリガ命令を提供する。スケジューリング命令及びトリガ命令は、リバリィコーティング50が、輪郭表面46に沿って特定の画像解像度で、例えば限定するものではないが300DPIで施されるように、シミュレーション100との整合がとれていることが確認される。さらに、静的な印刷制御プラン138は、表面処理アセンブリ58が静的な印刷制御プラン138に従って輪郭表面46上にリバリィコーティング50を施すよう制御するコントローラ70によって実行される命令を提供する。
【0052】
ここで
図10を見ると、インク濃度ルックアップテーブル142及び球体半径ルックアップテーブル144を事前に計算し生成するプロセス146が示されている。インク濃度ルックアップテーブル142及び球体半径ルックアップテーブル144を事前に計算することで、インク濃度ビットマップ133の生成時に、ラスタ画像プロセッサ132の計算リソースが節約されうる。インク濃度ルックアップテーブル142及び球体半径ルックアップテーブル144は、インクジェット印刷アレイ64及び自動ロボット66を含む表面処理アセンブリ58の特定のハードウェア設定を考慮して、生成される。プリンタハードウェアに固有の特定の設定は、ICC(International Color Consortium)プロファイル、リニアライゼーション、及び表面処理アセンブリ58のインク限界値を含みうる。インク濃度ルックアップテーブル142及び球体半径ルックアップテーブル144は、所与の表面処理アセンブリ58のために1回だけ計算されるため、印刷制御プラン138が生成される度にインク濃度及び球体半径を計算する必要がなく、これにより、計算リソースが節約される。
【0053】
画像ピクセルパーミュテータ148が、RGB画像ピクセルの各置換を生成して置換リスト150を出力する。カラー画像では、各ピクセルは、三原色のチャンネル、即ち、レッド、グリーン、及びブルーについての3つの数値(それぞれ0~255の範囲)のベクトルによって表すことができる。上記の3つのRGB値が、所与のピクセルの色を決定するために一緒に使用される。例えば、紫は、128、0、128(中程度のレッドとブルーを混ぜたもので、グリーンは含まない)として表されることもある。従って、置換リスト150は、256×256×256又は16,777,216個の異なる可能なRGB画像ピクセル値を有しうる。非限定的な一例において、置換リスト150が、レッドグループ、グリーングループ、及びブルーグループに分けられうる。置換リスト150は、16×16の画像の集合として構成され得、各画像が同じ色のピクセルを有している。
【0054】
インク濃度ルックアップテーブル142を生成するために、置換リスト150が2Dラスタ画像処理エンジン152に入力され、RGB画像ピクセルの全ての置換又はそれぞれの三原色チャンネルの3つの数値の全ての可能な置換により表された全ての可能なピクセルカラーのための、対応するカラーインク濃度設定が計算される。従って、所定のインク濃度ルックアップテーブル142は、16,777,216個の異なる可能なRGB画像ピクセル値、又はRGB画像ピクセル値の全ての可能な置換のプロセスインク(CMYK)濃度を定めることが可能である。カラーインク濃度設定のカラー濃度は、三原色チャンネルそれぞれに対応する3つの数値により表された色を生成するために一緒に組み合わされる4色(C、M、Y、K)のそれぞれの濃度又は他の特定されたカラーパレットの濃度でありうる。複数のピクセルカラー、又は3つの数値のベクトルの複数の異なる可能な置換が、1つのカラーインク濃度設定に対応しうる。
【0055】
代替的に、置換リスト150のサブセットを生成して、2Dラスタ画像処理エンジン152に入力することができ、補間技術を使用して、2Dラスタ画像処理エンジン152に入力されなかった色のカラーインク濃度設定を計算することができる。
【0056】
RGBピクセル値の置換についての対応するカラーインク濃度設定が、インク濃度ルックアップテーブル142にまとめられる。
図10の例に示すように、RGBピクセル値は、シアン、マジェンダ、イエロー、及びブラックのカラーインク濃度の値を有しており、当該カラーインク濃度の値はパーセンテージで表されており、ここで、0%はインクなしを表し、100%は最高インク濃度を表す。
【0057】
インク濃度ルックアップテーブル142が、インク濃度ルックアップテーブル142におけるカラーインク濃度設定と、対応する球体半径と、の間のマッピングを決定する濃度-半径計算器154に入力される。
図10の例に示すように、最高インク濃度値が最小球体半径に対応し、最低インク濃度値が最大球体半径に対応する。濃度-半径計算器154は、濃度リニアライゼーション、インクの制約、及び全インク制限技術を使用してインクの粘性及び他の液体特性を考慮して、所望のリバリィコーティング50を実現するためにインク液滴が輪郭表面46に施される間の汚れ、滲み、液だまり、又は他のインクとの相互作用を防止する。このことによって、リバリィコーティング50が施されたときに輪郭表面46上に現われる視覚的なアーチファクト又はパターンのリスクが軽減される。補間技術を使用して、インク濃度ルックアップテーブル142に含まれなかったカラーインク濃度設定について球体半径を計算することができる。カラーインク濃度設定のための対応する球体半径が、続いて、球体半径ルックアップテーブル144にまとめられる。
【0058】
図11を見ると、物体の輪郭表面上に画像を印刷するよう印刷アレイを制御する制御プランをコンパイルし出力するための、コンピュータにより処理される第1の方法200のフローチャートが示されている。コンピュータにより処理される第1の方法200についての以下の説明は、先に記載し
図2~
図9でしたソフトウェア及びハードウェアの構成要素を参照しながら提供する。当然のことながら、コンピュータにより処理される第1の方法200は、他の関連において他の適切なハードウェア及びソフトウェアの構成要素を使用しても実行されうる。
【0059】
ステップ202で、入力センサから物体の少なくとも一部分に関する入力データが収集される。ステップ204で、物体の輪郭表面の三次元表面メッシュモデル、二次元画像を含む二次元画像ファイル、及び印刷アレイの三次元モデルが受信される。ステップ206で、入力データに基づいてUV座標マップが生成される。
【0060】
ステップ208で、UV座標マップが、輪郭表面の三次元表面メッシュモデルの上に重ねられ、これにより、UV座標マップが、三次元表面メッシュモデル上の或る位置に対応する二次元画像の複数のUV座標を定めうる。ステップ210において、UV座標マップが、複数の領域的UV座標マップに分割され、複数の領域的UV座標マップが、三次元表面メッシュモデルの複数のメッシュ面にそれぞれ対応している。
【0061】
ステップ212で、所定のプロセスのインク濃度ルックアップテーブルを使用して、UV座標マップに対応するインク濃度ビットマップが生成され、インク濃度ビットマップが、インク濃度ビットマップ中のビットごとのプロセスインク濃度を含む。ステップ214で、インク濃度ビットマップのディザが生成されて出力され、これにより、ディザリングされた画像ピクセルデータを生成する。ステップ216で、ディザリングされた画像ピクセルデータに基づいて、印刷アレイの三次元モデルの複数の移動が生成される。ステップ218で、複数の移動が問題なく実行されうるという確認に応じて、制御プランが、物体の輪郭表面上に画像を印刷するよう印刷アレイを制御するために、ディザリングされた画像ピクセルデータに基づいてコンパイルされ出力される。
【0062】
図12を見ると、
図10のインク濃度ルックアップテーブル及び球体半径ルックアップテーブルを事前に計算して生成するための、コンピュータにより処理される第2の方法300のフローチャートが示されている。コンピュータにより処理される第2の方法300についての以下の説明は、先に記載し
図2~
図10で示されたソフトウェア及びハードウェアの構成要素を参照しながら提供する。当然のことながら、コンピュータにより処理される第2の方法300は、他の関連において他の適切なハードウェア及びソフトウェアの構成要素を使用しても実行されうる。
【0063】
ステップ302で、RGB画像ピクセルの全ての置換が生成されて、置換リストが出力される。ステップ304で、置換リストが、二次元ラスタ画像処理エンジンに入力され、RGB画像ピクセルの全ての置換によって表された全ての可能なピクセルカラーについて、対応するカラーインク濃度設定が計算される。ステップ306で、RGBピクセル値の置換についての対応するカラーインク濃度設定が、インク濃度ルックアップテーブルにまとめられる。ステップ308で、インク濃度ルックアップテーブル内のカラーインク濃度設定と、対応する球体半径との間のマッピングが決定される。ステップ310で、カラーインク濃度設定についての対応する球体半径が、球体半径ルックアップテーブルにまとめられる。
【0064】
先に記載のシステム及び方法は、複雑な形状の物体への高品質インクジェット印刷の適用のための印刷制御生成プロセスにおいて、計算効率が悪い従来のラスタ画像プロセッサを、計算効率が良いルックアップテーブルと置き換えるよう構成されている。商業インクジェット印刷において使用される従来のカラー管理及びラスタ画像プロセス作業フローを、事前に計算されたルックアップテーブルに基づく数値的アプローチと置き換えることで、印刷制御生成プロセスが、航空機のリバリィ塗装といった複雑な表面外形へのインクジェット印刷の非標準的な適用のために合理化され、これにより、コストが削減され、印刷制御生成プロセスのスケーラビリティ及び品質が改善される。
【0065】
図13は、先に記載した方法及びプロセスのうちの1つ以上を実行することが可能な計算システム400の非限定的な実施形態を概略的に示している。計算システム400は、簡略化された形態で示されている。計算システム400は、
図4に図示された制御システム68、コントローラ70、ネットワークサーバ82、及び計算装置84を具現化しうる。計算システム400は、1つ以上のパーソナルコンピュータ、サーバコンピュータ、タブレットコンピュータ、ホームエンタテインメントコンピュータ、ネットワーク計算装置、ゲーム機、モバイル計算装置、移動体通信装置(例えば、スマートフォン)、及び/又は他の計算装置、並びに、スマートウォッチ、及びヘッドマウント拡張現実デバイスといったウェアラブル計算装置の形態とりうる。
【0066】
計算システム400は、論理プロセッサ402、揮発性メモリ404、及び不揮発性記憶デバイス406を含む。計算システム400は、任意選択的に、表示サブシステム408、入力サブシステム410、通信サブシステム412、及び/又は
図13に示されない他の構成要素を含みうる。
【0067】
論理プロセッサ402は、1つ以上の命令を実行するよう構成された1つ以上の物理的装置を含む。例えば、論理プロセッサは、1つ以上のアプリケーション、プログラム、ルーチン、ライブラリ、オブジェクト、コンポーネント、データ構造、又は他の論理的構造の一部である命令を実行するよう構成されうる。このような命令を実行して、タスクを実行し、或るデータタイプを実現し、1つ以上の構成要素の状態を変え、技術的な効果を実現し、又はそうでなければ所望の結果を達成することが可能である。
【0068】
論理プロセッサ402は、ソフトウェア命令を実行するよう構成された1つ以上の物理的プロセッサ(ハードウェア)を含みうる。追加的又は代替的に、論理プロセッサが、ハードウェア実装ロジック又はファームウェア命令を実行するよう構成された1つ以上のハードウェア論理回路又はファームウェアデバイスを含みうる。論理プロセッサ402のプロセッサは、シングルコアであってもマルチコアであってもよく、プロセッサで実行される命令は、順次処理、並列処理、及び/又は分散処理のために構成されうる。論理プロセッサの個々の構成要素は、任意選択的に、遠隔に位置しうる及び/又は協調的な処理のために構成されうる2つ以上の別々のデバイスの間で分散させることができる。論理プロセッサの態様が、クラウド計算構成により構成されており遠隔でアクセス可能なネットワーク化された計算装置によって、仮想化されて実行されうる。このような例において、上記の仮想化された態様は、様々な異なるマシーンの様々な物理的論理プロセッサ上で実行されることが分かるであろう。
【0069】
不揮発性記憶デバイス406が、本明細書に記載の方法及びプロセスを実行する論理プロセッサによって実行可能な命令を保持するよう構成された1つ以上の物理的装置を含む。このような方法及びプロセスが実行されたときには、不揮発性記憶デバイス406の状態が、例えば異なるデータを保持するために、変化しうる。
【0070】
不揮発性記憶デバイス406は、着脱可能な及び/又は組み込まれた物理的デバイスを含みうる。不揮発性記憶デバイス406は、光メモリ(例えば、CD、DVD、HD-DVDなど)、半導体メモリ(例えば、ROM、EPROM、EEPROM、フラッシュメモリなど)、及び/又は磁気メモリ(例えば、ハードディスクドライブ、フロッピーディスクドライブ、テープドライブ、MRAMなど)、又は他の大容量記憶デバイス技術を含みうる。不揮発性記憶デバイス406は、非限定的な例を挙げると、不揮発性の、動的な、静的な、読み出し/書き込みの、読み出し専用の、順次アクセスの、位置・アドレス指定可能な、ファイル・アドレス指定可能な、及び/又はコンテンツ・アドレス指定可能なデバイスを含みうる。当然のことながら、不揮発性記憶デバイス406は、不揮発性記憶デバイス406への電力が切断されたときにも命令を保持するよう構成されている。
【0071】
揮発性メモリ404は、ランダムアクセスメモリを含む物理的デバイスを含みうる。揮発性メモリ404は通常は、論理プロセッサ402によって、ソフトウェア命令の処理中に情報を一時的に格納するために利用される。当然のことながら、揮発性メモリ404は通常では、揮発性メモリ404への電力が切断されたときには、命令を記憶し続けない。
【0072】
論理プロセッサ402、揮発性メモリ404、及び不揮発性記憶デバイス406の態様は、1つ以上のハードウェア論理構成要素と一緒に統合されうる。このようなハードウェア論理構成要素は、非限定的な例を挙げると、フィールドプログラマブルゲートアレイ(FPGA)、特定プログラム向け集積回路/特定用途向け集積回路(PASIC/ASIC)、特定プログラム向け標準製品/特定用途向け標準製品(PSSP/ASSP)、システムオンチップ(SOC)、及び統合プログラム可能論理デバイス(CPLD)を含みうる。
【0073】
「モジュール」、「プログラム」、及び「エンジン」という用語は、通常では、プロセッサが揮発性メモリの部分を使用して特定の機能を実行するために、通常ではソフトウェアで実装された計算システム400の或る態様を説明するために使用することができ、上記特定の機能は、プロセッサがその機能を実行するよう特別に設定する変革的処理(transformative processing)を含む。従って、モジュール、プログラム、又はエンジンは、揮発性メモリ404の部分を使用して、不揮発性記憶デバイス406によって保持された命令を実行する論理プロセッサ402を介して、インスタンス化されうる(instantiated)。様々なモジュール、プログラム、及び/又はエンジンが、同じアプリケーション、サービス、コードブロック、オブジェクト、ライブラリ、ルーチン、API、機能などからインスタンス化されうることが分かるであう。同様に、同じモジュール、プログラム、及び/又はエンジンが、様々なアプリケーション、サービス、コードブロック、オブジェクト、ルーチン、API、機能などからインスタンス化されうる。「モジュール」、「プログラム」、及び「エンジン」という用語は、個々の実行可能なファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードなど、又は実行可能なファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードなどの群を包含しうる。
【0074】
含まれる場合には、表示サブシステム408が、不揮発性記憶デバイス406により保持されたデータの視覚的表現を提示するために使用される。視覚的表現は、グラフィカルユーザインタフェース(GUI)の形態をとりうる。本明細書に記載される方法及びプロセスは、不揮発性記憶デバイスにより保持されたデータを変更し、従って不揮発性記憶デバイスの状態を変え、表示サブシステム408の状態も同様に、基礎をなすデータの変更を視覚的に表すよう変えられうる。表示サブシステム408は、任意の種類の技術を仮想的に利用する1つ以上の表示デバイスを含みうる。このような表示デバイスは、共通の筐体内で、論理プロセッサ402、揮発性メモリ404、及び/又は不揮発性記憶デバイス406と組み合わせることができ、又は、このような表示デバイスは、周辺表示デバイスでありうる。
【0075】
含まれるときには、入力サブシステム410が、キーボード、マウス、タッチスクリーン、又はゲームコントローラといった1つ以上のユーザ入力デバイスを含むことができ又はこれらと接続することができる。幾つかの実施形態において、入力サブシステムが、選択されたナチュラルユーザ入力(NUI)構成要素を含むことができ又はこれと接続することができる。このような構成要素は、組み込むことができ又は周辺機器であってよく、入力アクションの変換及び/又は処理が、オンボード(on-board)又はオフボード(off-board)で処理されうる。例示的なNUI構成要素は、スピーチ認識及び/又は音声認識のためのマイクロフォン、機械視覚及び/又はジェスチャ認識のための赤外線カメラ、カラーカメラ、立体カメラ、及び/又は深度カメラ、動き検出及び/又は意識認識のための頭部トラッカ、アイトラッカ、加速度計、及び/又はジャイロスコープ、並びに、脳活動を評価するための磁場感知構成要素、及び/又は、任意の他の適切なセンサを含みうる。
【0076】
含まれるときには、通信サブシステム412は、本明細書に記載の様々な計算装置及び他のデバイスと互いに通信可能に接続するよう構成されうる。通信サブシステム412は、1つ以上の様々な通信プロトコルに対応する有線及び/又は無線の通信デバイスを含みうる。非限定的な例として、通信サブシステムが、Wi-Fiを介したHDMIなど、無線電話網、又は有線若しくは無線のローカルエリア若しくはワイドエリアネットワークを介した通信のために構成されうる。幾つかの実施形態において、通信サブシステムによって、計算システム400が、インタネットといったネットワークを介して、他のデバイスとの間でメッセージを送信及び/又は受信することが可能となりうる。
【0077】
本明細書に記載の設定及び/又はアプローチは例示的な性質のものであり、これらの特定の実施形態又は実施例は、数多くの変更が可能であるため、限定的な意味において見做されない。本明細書に記載の特定のルーチン又は方法が、任意の数の処理ストラテジのうちの1つ以上を表しうる。従って、図示及び/又は記載された様々なアクションは、図示及び/又は記載されたシーケンスで、他のシーケンスで、並行して実行することができ、又は省略することができる。同様に、先に記載のプロセスの順序を変えることが可能である。
【0078】
当然のことながら、本明細書で使用される「及び/又は(and/or)」は、論理和の演算を意味しており、従って、A及び/又はBは以下のOR真理値表を有する。
【0079】
「含む(includes/including)」、「有する(has)」、「包含する(contains)」という用語、及びこれらの変化形が本明細書で使用される限りにおいて、これらの用語は、「備える/含む(comprises)」という語と同様に、いかなる追加の又は他の構成要素も排除しないオープントランジション(open transition)の用語として、包括的であることが意図されている。
【0080】
更に、本開示は、以下の条項に係る構成を含む。
【0081】
条項1.計算システムであって、
入力センサと、
プロセッサと、
実行可能な命令を格納するメモリと、
を備え、実行可能な命令が、プロセッサによる実行に応じて、プロセッサに、
入力センサから物体の少なくとも一部分に関する入力データを収集することと、
入力データに基づいてUV座標マップを生成することと、
所定のプロセスのインク濃度ルックアップテーブルを使用して、UV座標マップに対応するインク濃度ビットマップを生成することであって、インク濃度ビットマップが、インク濃度ビットマップ中のビットごとにプロセスインク濃度を含む、インク濃度ビットマップを生成することと、
インク濃度ビットマップのディザを生成し出力し、これにより、ディザリングされた画像ピクセルデータを生成することと、
物体の輪郭表面上に画像を印刷するよう印刷アレイを制御するために、ディザリングされた画像ピクセルデータに基づいて、制御プランをコンパイルして出力することと、
を行わせる、計算システム。
【0082】
条項2.プロセッサが、物体の輪郭表面の三次元表面メッシュモデル、二次元画像を含む二次元画像ファイル、及び印刷アレイの三次元モデルを受信することと、ディザリングされた画像ピクセルデータに基づいて、印刷アレイの三次元モデルの複数の移動を生成することと、複数の移動を問題なく実行できるという確認に応じて、制御プランをコンパイルして出力することと、を行うようさらに構成される、条項1に記載の計算システム。
【0083】
条項3.UV座標マップが、輪郭表面の三次元表面メッシュモデルの上に重ねられ、これにより、UV座標マップが、三次元表面メッシュモデル上の或る位置に対応する二次元画像の複数のUV座標を定め、UV座標マップが、複数の領域的UV座標マップに分割され、複数の領域的UV座標マップが、三次元表面メッシュモデルの複数のメッシュ面にそれぞれ対応している、条項1又は2に記載の計算システム。
【0084】
条項4.所定のプロセスのインク濃度ルックアップテーブルが、複数の領域的インク濃度ビットマップを生成するために使用され、複数の領域的インク濃度ビットマップが、複数のメッシュ面にそれぞれが対応する複数の領域的UV座標マップにそれぞれ対応し、ディザが、複数のメッシュ面にそれぞれが対応する複数の領域的インク濃度ビットマップのそれぞれについてディザを生成し、これにより複数のメッシュ面にそれぞれが対応する複数のメッシュ面ディザを生成することによって、生成される、条項1から3のいずれか一項に記載の計算システム。
【0085】
条項5.複数のメッシュ面ディザのそれぞれが、メッシュ面の中央領域と、メッシュ面の少なくとも1つのエッジの近傍のエッジギャップと、を含むディザを含み、複数のメッシュ面のうち2つのメッシュ面を継ぎ合わせて複合面を生成するために、2つのメッシュ面に対応するメッシュ面ディザが並置され、2つのメッシュ面のエッジギャップの間にオフセットギャップが設けられ、ディザリングが、2つのメッシュ面の間のオフセットギャップ内で行われ、これにより、複合面の継ぎ合わされたメッシュ面でアーチファクトが最小に抑えられる、条項1から4のいずれか一項に記載の計算システム。
【0086】
条項6.インク濃度ビットマップのビットのディザが、ポアソンディスクサンプリング技術を使用して生成され出力される、条項1から5のいずれか一項に記載の計算システム。
【0087】
条項7.インク濃度ビットマップのビットのディザが、所定の球体半径ルックアップテーブルを使用して生成され出力されて、インク濃度ビットマップ内の各プロセスインク濃度が球体半径に変換される、条項6に記載の計算システム。
【0088】
条項8.所定の球体半径ルックアップテーブルでは、より低いインク濃度がより大きな球体半径に対応し、より高いインク濃度がより小さな球体半径に対応する、条項6又は7に記載の計算システム。
【0089】
条項9.所定のプロセスのインク濃度ルックアップテーブルが、RGB画像ピクセル値の全ての可能な置換のプロセスインク濃度を定める、条項1から8のいずれか一項に記載の計算システム。
【0090】
条項10.入力センサがスキャナであり、入力データが、物体の輪郭表面の表面トポグラフィデータである、条項1から9のいずれか一項に記載の計算システム。
【0091】
条項11.方法であって、
入力センサから物体の少なくとも一部分に関する入力データを収集することと、
入力データに基づいてUV座標マップを生成することと、
所定のプロセスのインク濃度ルックアップテーブルを使用して、UV座標マップに対応するインク濃度ビットマップを生成することであって、インク濃度ビットマップが、インク濃度ビットマップ中のビットごとにプロセスインク濃度を含む、インク濃度ビットマップを生成することと、
インク濃度ビットマップのディザを生成し出力し、これにより、ディザリングされた画像ピクセルデータを生成することと、
物体の輪郭表面上に画像を印刷するよう印刷アレイを制御するために、ディザリングされた画像ピクセルデータに基づいて、制御プランをコンパイルして出力することと、
を含む、方法。
【0092】
条項12.物体の輪郭表面の三次元表面メッシュモデル、二次元画像を含む二次元画像ファイル、及び印刷アレイの三次元モデルを受信することと、ディザリングされた画像ピクセルデータに基づいて、印刷アレイの三次元モデルの複数の移動を生成することと、複数の移動を問題なく実行できるという確認に応じて、制御プランをコンパイルし出力することと、をさらに含む、条項11に記載の方法。
【0093】
条項13.UV座標マップが、輪郭表面の三次元表面メッシュモデルの上に重ねられ、これにより、UV座標マップが、三次元表面メッシュモデル上の或る位置に対応する二次元画像の複数のUV座標を定め、UV座標マップが、複数の領域的UV座標マップに分割され、複数の領域的UV座標マップが、三次元表面メッシュモデルの複数のメッシュ面にそれぞれ対応している、条項11又は12に記載の方法。
【0094】
条項14.所定のプロセスのインク濃度ルックアップテーブルが、複数の領域的インク濃度ビットマップを生成するために使用され、複数の領域的インク濃度ビットマップがそれぞれ、複数のメッシュ面にそれぞれが対応する複数の領域的UV座標マップに対応し、ディザが、複数のメッシュ面にそれぞれが対応する複数の領域的インク濃度ビットマップのそれぞれについてディザを生成し、これにより複数のメッシュ面にそれぞれが対応する複数のメッシュ面ディザを生成することによって、生成される、条項11から13のいずれか一項に記載の方法。
【0095】
条項15.複数のメッシュ面ディザのそれぞれが、メッシュ面の中央領域と、メッシュ面の少なくとも1つのエッジの近傍のエッジギャップと、を含むディザを含み、複数のメッシュ面のうち2つのメッシュ面を継ぎ合わせて複合面を生成するために、2つのメッシュ面に対応するメッシュ面ディザが並置され、2つのメッシュ面のエッジギャップの間にオフセットギャップが設けられ、ディザリングが、2つのメッシュ面の間のオフセットギャップ内で行われ、これにより、複合面の継ぎ合わされたメッシュ面でアーチファクトが最小に抑えられる、条項11から14のいずれか一項に記載の方法。
【0096】
条項16.インク濃度ビットマップのビットのディザが、ポアソンディスクサンプリング技術を使用して生成され出力される、条項11から15のいずれか一項に記載の方法。
【0097】
条項17.インク濃度ビットマップのビットのディザが、所定の球体半径ルックアップテーブルを使用して生成され出力されて、
インク濃度ビットマップ内の各プロセスインク濃度が球体半径に変換される、
条項16に記載の方法。
【0098】
条項18.所定の球体半径ルックアップテーブルでは、より低いインク濃度がより大きな球体半径に対応し、より高いインク濃度がより小さな球体半径に対応する、条項16又は17に記載の方法。
【0099】
条項19.所定のプロセスのインク濃度ルックアップテーブルが、RGB画像ピクセル値の全ての可能な置換のプロセスインク濃度を定める、条項11から18のいずれか一項に記載の方法。
【0100】
条項20.輪郭表面上に印刷するために構成された自動化された表面処理アセンブリであって、
印刷アレイと、
入力センサと、
プロセッサと、
実行可能な命令を格納するメモリと、
を備え、実行可能な命令が、プロセッサによる実行に応じて、プロセッサに、
入力センサから物体の少なくとも一部分に関する入力データを収集することと、
入力データに基づいてUV座標マップを生成することと、
所定のプロセスのインク濃度ルックアップテーブルを使用して、UV座標マップに対応するインク濃度ビットマップを生成することであって、インク濃度ビットマップが、インク濃度ビットマップ中のビットごとにプロセスインク濃度を含む、インク濃度ビットマップを生成することと、
インク濃度ビットマップのディザを生成し出力し、これにより、ディザリングされた画像ピクセルデータを生成することと、
物体の輪郭表面上に画像を印刷する印刷アレイを制御するために、ディザリングされた画像ピクセルデータに基づいて、制御プランをコンパイルして出力することと、
を行わせる、自動化された表面処理アセンブリ。
【符号の説明】
【0101】
20 ビークル
22 機体
24 胴体
26 翼
28 尾部
30 航空機エンジン
32 フラップ
34 前縁装置
36 周辺端部装置
38 昇降舵
40 方向舵
42 水平安定板フィン
44 水平安定板
46 輪郭表面
48 作業領域
50 装飾的なリバリィコーティング
58 表面処理アセンブリ
60 ガントリ
62 オーバヘッド構造
64 インクジェット印刷アレイ
65 インクジェットノズル
66 自動ロボット
67 調整機構
68 制御システム
69 支持アーム
70 コントローラ
71 調整可能なベース
72 入力/出力モジュール
74 プロセッサ
76 メモリ
78 センサ
80 ネットワーク
82 ネットワークサーバ
84 計算装置
86 ネットワークデータベース
88 サーバプロセッサ
90 サーバメモリ
92 出力モジュール
94 計算装置プロセッサ
96 計算装置メモリ
98 コンピュータプログラム
100 シミュレーション
102 制御プラン
104 入力パラメータ
106 印刷プロファイル
108 分注ギャップ
110 三次元(3D)モデル
112 3D表面メッシュモデル
114 二次元(2D)画像ファイル
116 方法
118 第1のブロック
120 ブロック
122 ブロック
124 ブロック
126 ブロック
128 ブロック
129 UV座標マップ
130 ブロック
131 領域的UV座標マップ
132 ラスタ画像プロセッサ
133 領域的インク濃度ビットマップ
134 ブロック
135 ディザリングされた画像ピクセルデータ
135a シアン色平面のディザリングされた画像ピクセルデータ
135b 画像ピクセルデータ
135ca イエロー色平面のディザリングされた画像ピクセルデータ
135c 画像ピクセルデータ
135d ブラック色平面のディザリングされた画像ピクセルデータ
136 ブロック
137 図
138 静的な印刷制御プラン
139 図
140 印刷濃度データベース
142 インク濃度ルックアップテーブル
144 球体半径ルックアップテーブル
146 プロセス
148 パーミュテータ
150 置換リスト
152 2Dラスタ画像処理エンジン
154 濃度-半径計算器
156 詳細図
158 メッシュ面
160 第2のメッシュ面
162 インク液滴球体
164 所定のオフセット距離
166 オフセットギャップ
168 球体半径
170 距離拘束
172 第1のメッシュ面ディザ
174 第2のメッシュ面ディザ
200 コンピュータにより処理される第1の方法
202 ステップ
204 ステップ
206 ステップ
208 ステップ
210 ステップ
212 ステップ
214 ステップ
216 ステップ
218 ステップ
300 コンピュータにより処理される第2の方法
302 ステップ
304 ステップ
306 ステップ
308 ステップ
310 ステップ
400 計算システム
402 論理プロセッサ
404 揮発性メモリ
406 不揮発性記憶デバイス
408 表示サブシステム
410 入力サブシステム
412 通信サブシステム
【外国語明細書】