(57)【要約】【課題】溶接ロボットの溶接ガンが溶接打点に対して進入角度が一様でないために、生成される製品品質にばらつきが発生する。【解決手段】溶接ガンを備えた溶接ロボット用の制御プログラムを作成するロボットプログラミング装置であって、複数の溶接打点のうち、少なくとも１つの溶接打点に対して溶接ガンが進入する進入経路を設定する経路設定部と、経路設定部が設定した進入経路に基づいて他の溶接打点に対して溶接ガンが進入する進入経路を決定する経路決定部とを備え、進入経路が設定されている溶接打点を第１溶接打点、第１溶接打点に対して溶接ガンの進入経路を第１進入経路、複数の溶接打点を結ぶ線の第１溶接打点における接線と第１進入経路とが成す角度を第１角度としたとき、経路決定部は、進入経路が未決定の溶接打点に対して溶接ガンが進入する進入経路が成す角度を、第１角度に基づいて決定する。【選択図】図１
2017104963.tif 000002
【特許請求の範囲】
【請求項１】
溶接対象にスポット溶接を行う溶接ガンを備えた溶接ロボット用の制御プログラムを作成するロボットプログラミング装置であって、
前記溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定部と、
前記複数の溶接打点のうち、少なくとも１つの溶接打点に対して前記溶接ガンが進入する進入経路を設定する経路設定部と、
前記経路設定部が設定した進入経路に基づいて他の溶接打点に対して前記溶接ガンが進入する進入経路を決定する経路決定部とを備え、
前記経路設定部が設定した進入経路に対応する溶接打点を第１溶接打点とし、
当該第１溶接打点に対して前記溶接ガンが進入する進入経路を第１進入経路とし、
前記複数の溶接打点を結ぶ線の前記第１溶接打点における接線と、前記第１進入経路とが成す角度を第１角度としたとき、
前記経路決定部は、前記経路設定部において進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における前記線に対する接線に対して前記溶接ガンが進入する進入経路が成す角度を、前記第１角度に基づいて決定する
ロボットプログラミング装置。
【請求項２】
前記経路決定部は、複数の溶接打点のうち、第２溶接打点における前記線に対する接線に対して前記溶接ガンが進入する第２進入経路が成す第２角度を、前記第１角度と同じ角度に決定する
ことを特徴とする請求項１に記載のロボットプログラミング装置。
【請求項３】
前記打点設定部において、前記複数の溶接打点を結ぶ線は、直線状になるように設定されている
ことを特徴とする請求項２に記載のロボットプログラミング装置。
【請求項４】
前記複数の溶接打点は、少なくとも連続する３つの溶接打点を含み、
前記連続する３つの溶接打点のうち、端点を第１溶接打点及び第２溶接打点とし、
前記経路設定部は、前記第２溶接打点に対して、前記溶接ガンが進入する第２進入経路を設定し、
前記第２溶接打点における前記線に対する接線と、前記第２進入経路とが成す角度を第２角度としたとき、
前記経路決定部は、前記第１溶接打点と前記第２溶接打点との間に位置する第３溶接打点に対して設定する前記溶接ガンが進入する第３進入経路について、前記第３溶接打点における前記線に対する接線と前記第３進入経路とが成す第３角度が、前記第１角度と前記第２角度との間の角度になるように前記第３進入経路を決定する
ことを特徴とする請求項１に記載のロボットプログラミング装置。
【請求項５】
前記経路決定部は、前記第３角度を前記第３溶接打点が前記第１溶接打点に近いほど前記第１角度に近い角度に決定し、前記第３溶接打点が前記第２溶接打点に近いほど前記第２角度に近い角度に決定することを特徴とする請求項４に記載のロボットプログラミング装置。
【請求項６】
前記打点設定部において、前記複数の溶接打点を結ぶ線は、湾曲形状になるように設定されている
ことを特徴とする請求項４又は５に記載のロボットプログラミング装置。
【請求項７】
前記溶接ロボットは、前記溶接ガンを指示するアームを少なくとも１つ有し、
前記経路決定部は、更に、前記第１進入経路を実現するための前記アームの第１姿勢と、前記第２進入経路を実現するための前記アームの第２姿勢とに基づいて、前記第３進入経路を実現するための前記アームの第３姿勢を、前記第１姿勢と前記第２姿勢との中間姿勢になるように決定する
ことを特徴とする請求項４〜６のいずれか１項に記載のロボットプログラミング装置。
【請求項８】
前記ロボットプログラミング装置は、さらに、
前記経路決定部により決定された進入経路に沿って前記溶接ガンが動作するよう前記溶接ロボットを動作させる制御プログラムを、前記溶接ロボットに出力する出力部を備える
ことを特徴とする請求項１〜７のいずれか１項に記載のロボットプログラミング装置。
【請求項９】
溶接対象にスポット溶接を行う溶接ガンを備えた溶接ロボット用の制御プログラムを作成するロボットプログラミング装置による制御プログラム作成方法であって、
前記溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定ステップと、
前記複数の溶接打点のうち、少なくとも１つの溶接打点に対して前記溶接ガンが進入する進入経路を設定する経路設定ステップと、
前記経路設定ステップにおいて設定した進入経路に基づいて他の溶接打点に対して前記溶接ガンが進入する進入経路を決定する経路決定ステップとを含み、
前記経路設定ステップが設定した進入経路に対応する溶接打点を第１溶接打点とし、
当該第１溶接打点に対して前記溶接ガンが進入する進入経路を第１進入経路とし、
前記複数の溶接打点を結ぶ線の前記第１溶接打点における接線と、前記第１進入経路とが成す角度を第１角度としたとき、
前記経路決定ステップは、前記経路設定ステップにおいて進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における前記線に対する接線に対して前記溶接ガンが進入する進入経路が成す角度を、前記第１角度に基づいて決定する制御プログラム作成方法。
【請求項１０】
コンピュータに、溶接対象にスポット溶接を行う溶接ガンを備えた溶接ロボット用の制御プログラムを作成させるプログラムであって、
前記溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定機能と、
前記複数の溶接打点のうち、少なくとも１つの溶接打点に対して前記溶接ガンが進入する進入経路を設定する経路設定機能と、
前記経路設定機能において設定した進入経路に基づいて他の溶接打点に対して前記溶接ガンが進入する進入経路を決定する経路決定機能とを実現させ、
前記経路設定機能が設定した進入経路に対応する溶接打点を第１溶接打点とし、
当該第１溶接打点に対して前記溶接ガンが進入する進入経路を第１進入経路とし、
前記複数の溶接打点を結ぶ線の前記第１溶接打点における接線と、前記第１進入経路とが成す角度を第１角度としたとき、
前記経路決定機能は、前記経路設定機能において進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における前記線に対する接線に対して前記溶接ガンが進入する進入経路が成す角度を、前記第１角度に基づいて決定するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットプログラミング装置、プログラム作成支援方法並びにそのプログラムに関し、特に溶接対象に対して溶接を行う溶接ガンを備えたロボットの制御プログラムの作成支援に関する。
【背景技術】
【０００２】
自動車等の生産においては、産業用ロボットを利用した自動化が実現されている。そのような産業用ロボットとしては、車体にスポット溶接を行うロボットも存在する。このような溶接を行う溶接ロボットは、作業者が作成したプログラムによる位置制御が行われる。そして、当該プログラムによる制御のもと、ロボットのアームの先に取り付けられている溶接ガンをスポット溶接を行う場所である溶接打点まで移動させて溶接を行うこととなる。
【０００３】
このようなプログラムの作成には、熟練の技を必要とするため、そのようなプログラムを作成するロボットオフラインプログラミング装置が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２９１９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１によるロボットオフラインプログラミング装置によれば、第１の車体に対して行った溶接の打点順序に基づいて、第２の車体の溶接の打点順序を決定し、溶接を行うロボットプログラムを作成することができる。
【０００６】
しかしながら、ロボットプログラミングにおいてはなお、より良い製品を製造するためのロボットプログラミングを行うロボットプログラミング装置の開発が望まれている。
【０００７】
そこで、本発明は上記問題に鑑みて成されたものであり、より効率よく、溶接品質を高めることができるロボットプログラミング装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明の一態様に係るロボットプログラミング装置は、溶接対象にスポット溶接を行う溶接ガンを備えた溶接ロボット用の制御プログラムを作成するロボットプログラミング装置であって、溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定部と、複数の溶接打点のうち、少なくとも１つの溶接打点に対して溶接ガンが進入する進入経路を設定する経路設定部と、経路設定部が設定した進入経路に基づいて他の溶接打点に対して溶接ガンが進入する進入経路を決定する経路決定部とを備え、経路設定部が設定した進入経路に対応する溶接打点を第１溶接打点とし、当該第１溶接打点に対して溶接ガンが進入する進入経路を第１進入経路とし、複数の溶接打点を結ぶ線の第１溶接打点における接線と、第１進入経路とが成す角度を第１角度としたとき、経路決定部は、経路設定部において進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における線に対する接線に対して溶接ガンが進入する進入経路が成す角度を、第１角度に基づいて決定する。
【０００９】
また、本発明の一態様に係る制御プログラム作成方法は、溶接対象にスポット溶接を行う溶接ガンを備えた溶接ロボット用の制御プログラムを作成するロボットプログラミング装置による制御プログラム作成方法であって、溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定ステップと、複数の溶接打点のうち、少なくとも１つの溶接打点に対して溶接ガンが進入する進入経路を設定する経路設定ステップと、経路設定ステップにおいて設定した進入経路に基づいて他の溶接打点に対して溶接ガンが進入する進入経路を決定する経路決定ステップとを含み、経路設定ステップが設定した進入経路に対応する溶接打点を第１溶接打点とし、当該第１溶接打点に対して溶接ガンが進入する進入経路を第１進入経路とし、複数の溶接打点を結ぶ線の第１溶接打点における接線と、第１進入経路とが成す角度を第１角度としたとき、経路決定ステップは、経路設定ステップにおいて進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における線に対する接線に対して溶接ガンが進入する進入経路が成す角度を、第１角度に基づいて決定する。
【００１０】
また、本発明の位置態様に係るプログラムは、コンピュータに、溶接対象にスポット溶接を行う溶接ガンを備えた溶接ロボット用の制御プログラムを作成させるプログラムであって、溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定機能と、複数の溶接打点のうち、少なくとも１つの溶接打点に対して溶接ガンが進入する進入経路を設定する経路設定機能と、経路設定機能において設定した進入経路に基づいて他の溶接打点に対して溶接ガンが進入する進入経路を決定する経路決定機能とを実現させ、経路設定機能が設定した進入経路に対応する溶接打点を第１溶接打点とし、当該第１溶接打点に対して溶接ガンが進入する進入経路を第１進入経路とし、複数の溶接打点を結ぶ線の第１溶接打点における接線と、第１進入経路とが成す角度を第１角度としたとき、経路決定機能は、経路設定機能において進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における線に対する接線に対して溶接ガンが進入する進入経路が成す角度を、第１角度に基づいて決定する。
【００１１】
また、経路決定部は、複数の溶接打点のうち、第２溶接打点における線に対する接線に対して溶接ガンが進入する第２進入経路が成す第２角度を、第１角度と同じ角度に決定することとしてもよい。
【００１２】
また、打点設定部において、複数の溶接打点を結ぶ線は、直線状になるように設定されていることとしてもよい。
【００１３】
また、複数の溶接打点は、少なくとも連続する３つの溶接打点を含み、連続する３つの溶接打点のうち、端点を第１溶接打点及び第２溶接打点とし、経路設定部は、第２溶接打点に対して、溶接ガンが進入する第２進入経路を設定し、第２溶接打点における線に対する接線と、第２進入経路とが成す角度を第２角度としたとき、経路決定部は、第１溶接打点と第２溶接打点との間に位置する第３溶接打点に対して設定する溶接ガンが進入する第３進入経路について、第３溶接打点における線に対する接線と第３進入経路とが成す第３角度が、第１角度と第２角度との間の角度になるように第３進入経路を決定することとしてもよい。
【００１４】
また、経路決定部は、第３角度を第３溶接打点が第１溶接打点に近いほど第１角度に近い角度に決定し、第３溶接打点が第２溶接打点に近いほど第２角度に近い角度に決定することとしてもよい。
【００１５】
また、打点設定部において、複数の溶接打点を結ぶ線は、湾曲形状になるように設定されていることとしてもよい。
【００１６】
また、溶接ロボットは、溶接ガンを指示するアームを少なくとも１つ有し、経路決定部は、更に、第１進入経路を実現するためのアームの第１姿勢と、第２進入経路を実現するためのアームの第２姿勢とに基づいて、第３進入経路を実現するためのアームの第３姿勢を、第１姿勢と第２姿勢との中間姿勢になるように決定することとしてもよい。
【００１７】
また、ロボットプログラミング装置は、さらに、経路決定部により決定された進入経路に沿って溶接ガンが動作するよう溶接ロボットを動作させる制御プログラムを、溶接ロボットに出力する出力部を備えることとしてもよい。
【発明の効果】
【００１８】
本発明の一態様に係るロボットプログラミング装置は、第１の溶接打点に対して溶接ガンが進入する角度に基づいて、第２の溶接打点に溶接ガンが進入する角度を決定することができる。したがって、溶接ガンが進入する角度を一様にしたり、平滑化したりすることができるので、溶接打点における溶接品質を一様にすることができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態に係るオフラインプログラミングシステムの構成を示すシステム図である。
【図２】実施の形態に係るロボットプログラミング装置の機能構成を示すブロック図である。
【図３】（ａ）は、実施の形態に係る溶接ガンが溶接打点に向かう様子を模式的に示した側面図である。（ｂ）は、実施の形態に係る溶接ガンが溶接打点に対して、一様な角度で進入する様子を模式的に示す上面図である。（ｃ）は、実施の形態に係る溶接ガンが溶接打点に対して、進入角度を徐々に変えながら進入する様子を模式的に示す上面図である。
【図４】ロボットプログラミング装置の動作を示すメインフローチャートである。
【図５】メインフローチャートにおいて、溶接ガンの溶接打点に対して進入する角度を決定する動作を示すサブフローチャートである。
【図６】メインフローチャートにおいて、溶接ガンを保持するためのロボットポジションを決定する動作を示すサブフローチャートである。
【図７】従来の溶接打点に対する溶接ガンの進入角度の様子を模式的に示す図である。
【発明を実施するための形態】
【００２０】
＜発明者らが得た知見＞
従来、作業者は、溶接対象における溶接打点を定められると、その溶接打点に対して、溶接ガンが進入して、適切に溶接できるようにプログラミングを行っていた。上述の通り、そのプログラミングには、熟練の技を要し、正確に溶接打点において溶接を行うことが優先されるため、図７に示すように、溶接ガンの進入角度にはばらつきがあることが往々にしてあった。
【００２１】
具体的には図７（ａ）の側面図に示すように、溶接対象７４０、７５０における溶接打点７３０に対して溶接ガン７２１を進入させる状態を考える。このとき、図７（ａ）の状態を上から見た上面図が図７（ｂ）となる。
【００２２】
図７（ｂ）に示すように、溶接対象７５０に対して、溶接打点７３０ａ〜７３０ｄの４箇所が設定されており、作業者により設定された各溶接打点７３０ａ〜７３０ｄに対する溶接ガン７２１の進入経路がそれぞれ進入経路７０１ａ〜７０１ｄのようにプログラミングされている。図７（ｂ）に示されるように、溶接打点に対して溶接ガンが位置するように溶接打点に対する溶接ガンの位置制御を優先するプログラミングを行った結果、各溶接打点に対する溶接ガンの進入経路の進入方向（進入角度）にはばらつきが発生していることが往々にある。
【００２３】
このように、溶接ガンの進入角度に差があれば、溶接の向きが異なるため、多少なりとも溶接の度合にも影響することを発明者らは知見した。また、同時に、その進入角度に差があれば、それだけ、ロボットアームを必要以上に動作させていることを意味し、無駄が発生しており、作業の長時間化につながっていることも知見した。
【００２４】
そこで、発明者らは、このような無駄を低減することができるロボットプログラミング装置を発明するに至った。以下、本発明に係るロボットプログラミング装置の一態様について、図面を参照しながら、説明する。
【００２５】
＜実施の形態＞
＜構成＞
図１は、本発明に係るロボットプログラミング装置を含むオフラインティーチングシステム１の構成を示すシステム図である。同図に示すように、オフラインティーチングシステム１は、ロボットプログラミング装置１００と、溶接ロボット１２０とを含む。ロボットプログラミング装置１００は、接続された入力装置を用いて、必要事項を作業者が入力したうえで、溶接ロボット１２０を動作させるロボット制御プログラムを作成する。溶接ロボット１２０は、ロボットアーム１２２、溶接ガン１２１を備え、ロボットプログラミング装置１００が作成したロボット制御プログラムに従って、溶接対象１４０に対して溶接打点１３０において溶接を行う。
【００２６】
このようなシステムにおいて、図２に示すように、ロボットプログラミング装置１００は、溶接対象にスポット溶接を行う溶接ガン１２１を備えた溶接ロボット用の制御プログラムを作成するロボットプログラミング装置であって、溶接対象に対して、スポット溶接を行う複数の溶接打点を設定する打点設定部１０２と、複数の溶接打点のうち、少なくとも１つの溶接打点に対して溶接ガンが進入する進入経路を設定する経路設定部１０３と、経路設定部が設定した進入経路に基づいて他の溶接打点に対して溶接ガンが進入する進入経路を決定する経路決定部１０５とを備え、経路設定部が設定した進入経路に対応する溶接打点を第１溶接打点とし、当該第１溶接打点に対して溶接ガンが進入する進入経路を第１進入経路とし、複数の溶接打点を結ぶ線の第１溶接打点における接線と、第１進入経路とが成す角度を第１角度としたとき、経路決定部は、経路設定部において進入経路が設定されている溶接打点以外の溶接打点に対して、それぞれの溶接打点における溶接打点を結ぶ線に対する接線に対して溶接ガンが進入する進入経路が成す角度を、第１角度に基づいて決定する。以下、ロボットプログラミング装置１００について詳細に説明する。
【００２７】
図２は、ロボットプログラミング装置１００の構成を示すブロック図である。図２に示すようにロボットプログラミング装置１００は、入力受付部１０１と、打点設定部１０２と、経路設定部１０３と、記憶部１０４と、経路決定部１０５と、出力部１０６とを備える。
【００２８】
入力受付部１０１は、作業者からの入力を受け付けて、入力内容に応じて、受け付けた内容を打点設定部１０２、経路設定部１０３、経路決定部１０５に伝達する。入力受付部１０１は、作業者からの入力を受けて付ける入力装置（インターフェース）であり、例えば、図１に示すようなキーボードあるいはマウスのような入力装置により実現される。入力受付部１０２は、作業者から、溶接対象における溶接打点の位置座標を示す入力や、溶接打点に対して溶接ガンを進入させる経路をプログラミング装置に決定させる溶接打点を指定する入力、その際の進入角度の決定方法を示す入力、溶接打点に対して溶接ガンを進入させる進入経路を決定する際の基準となる進入経路を指定する入力などを受け付ける。
【００２９】
打点設定部１０２は、入力受付部１０１から受け付けた入力内容に従って、作業対象１４０に対して溶接を行う溶接個所を示す溶接打点を決定し、決定した溶接打点位置を示すワールド座標系における座標値を設定し、記憶部１０４に記憶する機能を有する。
【００３０】
経路設定部１０３は、入力受付部１０１から受け付けた入力内容に従って、作業対象１４０に対して設定された溶接打点に対して、溶接ロボット１２０が動作すべき経路（ロボットポジション）を設定し、設定した経路を記憶部１０４に記憶する機能を有する。
【００３１】
記憶部１０４は、ロボットプログラミング装置１００が動作する上で必要とするプログラムや各種データを記憶する機能を有する記憶媒体である。記憶部１０４は、例えば、ＨＤＤ（Hard Disc Drive）やＳＳＤ（Solid State Drive）や、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）等のメモリ等により実現される。記憶部１０４は、溶接ロボット１２０を制御するロボット制御プログラムを作成するためのプログラムや、打点設定部１０２から設定された溶接打点位置、経路設定部１０３から設定された溶接ガン１２１が動作すべき経路（ロボットポジション）情報、経路決定部１０５により作成されたロボット制御プログラム等を記憶する。
【００３２】
経路決定部１０５は、設定されている溶接打点に対する経路に基づいて、他の溶接打点に対して溶接ガン１２１が進入すべき経路を決定して、記憶部１０４に記憶する機能を有する。経路決定部１０５は、複数の溶接打点に対する溶接ガン１２１の進入経路を以下の２種の方法のいずれかで進入経路を決定する。第１の方法は、入力受付部１０１で作業者から指定された連続する溶接打点に対して、一つの溶接打点を基準打点として、他の溶接打点に対する溶接ガン１２１の進入経路を基準打点に対して設定されている進入経路と同じ進入経路に決定する方法である。第２の方法は、溶接ガン１２１が入力受付部１０１で作業者から指定された連続する３つ以上の溶接打点に対して、その一端の溶接打点を開始基準の溶接打点とし、他端の溶接打点を終了基準の溶接打点として、その間にある溶接打点に対して、開始基準の溶接打点に対して設定されている溶接ガン１２１の進入経路と、終了基準の溶接打点に対して設定されている溶接ガン１２１の進入経路とに基づいて決定する方法である。第１の方法及び第２の方法について、図３を用いてより詳細に説明する。
【００３３】
まず第１の方法について、図３（ｂ）を用いて説明する。まず、本実施の形態に係る溶接ロボット１２０の溶接ガン１２１は、図３（ａ）に示すように、進入する。図３（ａ）は、溶接対象１４０、１５０の溶接打点１３０に対して、溶接ロボット１２０の溶接ガン１２１が進入する様子を側面から見た場合の模式図である。図３（ａ）に示すように、溶接ロボット１２０のアームの先端において、Ｃの字型（溶接対象を挟み込むような形状）に形成され、少なくとも一方の先端に配された溶接ガン１２１が、溶接対象１４０、１５０を挟み込むようにして進入し、溶接打点１３０において、溶接ガン１２１からレーザーを照射して溶接を実行する。
【００３４】
この様子を上面から見た場合の模式図を図３（ｂ）に示す。図３（ｂ）に示すように、溶接対象１５０に対して、４つの溶接打点１３０ａ〜１３０ｄが定められているとする。そして、溶接打点１３０ａが基準打点として作業者により指定され、溶接打点１３０ｂ〜１３０ｄが溶接ロボット１２０の溶接ガン１２１が進入する進入角度を決定する溶接打点として指定されるものとする。また、作業者からは、これらの溶接打点について進入角度一定が指定されるものとする。そして、溶接打点１３０ａに対して溶接ロボット１２０の溶接ガン１２１が進入する角度がθ１に設定されているとする。すなわち、溶接打点１３０ａ〜溶接打点１３０ｄを結ぶ線２１０に対して、溶接打点１３０ａにおける接線（線２１０と同一）に対する進入角度がθ１であるとする。すると、経路決定部１０５は、溶接打点１３０ｂ〜１３０ｄに対して、溶接ガン１２１が進入する角度を、θ１と同じ角度に決定する。すなわち、溶接打点１３０ｂ〜１３０ｄそれぞれにおいて、線２１０に対する接線に対して、溶接ガン１２１が進入する進入角度θ２、θ３、θ４をθ１と同一に決定する。これは、言い換えると、溶接ガン１２１を取り付けている溶接ロボット１２０が、図３（ｂ）や図３（ｃ）の鉛直方向（図３（ａ）の上下方向）を１軸（以下、Ｙ軸）として回転するように構成されており、その回転角度をαとしたとき、全ての溶接打点に対する回転角度αを同一にすることを意味する。
【００３５】
そして、そのための進入角度を維持できるように、経路決定部１０５は、溶接ロボット１２０の各部（アーム１２２や、各アームのジョイントにおける軸角度等）の状態を決定し、ロボットポジションを決定する。そして、決定したロボットポジションを記憶部１０４に登録する。図３（ｂ）は、溶接打点が直線状に配されているような場合に特に有効な手法である。
【００３６】
次に第２の方法について、図３（ｃ）を用いて説明する。図３（ｃ）は、溶接打点が図３（ｂ）のように直線状ではなく、湾曲形状に配されている場合の例を示している。図３（ｃ）に示すように、溶接打点１３０ｅ〜１３０ｈが溶接対象１５０に定められているとする。そして、溶接打点１３０ｆが開始基準の溶接打点（以下、開始基準打点）として、溶接打点１３０ｉが終了基準の溶接打点（以下、終了基準打点）として、作業者により指定されているとする。また、作業者からは、溶接打点に対して開始基準打点１３０ｅと終了基準打点１３０ｈの間にある溶接打点１３０ｆ、１３０ｇが指定されているとする。また、開始基準打点１３０ｅに対する溶接ガン１２１の進入角度がθ５に設定されているとする。すなわち、各溶接打点１３０ｅ〜１３０ｈをつないで得られる線２１０に対する開始基準打点１３０ｅにおける接線１６０ａに対する進入経路２０１ｅの角度がθ５に設定されているとする。同様に終了基準打点１３０ｉに対する溶接ガン１２１の進入角度がθ８に設定されているとする。すなわち、線２１０に対する終了基準打点１３０ｈにおける接線１６０ｄに対する進入経路２１０ｈの角度がθ５に設定されているとする。このとき、経路決定部１０５は、溶接打点１３０ｇ、１３０ｈに対する溶接ガン１２１の進入角度θ６とθ７とをθ５とθ８とに基づいて決定する。すなわち、θ６とθ７をθ５とθ８との中間の角度であって、それぞれの溶接打点に対する角度について、開始基準打点と終了基準打点とのそれぞれの近い方に対して設定されている進入角度に近い値になるように決定する。
【００３７】
より具体的には、経路決定部１０５は、θ６とθ７とを、以下のように算出する。すなわち、進入角度を算出する溶接打点の、開始基準打点と終了基準打点とからの距離の比率に基づいて決定する。すなわち、溶接打点１３０ｅと１３０ｆとの間の距離をＬ１、溶接打点１３０ｆと溶接打点１３０ｇとの間の距離をＬ２、溶接打点１３０ｇと溶接打点ｈとの間の距離をＬ３とし、Ｌ１＋Ｌ２＋Ｌ３＝Ｌ４としたとき、経路決定部１０５は、θ６とθ７をそれぞれ以下の式に示すように算出する。
【００３８】
θ６＝θ５×Ｌ１／Ｌ４＋θ８×（Ｌ２＋Ｌ３）／Ｌ４
θ７＝θ５×（Ｌ１＋Ｌ２）／Ｌ４＋θ８×Ｌ３／Ｌ４
【００３９】
すなわち、進入角度を決定する溶接打点Ｘの開始基準打点までの距離をＬｓ、終了基準打点までの距離をＬｅとし、開始基準打点に対する進入角度をθｓ、終了基準打点に対する進入角度をθｅとしたとき、経路探索部１０５は、溶接打点Ｘに対する進入角度θｘは以下の式で算出する。
【００４０】
θｘ＝θｓ×Ｌｓ／（Ｌｓ＋Ｌｅ）＋θｅ×Ｌｅ／（Ｌｓ＋Ｌｅ）
【００４１】
これは言い換えると、溶接ガン１２１が取り付けられている先端部が図２（ｂ）及び図２（ｃ）における鉛直方向（図２（ａ）で見た場合の上下方向）をＹ軸として回転する構成になっており、その回転軸を、溶接打点１３０ｅ〜１３０ｈし、溶接打点１３０ｅにおける当該軸の回転角度をα１、溶接打点１３０ｈにおける当該軸の回転角度をα４としたとき、溶接打点１３０ｆ、１３０ｈに対する回転角度α２、α３は以下のように算出できる。
【００４２】
α２＝α１×Ｌ１／Ｌ４＋α４×（Ｌ２＋Ｌ３）／Ｌ４
α３＝α１×（Ｌ１＋Ｌ２）／Ｌ４＋α４×Ｌ３／Ｌ４
【００４３】
すなわち、回転角度を決定する溶接打点Ｘの開始基準打点までの距離をＬｓ、終了基準打点までの距離をＬｅとし、開始基準打点に対する回転角度をαｓ、終了基準打点に対する回転角度をαｅとしたとき、経路探索部１０５は、溶接打点Ｘに対する進入角度αｘは以下の式で算出する。
【００４４】
αｘ＝αｓ×Ｌｓ／（Ｌｓ＋Ｌｅ）＋αｅ×Ｌｅ（Ｌｓ＋Ｌｅ）
【００４５】
第２の方法においては、経路探索部１０５は、以上のようにして、開始基準打点と終了基準打点の間に存在する溶接打点に対する溶接ガン１２１の進入角度（進入経路）を決定する。経路探索部１０５は、溶接打点に対して決定した進入角度（進入経路）を記憶部１０４に記憶する。
【００４６】
また、経路決定部１０５は、各溶接打点に対して設定されているロボットポジションについて修正する、または、溶接打点に対するロボットポジションを定める機能を有する。経路決定部１０５は、溶接打点に対する溶接ガン１２１の進入経路及びその際のロボットポジションが決定されると、入力受付部１０１から、ロボットポジションを修正する指示として、開始基準となる溶接打点と、終了基準となる溶接打点と、修正対象の溶接打点との指定を受け付ける。ここで修正対象の溶接打点とは、プログラミング装置で溶接打点に対するロボットポジションを決定する溶接打点のことをいう。そして、進入角度の場合と同様に、開始基準打点と終了基準打点との間に存在する溶接打点に対するロボットポジションとして、溶接打点と、開始基準打点と終了基準打点とのそれぞれかの距離に応じた比率に基づいた、中間姿勢となるようにロボットポジションを決定する。そして、開始基準打点と終了基準打点との間の溶接打点に対して決定したロボットポジションを記憶部１０４に記憶する。すなわち、経路決定部１０５は、決定した溶接打点に対する進入経路及びロボットポジションで動作する制御プログラムを記憶部１０４に記憶する。
【００４７】
出力部１０６は、入力受付部１０１から入力された作業者からの指示に従って、経路決定部１０５により最終的に決定された経路で溶接打点に対して溶接ガン１２１を進入させる制御プログラムを記憶部１０４から読み出して、溶接ロボット１２０に出力する機能を有する。
【００４８】
以上が、ロボットプログラミング装置１００の構成である。
【００４９】
＜動作＞
以下、本実施の形態に係るロボットプログラミング装置１００の動作を図４〜図６を用いて説明する。
【００５０】
図４は、本実施の形態に係るロボットプログラミング装置１００の全体動作の大まかな流れを示すフローチャートである。
【００５１】
図４に示すように、ロボットプログラミング装置１００の入力受付部１０１は、作業者から、溶接対象１４０における溶接打点位置の設定情報を受け付ける（ステップＳ４０１）。入力受付部１０１は、受け付けた設定情報を打点設定部１０２に伝達する。打点設定部１０２は、伝達された設定情報に基づき、溶接対象１４０の溶接打点位置を記憶部１０４に記憶する。
【００５２】
次に、ロボットプログラミング装置１００の経路決定部１０５は、溶接打点に対して溶接ガン１２１が進入する進入経路を決定する進入角度決定処理を実行する（ステップＳ４０２）。進入角度決定処理の詳細については後述する。
【００５３】
進入角度決定処理の後に、経路決定部１０５は、各溶接打点に対して設定した進入角度に基づくアーム１２２の姿勢決定処理を実行する（ステップＳ４０３）。姿勢決定処理の詳細については後述する。
【００５４】
そして、経路決定部１０５により、決定された進入経路、ロボットポジションに従って動作する制御プログラムが記憶部１０４に記憶される。制御プログラムが記憶部１０４に記憶されると、入力受付部１０１からの作業者からの指示に従って、出力部１０６は、当該制御プログラムを記憶部１０４から読み出して溶接ロボット１２０に出力する（ステップＳ４０４）。
【００５５】
以上が、ロボットプログラミング装置１００の大まかな動作である。以下、ステップＳ４０２とステップＳ４０３の処理の詳細を説明する。
【００５６】
図５は、溶接打点に対して溶接ガン１２１が進入する進入角度を決定する処理を示すフローチャートであって、図４のステップＳ４０２における処理の詳細を示すフローチャートである。
【００５７】
図５に示すように、作業者から、ロボットプログラミング装置１００の入力受付部１０１に、溶接打点に対する溶接ガンの進入角度を決定するための決定方法の入力を受け付ける（ステップＳ５０１）。
【００５８】
進入角度一定の場合（ステップＳ５０１：一定）に、入力受付部１０１は、基準となる溶接打点の選択を受け付け（ステップＳ５０２）、その情報を経路決定部１０５に伝達する。図３（ｂ）の例で言えば、溶接打点１３０ａを基準の溶接打点として受け付ける。
【００５９】
次に、入力受付部１０１は、修正対象の溶接打点（進入経路をプログラミング装置で決定する溶接打点）の選択を受け付け（ステップＳ５０３）、その情報を経路決定部１０５に伝達する。図３（ｂ）の例で言えば、溶接打点１３０ｂ〜１３０ｄの選択を受け付ける。
【００６０】
経路決定部１０５は、記憶部１０４から基準となる溶接打点に対するロボットポジションの基準座標を取得する（ステップＳ５０４）。
【００６１】
経路決定部１０５は、さらに、記憶部１０４から必要に応じて修正対象の溶接打点に対するロボットポジションの修正座標を取得する（ステップＳ５０５）。
【００６２】
経路決定部１０５は、上述のように溶接打点に対して溶接ガン１２１が同じ角度で進入できるＹ軸回りの回転角度を算出する（ステップＳ５０６）。
【００６３】
そして、経路決定部１０５は、修正座標をＹ軸回りに回転する角度または修正対象の溶接打点に対して溶接ガン１２１が進入する角度を決定する（ステップＳ５０７）。
【００６４】
そして、経路決定部１０５は、修正した溶接打点に対する溶接ロボット１２０の到達姿勢を取得し、ロボットポジションを修正登録する（ステップＳ５０８）。
【００６５】
経路決定部１０５は、修正対象の溶接打点の全てに対して、進入角度を決定したか否かを判定する（ステップＳ５０９）。全ての修正対象の溶接打点に対して進入角度を決定していない場合には（ステップＳ５０９のＮＯ）、ステップＳ５０４に戻る。決定していた場合には（ステップＳ５０９のＹＥＳ）、処理を終了する。
【００６６】
一方、ステップＳ５０１において、入力受付部１０１が進入角度を徐々に変化させる指示を受け付けている場合に（ステップＳ５０１：徐変）、入力受付部１０１は、開始基準となる溶接打点の選択を受け付ける（ステップＳ５１０）。図３（ｃ）の例で言えば、溶接打点１３０ｅの選択を受け付ける。入力受付部１０１は、受け付けた溶接打点についての情報を経路決定部１０５に伝達する。
【００６７】
次に、入力受付部１０１は、終了基準となる溶接打点の選択を受け付ける（ステップＳ５１１）。図３（ｃ）の例で言えば、溶接打点１３０ｈの選択を受け付ける。入力受付部１０１は、受け付けた溶接打点についての情報を経路決定部１０５に伝達する。
【００６８】
経路決定部１０５は、伝達された開始基準の溶接打点に対するロボットポジションの基準座標を記憶部１０４から取得する（ステップＳ５１２）。また、経路決定部１０５は、伝達された終了基準の溶接打点に対するロボットポジションを記憶部１０４から取得する（ステップＳ５１３）。
【００６９】
経路決定部１０５は、開始基準の溶接打点に対する溶接ロボットのＹ軸回りの回転角度と、終了基準の溶接打点に対する溶接ロボットのＹ軸回りの回転角度とを、記憶部１０４から取得する（ステップＳ５１４）。
【００７０】
経路決定部１０５は、開始基準の溶接打点と終了基準の溶接打点の間の溶接打点を、回転角度を修正対象の溶接打点（プログラミング装置で進入経路を決定する溶接打点）として特定する。
【００７１】
経路決定部１０５は、修正対象の溶接打点に対するロボットポジションの修正座標を取得する（ステップＳ５１５）。
【００７２】
経路決定部１０５は、修正対象におけるＹ軸回りの回転角度を開始基準と終了基準のＹ軸回りの回転角度と溶接打点と開始基準と終了基準それぞれの溶接打点との間の距離に基づいて決定する（ステップＳ５１６）。
【００７３】
経路決定部１０５は、決定した回転角度に基づいて対象の溶接打点に対する溶接ロボット１２０の到達姿勢を取得し、ロボットポジションを修正登録する（ステップＳ５１７）。
【００７４】
経路決定部１０５は、修正対象の溶接打点の全てに対して、ロボットポジションを決定したか否かを判定する（ステップＳ５１８）。全ての修正対象の溶接打点に対してロボットポジションを決定していない場合には（ステップＳ５１８のＮＯ）、ステップＳ５１５に戻る。決定していた場合には（ステップＳ５１８のＹＥＳ）、図４のステップＳ４０３の処理に移行する。
【００７５】
以上が、溶接ロボット１２０の溶接ガンの各溶接打点に対する進入角度（進入経路）を決定する処理である。
【００７６】
図６は、図４のステップＳ４０３における処理の詳細を示すフローチャートである。
【００７７】
図６に示すように、入力受付部１０１は、開始基準となる溶接打点を受け付ける（ステップＳ６０１）。入力受付部１０１は、受け付けた開始基準となる溶接打点の情報を経路決定部１０５に伝達する。
【００７８】
また、入力受付部１０１は、終了基準となる溶接打点を受け付ける（ステップＳ６０２）。入力受付部１０１は、受け付けた終了基準となる溶接打点の情報を経路決定部１０５に伝達する。
【００７９】
経路決定部１０５は、開始基準となる溶接打点に対して設定されているロボットポジションを開始基準姿勢として記憶部１０４から取得する（ステップＳ６０３）。また、経路決定部１０５は、終了基準となる溶接打点に対して設定されているロボットポジションを終了基準姿勢として記憶部１０４から取得する（ステップＳ６０４）。
【００８０】
その後に、経路決定部１０５は、記憶部１０４を参照して、開始基準となる溶接打点と、終了基準となる溶接打点の間に位置する溶接打点に対応するロボットポジションを修正（決定）すべきロボットポジションとして特定する（ステップＳ６０５）。
【００８１】
経路決定部１０５は、修正対象のロボットの姿勢を、修正対象の溶接打点の、開始基準の溶接打点と終了基準の溶接打点からの距離の比率に基づいて、開始基準姿勢と終了基準姿勢の中間姿勢となるようにロボットポジションを修正する（ステップＳ６０６）。
【００８２】
経路決定部１０５は、修正後のロボットポジションを記憶部１０４に登録する（ステップＳ６０７）。
【００８３】
経路決定部１０６は、ステップＳ６０５において特定した全ての溶接打点について、ロボットポジションを修正したか否かを判定する（ステップＳ６０８）。全てのロボットポジションを修正していない場合には（ステップＳ６０８のＮＯ）、ステップＳ６０６に戻る。全てのロボットポジションを修正していた場合には（ステップＳ６０８のＹＥＳ）、図４のステップＳ４０４に移行する。
以上がロボットポジションの修正処理に関する説明である。
【００８４】
＜まとめ＞
上述したように、溶接ロボットの連続する溶接打点に対して、溶接ガンを進入させる角度を一定、または一様に変化させることができるので、溶接の品質を従来よりも向上させることができる。また、これに伴って、溶接ロボットの動き自体も最適化、各部の移動距離の短縮を実現できるので、作業効率の向上、作業時間の短縮が見込める。
【００８５】
また、図６に示すロボットポジションの修正によっても、同様の効果が見込める。
【００８６】
＜補足＞
上記実施の形態に本発明に係る発明の一実施態様を説明したが、本発明に係る思想がこれに限られないことは言うまでもない。以下、本発明に係る思想として含まれる各種参考例について説明する。
【００８７】
（１）上記実施の形態において、第２の方法における回転角度（進入角度）については、以下の算出式で算出することとしてもよい。
αｘ＝（αｅ−αｓ）×Ｌｓ／（Ｌｓ＋Ｌｅ）
【００８８】
もしくは、以下の算出式で算出してもよい。
αｘ＝（αｅ−αｓ）×Ｌｅ／（Ｌｓ＋Ｌｅ）
【００８９】
また、溶接打点間の距離が反映される形であれば、これ以外の計算式を用いてもよい。
【００９０】
（２）上記実施の形態においては、溶接を行う溶接ロボットを例に説明したが、本発明の思想を適用可能なロボットは溶接ロボットに限られるものではない。プログラミングによるロボット制御を行って、ロボットを所定の目的位置に到達させる際のロボットの姿勢の均一化、平滑化を実現できる作業用ロボットであれば、どのようなロボットであってもよい。
【００９１】
（３）上記実施の形態において、ロボットプログラミング装置１００の各機能部は、集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成された論理回路（ハードウェア）や専用回路によって実現してもよいし、ＣＰＵ（Central Processing Unit）およびメモリを用いてソフトウェアによって実現してもよい。また、各機能部は、１または複数の集積回路により実現されてよく、複数の機能部の機能を１つの集積回路により実現されることとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称されることもある。なお、ここで「回路」は、コンピュータによるデジタル処理、すなわち、ソフトウェアによる機能的処理としての意味合いを含んでもよい。また、当該回路は、再構築可能な回路（例えば、ＦＰＧＡ：Field Programmable Gate Away）により実現されてもよい。
【００９２】
ロボットプログラミング装置１００の各機能部をソフトウェアにより実現する場合、ロボットプログラミング装置１００は、各機能を実現するソフトウェアである制御プログラムを生成するプログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記憶されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記憶媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記憶媒体から読み取って実行することにより、本発明の目的が達成される。上記記憶媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、当該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００９３】
なお、上記プログラムは、例えば、ActionScript、JavaScript（登録商標）などのスクリプト言語、Objective-C、Java（登録商標）などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【００９４】
（４）本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を１つに組み合わせたり、或いは分割したりすることが可能である。
【００９５】
（５）上記実施の形態および各種変形例に示す構成を適宜組み合わせることとしてもよい。
【符号の説明】
【００９６】
１  オフラインティーチングシステム
１００  ロボットプログラミング装置
１０１  入力受付部
１０２  打点設定部
１０３  経路設定部
１０４  記憶部
１０５  経路決定部
１０６  出力部
１２０  溶接ロボット
１２１  溶接ガン
１４０、１５０  溶接対象
【図１】
2017104963.tif 000003
【図２】
2017104963.tif 000004
【図３】
2017104963.tif 000005
【図４】
2017104963.tif 000006
【図５】
2017104963.tif 000007
【図６】
2017104963.tif 000008
【図７】
2017104963.tif 000009