(57)【特許請求の範囲】
【請求項１】
ワーク上の全ての未処理打点の位置を示す打点データを取得する工程と、１作業ステーション当たりに許容される溶接ロボットの許容台数を示す許容台数データを取得する工程と、１作業ステーションが指定されると、その作業ステーション内で１溶接ロボットを指定する工程と、１溶接ロボットが指定されると、前記打点データに基づき、その１溶接ロボットに前記未処理打点を割り振り、割り振られた未処理打点を登録する工程と、１溶接ロボットに対して未処理打点が登録されるたびに溶接ロボットの台数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるまで新たに１溶接ロボットを指定する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに作業ステーション数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに、ワーク上の全ての未処理打点が登録されるまで新たに１作業ステーションを指定する工程とをコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項２】
請求項１に記載の作業ロボットのレイアウトシミュレーション方法において、指定された１溶接ロボットごとに、割り振られた１未処理打点に順番に打順を付与する工程と、打順が付与された未処理打点を溶接ロボットごとに特定するシミュレーション結果を出力する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項３】
請求項２に記載の作業ロボットのレイアウトシミュレーション方法において、打順を付与するたびに、その打順で特定される１未処理打点までに１溶接ロボットに装着された１スポット溶接ガンが費やす処理時間を算出する工程と、算出された処理時間が作業時間データで示される１作業ステーション当たりの最大作業時間に達するか否かを判定する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項４】
請求項３に記載の作業ロボットのレイアウトシミュレーション方法において、前記処理時間は、１対の未処理打点間で費やされるスポット溶接ガンの２点間移動時間を示す移動時間データを用いて算出されることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項５】
請求項４に記載の作業ロボットのレイアウトシミュレーション方法において、付与された打順に従って相前後する１対の未処理打点に対してスポット溶接ガンのアプローチ方向を規定するベクトルを特定する工程と、ベクトル同士の位置関係を検出する工程と、検出された位置関係に基づいて、溶接ロボットの姿勢変化の有無を判断する工程とをさらにコンピュータに実行させ、前記姿勢変化がないと判断されると、短ピッチ移動時間データで示されるスポット溶接ガンの短ピッチ移動時間を前記２点間移動時間に用いて前記処理時間が算出されることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項６】
請求項５に記載の作業ロボットのレイアウトシミュレーション方法において、前記短ピッチ移動時間データは１対の未処理打点ごとに個別に前記短ピッチ移動時間を特定することを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項７】
請求項５または６に記載の作業ロボットのレイアウトシミュレーション方法において、前記姿勢変化があると判断されると、姿勢変化時間データで示される溶接ロボットの姿勢変化時間を前記２点間移動時間に用いて前記処理時間が算出されることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項８】
請求項７に記載の作業ロボットのレイアウトシミュレーション方法において、前記姿勢変化時間データは１対の未処理打点ごとに個別に前記姿勢変化時間を特定することを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項９】
請求項４に記載の作業ロボットのレイアウトシミュレーション方法において、前記２点間移動時間は、溶接ロボットのオフラインティーチシステムで得られる２点間移動時間によって置き換えられることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１０】
請求項１に記載の作業ロボットのレイアウトシミュレーション方法において、指定された１溶接ロボットに対して最初に割り振られる第１未処理打点を特定する工程と、特定された第１未処理打点に基づいて前記１溶接ロボットの配置を決定する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１１】
請求項１０に記載の作業ロボットのレイアウトシミュレーション方法において、前記打点データで示される未処理打点ごとに使用可能なスポット溶接ガンを特定するガンデータを取得する工程と、前記ガンデータを用いて、前記第１未処理打点に対して１スポット溶接ガンを指定する工程と、前記ガンデータを用いて、指定された１スポット溶接ガンで処理される未処理打点を抽出する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１２】
請求項１０または１１に記載の作業ロボットのレイアウトシミュレーション方法において、各溶接ロボットに装着されるスポット溶接ガンの作動範囲を示す作動範囲データを取得する工程と、前記打点データに基づき、前記第１未処理打点を含む作動範囲を前記ワーク上で画定する工程と、画定された作動範囲に含まれる未処理打点を特定する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１３】
請求項１２に記載の作業ロボットのレイアウトシミュレーション方法において、前記ワーク上では、前記第１未処理打点を中心に描かれる球面によって前記作動範囲が規定されることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１４】
請求項１２に記載の作業ロボットのレイアウトシミュレーション方法において、決定された１溶接ロボットの配置に基づいて前記ワークに対する１溶接ロボットの位置関係を特定する工程と、１溶接ロボット固有の座標軸空間で特定される前記作動範囲を前記ワーク上に投影する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１５】
請求項１〜１４のいずれかに記載の作業ロボットのレイアウトシミュレーション方法において、前記打点データで示される未処理打点ごとに、前記ワークの特性によって必然的に決定される打順を特定する打順データを取得する工程と、前記打順データに基づき、打順の若い未処理打点を優先的に割り振る工程とをコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１６】
ワーク上の全ての未処理作業点の位置を示す作業点データを取得する工程と、１作業ステーション当たりに許容される作業ロボットの許容台数を示す許容台数データを取得する工程と、１作業ステーションが指定されると、その作業ステーション内で１作業ロボットを指定する工程と、１作業ロボットが指定されると、前記作業点データに基づき、その１作業ロボットに前記未処理作業点を割り振り、割り振られた未処理作業点を登録する工程と、１作業ロボットに対して未処理作業点が登録されるたびに作業ロボットの台数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるまで新たに１作業ロボットを指定する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに作業ステーション数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに、ワーク上の全ての未処理作業点が登録されるまで新たに１作業ステーションを指定する工程とをコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１７】
請求項１６に記載の作業ロボットのレイアウトシミュレーション方法において、指定された１作業ロボットごとに、割り振られた１未処理作業点に順番に作業順を付与する工程と、作業順が付与された未処理作業点を作業ロボットごとに特定するシミュレーション結果を出力する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１８】
請求項１７に記載の作業ロボットのレイアウトシミュレーション方法において、作業順を付与するたびに、その作業順で特定される１未処理作業点までに１作業ロボットに装着された１作業ツールが費やす処理時間を算出する工程と、算出された処理時間が作業時間データで示される１作業ステーション当たりの最大作業時間に達するか否かを判定する工程とをさらにコンピュータに実行させることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項１９】
請求項１８に記載の作業ロボットのレイアウトシミュレーション方法において、前記処理時間は、１対の未処理作業点間で費やされる作業ツールの２点間移動時間を示す移動時間データを用いて算出されることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項２０】
請求項１９に記載の作業ロボットのレイアウトシミュレーション方法において、前記２点間移動時間は、作業ロボットのオフラインティーチシステムで得られる２点間移動時間によって置き換えられることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項２１】
請求項１６〜２０のいずれかに記載の作業ロボットのレイアウトシミュレーション方法において、前記作業ツールは、少なくとも２部材を互いに接合する接合ツールであることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項２２】
請求項２１に記載の作業ロボットのレイアウトシミュレーション方法において、前記接合には、少なくとも、溶接、ボルト打ちおよびリベット打ちのいずれか１つが含まれることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項２３】
請求項２２に記載の作業ロボットのレイアウトシミュレーション方法において、前記溶接にはスポット溶接が含まれることを特徴とする作業ロボットのレイアウトシミュレーション方法。
【請求項２４】
ワーク上の全ての未処理打点の位置を示す打点データを取得する工程と、１作業ステーション当たりに許容される溶接ロボットの許容台数を示す許容台数データを取得する工程と、１作業ステーションが指定されると、その作業ステーション内で１溶接ロボットを指定する工程と、１溶接ロボットが指定されると、前記打点データに基づき、その１溶接ロボットに前記未処理打点を割り振り、割り振られた未処理打点を登録する工程と、１溶接ロボットに対して未処理打点が登録されるたびに溶接ロボットの台数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるまで新たに１溶接ロボットを指定する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに作業ステーション数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに、ワーク上の全ての未処理打点が登録されるまで新たに１作業ステーションを指定する工程とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２５】
請求項２４に記載の記録媒体において、指定された１溶接ロボットごとに、割り振られた１未処理打点に順番に打順を付与する工程と、打順が付与された未処理打点を溶接ロボットごとに特定するシミュレーション結果を出力する工程とをさらにコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２６】
請求項２５に記載の記録媒体において、打順を付与するたびに、その打順で特定される１未処理打点までに１溶接ロボットに装着された１スポット溶接ガンが費やす処理時間を算出する工程と、算出された処理時間が作業時間データで示される１作業ステーション当たりの最大作業時間に達するか否かを判定する工程とをさらにコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２７】
請求項２６に記載の記録媒体において、前記処理時間は、１対の未処理打点間で費やされるスポット溶接ガンの２点間移動時間を示す移動時間データを用いて算出されることを特徴とする記録媒体。
【請求項２８】
請求項２７に記載の記録媒体において、前記２点間移動時間は、溶接ロボットのオフラインティーチシステムで得られる２点間移動時間によって置き換えられることを特徴とする記録媒体。
【請求項２９】
ワーク上の全ての未処理作業点の位置を示す作業点データを取得する工程と、１作業ステーション当たりに許容される作業ロボットの許容台数を示す許容台数データを取得する工程と、１作業ステーションが指定されると、その作業ステーション内で１作業ロボットを指定する工程と、１作業ロボットが指定されると、前記作業点データに基づき、その１作業ロボットに前記未処理作業点を割り振り、割り振られた未処理作業点を登録する工程と、１作業ロボットに対して未処理作業点が登録されるたびに作業ロボットの台数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるまで新たに１作業ロボットを指定する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに作業ステーション数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに、ワーク上の全ての未処理作業点が登録されるまで新たに１作業ステーションを指定する工程とをコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば自動車の車体といったワークが流される生産ラインに、スポット溶接ガンといった作業ツールが装着される作業ロボットを仮想的にレイアウトする作業ロボットのレイアウトシミュレーション方法に関する。
【０００２】
【従来の技術】
土地資源の乏しい日本では、限られた敷地内にできる限り多くの生産ラインを構築することが求められる。そのためには、１生産ライン当たりの作業ステーション数を減少させることが求められる。一般に、作業ステーション数の削減に伴って生産ラインが短縮されるからである。１品種当たりの生産ラインが短縮されれば、生産ライン同士を繋ぎ合わせることによって、１生産ラインを用いた多品種混在生産を実現することもできる。１生産ライン当たりの作業ステーション数を削減するには、１作業ステーション当たりにできる限り数多くの作業ロボットを詰め込めばよい。
【０００３】
しかしながら、１作業ステーションに数多くの作業ロボットを詰め込むには様々な物理的制約を考慮しなければならない。例えば、１作業ステーションに数限りなく作業ロボットを配置することができるわけではない。ここでは、各作業ロボットの大きさや作動半径に起因する作業ロボット同士の干渉といった物理的制約が存在する。また、作業ロボット同士の干渉を回避しつつ最大数の作業ロボットが配置されたとしても、各作業ロボットに装着される作業ツールが必ずしも作業対象となるワーク上で処理すべき作業点に届くとは限らない。ここでは、作業ステーションに停止するワークの大きさや作業ロボットに装着される作業ツールの作動範囲といった物理的制約が存在する。その他、１作業ステーションに割り当てられる作業ツールの最大作業時間を考慮すれば、作業ツールの作業速度や移動速度、複数の作業ツール同士の作業同時性といった物理的制約も存在する。こうした様々な物理的制約を考慮しつつ作業ステーション数を削減するには、これまでのところ、熟練した作業者の経験則や勘に頼らざるを得えなかった。
【０００４】
【発明が解決しようとする課題】
近年、あらゆる分野でコンピュータによるシミュレーションが役立っている。こうしたシミュレーションを作業ロボットのレイアウトに適用することができれば、１生産ラインにおける作業ステーション数の削減に役立つと考えられる。しかしながら、前述した通り、作業ステーション数の算出には様々な物理的制約が絡んでおり、作業ロボットのレイアウトシミュレーションを実現する糸口さえ掴めなかったのが現状である。
【０００５】
本発明は、上記実状に鑑みてなされたもので、ワークに必要とされる一連の作業を配分しつつ作業ツールや作業ロボットのレイアウトを決定することができる作業ロボットのレイアウトシミュレーション方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明者らは、前述した作業ステーション数の削減が求められる生産ラインとして自動車製造の分野で知られる「増し打ちライン」に着眼した。この増し打ちラインでは、スポット溶接を用いて車体の骨格となる車体フレームが組み立てられる。スポット溶接は、作業ステーションに配置された溶接ロボットに装着されるスポット溶接ガンによって実施される。
【０００７】
上記目的を達成するために、本発明によれば、ワーク上の全ての未処理打点の位置を示す打点データを取得する工程と、１作業ステーション当たりに許容される溶接ロボットの許容台数を示す許容台数データを取得する工程と、１作業ステーションが指定されると、その作業ステーション内で１溶接ロボットを指定する工程と、１溶接ロボットが指定されると、前記打点データに基づき、その１溶接ロボットに前記未処理打点を割り振り、割り振られた未処理打点を登録する工程と、１溶接ロボットに対して未処理打点が登録されるたびに溶接ロボットの台数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるまで新たに１溶接ロボットを指定する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに作業ステーション数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに、ワーク上の全ての未処理打点が登録されるまで新たに１作業ステーションを指定する工程とを備えることを特徴とする作業ロボットのレイアウトシミュレーション方法が提供される。
【０００８】
一般に、生産ラインは、ワークが順番に通過する複数の作業ステーションを備える。作業ステーションでワークが停止する間に、作業ステーションに設置された溶接ロボットが作業を行う。ワークに対する一連の作業すなわちスポット溶接打点の処理は、ワークが全ての作業ステーションを通過した時点で完了されればよい。
【０００９】
例えばワークを製造するにあたって新たに生産ラインを編成する場合、本発明に係るレイアウトシミュレーション方法によれば、最初の作業ステーション内の第１溶接ロボットから順番に各溶接ロボットに未処理打点が割り振られていく。１溶接ロボットに対する割り振りが完了するたびに、溶接ロボットの台数が計数される。計数される台数が許容台数を超えるたびに作業ステーション数が計数される。ワーク上の全ての未処理打点が１生産ラインで完全に割り振られると、溶接ロボットごとに明らかとなる作業ステーション数の数値と溶接ロボットの台数とによって作業ステーションごとに溶接ロボットの構成が特定されることができるのである。
【００１０】
加えて、本発明に係るレイアウトシミュレーション方法は、指定された１溶接ロボットごとに、割り振られた１未処理打点に順番に打順を付与する工程と、打順が付与された未処理打点を溶接ロボットごとに特定するシミュレーション結果を出力する工程とをさらに備えることができる。こうして溶接ロボットごとに未処理打点の配分結果と打順とが出力されれば、それらの配分結果や打順に基づいて溶接ロボットに装着されるスポット溶接ガンの移動経路を決定することができる。移動経路の決定にあたっては、例えば溶接ロボットのコントローラを含むオフラインティーチシステムが用いられればよい。このオフラインティーチシステムによれば、例えば作業者の手でスポット溶接ガンを実際に移動させることによって移動経路が決定され、決定された移動経路を実現する溶接ロボットの動きがコントローラに記憶されることができる。
【００１１】
未処理打点を割り振るにあたって、本発明に係るレイアウトシミュレーション方法は、打順を付与するたびに、その打順で特定される１未処理打点までに１溶接ロボットに装着された１スポット溶接ガンが費やす処理時間を算出する工程と、算出された処理時間が作業時間データで示される１作業ステーション当たりの最大作業時間に達するか否かを判定する工程とをさらに備えることができる。一般に、生産ラインでは、１作業ステーションごとに作業時間が限定される。限定された作業時間すなわち最大作業時間内にスポット溶接ガンは処理を完了しなければならない。未処理打点が割り振られるたびに処理時間が最大作業時間と比較されれば、確実に最大作業時間内に処理される未処理打点のみが１スポット溶接ガンに割り振られることができる。
【００１２】
前記処理時間は、例えば、１対の未処理打点間で費やされるスポット溶接ガンの２点間移動時間を示す移動時間データを用いて算出されればよい。一般に、１対の未処理打点間の距離が異なったり、未処理打点間でスポット溶接ガンのアプローチ方向が異なったりすれば、それらの未処理打点間でスポット溶接ガンが費やす移動時間も異なってくる。したがって、２点間移動時間を考慮して処理時間を算出すれば、生産ラインの実情に則した信頼性の高いシミュレーション結果を提供することができるのである。
【００１３】
２点間移動時間は全ての１対の未処理打点間で共通に設定されてもよい。その一方で、レイアウトシミュレーション方法は、付与された打順に従って相前後する１対の未処理打点に対してスポット溶接ガンのアプローチ方向を規定するベクトルを特定する工程と、ベクトル同士の位置関係を検出する工程と、検出された位置関係に基づいて、溶接ロボットの姿勢変化の有無を判断する工程とを備えてもよい。こうして姿勢変化の有無に応じて２点間移動時間を区別することができれば、シミュレーション結果の信頼性を高めることができる。
【００１４】
この場合には、姿勢変化がないと判断されると、短ピッチ移動時間データで示されるスポット溶接ガンの短ピッチ移動時間を用いてスポット溶接ガンの前記処理時間が算出される。短ピッチ移動時間データによれば、２未処理打点間でスポット溶接ガンを直線的に移動させることができる場合のスポット溶接ガンの２点間移動時間が特定される。全ての該当する２未処理打点の組み合わせに対して共通に短ピッチ移動時間データが設定されれば、一義的に処理時間を算出することができ、シミュレーション方法の計算処理を簡略化することができる。その一方で、短ピッチ移動時間データは該当する２未処理打点の組み合わせに対して個別に設定されてもよい。シミュレーション結果の信頼性を一層高めることができるからである。例えば、短ピッチ移動時間データは２未処理打点間の距離に比例して設定されればよい。
【００１５】
また、姿勢変化があると判断されると、姿勢変化時間データで示される溶接ロボットの姿勢変化時間を用いてスポット溶接ガンの前記処理時間が算出される。姿勢変化時間データによれば、２未処理打点間で直線的にスポット溶接ガンを移動させることができず、一方の未処理打点を処理後に一旦ワークからスポット溶接ガンを後退させ、他方の未処理打点に向けてスポット溶接ガンを前進させる必要がある場合のスポット溶接ガンの２点間移動時間が特定される。全ての該当する２未処理打点の組み合わせに対して共通に姿勢変化時間データが設定されれば、一義的に処理時間を算出することができ、シミュレーション方法の計算処理を簡略化することができる。その一方で、姿勢変化時間データは該当する２未処理打点の組み合わせに対して個別に設定されてもよい。生産ラインの実情に則した信頼性の高いシミュレーション結果を提供することができるからである。例えば、姿勢変化時間データはスポット溶接ガンのアプローチ方向の角度偏差に比例して設定されればよい。
【００１６】
また、２点間移動時間は、溶接ロボットのオフラインティーチシステムで得られる２点間移動時間によって置き換えられてもよい。オフラインティーチシステムでは、本発明に係るレイアウトシミュレーション方法から出力される未処理打点の配分結果や打順に基づいて移動経路が決定されることができる。オフラインティーチシステムで移動経路が決定されると、決定された移動経路に応じて正確に２点間移動時間が算出されることができる。この実際の移動経路に応じた２点間移動時間に基づいて前述の処理時間が算出されれば、一層信頼性の高いシミュレーション結果が得られることとなる。
【００１７】
また、本発明に係るレイアウトシミュレーション方法は、指定された１溶接ロボットに対して最初に割り振られる第１未処理打点を特定する工程と、特定された第１未処理打点に基づいて前記１溶接ロボットの配置を決定する工程とをさらに備えてもよい。かかる構成によれば、作業ステーションごとの溶接ロボットの構成に加え、生産ライン全体や作業ステーションにおける各溶接ロボットの位置をシミュレーション結果として提供することが可能となる。
【００１８】
未処理打点を割り振るにあたって、レイアウトシミュレーション方法は、前記打点データで示される未処理打点ごとに使用可能なスポット溶接ガンを特定するガンデータを取得する工程と、前記ガンデータを用いて、前記第１未処理打点に対して１スポット溶接ガンを指定する工程と、前記ガンデータを用いて、指定された１スポット溶接ガンで処理される未処理打点を抽出する工程とをさらに備えてもよい。一般に、生産ラインでは、未処理打点の特性に応じて処理に用いられるスポット溶接ガンの種類が異なる。１スポット溶接ガンには必ずそのスポット溶接ガンで処理可能な未処理打点が割り振られなければならない。ガンデータに基づき未処理打点ごとに使用可能なスポット溶接ガンの種類が特定されれば、指定されたスポット溶接ガンで確実に処理される未処理打点を簡単に抽出することができるのである。こうして抽出された未処理打点を指定されたスポット溶接ガンに割り振れば、生産ラインの実情に則した信頼性の高いシミュレーション結果を提供することができる。
【００１９】
さらに、未処理打点を割り振るにあたって、レイアウトシミュレーション方法は、各溶接ロボットに装着されるスポット溶接ガンの作動範囲を示す作動範囲データを取得する工程と、前記打点データに基づき、前記第１未処理打点を含む作動範囲を前記ワーク上で画定する工程と、画定された作動範囲に含まれる未処理打点を特定する工程とをさらに備えてもよい。一般に、生産ラインでは、溶接ロボットの動きに基づいてスポット溶接ガンの作動範囲が限定されてしまう。この作動範囲外に存在する未処理打点をスポット溶接ガンが処理することができない。したがって、１スポット溶接ガンには必ず作動範囲内の未処理打点が割り振られなければならない。ワーク上でスポット溶接ガンの作動範囲が特定されれば、作動範囲に含まれる未処理打点を簡単に抽出することが可能となる。こうして抽出された未処理打点を１スポット溶接ガンに割り振れば、生産ラインの実情に則した信頼性の高いシミュレーション結果を提供することができる。
【００２０】
例えば、ワーク上では、前記第１未処理打点を中心に描かれる球面によって前記作動範囲が規定されてもよい。こうして第１未処理打点に基づいて一義的に作動範囲が画定されれば、シミュレーションの計算処理を簡略化することができる。その他、レイアウトシミュレーション方法は、決定された１溶接ロボットの配置に基づいて前記ワークに対する１溶接ロボットの位置関係を特定する工程と、１溶接ロボット固有の座標軸空間で特定される前記作動範囲を前記ワーク上に投影する工程とを備えることができる。こうして溶接ロボットごとに作動範囲が画定されれば、作動範囲を厳密に規定することができ、その結果、一層信頼性の高いシミュレーション結果を提供することができる。
【００２１】
さらにまた、未処理打点を割り振るにあたって、レイアウトシミュレーション方法は、前記打点データで示される未処理打点ごとに、前記ワークの特性によって必然的に決定される打順を特定する打順データを取得する工程と、前記打順データに基づき、打順の若い未処理打点を優先的に割り振る工程とを備えてもよい。一般に、ワーク上では、任意の構成部材に覆われてしまう打点が存在することがある。こういった打点は、ワークにそういった構成部材が取り付けられる以前に処理されなければならない。打順データによってそういった必然的な打順が特定されれば、ワークに必然的に生じる順番に従って未処理打点を割り振ることが可能となる。こうして必然的な打順に従って溶接ロボットに未処理打点が割り振られれば、処理作業の実情に則した信頼性の高いシミュレーション結果を提供することができることとなる。
【００２２】
以上の作業ロボットのレイアウトシミュレーション方法は、前述した通り溶接ロボットが配置される生産ラインに適用されることができるだけでなく、広く一般の生産ラインに適用されることができる。すなわち、本発明に係る作業ロボットのレイアウトシミュレーション方法は、ワーク上の全ての未処理作業点の位置を示す作業点データを取得する工程と、１作業ステーション当たりに許容される作業ロボットの許容台数を示す許容台数データを取得する工程と、１作業ステーションが指定されると、その作業ステーション内で１作業ロボットを指定する工程と、１作業ロボットが指定されると、前記作業点データに基づき、その１作業ロボットに前記未処理作業点を割り振り、割り振られた未処理作業点を登録する工程と、１作業ロボットに対して未処理作業点が登録されるたびに作業ロボットの台数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるまで新たに１作業ロボットを指定する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに作業ステーション数を計数する工程と、計数された台数が前記許容台数データで示される許容台数を超えるたびに、ワーク上の全ての未処理作業点が登録されるまで新たに１作業ステーションを指定する工程とを備えることができる。
【００２３】
ここで、作業ツールは、少なくとも２部材を互いに接合する接合ツールであればよく、そういった接合には、少なくとも、溶接、ボルト打ちおよびリベット打ちのいずれか１つが含まれることができる。ただし、これらの用途に限定されるわけではない。
【００２４】
なお、以上の作業ロボットのレイアウトシミュレーション方法はコンピュータを利用したソフトウェア処理によって実施されることができる。しかも、本発明に係る作業ロボットのレイアウトシミュレーション方法を実行するソフトウェアは、ＦＤ（フロッピーディスク）やＣＤ（コンパクトディスク）、ＤＶＤ（デジタルビデオディスク）といった可搬性の記録媒体に格納されて配布されることができる。
【００２５】
【発明の実施の形態】
以下、添付図面を参照しつつ本発明の一実施形態を説明する。
【００２６】
図１は自動車の車体フレームを製造する生産ラインの一具体例を示す。この生産ライン１０は、例えば、車体フレーム１１を構成する構成部材同士を少数のスポット溶接打点で接合し、車体フレーム１１の骨組みを組み立てる組み立てライン１２と、スポット溶接打点を打ち増して、組み立てられた骨組みの接合強度を向上させるいわゆる「増し打ちライン」１３とを備える。例えば、増し打ちライン１３には、入り口から出口に向かって９つの作業ステーション１３ａ〜１３ｉが設定される。各作業ステーション１３ａ〜１３ｉには複数台の溶接ロボット１４が配置される。こうした溶接ロボット１４の配置は、後述するように、例えば本発明に係る作業ロボットのレイアウトシミュレーション方法によって決定されることができる。決定された溶接ロボット１４の配置に応じて１生産ライン当たりの作業ステーション数ＳＴが決定されることとなる。
【００２７】
生産ライン１０には、全ての作業ステーション１３ａ〜１３ｉを通過するライン搬送装置１６が設けられる。このライン搬送装置１６は、生産ライン１０に沿って同期して間欠的に移動する複数の台車１７を備える。各台車１７は、所定の搬送時間Ｔｔで、例えば各作業ステーション１３ａ〜１３ｉから次の作業ステーションに移動する。作業ステーション１３ａ〜１３ｉでは、台車１７は、所定のタクト時間Ｔｑその位置に停止する。この停止の間に、各溶接ロボット１４に装着されたスポット溶接ガンが作業を実施する。台車１７に搭載された車体フレーム１１すなわちワークは、それらの移動および停止を繰り返しながら控え位置Ｐｓから最終位置Ｐｆまで運ばれ完全な車体フレーム１１に仕上げられていく。搬送時間Ｔｔは、一般に、台車１７を移動させるライン搬送装置１６の搬送速度によって規定される。
【００２８】
例えば図２に示されるように、各溶接ロボット１４は、先端にスポット溶接ガン１９が装着される例えば１本のアーム２０を備える。スポット溶接ガン１９の移動は、アーム基点２１に対するアーム２０の進退運動Ｍａ、首振り運動Ｍｂおよび回転運動Ｍｃによって規定される。スポット溶接ガン１９の移動範囲の最外縁によって、溶接ロボット１４のリーチに基づく作動範囲Ｏａは規定される。ただし、溶接ロボット１４のアーム２０は１以上の関節を備えていてもよい。
【００２９】
スポット溶接ガン１９には、例えば図３に示されるように、様々な形態のものＳＣＡ、ＳＣＢ…が存在する。車体フレーム１１上のスポット溶接打点の位置や向き、スポット溶接される打点の接合強度を始めとする様々な要因によって各スポット溶接打点に使用されるスポット溶接ガン１９の種類は異なる。各溶接ロボット１４に装着されるスポット溶接ガン１９の形態ＳＣＡ、ＳＣＢ…は、後述するように、例えば本発明に係る作業ロボットのレイアウトシミュレーション方法によって決定されることができる。
【００３０】
各溶接ロボット１４は、タクト時間Ｔｑ内に全ての作業を完了しなければならない。各溶接ロボット１４の作業に必要とされる作業時間は、例えば図４に示されるように、第１打点に対してスポット溶接ガン１９を接近させる際に費やされる前進時間Ｔｆや、最終打点からスポット溶接ガン１９を離反させる際に費やされる後退時間Ｔｂのほか、１対の打点間でスポット溶接ガン１９を移動させる際に費やされる短ピッチ移動時間Ｔｐおよび姿勢変化時間Ｔｃといった２点間移動時間によって特定されることができる。例えば、同一平面上に配置される連続した１対の打点間で直線的にスポット溶接ガン１９を移動させることができる場合には、短ピッチ移動時間Ｔｐが２点間移動時間に適用される。１対の打点間でスポット溶接ガン１９を移動させるにあたって、１対の打点間で直線的にスポット溶接ガン１９を移動させることができず、一方の打点を処理後に一旦車体フレーム１１からスポット溶接ガン１９を後退させ、他方の打点に向けてスポット溶接ガン１９を再び前進させる必要がある場合には、姿勢変化時間Ｔｃによって２点間移動時間が特定される。これらの移動時間パラメータは、一般に、アーム２０を駆動するサーボモータ（図示せず）の作動速度によって規定される。同時に、作業時間には、スポット溶接ガン１９に対する通電時間、ホールド時間およびＩ／Ｆ（インターフェース）時間の総計によって算出される溶接時間Ｔｗやガン開閉時間Ｔｇといったパラメータが含まれることができる。
【００３１】
いま、例えば図５に示される車体フレーム１１を製造するために新たに増し打ちライン１３を構築する場合を考える。車体フレーム１１上には、構成部材同士の接合強度を考慮して複数個のスポット溶接打点２３が設定される。各スポット溶接打点２３は、後述されるレイアウトシミュレーション方法によって第１作業ステーション１３ａから順番に溶接ロボット１４に配分されていく。スポット溶接打点２３は、後述するレイアウトシミュレーション方法の計算処理を簡略化するためにグループ化される。
【００３２】
図６は、本発明に係る作業ロボットのレイアウトシミュレーション方法を実現するＣＡＤ／ＣＡＭ（コンピュータ支援設計製造）システム２４を示す。このＣＡＤ／ＣＡＭシステム２４は、例えばＣＤ（コンパクトディスク）やＦＤ（フロッピーディスク）といった可搬性の記録媒体２５からシミュレーションソフトウェアを取り込み、取り込んだシミュレーションソフトウェアを実行するコンピュータ本体２６を備える。シミュレーションソフトウェアの実行にあたって、コンピュータ本体２６は、キーボードやマウスといった入力装置２７や、例えばディスクアレイ装置２８によって構築されるデータベースから必要な情報を受け取る。シミュレーションの結果は、ディスプレイ装置やプリンタ装置といった出力装置２９を通じて作業者に提示される。
【００３３】
このシミュレーションソフトウェアによれば、１作業ステーション当たりに許容される溶接ロボット１４の許容台数を示す許容台数データや、各溶接ロボット１４に装着されるスポット溶接ガン１９の作動範囲Ｏａを示す作動範囲データが入力装置２７から指定されると、１生産ライン１０に必要とされる作業ステーション数ＳＴや、各作業ステーション１３ａ〜１３ｉにおける溶接ロボット１４の構成のほか、各溶接ロボット１４に装着されるスポット溶接ガン１９の種類、各スポット溶接ガン１９に配分される車体フレーム１１上のスポット溶接打点２３や打順、といった情報が出力される。
【００３４】
シミュレーションによって得られるスポット溶接打点２３の配分結果や打順は、コンピュータ本体２６に接続されるオフラインティーチシステム３０に受け渡されることができる。このオフラインティーチシステム３０によれば、各溶接ロボット１４ごとに、受け取った配分結果と打順とに基づきスポット溶接ガン１９の移動経路が決定されることができる。
【００３５】
こうした移動経路の決定にあたっては、作業者の手で、溶接ロボット１４に装着されたスポット溶接ガン１９が実際に動かされる。作業者は、受け取った打順に従ってスポット溶接打点２３を次々に連結するようにスポット溶接ガン１９を移動させればよい。コントローラ３１は、その移動に必要とされるアーム２０の進退運動Ｍａ、首振り運動Ｍｂおよび回転運動Ｍｃを特定し記憶する。
【００３６】
こうした移動経路の覚え込ませすなわちオフラインティーチは、例えば生産ライン１０に沿って実際に溶接ロボット１４が配置された場合のように、溶接ロボット１４と車体フレーム１１との位置関係を確認しながら行われる。実際に生産ライン１０が稼動すると、コントローラ３１は、記憶したアーム２０の進退運動Ｍａ、首振り運動Ｍｂおよび回転運動Ｍｃに従って溶接ロボット１４を作動させ、作業者が設定した移動経路に従ってスポット溶接ガン１９を移動させる。
【００３７】
こうしてオフラインティーチシステム３０で移動経路が決定されると、決定された実際の移動経路に基づいて、個別具体的に、前述した前進時間Ｔｆや後退時間Ｔｂ、短ピッチ移動時間Ｔｐ、姿勢変化時間Ｔｃといったスポット溶接ガンの移動時間を正確に求めることができる。求められた移動時間は、後述するように、データベースにフィードバックされることができる。
【００３８】
シミュレーション結果には、特定された打順に従ってスポット溶接打点２３を次々に連結する仮想移動経路が含まれてもよい。こうした仮想移動経路を用いれば、作業者がコントローラ３１にスポット溶接ガン１９の動きを覚え込ませるに先立って、スポット溶接ガン１９の動きを作業者の目に確認させることができる。作業者は、確認した移動経路を土台に、自らの経験則を加え、新たに最適な移動経路を設定することができる。その結果、オフラインティーチにおける作業者の負担は軽減される。
【００３９】
次に、シミュレーションソフトウェアの実行に必要とされるデータベースの構造を詳述する。図６に示されるように、データベースは設備データ３２、ワークデータ３３およびオフラインティーチデータ３４に大きく区分けされる。設備データ３２には、増し打ちライン１３に付帯する設備の三次元ＣＡＤデータや、スポット溶接ガン１９の形態ごとに固有の占有空間を示す占有空間データが含まれる。設備の三次元ＣＡＤデータを用いれば、シミュレーションによって決定される増し打ちライン１３に沿った溶接ロボット１４の配置が特定されることができる。溶接ロボット１４の配置は、例えば、溶接ロボット１４が所属する作業ステーション１３ａ〜１３ｉの識別子と、各作業ステーション１３ａ〜１３ｉに仮想的に設定された三次元座標軸に基づく三次元座標値とによって特定されればよい。
【００４０】
占有空間データは、作業時にスポット溶接ガン１９が占有可能な最大占有空間を特定する。占有空間は、例えば図７に示すように、スポット溶接打点２３を中心に描かれ、スポット溶接ガン１９をすっぽりと囲む規定半径ｒの球面によって規定されればよい。こうした占有空間は、スポット溶接打点２３の三次元座標と半径ｒの大きさとによって簡単に特定されることができる。その一方で、スポット溶接ガン１９の形状を示す三次元形状データを用いてこうした占有空間を表現すれば、実際のスポット溶接ガン１９の占有空間に則した精度の高い占有空間を特定することができる。
【００４１】
その他、設備データ３２には、前述した搬送時間Ｔｔを一律的に示す搬送時間データや、タクト時間Ｔｑを一律的に示すタクト時間データが含まれる。タクト時間データすなわち作業時間データによって１作業ステーション当たりの最大作業時間すなわち各溶接ロボット１４の最大作業時間が特定される。
【００４２】
ワークデータ３３には、ワークすなわち車体フレーム１１上の全ての未処理打点の位置を示す打点データや、打点データで示される未処理打点ごとに、車体フレーム１１の特性によって必然的に決定される打順を特定する打順データ、打点データで示される未処理打点ごとに使用可能なスポット溶接ガンを特定するガンデータが含まれる。
【００４３】
打点データは、例えば図８および図９に示されるように、各スポット溶接打点２３の位置を三次元座標（Ｔ，Ｂ，Ｈ）によって特定する。座標Ｔは、例えば基準点ＣＣを基準に車体前後方向位置を規定する。座標Ｂは、基準点ＣＣを基準に車体幅方向位置すなわち奥行き方向位置を規定する。座標Ｈは、基準点ＣＣを基準に車体の高さ方向位置を規定する。こうした打点データは、例えばＣＡＤ／ＣＡＭシステム２４に取り込まれる車体フレーム１１の三次元設計データに基づいて算出されればよい。なお、図８および図９では、説明の便宜上、座標Ｂは無視されている。
【００４４】
図５を併せて参照すると明らかなように、この打点データでは、大分類「Ａ」〜「Ｋ」によって車体フレーム１１の部位ごとに未処理打点群が大まかに分類される。各大分類「Ａ」〜「Ｋ」は、同一のスポット溶接ガン１９で連続的に処理可能な未処理打点群を示す中分類「Ａ１」〜「Ｋ３」に細分化される。この細分化は、スポット溶接ガン１９のアプローチ方向やガン開閉時の姿勢に基づいて行われればよい。小分類「Ａ１−１」〜「Ｋ３−２」は、５打点を目安に未処理打点群をグループ化し、打点位置の明確化を図っている。打点データには、小分類「Ａ１−１」〜「Ｋ３−２」ごとに、所属する未処理打点の打点数および中央位置の三次元座標値が示される。ただし、このように未処理打点がグループ化される必要は必ずしもなく、全ての未処理打点が個々に独立に取り扱われてもよい。
【００４５】
また、車体フレーム１１では、任意の構成部材に覆われてしまう打点２３が存在する。こういった打点２３は、車体フレーム１１にそうした構成部材が取り付けられる以前に処理されなければならない。打順データは、例えば図８および図９に示されるように、そういった打点２３の処理順番を特定する。図８および図９では、順番付けが必要となる打点に「１」「２」「３」といった順番が表示され、順番に関係なく処理可能な打点には「−１」が表示されている。
【００４６】
打点データには、さらに、各未処理打点に必要とされる溶接時間Ｔｗを示す溶接時間データ（図示せず）が付加される。溶接時間データは、１小分類「Ａ１−１」〜「Ｋ３−２」ごとに、その小分類に所属する未処理打点に共通に溶接時間Ｔｗを特定してもよい。
【００４７】
ガンデータは、例えば図１０に示されるように、各中分類「Ａ１」〜「Ｋ３」ごとに使用可能なスポット溶接ガンの種類ＳＣＡ、ＳＣＢ…を特定する。車体フレーム１１上のスポット溶接打点２３の位置や向き、スポット溶接される打点２３の接合強度を始めとする様々な要因によって各スポット溶接打点２３の処理に使用されるべきスポット溶接ガン１９の種類は異なる。図１０から明らかなように、１つの中分類「Ａ１」〜「Ｋ３」に対して複数の種類ＳＣＡ、ＳＣＢ…のスポット溶接ガン１９が特定されていてもよい。
【００４８】
オフラインティーチデータ３４には、１溶接ロボット１４と１スポット溶接ガン１９との組み合わせごとに、スポット溶接ガン１９の作動範囲Ｏａを示す作動範囲データや、スポット溶接ガン１９のガン開閉時間Ｔｇを示すガン開閉時間データのほか、スポット溶接ガン１９の移動時間を示す移動時間データが含まれる。
【００４９】
作動範囲データは、例えば、アーム基点２１に原点が設定された各溶接ロボット１４固有の三次元座標軸に基づく三次元座標値によって作動範囲Ｏａを特定する。作動範囲Ｏａは、例えばアーム基点２１を中心に描かれ、アーム２０のリーチを半径とした球面によって規定されればよい。こうした作動範囲Ｏａは、アーム基点２１の三次元座標とアーム２０のリーチの大きさとによって簡単に特定されることができる。その一方で、溶接ロボット１４の各関節作動域を考慮した三次元のキネマティクス解でこうした作動範囲Ｏａを表現すれば、実際のスポット溶接ガン１９の作動範囲に則した厳密な作動範囲Ｏａを特定することができる。
【００５０】
移動時間データには、前進時間Ｔｆを示す前進時間データや、後退時間Ｔｂを示す後退時間データ、短ピッチ移動時間Ｔｐを示す短ピッチ移動時間データ、姿勢変化時間Ｔｃを示す姿勢変化時間データが含まれる。前進時間データや後退時間データは、全ての未処理打点に共通に前進時間Ｔｆや後退時間Ｔｂを特定することができる。短ピッチ移動時間データや姿勢変化時間データは、１対の未処理打点のあらゆる組み合わせに対して共通に短ピッチ移動時間Ｔｐや姿勢変化時間Ｔｃを特定することができる。こうした移動時間データを用いれば、レイアウトシミュレーション方法の計算処理は軽減される。
【００５１】
その一方で、前進時間データや後退時間データは、各未処理打点ごとに個別に前進時間Ｔｆや後退時間Ｔｂを特定することができ、短ピッチ移動時間データや姿勢変化時間データは、１対の未処理打点のあらゆる組み合わせに対して個別に２点間移動時間すなわち短ピッチ移動時間Ｔｐや姿勢変化時間Ｔｃを特定することができる。こうした移動時間データは、例えば各溶接ロボット１４ごとに、各関節の加減速に基づいて個別に推定されればよい。その他、短ピッチ移動時間データはスポット溶接打点２３間の距離に比例して設定されてもよく、姿勢変化時間データは２つのスポット溶接打点２３に対する距離およびアプローチ方向の角度偏差に比例して設定されてもよい。しかも、これらの移動時間データは、前述したようにオフラインティーチシステム３０で求められた前進時間Ｔｆや後退時間Ｔｂ、短ピッチ移動時間Ｔｐ、姿勢変化時間Ｔｃで置き換えられることができる。こうした移動時間データを用いれば、シミュレーション結果の信頼性を高めることができる。
【００５２】
次に本発明に係るレイアウトシミュレーション方法を詳述する。図１１に示されるように、ＣＡＤ／ＣＡＭシステム２４のコンピュータ本体２６はステップＳ１で設備データ３２を取得し、続いてステップＳ２でワークデータ３３を取得する。
【００５３】
ステップＳ３で、コンピュータ本体２６は、作業者に変数条件の入力を促す。入力を促された作業者は、入力装置２７を用いて、１作業ステーション当たりに許容される溶接ロボット１４の許容台数や、各溶接ロボット１４に装着されるスポット溶接ガン１９の作動範囲を指定する。指定された許容台数は許容台数データとして取り込まれる。許容台数は例えば１以上の整数Ｎで表現されればよい。作動範囲データは、前述したオフラインティーチデータ３４から取り込まれる。作業者が溶接ロボット１４の種類を指定すると、指定された種類の溶接ロボット１４に関するアーム基点２１の三次元座標値やアーム２０のリーチの大きさが特定されるのである。
【００５４】
コンピュータ本体２６は、必要な情報を取得すると、シミュレーション結果を算出し、算出したシミュレーション結果を出力する（ステップＳ４）。出力されるシミュレーション結果は、例えば図１２および図１３に示される打点配置結果データ４１によって構成されればよい。
【００５５】
この打点配置結果データ４１では、溶接ロボット指定欄４２に記入される２桁の数値で、各作業ステーションに割り振られる溶接ロボット１４の配置が特定される。１桁目の数値によって作業ステーションが特定され、２桁目の数値によって溶接ロボット１４が特定される。例えば、「１２」は、１番目の作業ステーションにおける２番目の溶接ロボット１４を示す。１桁目の数値の最大値によって１生産ラインに必要とされる総作業ステーション数ＳＴが特定される。溶接ロボット指定欄４２に記入される溶接ロボット１４の総数によって、１生産ラインに必要とされる総溶接ロボット数が明らかとなる。
【００５６】
打点配置結果データ４１の使用ガン欄４３によれば、溶接ロボット指定欄４２で指定される各溶接ロボット１４ごとに、装着されるスポット溶接ガン１９が特定される。
【００５７】
打点配置結果データ４１の打順欄４４には、使用ガン欄４３に記入されたスポット溶接ガン１９で処理される未処理打点が小分類「Ａ１−１」〜「Ｋ３−２」単位で示される。１から連続する数値は打順を示し、その数値に付随するカッコ付きの数値によって各小分類「Ａ１−１」〜「Ｋ３−２」に含まれる打点数が示される。その他の記号「ａ」「ｏ」「ｇ」「ｃ」の意味は後述される。スポット溶接ガン１９が装着された各溶接ロボット１４は、打順欄４４に打順「１」で示される打点（例えば「Ｈ３」や「Ｋ３−２」）に対向する位置で生産ライン１０に沿って配置されることとなる。
【００５８】
図１４を参照しつつシミュレーション結果の算出工程を詳述する。いま、許容台数データ＝３が入力された場合を考える。コンピュータ本体２６は、ステップＴ１で、作業ステーション数ＳＴの初期値＝１を記憶する。ステップＴ２では、記憶された作業ステーション数ＳＴの値に応じて１作業ステーションが指定される。この指定によって、まず、第１作業ステーションが指定される。
【００５９】
第１作業ステーションが指定されると、ステップＴ３で、溶接ロボット数ＲＢの初期値＝１が記憶される。ステップＴ４では、記憶された溶接ロボット数ＲＢに応じてその作業ステーション内で１溶接ロボットが指定される。この指定によって、第１作業ステーション内の第１溶接ロボットが指定される。この時点で、例えば図１５に示されるように、打点配置結果データ４１の溶接ロボット指定欄４２には、第１作業ステーションの第１溶接ロボットを示す「１１」が登録される。
【００６０】
第１溶接ロボットが指定されると、ステップＴ５で、その第１溶接ロボットに未処理打点が割り振られる。割り振り工程の詳細は後述される。割り振られた未処理打点は、図１６に示されるように、小分類「Ａ１−１」〜「Ｋ３−２」単位で打点配置結果データ４１の打順欄４４に登録される。登録される数値によって打順が特定される。打点データ上では、割り振られた未処理打点は消去される。
【００６１】
ステップＴ６では、割り振られた未処理打点に対して占有領域が設定される。１スポット溶接ガン１９が１スポット溶接打点２３を処理する間、その１スポット溶接ガン１９の占有領域に存在する他のスポット溶接打点２３を他のスポット溶接ガン１９が処理することはできない。他のスポット溶接ガン１９がその占有領域に侵入すると、スポット溶接ガン１９同士が衝突してしまうからである。この占有領域の設定によれば、同一の作業ステーション内で同居する他のスポット溶接ガン１９が踏み込めない干渉領域が画定されることとなる。
【００６２】
例えば溶接ロボット「１１」に対して未処理打点の小分類「Ｈ３」「Ｂ１−１」〜「Ｂ１−３」「Ａ６−１」〜「Ａ８」が割り振られると、図１７に示されるように、それらの未処理打点の占有領域４５が設定される。こうした占有領域４５は、設備データ３２に含まれる占有空間データに基づいて規定されるスポット溶接ガン１９の占有空間を車体フレーム１１に投影させることによって画定されればよい。球面によって占有空間が表現されていれば、未処理打点の三次元座標値と規定半径ｒとによって簡単に占有空間を車体フレーム１１に投影させることができる。その一方で、スポット溶接ガン１９の形状を示す三次元形状データで占有空間が表現されていれば、占有領域を一層厳密に画定することができ、シミュレーション結果の信頼性を高めることができる。この占有領域４５が設定された後、同一作業ステーション内で新たに溶接ロボット「１２」が指定されると、図１２および図１３に示されるように、打点配置結果データ４１の打順欄４４では、占有領域４５に含まれる未処理打点に対して「ｃ」表示が登録される。この「ｃ」表示は、同一作業ステーション内でスポット溶接ガン１９同士の干渉によって未処理打点の割り振りが不可能であることを示している。
【００６３】
第１溶接ロボットに対する未処理打点の割り振りが登録されると、ステップＴ７で溶接ロボット数ＲＢが計数される。ステップＴ８では、計数された溶接ロボット数ＲＢが許容台数データで示される許容台数＝３と比較される。溶接ロボット数ＲＢが許容台数＝３を超えないので、ステップＴ４に戻って、溶接ロボット数ＲＢの値に基づいて新たに第２溶接ロボットが指定される。この指定によって、図１８に示すように、第１作業ステーション内の第２溶接ロボットを示す「１２」が打点配置結果データ４１の溶接ロボット指定欄４２に登録される。第２溶接ロボットが指定されると、ステップＴ４〜Ｔ７の処理が実施される。
【００６４】
ステップＴ４〜Ｔ７の処理は、ステップＴ７で計数される溶接ロボット数ＲＢが許容台数＝３を超えるまで繰り返される。溶接ロボット数ＲＢが許容台数＝３を超えた時点で、第１作業ステーション内の３つの溶接ロボット「１１」「１２」「１３」に対して未処理打点の割り振りが完了される。
【００６５】
ステップＴ７で計数された溶接ロボット数ＲＢが許容台数を超えると、ステップＴ９で作業ステーション数ＳＴが計数される。続いて、ステップＴ１０で、１作業ステーションに対して設定されていた占有領域４５が解除される。この解除によって、新たな作業ステーションに対して占有領域４５が白紙化される。その後、ステップＴ１１で、打点データ内に未処理打点が残存するか否かが判断される。未処理打点が残存していれば、ステップＴ２に戻って、作業ステーション数ＳＴの値に基づいて新たに１作業ステーションが指定される。この指定によって、第２作業ステーションが指定されることとなる。
【００６６】
第２作業ステーションが指定されると、ステップＴ３、Ｔ４で、第２作業ステーション内の第１溶接ロボットを示す「２１」が打点配置結果データ４１の溶接ロボット指定欄４２に登録される。この第２作業ステーションに対してステップＴ４〜Ｔ８の処理が繰り返される結果、第２作業ステーション内の３つの溶接ロボット「２１」「２２」「２３」に対して割り振られた未処理打点が打点配置結果データ４１に登録される。
【００６７】
第２作業ステーションに対して未処理打点の登録が完了すると、再びステップＴ２に戻って新たに１作業ステーションが指定される。この指定によって第３作業ステーションが指定されることとなる。その結果、この第３作業ステーションに対してステップＴ３〜Ｔ１０の処理が実施される。
【００６８】
こうしてステップＴ２〜Ｔ１１の処理が繰り返され、車体フレーム１１上の全ての未処理打点が打点配置結果データ４１に登録される。その結果、割り振られるべき未処理打点が存在しないことがステップＴ１１で検出され、ステップＴ１２で打点配置結果データ４１が出力される。
【００６９】
なお、第２作業ステーション以降では、ステップＴ８で溶接ロボット数ＲＢが許容台数を超えるまでに、干渉などの影響によって、未処理打点が残存するにも拘らず未処理打点が全く割り振られない溶接ロボット１４が存在することがある。例えば図１３に示されるように、溶接ロボット「４２」では、溶接ロボット「４１」との干渉によって全ての未処理打点を処理することはできない。その結果、未処理打点「Ｅ４−１」〜「Ｅ４−３」の処理は次作業ステーションの溶接ロボット「５１」に持ち越されている。この場合には、溶接ロボット指定欄４２に記入された「４３」の指定は消去されればよい。
【００７０】
次に、図１４のステップＴ５における打点配分の検討工程を詳述する。この工程では、例えば図１９に示されるように、ステップＰ１で、図１１のステップＳ２で取得された打順データに基づいて、各未処理打点の打順が検索される。検索の結果、最も若い打順「１」に相当する未処理打点が抽出される。例えば、打順「１」に相当する未処理打点が抽出されると、図１２に示されるように、打点配置結果データ４１の打順欄４４では、打順「２」「３」に相当する未処理打点に対して「ｏ」表示が登録される。この「ｏ」表示は、打順に起因して未処理打点の割り振りが不可能であることを示している。こうしてステップＰ２以降で、打順の若い未処理打点が優先的に１溶接ロボット１４に割り振られていくことになる。
【００７１】
ステップＰ２では、１作業ステーション内で先行する溶接ロボット１４に設定された占有領域４５が検出される。検出された占有領域４５以外の領域から、ステップＰ１で特定された打順の未処理打点群が呼び出される。特定された打順の全ての未処理打点が占有領域４５に含まれる場合には、打順に関係のない打順「−１」の未処理打点が呼び出されることとなる。
【００７２】
ステップＰ３では、呼び出された未処理打点群の中から、図１４のステップＴ４で指定された１溶接ロボット１４に対して最初に割り振られるべき第１未処理打点が抽出される。抽出された第１未処理打点に対して溶接ロボット１４が位置決めされる。位置決めにあたっては、作業ステーションに停止する車体フレーム１１の三次元座標空間に対して溶接ロボット１４固有の三次元座標空間が取り込まれればよい。第１未処理打点の抽出工程の詳細は後述される。
【００７３】
第１未処理打点が抽出されると、ステップＰ４で、図１１のステップＳ２で取得されたガンデータに基づいて、その第１未処理打点に適したデフォルトの１スポット溶接ガン１９が指定される。指定されたスポット溶接ガン１９を示す識別子「ＭＣＦ」は、図２０に示すように、打点配置結果データ４１の使用ガン欄４３に登録される。こうしてスポット溶接ガン「ＭＣＦ」が指定されると、図１２および図１３に示されるように、打点配置結果データ４１の打順欄４４では、指定されたスポット溶接ガン「ＭＣＦ」で処理することのできない未処理打点に対して「ｇ」表示が登録される。この「ｇ」表示は、スポット溶接ガンの種類に起因して未処理打点の割り振りが不可能であることを示している。
【００７４】
ステップＰ５で、指定されたスポット溶接ガン「ＭＣＦ」で処理される未処理打点が抽出され、抽出された未処理打点が１溶接ロボット１４に割り振られる。この打点配分の決定工程の詳細は後述される。
【００７５】
図２１に示すフローチャートを参照し、図１９のステップＰ３における第１未処理打点の抽出工程を詳述する。この工程では、図１９のステップＰ２で呼び出された未処理打点の中から、例えば、車体フレーム１１に設定された任意の基準点ＣＣから最も離れた未処理打点が抽出される。全ての未処理打点に対して基準点ＣＣからの距離ＤＢが算出され、算出された距離ＤＢの一番大きな未処理打点が選択されるのである。基準点ＣＣには、例えば図５に示されるように、三次元座標軸ＴＢＨに対して車体フレーム１１の中心座標（０，０，０）が選択されればよい。
【００７６】
まず、ステップＱ１でパラメータＤＡ＝０が設定される。ステップＱ２では、基準点ＣＣの三次元座標（０，０，０）に対する１未処理打点（Ｔ，Ｂ，Ｈ）の距離ＤＢが算出される。ステップＱ３で、算出された距離ＤＢがパラメータＤＡを超えていれば、ステップＱ４で、算出された距離ＤＢの値がパラメータＤＡに置き換えられる。パラメータＤＡが置き換えられると、ステップＱ５で、その未処理打点ＰＰの三次元座標（Ｔ，Ｂ，Ｈ）が記憶される。続いてステップＱ６で次の未処理打点を探しにいく。
【００７７】
ステップＱ３で、算出された距離ＤＢがパラメータＤＡを超えなければ、パラメータＤＡを置き換えずに次の未処理打点を探しにいく（ステップＱ６）。その結果、常に基準点ＣＣから最も離れた未処理打点ＰＰの三次元座標（Ｔ，Ｂ，Ｈ）が記憶され続ける。全ての未処理打点に対する基準点ＣＣからの距離が算出されると、ステップＱ７で、記憶された未処理打点が三次元座標（Ｔ，Ｂ，Ｈ）で特定されることとなる。打点配置結果データ４１の打順欄４４では、例えば図２０に示されるように、特定された第１未処理打点に対して打順「１」が登録される。
【００７８】
次に図２２に示すフローチャートを参照し、図１９のステップＰ５における打点配分の決定工程を詳述する。この決定工程では、まず、ステップＵ１で、以下の処理で用いられるパラメータＴ１、Ｔ２、ＴＯが初期化される。
【００７９】
ステップＵ２では、１溶接ロボット１４に最初に割り振られた第１未処理打点に対して、図１１のステップＳ３で指定された作動範囲Ｏａが画定される。この画定にあたっては、作動範囲データで示される作動範囲Ｏａが車体フレーム１１に対して投影される。作動範囲Ｏａは、例えば図２３に示されるように、第１未処理打点「Ｈ２」「Ｋ３−２」を中心に作動範囲データで示される半径の球面を車体フレーム１１に投影させることによって規定されてもよい。その他、図１９のステップＰ３で車体フレーム１１の三次元座標空間に取り込まれた溶接ロボット１４の位置を用いれば、溶接ロボットのアーム基点２１を中心に描かれる球面や、溶接ロボット１４の三次元キネマティクス解に基づいて作動範囲Ｏａは規定されることができる。こうして作動範囲Ｏａが画定されると、図１２および図１３に示されるように、打点配置結果データ４１の打順欄４４では、作動範囲Ｏａから外れる未処理打点に対して「ａ」表示が登録される。この「ａ」表示は、溶接ロボット１４の作動範囲に起因して未処理打点の割り振りが不可能であることを示している。
【００８０】
作動範囲Ｏａが画定されると、ステップＵ３で、図１９のステップＰ２で呼び出された未処理打点の中から、その作動範囲Ｏａに含まれる未処理打点が特定される。その後、ステップＵ４以下で、特定された未処理打点の中から、指定された１スポット溶接ガン１９で処理される未処理打点が抽出される。
【００８１】
詳述すると、ステップＵ４で、ガンデータを用いて、指定されたスポット溶接ガン１９で次に処理される次未処理打点が決定される。この次未処理打点には、第１未処理打点に最近の未処理打点が選択されればよい。決定された次未処理打点にはステップＵ５で打順が付与される。次未処理打点の打順「２」は打点配置結果データ４１の打順欄４４に登録される。
【００８２】
打順「２」が登録されると、第１未処理打点から第２未処理打点までスポット溶接ガン１９が移動する際に費やされる移動時間Ｔ１が取得される。未処理打点の組み合わせが特定されれば、前述したとおり、オフラインティーチデータ３４によって移動時間Ｔ１は特定されることができる。ただし、この場合には、１対の未処理打点のあらゆる組み合わせに対して２点間の移動時間Ｔ１を予め登録しておかなければならない。ここでは、溶接ロボットの姿勢変化の有無を判断し、その判断に基づいて短ピッチ移動時間Ｔｐや姿勢変化時間Ｔｃの規定値を用いて簡略的に移動時間Ｔ１を導き出すこととする。
【００８３】
まず、ステップＵ６で、第１および第２未処理打点４７、４８に対してスポット溶接ガン１９のアプローチ方向を規定するベクトル５０、５１を設定する。ベクトル５０、５１は、打点データに含まれる未処理打点の三次元座標値と、この三次元座標値で示される三次元座標点に対して設定されるベクトル値とによって特定されればよい。すなわち、ベクトル値を示すデータを予め打点データに付属させておけばよいのである。こうしたベクトルは、ＣＡＤ／ＣＡＭシステム２４に取り込まれる車体フレーム１１の三次元設計データや、溶接ロボット１４のコントローラ３１に記憶されるデータ等に基づいて特定されればよい。
【００８４】
２つのベクトル５０、５１が比較されると、スポット溶接ガン１９の姿勢変化の有無が判断される。例えば図２４に示されるように、第１未処理打点４７と第２未処理打点４８との間でスポット溶接ガン１９のアプローチ方向を規定するベクトル５０、５１同士が平行であれば、図２５に示されるように、溶接ロボット１４の姿勢変化を起因することなく、２つの未処理打点４７、４８間でスポット溶接ガン１９は直線的に移動することができる。これに対し、例えば図２６に示されるようにベクトル５０、５１同士が平行でなければ、図２７に示されるように、第１未処理打点４７を処理後に一旦車体フレーム１１からスポット溶接ガン１９を後退させ、第２未処理打点４８に向けてスポット溶接ガン１９を前進させる必要がある。したがって、１対のベクトル５０、５１を比較すれば溶接ロボット１４の姿勢変化の有無を判断することができるのである。
【００８５】
ステップＵ６で姿勢変化がないと判断されれば、ステップＵ７で短ピッチ移動時間Ｔｐの規定値が取得される。その一方で、姿勢変化があると判断されれば、ステップＵ７で姿勢変化時間Ｔｃの規定値が取得される。いずれの場合でも、取得された規定値は、２つの未処理打点４７、４８間で必要とされる短ピッチ移動時間データまたは姿勢変化時間データとしてオフラインティーチデータ３４に登録される。こうしてシミュレーションを実行しながら該当する２未処理打点間の移動時間Ｔ１が特定されるのである。
【００８６】
移動時間Ｔ１が取得されると、ステップＵ８で、第１未処理打点４７から第２未処理打点４８までの総移動時間Ｔ２が算出される。ここでは、前回までの総移動時間Ｔ２＝０であるから、移動時間Ｔ１がそのまま総移動時間Ｔ２に置き換えられる。
【００８７】
ステップＵ９では、算出された総移動時間Ｔ２に基づいて、第１未処理打点４７から第２未処理打点４８までの処理時間ＴＯが算出される。この算出にあたっては、設備データ３２からガン開閉時間データが取得され、ワークデータ３３から溶接時間データが取得され、オフラインティーチデータ３４から前進時間データや後退時間データが取得される。例えば溶接ロボット１４の姿勢が変化しない場合、例えば図２５に示すように、処理時間ＴＯは、第１未処理打点４７までの前進時間Ｔｆ、第１未処理打点４７から第２未処理打点４８までの短ピッチ移動時間Ｔｐ、第２未処理打点４８からの後退時間Ｔｂ、第１および第２未処理打点４７、４８での溶接時間Ｔｗおよびガン開閉時間Ｔｇなどによって特定される。溶接ロボット１４の姿勢が変化する場合、例えば図２７に示すように、処理時間ＴＯには、図２５の短ピッチ移動時間Ｔｐに代えて、姿勢変化時間Ｔｃが含まれることとなる。
【００８８】
算出された処理時間ＴＯは、ステップＵ１０で、タクト時間データすなわち最大作業時間データで示される最大作業時間と比較される。処理時間ＴＯが最大作業時間を超えていれば、ステップＵ１１に進み、打点配分は完了する。第２未処理打点４８の処理が最大作業時間内に終了しないと判断され、第２未処理打点４８の割り振りは失敗に終わる。指定された溶接ロボット１４には第１未処理打点のみが配分されることとなる。その一方で、処理時間ＴＯが最大作業時間を超えていなければ、ステップＵ１２で、第２未処理打点が前未処理打点として登録され、処理工程はステップＵ４に戻る。
【００８９】
ステップＵ４では、再び次未処理打点が検出される。この次未処理打点には、既に割り振られた第２未処理打点４８に最近の未処理打点が選択されればよい。検出されなければ、ステップＵ１１に進み、打点配分は完了する。１溶接ロボット１４に配分された未処理打点や打順は図１４の後工程に引き渡される。こうして打順が特定されれば、打順に従って移動するスポット溶接ガン１９の移動経路が設定されてもよい。例えば、２つのベクトル５０、５１を用いれば、第１未処理打点４７に接近する際の移動経路や第２未処理打点４８から離反する際の移動経路は特定されることができる。溶接ロボット１４の姿勢変化がなければ、２つの打点同士４７、４８を直線的に連結することで移動経路は特定されることができ、姿勢変化があれば、２つのベクトル５０、５１の基点同士を連結することで移動経路は特定されることができる（図２５および図２７を参照のこと）。
【００９０】
図２８に示すように再び次未処理打点４９が検出されると、ステップＵ５で次未処理打点４９に打順「３」が付与される。付与された打順「３」は打点配置結果データ４１の打順欄４４に登録される。こうして打順「３」が登録されると、前述と同様に、第２および第３未処理打点４８、４９間でベクトル５１、５３が比較され（ステップＵ６）、比較結果に基づいて第２未処理打点４８から第３未処理打点４９までの移動時間Ｔ１が取得される。
【００９１】
続いてステップＵ８では、取得された移動時間Ｔ１に基づいて総移動時間Ｔ２が算出される。ここでは、前回記憶された総移動時間Ｔ２に、今回算出された移動時間Ｔ１が加えられる。前回の総移動時間Ｔ２は、こうして移動時間Ｔ１が加えられた総移動時間Ｔ２によって置き換えられる。
【００９２】
総移動時間Ｔ２が算出されると、ステップＵ９で、第１未処理打点４７から第３未処理打点４９までの処理時間ＴＯが算出される。その結果、第１〜第３未処理打点４７〜４９で溶接ロボット１４の姿勢が全く変化しない場合には、例えば図２９に示すように、処理時間ＴＯは、第１未処理打点４７までの前進時間Ｔｆ、第１未処理打点４７から第３未処理打点４９までの２短ピッチ移動時間Ｔｐ、第３未処理打点４９からの後退時間Ｔｂ、第１〜第３未処理打点４７〜４９での溶接時間Ｔｗおよびガン開閉時間Ｔｇなどによって特定される。
【００９３】
算出された処理時間ＴＯは、ステップＵ１０で再び最大作業時間と比較される。処理時間ＴＯが最大作業時間を超えていれば、ステップＵ１１に進み、打点配分は完了する。ここでは、第３未処理打点４９の処理が最大作業時間内に終了しないと判断され、第３未処理打点４９の割り振りは失敗に終わる。その結果、指定された１溶接ロボット１４に、第１および第２未処理打点４７、４８が配分される。こうした配分結果と打順とは図１４の後工程に引き渡される。
【００９４】
処理時間ＴＯが最大作業時間を超えていなければ、ステップＵ１２で、第３未処理打点４９が前未処理打点に置き換えられ、処理工程は再びステップＵ４に戻る。ステップＵ４以下の処理工程が再び実行される。こうして、ステップＵ１０で処理時間ＴＯが最大作業時間を超えるまで、あるいは、ステップＵ４で次未処理打点が検出されなくなるまで、ステップＵ４〜Ｕ１２の処理工程が繰り返されていく。その結果、指定された１溶接ロボット１４に対して未処理打点が配分されるのである。ステップＵ１１では、指定された溶接ロボットごとに、未処理打点の配分と打順とが図１４の後工程に引き渡されることとなる。
【００９５】
なお、本発明は、前述したいわゆる増し打ちラインを構築する際に用いられるだけでなく、同様に作業ロボットが配列されるその他の生産ラインを構築する際に用いられることができる。
【００９６】
【発明の効果】
以上のように本発明によれば、ワークに必要とされる一連の作業を配分しつつ作業ツールや作業ロボットのレイアウトを決定することができる。
【図面の簡単な説明】
【図１】自動車の車体フレームを製造する生産ラインの一具体例を示す概略平面図である。
【図２】溶接ロボットの一具体例を示す斜視図である。
【図３】各スポット溶接ガンの形状を示す図である。
【図４】各溶接ロボットの作業に必要とされる作業時間を算出する方法を示す模式図である。
【図５】車体フレーム上の打点群の一具体例を示す図である。
【図６】本発明に係る作業ロボットのレイアウトシミュレーション方法を実現するＣＡＤ／ＣＡＭ（コンピュータ支援設計製造）システムの構成を概略的に示すブロック図である。
【図７】占有領域の特定方法を示す図である。
【図８】打点データの構造を示す図である。
【図９】打点データの構造を示す図である。
【図１０】ガンデータの構造を示す図である。
【図１１】本発明に係る作業ロボットのレイアウトシミュレーション方法の処理工程を概略的に示すフローチャートである。
【図１２】シミュレーション結果となる打点配置結果データの構造を示す図である。
【図１３】シミュレーション結果となる打点配置結果データの構造を示す図である。
【図１４】シミュレーション結果の算出工程を示すフローチャートである。
【図１５】溶接ロボット指定欄に対する「１１」の登録を示す図である。
【図１６】打順欄に対する打順の登録を示す図である。
【図１７】車体フレーム上に設定された占有領域を示す図である。
【図１８】溶接ロボット指定欄に対する「１２」の登録を示す図である。
【図１９】打点配分の検討工程を示すフローチャートである。
【図２０】第１未処理打点に対する１スポット溶接ガン「ＭＣＦ」の登録を示す図である。
【図２１】第１未処理打点の抽出工程を示すフローチャートである。
【図２２】打点配分の決定工程を示すフローチャートである。
【図２３】車体フレーム上に設定された作動範囲を示す図である。
【図２４】溶接ロボットの姿勢が変化しない場合に第１および第２未処理打点に対してアプローチ方向を規定するベクトルを示す図である。
【図２５】溶接ロボットの姿勢が変化しない場合に第１および第２未処理打点に対して想定される処理時間を示す図である。
【図２６】溶接ロボットの姿勢が変化する場合に第１および第２未処理打点に対してアプローチ方向を規定するベクトルを示す図である。
【図２７】溶接ロボットの姿勢が変化する場合に第１および第２未処理打点に対して想定される処理時間を示す図である。
【図２８】第２および第３未処理打点に対してアプローチ方向を規定するベクトルを示す図である。
【図２９】第１〜第３未処理打点に対して想定される処理時間を示す図である。
【符号の説明】
１０  生産ライン、１１  ワークとしての車体フレーム、１３ａ〜１３ｉ  作業ステーション、１４  溶接ロボット、１９  スポット溶接ガン、２３  スポット溶接打点、３０  オフラインティーチシステム、３１  コントローラ、３２  作業時間データを含む設備データ、３３  打点データ、打順データおよびガンデータを含むワークデータ、３４  作動範囲データ、短ピッチ移動時間データおよび姿勢変化時間データを含むオフラインティデータ、５０，５１，５３  ベクトル、Ｏａ  作動範囲、ＴＯ  処理時間、Ｔｃ  ２点間移動時間としての姿勢変化時間、Ｔｐ  ２点間移動時間としての短ピッチ移動時間。
【図１】
0003576403.tif 000002
【図２】
0003576403.tif 000003
【図３】
0003576403.tif 000004
【図４】
0003576403.tif 000005
【図５】
0003576403.tif 000006
【図６】
0003576403.tif 000007
【図７】
0003576403.tif 000008
【図８】
0003576403.tif 000009
【図９】
0003576403.tif 000010
【図１０】
0003576403.tif 000011
【図１１】
0003576403.tif 000012
【図１２】
0003576403.tif 000013
【図１３】
0003576403.tif 000014
【図１４】
0003576403.tif 000015
【図１５】
0003576403.tif 000016
【図１６】
0003576403.tif 000017
【図１７】
0003576403.tif 000018
【図１８】
0003576403.tif 000019
【図１９】
0003576403.tif 000020
【図２０】
0003576403.tif 000021
【図２１】
0003576403.tif 000022
【図２２】
0003576403.tif 000023
【図２３】
0003576403.tif 000024
【図２４】
0003576403.tif 000025
【図２５】
0003576403.tif 000026
【図２６】
0003576403.tif 000027
【図２７】
0003576403.tif 000028
【図２８】
0003576403.tif 000029
【図２９】
0003576403.tif 000030