(57)【特許請求の範囲】
【請求項１】
三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する２つの端点を特定する工程と、当該２つの端点を結ぶ直線に平行で当該２つの端点の間で輪郭線に最も離れた位置で接する基準直線を切断平面上で特定する工程と、輪郭線および基準直線の接点を特定する工程と、パラメトリック曲線で前記２つの端点および接点を結び直して三次元部材の疑似輪郭線を描き出す工程と、描き出された疑似輪郭線を順番に結び付けて三次元物体の疑似表面を描き出す工程と、描き出された疑似表面に対してマニピュレータの動作点の三次元座標値および方向ベクトルを算出する工程と、算出された三次元座標値および方向ベクトルを制御用データとして出力する工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法。
【請求項２】
請求項１に記載のマニピュレータ向け制御用データの生成方法において、前記三次元座標値および方向ベクトルの算出にあたって、前記接点に向かって前記基準直線に垂直に下ろされる垂線の方向ベクトルを算出することを特徴とするマニピュレータ向け制御用データの生成方法。
【請求項３】
三次元座標系に従って三次元物体の形状を表現する形状データを取得する工程と、形状データに基づき、三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する２つの端点を特定する工程と、当該２つの端点を結ぶ直線に平行で当該２つの端点の間で輪郭線に最も離れた位置で接する基準直線を切断平面上で特定する工程と、パラメトリック曲線で前記２つの端点および接点を結び直して三次元部材の疑似輪郭線を描き出す工程と、描き出された疑似輪郭線を順番に結び付けて三次元物体の疑似表面を描き出す工程と、描き出された疑似表面に対してマニピュレータの動作点の三次元座標値および方向ベクトルを算出する工程と、算出された三次元座標値および方向ベクトルを制御用データとして出力する工程とをコンピュータに実現させるプログラムを記憶することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項４】
請求項３に記載の記憶媒体において、前記三次元座標値および方向ベクトルの算出にあたって、前記接点に向かって下ろされる垂線の方向ベクトルを算出する工程をさらにコンピュータに実現させるプログラムを記憶することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項５】
三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する２つの端点を特定する工程と、当該２つの端点を結ぶ直線に平行で当該２つの端点の間で輪郭線に最も離れた位置で接する基準直線を切断平面上で特定する工程と、輪郭線および基準直線の接点を特定する工程と、パラメトリック曲線で前記２つの端点および接点を結び直して三次元部材の疑似輪郭線を描き出す工程と、描き出された疑似輪郭線を順番に結び付けて三次元物体の疑似表面を描き出す工程と、三次元物体の疑似表面に移動経路の投影像を描く工程と、投影像上で作業具の動作点を抽出する工程と、抽出した動作点の三次元座標値を特定する工程と、特定した三次元座標値を制御データとして出力する工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法。
【請求項６】
三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する２つの端点を特定する工程と、当該２つの端点を結ぶ直線に平行で当該２つの端点の間で輪郭線に最も離れた位置で接する基準直線を切断平面上で特定する工程と、輪郭線および基準直線の接点を特定する工程と、パラメトリック曲線で前記２つの端点および接点を結び直して三次元部材の疑似輪郭線を描き出す工程と、描き出された疑似輪郭線を順番に結び付けて三次元物体の疑似表面を描き出す工程と、三次元物体の疑似表面に移動経路の投影像を描く工程と、投影像上で作業具の動作点を抽出する工程と、抽出した動作点の三次元座標値を特定する工程と、特定した三次元座標値を制御データとして出力する工程とをコンピュータに実現させるプログラムを記憶することを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項７】
三次元座標系に従って少なくとも三次元物体の表面を表現する形状データを取得する工程と、形状データに基づき、三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する端点を特定する工程と、作業具の移動方向を規定する座標軸に沿って、切断平面内で端点から輪郭線を延長する直線を特定する工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法。
【請求項８】
三次元座標系に従って少なくとも三次元物体の表面を表現する形状データを取得する工程と、形状データに基づき、三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する端点を特定する工程と、作業具の移動方向を規定する座標軸に沿って、切断平面内で端点から輪郭線を延長する直線を特定する工程とをコンピュータに実現させるプログラムを記憶することを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マニピュレータに装着された作業具を移動させる際に用いられる制御用データの生成方法に関する。
【０００２】
【従来の技術】
例えば自動車製造の分野では、車体の塗装にあたってマニピュレータすなわち塗装ロボットが用いられる。こうした塗装ロボットでは、アームの先端に作業具すなわち塗装ガンが装着される。塗料は、塗装ガンから車体の表面に向けて吹き付けられる。塗料の吹き付けにあたって、塗装ガンは車体の表面に沿って移動し続ける。
【０００３】
塗装ガンの移動は、車体の表面を基準に描き出される移動経路に沿って実現される。こうした移動経路は、例えば特開平５−２８９７２２号公報に開示されるように、物体の三次元形状を表現する形状データに基づき特定されることができる。
【０００４】
【発明が解決しようとする課題】
一般に、塗装面に対して塗装ガンの面直姿勢が維持されると、美しく高品質に塗装面は仕上げられることができる。したがって、車体の表面のように湾曲面に対して塗装を実施する場合には、例えば特開平５−２８９７２２号公報に開示されるように、車体の湾曲面に追随して塗装ガンの角度は変化することが望まれる。
【０００５】
その一方で、車体の表面には細かな溝や凹凸、段差、開口が形成されることが多い。こうした細かな溝や凹凸、段差、開口では塗装ガンの姿勢は急激に変化しなければならない。塗装ガンの姿勢変化が追随し切れなければ、仕上がり面に塗装ムラが生じてしまう。塗装ガンの移動速度を落として塗装ガンの面直姿勢を維持すると、塗装時間は著しく増加してしまう。
【０００６】
本発明は、上記実状に鑑みてなされたもので、形状データに基づき塗装ガンの移動経路を特定するにあたって、塗装ガンの急激な姿勢変化を回避することができるマニピュレータ向け制御用データの生成方法を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、第１発明によれば、三次元座標系に従って少なくとも三次元物体の表面を表現する形状データを取得する工程と、形状データに基づき、三次元物体の表面上で複数個の操作点を抽出する工程と、抽出された操作点に基づき、三次元物体の表面に単純化表面を描き出す工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法が提供される。
【０００８】
かかる制御用データの生成方法によれば、限られた個数の操作点に基づき三次元物体の表面が描き直されると、形状データで表現される三次元物体の表面に比べて滑らな疑似表面すなわち単純化表面が描き出されることができる。こうした単純化表面では細かな溝や凹凸、段差、開口は除去されることができる。マニピュレータの動作はこうした単純化表面に基づき決定されることができる。
【０００９】
このように単純化表面が用いられれば、マニピュレータに装着される作業具では、形状データ上で表現される細かな溝や凹凸、段差、開口に拘わらず急激な姿勢変化は確実に回避されることができる。特に、こういった制御用データの生成方法は、三次元物体の表面が湾曲面で構成される場合に大いに役立つことができる。そういった三次元物体は例えば自動車の車体に代表される。このとき、制御用データの生成方法は、車体に向かって塗料を吹き付ける塗装ロボットを制御するにあたって大いに役立つことができる。
【００１０】
こうしたマニピュレータ向け制御用データの生成方法は、前記形状データに基づき、三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で前記操作点を抽出する工程と、操作点同士を結び直して疑似輪郭線を描き出す工程と、描き出された疑似輪郭線に基づき前記単純化表面を描き出す工程とをさらに備えてもよい。これらの工程によれば、比較的に簡単に三次元物体の表面に沿って単純化表面は描き出されることができる。描き出された疑似輪郭線では、細かな溝や凹凸、段差、開口は確実に除去されることができる。
【００１１】
また、第２発明によれば、三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で第１および第２目標点を抽出する工程と、第１および第２目標点を結ぶ直線に平行で第１および第２目標点の間で輪郭線に外接する基準直線を特定する工程と、輪郭線および基準直線の接点を特定する工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法が提供される。
【００１２】
かかる制御用データの生成方法によれば、第１および第２目標点に加えて輪郭線および基準直線の接点が作業具の動作点に用いられることができる。こうした動作点に基づき作業具の動作が制御されると、作業具の移動経路は著しく単純化されることができる。したがって、マニピュレータでは、作業具の急激な姿勢変化は回避されることができる。その結果、作業具の作業速度は高められることができる。特に、こういった制御用データの生成方法は、第１および第２目標点の間に曲線で輪郭線が描かれる場合に大いに役立つことができる。こういった輪郭線は例えば自動車の車体上で特定されることができる。このとき、制御用データの生成方法は、車体に向かって塗料を吹き付ける塗装ロボットを制御するにあたって大いに役立つことができる。
【００１３】
こういった制御用データの生成方法は、輪郭線および基準直線の接点に向かって下ろされる垂線の方向ベクトルを算出する工程をさらに備えてもよい。マニピュレータに装着される作業具の姿勢は、こうして算出された方向ベクトルに基づき制御されることができる。その結果、作業具の姿勢は輪郭線の湾曲に応じて変化することができる。
【００１４】
さらに、第３発明によれば、三次元物体の表面に移動経路の投影像を描く工程と、投影像上で作業具の動作点を抽出する工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法が提供される。
【００１５】
かかる制御用データの生成方法によれば、マニピュレータに装着された作業具は、限られた個数の動作点に基づき制御されることができる。したがって、三次元物体の表面に形成される細かな溝や凹凸、段差、開口に拘わらず、作業具の急激な姿勢変化は回避されることができる。
【００１６】
さらにまた、第４発明によれば、三次元座標系に従って少なくとも三次元物体の表面を表現する形状データを取得する工程と、形状データに基づき、三次元物体の断面形状が現れる切断平面上で三次元物体の輪郭線を特定する工程と、輪郭線上で作業範囲の切れ目を規定する端点を特定する工程と、切断平面内で端点を通過する直線を特定する工程とを備えることを特徴とするマニピュレータ向け制御用データの生成方法が提供される。
【００１７】
一般に、マニピュレータに装着される作業具は、作業対象となる三次元物体の表面に対して面直姿勢に維持されることが望まれる。三次元物体の表面の切れ目すなわち作業範囲の切れ目で面直姿勢が維持されると、作業具には急激な姿勢変化が強いられてしまう。前述のように輪郭線の切れ目に直線が補われれば、こうした急激な姿勢変化は確実に回避されることができる。
【００１８】
以上のような制御用データの生成方法は、コンピュータ装置に組み込まれるソフトウェアプログラムによって実現されてもよい。こういったソフトウェアプログラムは、例えばフロッピーディスク（ＦＤ）やコンパクトディスク（ＣＤ）といった可搬性の記憶媒体でコンピュータ装置に取り込まれてもよく、インターネットやＬＡＮ（構内通信網）といったネットワークを通じてコンピュータ装置に取り込まれてもよい。
【００１９】
【発明の実施の形態】
以下、添付図面を参照しつつ本発明の一実施形態を説明する。
【００２０】
図１は一具体例に係る自動車製造ラインの一部を概略的に示す。この自動車製造ライン１１は、規定の経路に沿って台車１２を移動させるコンベヤ１３を備える。台車１２の移動は、コンベヤ１３に接続される駆動システム１４の働きによって実現される。駆動システム１４は、予め決められた一定の速度で台車１２を移動させる。台車１２上には自動車の車体１５が搭載される。台車１２の速度は例えばエンコーダ１６によって検知されることができる。駆動システム１４は、台車１２の速度を一定に維持するにあたって例えばエンコーダ１６の出力信号を利用する。
【００２１】
コンベヤ１３は塗装ブース１７を貫通する。この塗装ブース１７には、車体１５の外板すなわち左側サイドパネル１５ａを塗装する２台のマニピュレータすなわち第１および第２塗装ロボット１８ａ、１８ｂと、同様に車体１５の外板すなわち右側サイドパネル１５ｂを塗装する２台のマニピュレータすなわち第１および第２塗装ロボット１８ａ、１８ｂとが配置される。台車１２に搭載された無着色の車体１５いわゆるホワイトボディが塗装ブース１７に進入すると、各塗装ロボット１８ａ、１８ｂは車体１５の外板を塗装する。車体１５の進入は、コンベヤ１３に組み込まれたリミットスイッチ１９によって検知される。塗装後の車体１５はコンベヤ１３の働きによって塗装ブース１７から運び出される。その他、塗装ブース１７には、ボンネットや屋根といった車体１５の上面を塗装する複数台のマニピュレータすなわち塗装ロボット（図示せず）が配置されてもよい。
【００２２】
図２を併せて参照すると明らかなように、左側の第１塗装ロボット１８ａは左側サイドパネル１５ａで上半分の塗装を担当する。左側の第２塗装ロボット１８ｂは左側サイドパネル１５ａで下半分の塗装を担当する。同様に、右側の第１塗装ロボット１８ａは右側サイドパネル１５ｂで上半分の塗装を担当し、右側の第２塗装ロボット１８ｂは右側サイドパネル１５ｂで下半分の塗装を担当する。
【００２３】
各塗装ロボット１８ａ、１８ｂは同一の構成を備えればよい。以下、代表して左側の第１塗装ロボット１８ａの構成を詳述する。図２に示されるように、第１塗装ロボット１８ａは、車体１５の外板に向かって塗料を吹き付ける塗装ガン２１を備える。塗装ガン２１には例えばエアガンやベルガンが用いられることができる。この塗装ガン２１は、車体１５の進行方向に直交する１平面すなわち移動平面内で移動することができる。しかも、塗装ガン２１は、そういった移動平面内で姿勢を変化させることができる。こうした移動や姿勢の変化は例えばアーム機構２２の働きによって実現されることができる。
【００２４】
アーム機構２２は、先端で塗装ガン２１を支持する第１アーム部材２３を備える。塗装ガン２１は、第１連結軸２４によって第１アーム部材２３の先端に連結される。この第１連結軸２４の働きによれば、塗装ガン２１と第１アーム部材２３との間には第１連結軸２４回りで相対回転が実現されることができる。第１連結軸２４回りの相対回転量（角度）は、例えば第１連結軸２４に連結されるサーボモータ２５の働きによって制御される。ここで、第１連結軸２４は、前述の移動平面に直交する姿勢に維持される。
【００２５】
第１アーム部材２３の基端には第２アーム部材２６の先端が連結される。この連結には例えば第１連結軸２４に平行に延びる第２連結軸２７が用いられる。この第２連結軸２７の働きによれば、第１および第２アーム部材２３、２６同士の間には第２連結軸２７回りで相対回転が実現されることができる。第２連結軸２７回りの相対回転量（角度）は、例えば第２連結軸２７に連結されるサーボモータ２８の働きによって制御される。
【００２６】
第２アーム部材２６の基端は、例えば工場の壁面２９に固定される台座３０に連結される。この連結には、前述と同様に、第１および第２連結軸２４、２７に平行に延びる第３連結軸３１が用いられる。この第３連結軸３１の働きによれば、第２アーム部材２６と台座３０との間には第３連結軸３１回りで相対回転が実現されることができる。第３連結軸３１回りの相対回転量（角度）は、例えば第３連結軸３１に連結されるサーボモータ３２の働きによって制御される。
【００２７】
塗装ガン２１には、周知の通り、塗料を供給する塗料供給システム３３が接続される。塗料供給システム３３は、例えば、各色の塗料を貯蔵する塗料タンクや、塗料タンクから塗料を吸い上げて塗装ガン２１に向けて吐き出すポンプ、塗料タンクから塗装ガン２１に向かって供給される塗料の流量を調整する流量制御弁などを備えればよい。塗料供給システム３３から塗料が供給されると、塗装ガン２１は車体１５の表面に向けて塗料を噴霧する。
【００２８】
塗装ロボット１８ａには、塗装ガン２１の移動や姿勢変化といった動作を制御する位置決め制御回路３４が接続される。位置決め制御回路３４は、アーム機構２２に組み込まれた各サーボモータ２５、２８、３２に制御信号を供給する。供給される制御信号に基づけば、各サーボモータ２５、２８、３２の制御量すなわち回転量は決定される。
【００２９】
同様に塗装ロボット１８ａには、塗料の吹き付け動作を制御する塗装制御回路３５が接続される。塗装制御回路３５は、塗料供給システム３３に組み込まれた各々の流量制御弁に制御信号を供給する。供給される制御信号によれば、各流量制御弁の開閉動作や開き度は決定される。
【００３０】
位置決め制御回路３４および塗装制御回路３５には前述のエンコーダ１６やリミットスイッチ１９が接続される。エンコーダ１６やリミットスイッチ１９の出力信号は位置決め制御回路３４や塗装制御回路３５に取り込まれる。こうしたエンコーダ１６やリミットスイッチ１９の出力信号によれば、塗装ガン２１の移動や姿勢変化とともに塗料の吹き付け動作は台車１２の移動に関連付けられることができる。しかも、位置決め制御回路３４の制御動作と塗装制御回路３５の制御動作とは相互に同期化されることができる。
【００３１】
位置決め制御回路３４の制御動作は、位置決め制御回路３４に取り込まれる動作プログラムすなわちティーチングデータに基づき実現される。この動作プログラムは、例えば図３に示されるように、タイムチャートに従って各経過時間ｔ１〜ｔ５ごとに塗装ガン２１の位置および姿勢を特定する。塗装ガン２１の位置は、塗装ガン２１から延びる軸心３６の延長線と塗装面３７との交差点すなわち動作点３８ａ〜３８ｅによって表現されることができる。こうした動作点３８ａ〜３８ｅは、塗装ガン２１の移動平面に重ね合わせられる二次元の機械座標系ｙｚに基づき規定されることができる。このとき、動作点３８ａ〜３８ｅの位置は、機械座標系ｙｚに従って二次元座標値（ｙ，ｚ）で表現されることができる。
【００３２】
その一方で、塗装ガン２１の姿勢は、図３から明らかなように、機械座標系ｙｚに沿って特定される方向ベクトル３９ａ〜３９ｅによって表現されることができる。方向ベクトル３９ａ〜３９ｅは例えば動作点３８ａ〜３８ｅを基準に規定されればよい。こうした方向ベクトル３９ａ〜３９ｅは、例えば図３に示されるように、ｙｚ平面内に設定される水平線と塗装ガン２１の軸心３６との間で確立される揺動角θ１〜θ５によって表現されることができる。
【００３３】
こうして動作点３８ａ〜３８ｅの位置と、動作点３８ａ〜３８ｅに関連付けられた方向ベクトル３９ａ〜３９ｅとが特定されると、周知の通り、ロボット工学の運動学モデルに基づき各サーボモータ２５、２８、３２の制御量すなわち回転量は算出されることができる。算出された回転量で各サーボモータ２５、２８、３２が作動すると、そういった動作点３８ａ〜３８ｅの位置および方向ベクトル３９ａ〜３９ｅで特定される塗装ガン２１の位置や姿勢は確立されることができる。
【００３４】
位置決め制御回路３４の働きによれば、隣接する動作点３８ａ〜３８ｅの間には、図３から明らかなように、ｙｚ平面上で動作点３８ａ〜３８ｅ同士を直線で結ぶ移動経路４１が描き出されることができる。このとき、塗装ガン２１の先端から延びる軸心３６の延長線は移動経路４１上を等速度で移動する。塗装ガン２１の先端と移動経路４１との間には常に一定の間隔が維持される。各サーボモータ２５、２８、３２は、隣接する動作点３８ａ〜３８ｅの間で塗装ガン２１の姿勢を等速度で変化させる。
【００３５】
こうした機械座標系ｙｚ上の塗装ガン２１の動作に台車１２の動きが関連付けられると、図３から明らかなように、台車１２に設定される三次元の物体座標系ＸＹＺ上で動作点３８ａ〜３８ｅや移動経路４１は特定されることができる。ここでは、機械座標系ｙｚは物体座標系ＸＹＺのｙｚ平面に重ね合わせられればよい。この重ね合わせによって物体座標系ＸＹＺのｘ座標軸は台車１２の進行方向に一致する。したがって、各動作点３８ａ〜３８ｅや移動経路４１のｘ座標値は台車１２の移動量によって規定されることができる。台車１２の移動量はエンコーダ１６の出力信号に基づき特定されることができる。
【００３６】
そうした一方で、塗装制御回路３５の制御動作は、塗装制御回路３５に取り込まれる作業プログラムに基づき実現される。この作業プログラムは、タイムチャートに従って例えば吹き付けの開始時ｔ１や終了時ｔ５を特定する。こうした作業プログラムに記述されるタイムチャートと、前述の動作プログラムに記述されるタイムチャートとが関連付けられると、図３から明らかなように、物体座標系ＸＹＺに描き出される移動経路４１上では、塗料の吹き付けを開始する動作点３８ａや、塗料の吹き付けを終了する動作点３８ｅは特定されることができる。
【００３７】
なお、前述のような位置決め制御回路３４や塗装制御回路３５は、例えば左側の第１および第２塗装ロボット１８ａ、１８ｂに共通に設けられてもよく、右側の第１および第２塗装ロボット１８ａ、１８ｂに共通に設けられてもよい。また、位置決め制御回路３４や塗装制御回路３５は、左右の第１塗装ロボット１８ａに共通に設けられてもよく、左右の第２塗装ロボット１８ｂに共通に設けられてもよい。その他、全ての塗装ロボット１８ａ、１８ｂに共通に単一の位置決め制御回路３４や塗装制御回路３５が設けられてもよい。位置決め制御回路３４および塗装制御回路３５は統合化されてもよい。
【００３８】
図４は前述の動作プログラムを生成するコンピュータシステム４２を示す。このコンピュータシステム４２は、例えば車体１５の三次元形状を表現する形状データに基づき動作点３８ａ〜３８ｅの位置や方向ベクトル３９ａ〜３９ｅのベクトル値といった制御用データを算出する第１演算処理回路（ＣＰＵ）４３を備える。この第１演算処理回路４３は、制御用データの算出にあたって、例えばハードディスク駆動装置（ＨＤＤ）４４といった大容量記憶媒体に記憶されたソフトウェアプログラムを実行する。こうしたソフトウェアプログラムは、例えばフロッピーディスク（ＦＤ）４５やコンパクトディスク（ＣＤ）４６といった可搬性の記憶媒体からＨＤＤ４４に取り込まれればよい。その他、ソフトウェアプログラムは、インターネットやＬＡＮ（構内通信網）といったネットワーク（図示せず）を通じてＨＤＤ４４に取り込まれてもよい。
【００３９】
第１演算処理回路４３には例えばディスクアレイ（ＲＡＩＤ）装置といった大容量記憶装置４８が接続される。この大容量記憶装置４８には、例えば多数の形状データを管理するデータベースが構築される。こういった形状データは例えばＣＡＤ（コンピュータ支援設計）システムによって作成されることができる。制御用データの算出にあたって、第１演算処理回路４３はデータベースから形状データを取得することができる。ただし、こういった形状データは、例えばＦＤやＣＤといった可搬性の記憶媒体によって第１演算処理回路４３に受け渡されてもよい。
【００４０】
形状データでは、三次元座標系に従って少なくとも車体１５すなわち三次元物体の表面が表現されればよい。一般に、こうした表現にあたっては、例えばベジエ曲面やＮＵＲＢＳ曲面といったパラメトリック曲面が用いられることができる。ただし、三次元物体の表面は、その他のサーフェスモデルで表現されてもよく、ボクセル表現といったソリッドモデルで表現されてもよい。
【００４１】
第２演算処理回路（ＣＰＵ）４９は、第１演算処理回路４３で算出された制御用データに基づき前述の動作プログラムを作成する。この第２演算処理回路４９は、動作プログラムの作成にあたって、例えばＦＤやＣＤといった可搬性の記憶媒体や、ＬＡＮ（構内通信網）といったネットワークから制御用データを取得する。第２演算処理回路４９の演算処理は、例えばハードディスク駆動装置（ＨＤＤ）５１といった大容量記憶媒体に記憶されたソフトウェアプログラムに基づき実現されればよい。
【００４２】
図４から明らかなように、第１および第２演算処理回路４３、４９は、個別のコンピュータ装置すなわちエンジニアリングワークステーション（ＥＷＳ）５２およびパーソナルコンピュータ（ＰＣ）５３によって提供されてもよい。こういった場合には、ＥＷＳ５２および大容量記憶装置４８はＣＡＤシステムを構築してもよい。このとき、前述のソフトウェアプログラムは、ＣＡＤシステムの１モジュールとして機能すればよい。こうした構成によれば、ソフトウェアプログラムの実行にあたってＣＡＤシステムの機能は流用されることができる。したがって、ソフトウェアプログラムの軽量化に寄与することができる。反対に、第１および第２演算処理回路４３、４９は単一の超小型演算処理回路（ＭＰＵ）によって実現されてもよい。こういった場合には、第１演算処理回路４３で実行されるソフトウェアプログラムと、第２演算処理回路４９で実行されるソフトウェアプログラムとは１ソフトウェアプログラムに統合されてもよい。
【００４３】
ここで、第１演算処理回路４３の動作すなわち本発明に係るマニピュレータ向け制御用データの生成方法を詳述する。いま、例えば車体１５の左側サイドパネル１５ａに塗装を実現するにあたって動作点の位置や方向ベクトルのベクトル値を算出する場面を想定する。この算出にあたって、第１演算処理回路４３は、例えば車体１５全体の形状を規定する形状データを大容量記憶装置４８内のデータベースから取得する。ＥＷＳ５２に付属するディスプレイ装置の画面には、例えば図５に示されるように、取得された形状データに基づき車体１５の二次元像が描き出されることができる。形状データは、例えば前述の物体座標系ＸＹＺに従って車体１５の形状を特定する。
【００４４】
こうして車体１５の全体像が把握されると、例えば図６に示されるように、車体１５上で塗装面すなわち左側サイドパネル１５ａが抽出される。こういった塗装面の抽出には、例えばマウスなどを用いたＧＵＩ（グラフィックユーザインターフェース）が用いられればよい。ＧＵＩによれば、操作者は、画面に映し出された車体１５の二次元像上で左側サイドパネル１５ａを指定することができる。こうしたＧＵＩは第１演算処理回路４３の演算処理に基づき実現される。
【００４５】
こうして塗装面すなわち左側サイドパネル１５ａが抽出されると、第１演算処理回路４３は、例えば図７に示されるように、左側サイドパネル１５ａの表面に上下１対の単純化表面５５ａ、５５ｂすなわち三次元物体の疑似表面を描き出す。こういった単純化表面５５ａ、５５ｂの生成方法の詳細は後述される。これらの単純化表面５５ａ、５５ｂでは、後述されるように、車体１５の表面に形成される細かな溝や凹凸や、段差、開口は省略される。その結果、こういった単純化表面５５ａ、５５ｂに基づき前述の動作プログラムが記述されると、細かな溝や凹凸、段差、開口の存在に拘わらず、塗装ロボット１８ａ、１８ｂでは塗装ガン２１の急激な姿勢変化は回避されることができる。一般に、車体１５では、外板同士の継ぎ目に溝が形成されたり、ドアハンドル周辺に細かな凹凸が形成されたり、車輪すなわちホイールハウス周りに段差が形成されたり、給油口といった開口が形成されたりする。
【００４６】
その後、第１演算処理回路４３は、各単純化表面５５ａ、５５ｂ上で動作点の位置や方向ベクトルのベクトル値を算出する。動作点の位置は物体座標系ＸＹＺに従って三次元座標値で特定されればよい。方向ベクトルを特定するにあたっては、例えば物体座標系ＸＹＺで各座標軸に対して規定される相対角が用いられればよい。
【００４７】
まず、第１演算処理回路４３は、例えば図８に示されるように、物体座標系ＸＹＺのｘ座標軸に等間隔で単純化表面５５ａ、５５ｂの輪郭線５６を特定する。こうした輪郭線５６の特定にあたって、第１演算処理回路４３は相互に平行な切断平面５７で単純化表面５５ａ、５５ｂを輪切りにする。切断平面５７は三次元座標系ＸＹＺのｘ座標軸に直交する。隣接する切断平面５７同士の間隔はいわゆるレシプロ幅Ｗの２分の１に設定される。レシプロ幅Ｗは、周知の通り、塗装ガン２１から吹き付けられる塗料の塗布範囲（大きさ）や塗り重ね回数などに基づき決定されることができる。
【００４８】
続いて第１演算処理回路４３は、特定された単純化表面５５ａ、５５ｂの輪郭線５６上で１対の端点すなわち上端５８ａおよび下端５８ｂを特定する。こういった端点５８ａ、５８ｂは塗装範囲すなわち単純化表面５５ａ、５５ｂの切れ目で規定される。第１演算処理回路４３は、図９に示されるように、配列された輪郭線５６の上端５８ａおよび下端５８ｂを交互に直線経路５９で連結していく。こうして直線経路５９によってジグザグな基準移動経路は描き出されることができる。
【００４９】
特定された各直線経路５９は、図１０に示されるように、単純化表面５５ａ、５５ｂに投影される。この投影によって、単純化表面５５ａ、５５ｂの輪郭線６１、すなわち、動作点の移動経路は描き出される。こうした投影にあたって、第１演算処理回路４３は、直線経路５９を含む切断平面６２で単純化表面５５ａ、５５ｂを輪切りにする。各切断平面６２は、物体座標系ＸＹＺのｙ座標軸に沿って各直線経路５９を平行移動させることによって規定されればよい。第１演算処理回路４３は、こうして規定された各切断平面６２上で単純化表面５５ａ、５５ｂの輪郭線６１を特定する。
【００５０】
各切断平面６２では、例えば図１１に示されるように、輪郭線６１上で第１および第２目標点６３、６４が抽出される。これら第１および第２目標点６３、６４は例えば前述の端点５８ａ、５８ｂと一致してもよい。第１および第２目標点６３、６４は直線６５で互いに連結される。第１演算処理回路４３は、描き出された直線６５に平行で第１および第２目標点６３、６４の間で輪郭線６１に外接する基準直線６６を特定する。複数本の基準直線６６が特定される場合には、第１および第２目標点６３、６４を連結する直線６５から最も離れた基準直線６６が抽出されればよい。こうして基準直線６６が特定されると、第１演算処理回路４３は、輪郭線６１および基準直線６６の接点すなわち第３目標点６７を特定する。
【００５１】
続いて第１演算処理回路４３は、図１２に示されるように、第１および第３目標点６３、６７の間や、第３および第２目標点６７、６４の間で同様な演算処理を実行する。第１および第３目標点６３、６７の間で描き出される基準直線６８によって第４目標点６９は特定される。同様に、第３および第２目標点６７、６４の間で描き出される基準直線７０によって第５目標点７１は特定される。特定された第１〜第５目標点６３、６４、６７、６９、７１では、各目標点６３、６４、６７、６９、７１で単純化表面５５ａ、５５ｂに直交する垂線の方向ベクトルが特定される。特定された第１〜第５目標点６３、６４、６７、６９、７１の三次元座標値や方向ベクトルのベクトル値は制御データとして出力される。各目標点６３、６４、６７、６９、７１によって塗装ガン２１の動作点は特定されることができる。塗装ガン２１の姿勢は各目標点６３、６４、６７、６９、７１ごとにベクトル値すなわち揺動角によって特定される。
【００５２】
こうして特定された各目標点６３、６４、６７、６９、７１が移動経路の動作点に用いられると、塗装ガン２１は単純化された移動経路を辿ることができる。したがって、塗装ロボット１８ａ、１８ｂでは塗装ガン２１の急激な姿勢変化は回避されることができる。塗装ガン２１の作業速度は高められることができる。しかも、塗装ガン２１の姿勢は塗装面の湾曲に応じて変化することから、仕上がりの美しさは著しく損なわれることはない。その上、前述のような基準直線６６、６８、７０に基づき動作点が特定されることから、塗装ガン２１が塗装面に著しく接近したり塗装面に衝突することも回避されることができる。
【００５３】
以上のような制御用データの生成方法では、目標点の個数は５個に限られることはなく、５個以下に減らされてもよく５個以上に増やされてもよい。目標点の個数は塗装の品質や塗装時間などに基づき任意に決定されればよい。
【００５４】
次に前述の単純化表面５５ａ、５５ｂの生成方法を詳述する。まず、第１演算処理回路４３は、例えば図１３に示されるように、物体座標系ＸＹＺのｘ座標軸に等間隔で左側サイドパネル１５ａの輪郭線７３を特定する。こうした輪郭線７３を特定するにあたって、第１演算処理回路４３は相互に平行な切断平面７４で左側サイドパネル１５ａを輪切りにする。切断平面７４は三次元座標系のｘ座標軸に直交する。隣接する切断平面７４同士の間隔は任意の値（例えばＷ／２）に設定されればよい。
【００５５】
続いて第１演算処理回路４３は、例えば図１４に示されるように、各切断平面７４に沿って左側サイドパネル１５ａの輪郭線７３を延長する。こうした輪郭線７３の延長にあたって、第１演算処理回路４３は、各切断平面７４内で輪郭線７３の端点７５を通過する直線７６を特定する。こういった直線７６は例えば物体座標系ＸＹＺのｚ座標軸に平行に描かれればよい。ここで、輪郭線７３の端点７５すなわち上端や下端は左側サイドパネル１５ａすなわち塗装面の切れ目を規定する。
【００５６】
その後、第１演算処理回路４３は、例えば図１５に示されるように、各輪郭線７３上で複数個（例えば５個）の操作点７７を特定する。こういった操作点７７は、前述のように上端および下端を連結する直線に平行で上端および下端の間で輪郭線７３に外接する基準直線に基づき抽出されてもよい（図１１および図１２参照）。操作点７７は、予め決められた基準に従って抽出されればよい。
【００５７】
第１演算処理回路４３は、特定された操作点７７を結び直して滑らかな疑似輪郭線７８を描き出す。疑似輪郭線７８はスプライン曲線などのパラメトリック曲線で表現されればよい。このとき、各操作点７７はスプライン曲線に制御点に用いられてもよい。こういった疑似輪郭線７８が描かれると、外板同士の継ぎ目やドアハンドル周辺の凹凸、ホイールハウス周りの段差、給油口といった開口などは除去されることができる。こうした継ぎ目や凹凸、段差、開口の除去にあたって、第１演算処理回路４３は、近隣のデータを対象に例えば最小二乗法といった計算処理を実現すればよい。
【００５８】
描き出された疑似輪郭線７８は各塗装ロボット１８ａ、１８ｂの塗布範囲ごとに分割される。こうして分割された疑似輪郭線７８が次々に結び付けられると、図７に示されるように、上下１対の単純化表面５５ａ、５５ｂは描き出されることができる。
【００５９】
なお、前述のように生成された制御用データは、前述のように車体１５を移動させながら車体１５の塗装を実現する自動車製造ライン１１に適用されることができるだけでなく、車体１５を停止させたまま塗装ガン２１のみを移動させて車体１５の塗装を実現する自動車製造ラインにも適用されることができる。また、そういった制御用データは、前述のように塗装ガンが装着された塗装ロボットに用いられることができるだけでなく、三次元物体の形状を正確になぞることなく加工その他の作業が実現される工作機その他のマニピュレータに用いられることができる。
【００６０】
【発明の効果】
以上のように本発明によれば、制御用データを生成するにあたって三次元物体の表面上で細かな溝や凹凸、段差、開口などが省略されることから、マニピュレータに装着される作業具の急激な姿勢変化は回避されることができる。
【図面の簡単な説明】
【図１】  自動車製造ラインの一部すなわち塗装ブースの構造を概略的に示す平面図である。
【図２】  塗装ロボットの構造を概略的に示す正面図およびブロック図である。
【図３】  位置決め制御回路の制御動作を示す概念図である。
【図４】  本発明に係るマニピュレータ向け制御用データの生成方法を実現するコンピュータシステムの構成を概略的に示すブロック図である。
【図５】  ディスプレイ装置の画面上に映し出される車体の全体像を概略的に示す図である。
【図６】  画面上で抽出された車体の左側サイドパネルの様子を概略的に示す図である。
【図７】  左側サイドパネルの表面に描き出された単純化表面の様子を概略的に示す図である。
【図８】  ｘ座標軸に沿って等間隔に特定される単純化表面の輪郭線を示す図である。
【図９】  ジグザグな基準移動経路の概念を示す図である。
【図１０】  単純化表面に描き出された動作点の移動経路を示す図である。
【図１１】  輪郭線上で抽出された第３目標点の概念を示す図である。
【図１２】  輪郭線上で抽出された第４および第５目標点の概念を示す図である。
【図１３】  ｘ座標軸に沿って等間隔に特定される左側サイドパネルの輪郭線を示す図である。
【図１４】  切断平面に沿って延長された輪郭線の概念を示す図である。
【図１５】  抽出された操作点に基づき生成された疑似輪郭線の概念を示す図である。
【符号の説明】
１５  三次元物体としての車体、１８ａ，１８ｂ  マニピュレータとしての塗装ロボット、２１  作業具としての塗装ガン、４５  記憶媒体としてのフロッピーディスク（ＦＤ）、４６  記憶媒体としてのコンパクトディスク（ＣＤ）、５５ａ，５５ｂ  単純化表面、６１  輪郭線（移動経路の投影像）、６２  切断平面、６３  第１目標点（動作点）、６４  第２目標点（動作点）、６６  基準直線、６７  接点としての第３目標点（動作点）、６８  基準直線、６９  接点としての第４目標点（動作点）、７０  基準直線、７１  接点としての第５目標点（動作点）７３  輪郭線、７４  切断平面、７５  端点、７６  端点を通過する直線、７７  操作点、７８  疑似輪郭線。
【図１】
0004282874.tif 000002
【図２】
0004282874.tif 000003
【図３】
0004282874.tif 000004
【図４】
0004282874.tif 000005
【図５】
0004282874.tif 000006
【図６】
0004282874.tif 000007
【図７】
0004282874.tif 000008
【図８】
0004282874.tif 000009
【図９】
0004282874.tif 000010
【図１０】
0004282874.tif 000011
【図１１】
0004282874.tif 000012
【図１２】
0004282874.tif 000013
【図１３】
0004282874.tif 000014
【図１４】
0004282874.tif 000015
【図１５】
0004282874.tif 000016