(57)【要約】【課題】特定の制御方向についてのみ積分器を適用する制御プログラムを容易に作成することが可能な技術を提供する。【解決手段】ロボット制御装置は、作業の動作フローを作成するための動作フロー作成領域を含む入力画面を表示装置に表示させる表示制御部を備える。表示制御部は、入力画面として、特定の制御方向について目標力と力検出器の測定力との差分に対して積分器を適用するか否かの設定を行うための第１画面領域と、積分器における積分ゲインの調整を行うことが可能な第２画面領域と、を表示可能に構成されている。【選択図】図１２
2019141937.tif 000002
【特許請求の範囲】
【請求項１】
力検出器を備えるロボットの作業の制御プログラムを作成するロボット制御装置であって、
作業の動作フローを作成するための動作フロー作成領域を含む入力画面を表示装置に表示させる表示制御部と、
前記動作フロー作成領域で作成された動作フローを制御プログラムに変換する変換部と、
前記制御プログラムを実行して前記ロボットを制御する制御実行部と、
を備え、
前記表示制御部は、前記入力画面として、特定の制御方向について目標力と前記力検出器の測定力との差分に対して積分器を適用するか否かの設定を行うための画面と、前記積分器における積分ゲインの調整を行う画面と、を表示するように構成されている、ロボット制御装置。
【請求項２】
請求項１に記載のロボット制御装置であって、
前記表示制御部は、複数の制御方向のそれぞれについて前記積分器の適用の有無を独立に設定するように構成されている、ロボット制御装置。
【請求項３】
請求項１又は２に記載のロボット制御装置であって、
前記積分器が適用される場合には、前記目標力から前記測定力を減算して前記差分を求める減算器と、前記差分が入力される前記積分器と、前記差分と前記積分器の出力とを加算する加算器と、前記加算器の出力が入力される力制御器と、を含むように前記制御実行部が構成される、ロボット制御装置。
【請求項４】
請求項１〜３のいずれか一項に記載のロボット制御装置であって、
前記表示制御部は、作成された制御プログラムを実行して前記ロボットを動作させる実行命令を発行し、
前記表示制御部は、前記積分器を適用しない状態で作成された制御プログラムを実行して前記ロボットを動作させた時に、前記測定力と前記目標力との間の定常偏差が予め設定された閾値よりも大きい場合に、前記積分器の適用の設定を開始するためのダイアログボックスを表示する、ロボット制御装置。
【請求項５】
請求項１〜４のいずれか一項に記載のロボット制御装置であって、
前記表示制御部は、前記積分器を適用する制御方向については、前記測定力のオーバーシュートを低減するように力制御器のゲインを調整する、ロボット制御装置。
【請求項６】
力検出器を備えるロボットの作業の制御プログラムを作成するロボット制御装置であって、
プロセッサーを備え、
前記プロセッサーは、
（ａ）作業の動作フローを作成するための動作フロー作成領域を含む入力画面を表示装置に表示させ、
（ｂ）前記動作フロー作成領域で作成された動作フローを制御プログラムに変換し、
（ｃ）前記制御プログラムを実行して前記ロボットを制御する、
ように構成されており、
前記入力画面は、特定の制御方向について目標力と前記力検出器の測定力との差分に対して積分器を適用するか否かの設定を行うための第１画面領域と、前記積分器における積分ゲインの調整を行う第２画面領域と、を表示するように構成されている、ロボット制御装置。
【請求項７】
ロボットシステムであって、
力検出器を備えたロボットと、
前記ロボットの作業の制御プログラムを作成するロボット制御装置と、を備え、
前記ロボット制御装置は、プロセッサーを有し、
前記プロセッサーは、
（ａ）作業の動作フローを作成するための動作フロー作成領域を含む入力画面を表示装置に表示させ、
（ｂ）前記動作フロー作成領域で作成された動作フローを制御プログラムに変換し、
（ｃ）前記制御プログラムを実行して前記ロボットを制御する、
ように構成されており、
前記入力画面は、特定の制御方向について目標力と前記力検出器の測定力との差分に対して積分器を適用するか否かの設定を行うための第１画面領域と、前記積分器における積分ゲインの調整を行う第２画面領域と、を表示するように構成されている、
ロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置及びロボットシステムに関する。
【背景技術】
【０００２】
ティーチングプレイバック方式のロボットでは、教示された結果に基づきロボットの作業を表す制御プログラム（ジョブ）が作成される。ティーチングプレイバック方式とは、教示によって作成された制御プログラムを実行することによって、ロボットを動作させる方式を意味する。制御プログラムを作成する手順は、「ティーチング（教示）」と呼ばれており、従来から様々なティーチング方法が工夫されている。特許文献１では、力検出器を利用した力制御を実行するロボットの制御プログラムを作成するために、ロボットの動作のパラメーターを設定するためのガイダンス情報を教示装置の画面に表示する技術が開示されている。教示者（作業者）は、このガイダンス情報に従ってパラメーターを設定することによりティーチングを行うことが可能である。
【０００３】
ロボットの制御方法の一種として、力制御が知られている。力制御では、力検出器のフィードバックを利用して、所望の力を実現するようにロボットアームの動作が制御される。特許文献１では、力覚センサーを利用したロボットの力制御技術が開示されている。また、この従来技術では、目標力と測定力の差分に積分器を適用して、その定常偏差を解消する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０２−２４７７０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
目標力と測定力の差分に積分器を適用すると定常偏差は解消されるが、応答性に影響を与える。しかし、ユーザーには応答性を優先させたい場合もあるものの、ユーザーは、定常偏差を解消することを優先させるのか、ロボットの応答性を優先させるのかを選択できなかった。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題を解決するためになされたものであり、以下の形態（aspect）として実現することが可能である。
【０００７】
（１）本発明の第１の形態によれば、力検出器を備えるロボットの作業の制御プログラムを作成するロボット制御装置が提供される。このロボット制御装置は、作業の動作フローを作成するための動作フロー作成領域を含む入力画面を表示装置に表示させる表示制御部と；前記動作フロー作成領域で作成された動作フローを制御プログラムに変換する変換部と；前記制御プログラムを実行して前記ロボットを制御する制御実行部と；を備える。前記表示制御部は、前記入力画面として、特定の制御方向について目標力と前記力検出器の測定力との差分に対して積分器を適用するか否かの設定を行うための第１画面領域と、前記積分器における積分ゲインの調整を行う第２画面領域と、を表示するように構成されている。
【０００８】
（２）上記ロボット制御装置において、前記表示制御部は、複数の制御方向のそれぞれについて前記積分器の適用の有無を独立に設定するように構成されているものとしてもよい。
【０００９】
（３）上記ロボット制御装置において、前記積分器が適用される場合には、前記目標力から前記測定力を減算して前記差分を求める減算器と、前記差分が入力される前記積分器と、前記差分と前記積分器の出力とを加算する加算器と、前記加算器の出力が入力される力制御器と、を含むように前記制御実行部が構成されるものとしてもよい。
【００１０】
（４）上記ロボット制御装置において、前記表示制御部は、作成された制御プログラムを実行して前記ロボットを動作させる実行命令を発行し、前記表示制御部は、前記積分器を適用しない状態で作成された制御プログラムを実行して前記ロボットを動作させた時に、前記測定力と前記目標力との間の定常偏差が予め設定された閾値よりも大きい場合に、前記積分器の適用の設定を開始するためのダイアログボックスを表示するものとしてもよい。
【００１１】
（５）上記ロボット制御装置において、前記表示制御部は、前記積分器を適用する制御方向については、前記測定力のオーバーシュートを低減するように力制御器のゲインを調整するものとしてもよい。
【００１２】
本発明は、上記以外の種々の形態で実現することも可能である。例えば、ロボット制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体（non-transitory storage medium）等の形態で実現することができる。
【図面の簡単な説明】
【００１３】
【図１】ロボットシステムの斜視図。
【図２Ａ】複数のプロセッサーを有する制御装置の一例を示す概念図。
【図２Ｂ】複数のプロセッサーを有する制御装置の他の例を示す概念図。
【図３】制御装置の機能ブロック図。
【図４】制御装置の制御構造を示すブロック図。
【図５】ロボット制御プログラムの作成手順のフローチャート。
【図６Ａ】力検出器を用いる作業の制御プログラムの作成手順を示す説明図。
【図６Ｂ】力検出器を用いる作業の制御プログラムの作成手順を示す説明図。
【図６Ｃ】力検出器を用いる作業の制御プログラムの作成手順を示す説明図。
【図６Ｄ】力検出器を用いる作業の制御プログラムの作成手順を示す説明図。
【図７】動作フローを構成する動作の分類と動作オブジェクトの例を示す説明図。
【図８Ａ】接触オブジェクトの動作の概要を示す説明図。
【図８Ｂ】脱力オブジェクトの動作の概要を示す説明図。
【図８Ｃ】押付け探りオブジェクトの動作の概要を示す説明図。
【図８Ｄ】押付け移動オブジェクトの動作の概要を示す説明図。
【図９】動作フローに従って作業を実行した結果を示す画面の一例を示す説明図。
【図１０】積分器を適用するか否かの設定を行うための画面の一例を示す説明図。
【図１１】積分器の設定を開始するための入力画面の一例を示す説明図。
【図１２】積分ゲインの調整とその調整結果を示す画面の一例を示す説明図。
【発明を実施するための形態】
【００１４】
図１は、一実施形態におけるロボットシステムを示す斜視図である。このロボットシステムは、カメラ３０と、搬送装置５０と、ロボット１００と、ロボット制御装置２００と、を備えている。ロボット１００とロボット制御装置２００は、ケーブル又は無線を介して通信可能に接続される。
【００１５】
このロボット１００は、アーム１１０の先端にあるアームフランジ１２０に各種のエンドエフェクターを装着して使用される単腕ロボットである。アーム１１０は６つの関節Ｊ１〜Ｊ６を備える。関節Ｊ２、Ｊ３、Ｊ５は曲げ関節であり、関節Ｊ１、Ｊ４、Ｊ６はねじり関節である。関節Ｊ６の先端にあるアームフランジ１２０には、対象物（ワーク）に対して把持や加工等の作業を行うための各種のエンドエフェクターが装着される。アーム１１０の先端近傍の位置を、ツールセンターポイント（ＴＣＰ）として設定可能である。ＴＣＰは、エンドエフェクターの位置の基準として使用される位置であり、任意の位置に設定可能である。例えば、関節Ｊ６の回転軸上の所定位置をＴＣＰとして設定することができる。なお、本実施形態では６軸ロボットを用いているが、他の関節機構を有するロボットを使用してもよい。
【００１６】
ロボット１００は、アーム１１０の可動範囲内においてエンドエフェクターを任意の位置で任意の姿勢とすることができる。アームフランジ１２０には、力検出器１３０と、エンドエフェクター１４０とが設置されている。本実施形態ではエンドエフェクター１４０はグリッパーであるが、他の任意の種類のエンドエフェクターを使用可能である。力検出器１３０は、エンドエフェクター１４０に作用する３軸の力と、当該３軸まわりに作用するトルクとを計測する６軸センサーである。力検出器１３０は、固有の座標系であるセンサー座標系において互いに直交する３個の検出軸と平行な力の大きさと、当該３個の検出軸まわりのトルクの大きさとを検出する。なお、関節Ｊ６以外の関節Ｊ１〜Ｊ５のいずれか１つ以上に力検出器としての力センサーを備えても良い。なお、力検出器は、制御する方向の力やトルクを検出できればよく、力検出器１３０のように直接的に力やトルクを検出する手段や、ロボットの関節のトルクを検出して間接的に力やトルクを求める手段などを用いてもよい。また、力を制御する方向のみの力やトルクを検出してもよい。
【００１７】
ロボット１００が設置された空間を規定する座標系をロボット座標系と呼ぶ。ロボット座標系は、水平面上において互いに直交するｘ軸とｙ軸と、鉛直上向きを正方向とするｚ軸とによって規定される３次元の直交座標系である。また、ｘ軸周りの回転角をＲｘで表し、ｙ軸周りの回転角をＲｙで表し、ｚ軸周りの回転角をＲｚで表す。ｘ，ｙ，ｚ方向の位置により３次元空間における任意の位置を表現でき、Ｒｘ，Ｒｙ，Ｒｚ方向の回転角により３次元空間における任意の姿勢を表現できる。以下、「位置」と表記した場合、位置と姿勢（position and orientation）も意味し得ることとする。また、「力」と表記した場合、力とトルクも意味し得ることとする。
【００１８】
本実施形態において、搬送装置５０によってワークＷＫ２が搬送される。搬送装置５０は、搬送ローラー５０ａ，５０ｂを備えており、これらの搬送ローラー５０ａ，５０ｂを回転させることによって搬送面を移動させ、搬送面上に載置されたワークＷＫ２を搬送することができる。搬送装置５０の上方には、カメラ３０が設置されている。このカメラ３０は、搬送面上のワークＷＫ２が視野に含まれるように設置されている。ワークＷＫ２の上面には、嵌合孔Ｈ２が形成されている。エンドエフェクター１４０は、ワークＷＫ２の嵌合孔Ｈ２に、エンドエフェクター１４０で把持したワークＷＫ１を嵌合させる作業を行うことができる。なお、この嵌合作業は、搬送面を停止させた状態で行っても良く、或いは、搬送面を移動させつつ実行しても良い。但し、搬送装置５０やカメラ３０は省略可能である。
【００１９】
ロボット制御装置２００は、アーム１１０と、エンドエフェクター１４０と、搬送装置５０と、カメラ３０とを制御する。ロボット制御装置２００の機能は、例えば、プロセッサーとメモリーを備えるコンピューターがコンピュータープログラムを実行することによって実現される。
【００２０】
図２Ａは、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット１００及びその制御装置２００の他に、パーソナルコンピューター４００，４１０と、ＬＡＮなどのネットワーク環境を介して提供されるクラウドサービス５００とが描かれている。パーソナルコンピューター４００，４１０は、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス５００においてもプロセッサーとメモリーを利用可能である。これらの複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００２１】
図２Ｂは、複数のプロセッサーによってロボットの制御装置が構成される他の例を示す概念図である。この例では、ロボット１００の制御装置２００が、ロボット１００の中に格納されている点が図２Ａと異なる。この例においても、複数のプロセッサーの一部又は全部を利用して、ロボット１００の制御装置を実現することが可能である。
【００２２】
図３は、制御装置２００の機能を示すブロック図である。制御装置２００は、プロセッサー２１０とメモリー２２０と表示装置２６０と入力装置２７０とを備えている。メモリー２２０は、メインメモリーと不揮発性メモリーとを含む。プロセッサー２１０は、メモリー２２０に予め格納されたプログラム命令２２２を実行することにより、ロボット制御プログラム作成部２４０と制御実行部２５０の機能を実現する。ロボット制御プログラム作成部２４０は、表示制御部２４２と変換部２４４を含んでいる。表示制御部２４２は、ロボット１００の作業の動作フローを作成するための入力画面（後述）を表示装置２６０に表示させる。変換部２４４は、入力画面で作成された動作フローを制御プログラム２２４に変換する。変換された制御プログラム２２４は、メモリー２２０に格納される。制御プログラム２２４は、機械語などの低級言語で記述されていてもよく、或いは、ロボット言語などの高級言語で記述されていてもよい。制御実行部２５０は、こうして作成された制御プログラム２２４を実行することによって、作業の動作をロボット１００に実行させる。入力装置２７０は、キーボードやマウスなどの入力デバイスであり、教示者による入力や設定が入力装置２７０を用いて行われる。なお、ロボット制御プログラム作成部２４０と制御実行部２５０の機能の一部又は全部をハ―ドウェア回路で実現しても良い。ロボット制御プログラム作成部２４０の機能については更に後述する。
【００２３】
図４は、ロボット制御装置２００の制御構造の一例を示すブロック図である。ロボット制御装置２００は、メモリー２２０や制御実行部２５０の他に、制御器調整部２８０と、動作指令生成部２９０と、を備えている。
【００２４】
制御実行部２５０は、減算器２５１と、積分器２５２と、加算器２５３と、力制御器２５４と、指令合成器２５５と、位置制御器２５６と、を含んでいる。このような制御実行部２５０の構成は、ロボット制御プログラム作成部２４０（図３）で作成された制御プログラム２２４によって設定される。
【００２５】
減算器２５１は、目標力Ｆｔから、力検出器１３０で測定された測定力Ｆｍを減算することによって、それらの差分ΔＦを求める。目標力Ｆｔは、動作指令生成部２９０が制御プログラム２２４に従って設定した力制御の目標値である。なお、本実施形態では、目標力Ｆｔは、６軸方向の力（Ｆｘｔ，Ｆｙｔ，Ｆｚｔ，Ｔｘｔ，Ｔｙｔ，Ｔｚｔ）を含んでおり、測定力Ｆｍも６軸方向の力（Ｆｘｍ，Ｆｙｍ，Ｆｚｍ，Ｔｘｍ，Ｔｙｍ，Ｔｚｍ）を含んでいる。減算器２５１は、これらの６軸方向について、それぞれ差分ΔＦを算出する。従って、力の差分ΔＦは、６軸方向の差分（ΔＦｘ，ΔＦｙ，ΔＦｚ，ΔＴｘ，ΔＴｙ，ΔＴｚ）を含む。但し、力制御の対象とする軸方向としては、１つ以上の軸方向を選択可能であり、選択された軸方向についてのみについて力制御を実行することが可能である。
【００２６】
積分器２５２は、６軸方向の差分（ΔＦｘ，ΔＦｙ，ΔＦｚ，ΔＴｘ，ΔＴｙ，ΔＴｚ）のそれぞれについて積分演算を実行する６つの積分器を含む。６つの積分器２５２の適用の有無は、制御器調整部２８０が個々の積分器２５２をイネーブルするか否かに応じて６軸方向について独立に設定可能である。また、６つの積分器２５２における積分ゲインＫＩｊ（ｊは１〜６）も、制御器調整部２８０によってそれぞれ独立に設定可能である。なお、或る積分器２５２の積分ゲインＫＩｊをゼロに設定することは、その積分器２５２をディスエーブルすることと等価である。６軸方向の個々の積分器２５２を適用するか否かと、それらの積分ゲインＫＩｊとは、ロボット制御プログラム作成部２４０で作成される制御プログラム２２４においてそれぞれ設定される。
【００２７】
加算器２５３は、力の差分ΔＦと、積分器２５２の出力とを加算する。加算器２５３の出力は、力制御器２５４に入力される。力制御器２５４は、例えば、目標力Ｆｔと測定力Ｆｍの差分ΔＦを用いたインピーダンス制御の運動方程式に実行することにより、力由来補正量ΔＳを算出する。力由来補正量ΔＳとは、ＴＣＰが機械的インピーダンスを受けた場合に、目標力Ｆｔと測定力Ｆｍの差分ΔＦ（ｔ）を解消するために、ＴＣＰが移動すべき位置Ｓの大きさを意味する。ここで、「位置Ｓ」は、６軸方向の位置を意味する。インピーダンス制御は、以下の（１ａ）式又は（１ｂ）式に従って実行することが可能である。
【数１】
2019141937.tif 000003
【００２８】
（１ａ），（１ｂ）式の左辺は、ＴＣＰの位置Ｓの２階微分値に仮想慣性パラメーターＭを乗算した第１項と、ＴＣＰの位置Ｓの微分値に仮想粘性パラメーターＤを乗算した第２項と、ＴＣＰの位置Ｓに仮想弾性パラメーターＫを乗算した第３項とによって構成される。これらのパラメーターＭ，Ｄ，Ｋは、制御器調整部２８０が制御プログラム２２４に従って設定した値である。各パラメーターＭ，Ｄ，Ｋは、方向ごとに異なる値に設定してもよく、方向に拘わらず共通の値に設定してもよい。（１ａ），（１ｂ）式の右辺第１項は、目標力Ｆｔから測定力Ｆｍを減算した力偏差ΔＦ（ｔ）によって構成される。（１ｂ）式の右辺第２項は、積分器２５２による積分演算に相当する。
【００２９】
指令合成器２５５は、力制御器２５４から出力される力由来補正量ΔＳを、動作指令生成部２９０から与えられる位置目標値Ｓｔと加算することによって、位置制御の目標位置（Ｓｔ＋ΔＳ）を求める。なお、位置目標値Ｓｔは、動作指令生成部２９０が制御プログラム２２４に従って設定した位置制御の目標値である。この位置目標値Ｓｔは、６軸方向の成分（Ｘｔ，Ｙｔ，Ｚｔ，Ｒｘｔ，Ｒｙｔ，Ｒｚｔ）を含む。
【００３０】
位置制御器２５６は、指令合成器２５５から与えられる目標位置（Ｓｔ＋ΔＳ）と、ロボット１００の位置センサー１６０から与えられる測定位置Ｓｍとに応じて、位置制御を実行する。測定位置Ｓｍは、６軸方向の成分（Ｘｍ，Ｙｍ，Ｚｍ，Ｒｘｍ，Ｒｙｍ，Ｒｚｍ）を含む。なお、測定位置Ｓｍは、位置センサー１６０からの信号を基に間接的に決定してもよい。位置制御器２５６は、例えば、ＰＤ制御を実行する。位置制御器２５６の出力Ｄｃは、操作量としてロボット１００のアクチュエーターに供給される。
【００３１】
このように、ロボット制御装置２００は、複数の軸方向のうちの特定の制御方向について、目標力Ｆｔと測定力Ｆｔとの差分ΔＦに対して積分器２５２を適用するか否かを設定可能であり、また、積分器２５２における積分ゲインＫＩｊの調整を設定可能に構成されている。従って、特定の制御方向についてのみ積分器２５２を適用することが可能である。
【００３２】
なお、積分器２５２を適用する制御方向については、測定力のオーバーシュートを低減するように力制御器２５４のゲインを自動的に調整することが好ましい。具体的には、例えば、仮想粘性パラメーターＤを増大させることによってオーバーシュートを低減することが可能である。こうすれば、積分器２５２の適用によって測定力のオーバーシュートが過度に大きくなることを防止できる。
【００３３】
図５は、ロボット制御プログラムの作成手順を示すフローチャートであり、図６Ａ〜図６Ｄは、その手順の説明図である。図５の処理は、教示者がロボット制御プログラム作成部２４０を実現するアプリケーションプログラムを起動することによって開始される。
【００３４】
図６Ａは、ロボット制御プログラム作成部２４０が起動すると表示制御部２４２が表示装置２６０に表示するウィンドウＷ１の一例を示している。このウィンドウＷ１は、１つ以上の動作を含む作業の動作フローを作成するための入力画面に相当する。ウィンドウＷ１は、以下の領域を含んでいる。
（１）メインビュー領域ＭＶ：後述する動作オブジェクト及び条件分岐オフジェクトの選択肢や、制御プログラムの実行結果などを表示する領域である。
（２）動作フロー作成領域ＦＬ：複数のオブジェクトがグラフィカルに配置された動作フローを編集可能に表示する領域である。なお、動作フローで表される作業を「シーケンス」とも呼ぶ。
（３）シーケンス表示領域ＳＱ：シーケンスのツリー構造を表示する領域である。
（４）パラメーター設定領域ＰＲ：作業全体に関する作業パラメーターや、個々の動作に関する動作パラメーターの設定を行うための領域である。
（５）結果領域ＲＳ：制御プログラムの実行結果を表示する領域である。
（６）実行指示領域ＲＮ：制御プログラムの実行を指示するための領域である。
【００３５】
図６Ａの例では、ウィンドウＷ１内の複数の領域は、異なるフレームとして分割されているが、フレームに分割されていなくても良い。ウィンドウＷ１の左上には、作業の制御プログラムの作成手順の開始を指示するためのボタンＢＴ１が設けられている。教示者がボタンＢＴ１を押すと、図５のステップＳ１１０を開始するための入力画面が表示制御部２４２によって表示装置２６０に表示される。
【００３６】
図６Ｂは、ステップＳ１１０を開始するための入力画面としてのウィンドウＷ２の一例を示している。このウィンドウＷ２は、以下の領域を含んでいる。
（１）シーケンス名設定領域Ｆ２１：新たなシーケンスの名称を設定するための領域である。図６Ｂの例では、シーケンス名が「Ｓｅｑ１」と入力されている。
（２）ロボット選択領域Ｆ２２：使用するロボットのタイプを複数の選択肢から選択するための領域である。図６Ｂの例では、「ＲＢ１」というタイプのロボットが選択されている。
（３）シーケンスコピー指示領域Ｆ２３：既に作成済みのシーケンスをコピーすることを指定するための領域である。この領域には、例えば、予めメモリー２２０内に登録されている複数のシーケンスのシーケンス名がプルダウンメニューとして表示される。シーケンスコピーを使用する場合には、図６Ｃで説明する設定は不要となり、後述する図６Ｄの画面に移行する。
【００３７】
本実施形態では、シーケンスコピーを使用せずに図６Ｃの画面に進む。すなわち、図６Ｂにおいて、教示者がフィールドＦ２３の入力を行うこと無く「次へ」ボタンを押すと、表示装置２６０の表示内容が図６Ｃに示すウィンドウＷ１に変更される。
【００３８】
図６Ｃは、図６Ａに示したウィンドウＷ１において、動作フローの作成を開始する状態を示している。ウィンドウＷ１の各領域には以下のような内容が表示される。
（１）メインビュー領域ＭＶ：
動作フローを構成する動作や条件分岐の分類を示す複数のカテゴリーと、各カテゴリーに属するオブジェクトの名称及びアイコンと、オブジェクトの内容の説明と、オブジェクトの概要を示す図とが表示される。メインビュー領域ＭＶに表示されたオブジェクトは、ドラッグアンドドロップ等の操作によって動作フロー作成領域ＦＬ内の動作フローに任意に追加可能である。
（２）動作フロー作成領域ＦＬ：
１つ以上のオブジェクトがグラフィカルに配置された動作フローが編集可能に表示される。図６Ｄに示すように、動作フローの作成の開始時には、シーケンスのラベルを示すシーケンスブロックＳＢ１のみが動作フロー作成領域ＦＬ内に配置される。
（３）シーケンス表示領域ＳＱ：
動作フロー作成領域ＦＬに表示されたシーケンスのツリー構造が表示される。
（４）パラメーター設定領域ＰＲ：
動作フロー作成領域ＦＬに配置されたブロックのいずれかが選択されると、選択されたブロックに対するパラメーターが表示される。
【００３９】
図６Ｄは、ウィンドウＷ１の動作フロー作成領域ＦＬ内に、教示者が動作フローを作成した状態を示している。この例では、シーケンスブロックＳＢ１の後に、接触オブジェクトＯＢ１と、条件分岐オブジェクトＯＢ２と、押付け探りオブジェクトＯＢ３と、押付け移動オブジェクトＯＢ４のブロックがこの順に配置されている。各オブジェクトのブロックの中には、そのオブジェクトの名称とアイコンとが表示される。４つのオブジェクトＯＢ１〜ＯＢ４のうち、条件分岐オブジェクトＯＢ２以外の３つのオブジェクトＯＢ１，ＯＢ３，ＯＢ４は、動作オブジェクトである。動作のカテゴリーと動作オブジェクトについては更に後述する。動作フローには、メインビュー領域ＭＶに表示されたオブジェクトを任意に追加可能であり、また、動作フロー中の任意のオブジェクトを削除することも可能である。
【００４０】
図６Ｄにおいて、動作フロー作成領域ＦＬに配置されたブロックＳＢ１，ＯＢ１〜ＯＢ４のいずれかが選択されると、選択されたブロックに対するパラメーターがパラメーター設定領域ＰＲに表示される。例えば、シーケンスブロックＳＢ１が選択されると、シーケンス全体に関する作業パラメーターが表示される。また、オブジェクトのブロックＯＢ１〜ＯＢ４のいずれかが選択されると、そのオブジェクトに関するパラメーターが表示される。図６Ｄの例では、条件分岐ブロックＯＢ２に関するパラメーターが表示されている。これらのパラメーターは、必要に応じて変更される。
【００４１】
図７は、動作フローを構成する際に利用可能な複数の動作オブジェクトの例を示しており、図８Ａ〜図８Ｄは幾つかの動作オブジェクトの動作の概要を示している。複数の動作オブジェクトは、例えば以下の４つに分類可能である。これらは、いずれも力制御を伴う動作である。
【００４２】
＜分類１：接触＞指定方向に移動して、反力を受けたら停止する動作である。
接触動作の分類は、接触オブジェクトを含む。図８Ａに示すように、接触オブジェクトでは、エンドエフェクター１４０で保持したワークＷＫａを指定方向ＤＤに移動させ、力検出器１３０で反力を検出した時にエンドエフェクター１４０を停止させる。なお、図８Ａに示したワークＷＫａ，ＷＫｂは、図１に示したワークＷＫ１，ＷＫ２とは無関係であり、動作の概要を説明するための仮想的なワークである。この点は、後述する図８Ｂ〜図８Ｄも同様である。
【００４３】
＜分類２：倣い＞指定軸の力が０になる状態を維持する動作である。
倣い動作の分類は、以下の３種類の動作オブジェクトを含む。
（ａ）脱力オブジェクト：指定軸の力が０になるように倣う動作である。
図８Ｂに示すように、脱力オブジェクトでは、指定軸の力が０になるように倣う動作が実行される。図８Ｂの例では、ワークＷＫａ，ＷＫｂ間のｚ軸方向の力が０でないときに−ｚ方向にエンドエフェクター１４０を戻すことにより、力検出器１３０で検出されるｚ軸方向の力を０にしている。
（ｂ）倣い移動オブジェクト：指定軸の力を０にするように倣いながら指定軌道を動く動作である。
（ｃ）面合わせオブジェクト：指定方向に角度を倣いながら押し付けて、面と面とを合わせる動作である。
【００４４】
＜分類３：探り＞指定方向の力が０となる位置を探る動作である。
探り動作の分類は、以下の２種類の動作オブジェクトを含む。
（ａ）押付け探りオブジェクト：押付ながら指定された軌跡で探って穴を見つける動作である。
図８Ｃに示すように、押付け探りオブジェクトでは、エンドエフェクター１４０で保持したワークＷＫａを指定方向に押付けながら、指定方向の力がゼロとなる位置を探り、穴Ｈｂの位置で停止させる。探りの軌跡としては、直線軌跡や螺旋軌跡などの複数の候補の中から１つの軌跡を選択することが可能である。
（ｂ）接触探りオブジェクト：接触動作を繰り返して穴を見つける動作である。
【００４５】
＜分類４：押付け＞指定方向に指定の力で押し付ける動作である。
押付け動作の分類は、以下の２種類の動作オブジェクトを含む。
（ａ）押付け（単純押付け）オブジェクト：指定方向に指定の力で押し付ける動作である。この動作では、他の指定軸については「倣う」動作を実行させることも可能である。
（ｂ）押付け移動オブジェクト：指定方向に指定の力で押し付けながら移動する動作である。この動作では、他の指定軸については「倣う」動作を実行させることも可能である。図８Ｄに示すように、押付け移動オブジェクトでは、指定方向ＤＤにエンドエフェクター１４０を移動させて指定の力で押付け、その後、指定の力での押付けを維持しながら（すなわち、倣いながら）指定方向と異なる方向に移動する。図８Ｄの例では、エンドエフェクター１４０で保持したワークＷＫａをワークＷＫｂの穴Ｈｂに挿入する動作が、押付け移動によって実行されている。
【００４６】
図６Ｄに示した４つのオブジェクトＯＢ１〜ＯＢ４のパラメーターとしては、例えば以下のパラメーターを設定できる。特に、動作オブジェクトＯＢ１，ＯＢ３，ＯＢ４に関しては、動作の終了条件を定義するパラメーターと、動作の成否判定条件を定義するパラメーターとを設定可能である。
【００４７】
＜接触オブジェクトＯＢ１のパラメーター＞
（１）動作を定義する動作パラメーターの例
・接触方向：−Ｚ方向（接触方向は、作業パラメーターとして設定された嵌合方向から自動的に設定される。）
・接触予定距離：１０ｍｍ
・動作速度：５ｍｍ／ｓ
・接触時の力制御ゲイン：１．０
（２）終了条件の例
力の閾値：５Ｎ（５Ｎを超えると動作を停止する）
（３）成否判定条件の例
・成否判定条件：タイムアウト時間＝３秒（タイムアウト時間までに終了条件を満たした場合には動作が成功したものと判定し、終了条件を満たさなかった場合には動作が失敗したものと判定する。）
・失敗時動作：シーケンスを継続（動作が失敗したと判定された場合にどのように進めるかを指定する。シーケンスの継続又はシーケンスの終了を指定可能である。）
【００４８】
＜条件分岐オブジェクトＯＢ２のパラメーター＞
（１）条件分岐の判定条件の例
・判定対象オブジェクト：Contact01（判定対象オブジェクトの結果に応じて、条件分岐が実行される。）
・条件分岐の判定が真になる条件：動作の成功（判定対象オフジェクトの動作が成功した場合と、判定対象オフジェクトの動作が失敗した場合のいずれかを指定可能である。）
（２）条件分岐の移行先の例
・判定が真のときの移行先：PressProbe01（動作フロー中の任意の位置を指定可能である。）
・判定が偽のときの移行先：PressMove01（動作フロー中の任意の位置を指定可能である。）
【００４９】
＜押付け探りオブジェクトＯＢ３のパラメーター＞
（１）動作を定義する動作パラメーターの例
・経路：螺旋（探る経路として、螺旋又は直線を指定可能である）
・経路形状：
・・螺旋の直径：５ｍｍ
・・螺旋のピッチ：１ｍｍ
・動作速度：５ｍｍ／ｓ
・押付け方向：−Ｚ方向（押付け方向は、作業パラメーターとして設定された嵌合方向から自動的に設定される。）
・押付力：３Ｎ
・押付け中の力制御ゲイン：２．０
（２）終了条件の例
下記条件Ｃ１とＣ２のアンド条件とする：
・条件Ｃ１：力の閾値（力の閾値を下回ったこと）
・条件Ｃ２：位置移動量の閾値（オブジェクト開始位置から閾値を超えた範囲に移動したこと）
（３）成否判定条件の例
・成否判定条件：経路終了までに終了条件を満たした場合には動作が成功したものと判定し、終了条件を満たさなかった場合には失敗したものと判定する。
・失敗時動作：シーケンスを終了
【００５０】
＜押付け移動オブジェクトＯＢ４のパラメーター＞
（１）動作を定義する動作パラメーターの例
・経路：直線
・移動方向：−Ｚ方向（移動方向は、作業パラメーターとして設定された嵌合方向から自動的に設定される。）
・移動距離：３０ｍｍ
・移動速度：１０ｍｍ／ｓ
・Ｆｘ，Ｆｙ，Ｆｚ方向の力制御：倣い
・Ｆｚ方向の力制御：３Ｎ押付け
・Ｔｘ，Ｔｙ方向の力制御：倣い
・Ｔｚ方向の力制御：オフ
・力制御ゲイン：Ｆｘのゲインは１，Ｆｙのゲインは１，Ｆｚのゲインは２，Ｔｘのゲインは３００，Ｔｙのゲインは３００
（２）終了条件の例
下記条件Ｃ１，Ｃ２のアンド条件とする：
・条件Ｃ１：力の許容値（押付け方向の力の範囲が目標力±許容値の範囲内であること）
・条件Ｃ２：位置移動量の閾値（オブジェクト開始位置から閾値を超えた範囲に移動したこと）
（３）成否判定条件の例
・成否判定条件：経路終了までに終了条件を満たした場合には動作が成功したものと判定し、終了条件を満たさなかった場合には失敗したものと判定する。
・失敗時動作：シーケンスを終了
【００５１】
これらの例から理解できるように、本実施形態では、動作を定義するパラメーターと、動作の終了条件を定義するパラメーターと、動作の成否判定条件を定義するパラメーターとを設定可能なパラメーター設定領域ＰＲを表示可能なので、動作の終了や成功／失敗の判定を含む制御プログラムを容易に作成することが可能である。なお、動作の終了条件を定義するパラメーターと、動作の成否判定条件を定義するパラメーターとのうちの一方又は両方の設定が行えない形態としてもよい。
【００５２】
図６Ｄの例において、４番目の動作オブジェクトＯＢ４に対しては、アラームマークＡＬが表示されている。このアラームマークＡＬは、その動作オブジェクトＯＢ４に関してパラメーター設定領域ＰＲで設定されたパラメーターの中に、許容されないパラメーター値が含まれるときに表示されるマークである。このアラームマークＡＬにマウスポインターを合わせると、不備のあるパラメーターの項目や値が表示されるようにしてもよい。教示者は、このアラームマークＡＬを見た場合には、その動作オブジェクトＯＢ４のパラメーターに不備があることが解るので、パラメーターの不備を修正することが可能である。
【００５３】
図６Ｄに示したように作業の動作フローが作成されると、この動作フローに従ってロボット１００に作業を実行させることが可能である。例えば、図６Ｄの実行指示領域ＲＮ内にある「実行」ボタンを教示者が押すと、変換部２４４（図３）が動作フローを制御プログラム２２４に変換し、制御実行部２５０がその制御プログラム２２４を実行することによってロボット１００に作業を実行させる。これは、制御プログラム２２４の試行に相当する。このように、表示制御部２４２は、作成された制御プログラム２２４を実行してロボット１００を動作させる実行命令を発行可能である。
【００５４】
図９は、動作フローに従って作業を実行した結果を示す画面の一例を示している。この例では、動作フロー作成領域ＦＬの３番目の動作オブジェクトＯＢ３に実行停止マークＳＭが設定されている。この実行停止マークＳＭは、その動作オブジェクトＯＢ３で実行を一時停止することを意味している。実行停止マークＳＭは、例えば、各動作オブジェクトのコンテキストメニューを使用して設定できる。コンテキストメニューは、マウスの右クリックで表示されるメニューである。
【００５５】
メインビュー領域ＭＶ内には、動作フローの実行時に力検出器１３０で検出された複数の力のうちから、Ｚ軸方向の力ＦｚとＺ軸回りのトルクＴｚの時間変化が表示されている。なお、メインビュー領域ＭＶには、力検出器１３０で検出された複数の力の中の任意の１つ以上の力の時間変化を選択して表示することが可能である。また、ＴＣＰの実測位置の時間変化や、ＴＣＰの目標位置と実測位置の偏差の時間変化をメインビュー領域ＭＶに表示することも可能である。メインビュー領域ＭＶ内の結果表示の期間は、動作フロー中の任意の１つの動作オブジェクトの動作期間とすることも可能であり、また、実行開始から停止までの全期間とすることも可能である。例えば、動作フロー作成領域ＦＬ内で任意の動作オブジェクトを選択すると、その動作オブジェクトの動作期間の実行結果が表示される。また、シーケンスブロックＳＢ１を選択すると、実行開始から停止までの全期間の結果が表示される。結果領域ＲＳにも、制御プログラム２２４の実行結果の一部の情報が表示される。例えば、任意の動作オブジェクトについて、動作の終了状態（成功又は失敗）や、動作に要した時間、動作終了時の力、及び、動作終了時の位置などを結果領域ＲＳ内に表示可能である。
【００５６】
図１０は、制御プログラム２２４の実行結果に応じて積分器２５２を適用するか否かの設定を行うための画面の一例を示す説明図である。ここでは、図９のウィンドウＷ１のメインビュー画面ＭＶの一部と、積分器の設定の開始を促すダイアログＤＬが描かれており、ウィンドウＷ１の他の部分は図示が省略されている。メインビュー画面ＭＶには、図９と同様に、力Ｆｚの測定結果が表示されている。この例では、力Ｆｚの目標力と定常偏差の許容値とが予め動作パラメーターとして設定されていると仮定している。なお、ユーザーが許容値を設定する代わりに、ロボットシステムで決められた許容値を用いてもよい。また、許容値の設定方法としては、１ニュートンなどの定数を用いて設定する方法を使用しても良く、或いは、目標力の１０％等のように目標力に対する割合を用いて設定する方法を使用してもよい。制御プログラム２２４の実行時に得られた力Ｆｚの測定力と、その目標力との定常偏差が許容値を超えている場合には、積分器の設定の開始を促すダイアログＤＬが表示制御部２４２によって自動的に表示される。教示者がこのダイアログＤＬの「はい」を選択すると、積分器２５２の設定が開始される。
【００５７】
図１１は、積分器２５２の設定を開始するための入力画面としてのウィンドウＷ３の一例を示している。このウィンドウＷ３は、以下の領域を含んでいる。
（１）シーケンス名領域Ｆ３１：シーケンスの名称を表示する領域である。
（２）オブジェクト選択領域Ｆ３２：積分器２５２を設定するオブジェクト名を表示する領域である。
（３）対象方向設定領域Ｆ３３：積分器２５２を設定する力の軸方向を設定する領域である。力の軸方向としては、力検出器１３０で検出可能な複数の軸方向のうちの１つの軸方向を設定可能である。
【００５８】
領域Ｆ２１〜Ｆ２３の設定値は、教示者が任意に変更可能である。この設定が終了すると、次の図１２に示す入力画面に移行する。
【００５９】
図１２は、積分ゲインの調整とその調整結果を示す画面の一例を示す説明図である。このときのウィンドウＷ４は、以下の領域を含んでいる。
（１）積分ゲイン設定領域Ｆ４１：積分ゲインを設定する領域である。この例では、積分ゲイン設定領域Ｆ４１内に、２つのスライダーバーＳＬ１，ＳＬ２と、分割数設定領域Ｆ４１と、ゲイン範囲設定領域Ｆ４２とが含まれている。スライダーバーＳＬ１，ＳＬ２は、積分器２５２の積分ゲインの好ましい値を探索する際の積分ゲインの下限値と上限値を設定するために使用される。ここでは、図１１で指定された力方向の積分ゲインが設定対象となっている。ゲイン範囲設定領域Ｆ４２には、スライダーバーＳＬ１，ＳＬ２で設定された積分ゲインの数値が表示される。なお、スライダーバーＳＬ１，ＳＬ２を用いる代わりに、ゲイン範囲設定領域Ｆ４２の数値を直接入力してもよい。分割数設定領域Ｆ４１は、設定されたゲイン範囲の中で、いくつのゲイン値を探索対象として使用して制御プログラム２２４の試行を行うかを意味している。例えば、分割数が２の場合には、設定されたゲイン範囲の両端の２つのゲイン値のみが積分ゲインとして使用され、それらの２つの場合について制御プログラム２２４が試行される。また、分割数が３の場合には、設定されたゲイン範囲の両端の２つのゲイン値と、その中間の値とが積分ゲインとして使用され、それらの３つの場合について制御プログラム２２４が試行される。なお、制御プログラム２２４の試行は、ボタンＢＴ４１を押すことによって開始される。
（２）表示選択領域Ｆ４２：設定した積分ゲインを用いて制御プログラム２２４を試行した結果のうち、どれを結果表示領域Ｆ４３に表示するかを選択する領域である。この例では、ゲインがＯＦＦの結果（すなわち、積分器２５２を使用しない場合の元の結果）と、ゲインを０．５とした結果と、ゲインを１．０とした結果の３つの結果を表示することが設定されている。
（３）結果表示領域Ｆ４３：設定した積分ゲインを用いて制御プログラム２２４を試行した結果を表示する領域である。
【００６０】
教示者は、結果表示領域Ｆ４３の表示結果を見て、どの積分ゲインが好ましい値であるかを判定することができる。好ましいゲイン値が決まったら、教示者がゲイン選択ボタンＢ４２を用いて複数の積分ゲイン値の中から１つの値を選択する。図１２の例では、ゲイン選択ボタンＢ４２はラジオボタンであり、好ましい積分ゲインとして０．５の値が選択されている。
【００６１】
図１０〜図１２で説明した積分器２５２の設定は、１つ以上の任意の数の軸方向についてそれぞれ実行することが可能である。なお、図１１に示したウィンドウＷ３と、図１２に示したウィンドウＷ４は、同じ１つのウィンドウ内に含まれる異なる画面領域として構成してもよい。また、これらのウィンドウＷ３，Ｗ４は、図１０に示したダイアログＤＬを経由せずに、他の方法で表示するように表示制御部２４２が構成されていてもよい。具体的には、例えば、図６Ｄの動作フロー作成領域ＦＬ内の動作オブジェクトＯＢ１，ＯＢ３，ＯＢ４のコンテキストメニューにおいて、特定の制御方向について積分器２５２を適用するか否かの設定を行うための第１画面領域と、積分器２５２における積分ゲインの調整を行うことが可能な第２画面領域を表示するようにしてもよい。
【００６２】
このように、本実施形態では、積分器２５２を適用しない状態で作成された制御プログラム２２４を実行してロボット１００を動作させた時に、力検出器１３０で検出される測定力と目標力との間の定常偏差が予め設定された閾値よりも大きい場合に、積分器２５２の適用の設定を開始するためのダイアログボックスＤＬを自動的に表示するので、作業者が積分器２５２を適用する制御プログラム２２４を容易に作成することが可能である。
【００６３】
なお、表示制御部２４２は、積分器２５２を適用する制御方向については、測定力のオーバーシュートを低減するように力制御器２５４（図４）のゲインを自動的に調整することが好ましい。具体的には、例えば、仮想粘性パラメーターＤを増大させることによってオーバーシュートを低減することが可能である。こうすれば、積分器２５２の適用によって測定力のオーバーシュートが過度に大きくなることを防止できる。
【００６４】
教示者は、更に、図９に示したような制御プログラム２２４の実行結果を観察し、必要に応じて個々のオブジェクトのパラメーターを調整することが可能である（図５のステップＳ１２０）。この調整は、動作フロー作成領域ＦＬ内のオブジェクトＯＢ１〜ＯＢ４の任意の１つを選択した状態において、パラメーター設定領域ＰＲに表示されるオブジェクトのパラメーターを変更することによって行うことができる。具体例として、例えば接触動作において接触したときの力が過度に大きな場合には、接触動作における速度を低下させるように接触オブジェクトのパラメーターが調整される。
【００６５】
こうして動作フローが完成すると、図５のステップＳ１３０において、教示者の指示に応じて変換部２４４が動作フローを制御プログラム２２４に変換する。この指示は、例えば、動作フロー作成領域ＦＬのコンテキストメニューから「制御プログラムの作成」を選択することによって行うことができる。
【００６６】
図５のステップＳ１４０では、ステップＳ１３０で作成された制御プログラム２２４に従って、ロボット制御装置２００がロボットを制御し、ロボットに作業を実行させる。この作業は、製造ラインでロボット１００の動作を確認する確認作業や、或いは、製造ラインで製品を製造するための本作業として実行可能である。
【００６７】
以上のように、本実施形態では、入力画面として、特定の制御方向について目標力と力検出器１３０の測定力との差分に対して積分器２５２を適用するか否かの設定を行うための第１画面領域（ウィンドウＷ３）と、積分器２５２における積分ゲインの調整を行うことが可能な第２画面領域（ウィンドウＷ４）と、を表示可能である。この結果、特定の制御方向についてのみ積分器２５２を適用する制御プログラムを容易に作成することが可能である。なお、第１画面領域（ウィンドウＷ３）と第２画面領域（ウィンドウＷ４）は、同じ１つの画面内に含まれる異なる画面領域として構成してもよい。
【００６８】
本発明は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【００６９】
３０…カメラ、５０…搬送装置、５０ａ，５０ｂ…搬送ローラー、１００…ロボット、１１０…アーム、１２０…アームフランジ、１３０…力検出器、１４０…エンドエフェクター、２００…ロボット制御装置、２１０…プロセッサー、２２０…メモリー、２２２…プログラム命令、２２４…制御プログラム、２４０…ロボット制御プログラム作成部、２４２…表示制御部、２４４…変換部、２５０…制御実行部、２５１…減算器、２５２…積分器、２５３…加算器、２５４…力制御器、２５５…指令合成器、２５６…位置制御器、２６０…表示装置、２７０…入力装置、２８０…制御器調整部、２９０…動作指令生成部、４００…パーソナルコンピューター、５００…クラウドサービス
【図１】
2019141937.tif 000004
【図２Ａ】
2019141937.tif 000005
【図２Ｂ】
2019141937.tif 000006
【図３】
2019141937.tif 000007
【図４】
2019141937.tif 000008
【図５】
2019141937.tif 000009
【図６Ａ】
2019141937.tif 000010
【図６Ｂ】
2019141937.tif 000011
【図６Ｃ】
2019141937.tif 000012
【図６Ｄ】
2019141937.tif 000013
【図７】
2019141937.tif 000014
【図８Ａ】
2019141937.tif 000015
【図８Ｂ】
2019141937.tif 000016
【図８Ｃ】
2019141937.tif 000017
【図８Ｄ】
2019141937.tif 000018
【図９】
2019141937.tif 000019
【図１０】
2019141937.tif 000020
【図１１】
2019141937.tif 000021
【図１２】
2019141937.tif 000022