(57)【要約】【課題】使用者が動作点の修正を直感的に指示することができ、使用者の修正の意図を正確に把握することのできるロボットの動作プログラム修正装置を提供する。【解決手段】シミュレーション装置は、ロボットの動作軌道ＯＢ１を表示するディスプレイと、修正する範囲の始点Ｓ及び終点Ｅの指定を受け付ける範囲受付部と、始点Ｓと終点Ｅとの間に被修正点Ａ２を設定する設定部と、被修正点Ａ２の移動先として、動作軌道ＯＢ１の内外方向及び移動距離の指定を受け付ける移動先受付部と、始点Ｓ及び被修正点Ａ２を結ぶ線と、終点Ｅ及び被修正点Ａ２を結ぶ線とのなす角度αを、１８０°と比較することにより、動作軌道ＯＢ１の内外方向を判断する判断部と、判断された内外方向に従って、指定された内外方向及び移動距離の位置へ被修正点Ａ２を移動させる移動部と、移動された被修正点を通過する動作軌道となるように、動作プログラムを修正する修正部と、を備える。【選択図】      図４
2014065107.tif 000002
【特許請求の範囲】
【請求項１】
予め作成された動作プログラムによるロボットの動作軌道を表示する表示部と、
前記表示部に表示された前記動作軌道において、修正する範囲の始点及び終点の指定を受け付ける範囲受付部と、
前記始点と前記終点との間に、位置の修正される被修正点を設定する設定部と、
前記被修正点の移動先として、前記動作軌道の内外方向及び移動距離の指定を受け付ける移動先受付部と、
前記始点及び前記被修正点を結ぶ線と、前記終点及び前記被修正点を結ぶ線とのなす角度を、１８０°を表す角度と比較し、前記なす角度が１８０°を表す角度よりも小さい側を前記動作軌道の内側と判断し、前記なす角度が１８０°を表す角度よりも大きい側を前記動作軌道の外側と判断することにより、前記動作軌道の内外方向を判断する判断部と、
前記判断部により判断された前記内外方向に従って、前記移動先として指定された前記内外方向及び前記移動距離の位置へ前記被修正点を移動させる移動部と、
前記移動部により移動された前記被修正点を通過する動作軌道となるように、前記動作プログラムを修正する修正部と、
を備えることを特徴とするロボットの動作プログラム修正装置。
【請求項２】
前記移動部は、前記始点、前記被修正点、及び前記終点を含む修正面上で、前記被修正点を移動させる請求項１に記載のロボットの動作プログラム修正装置。
【請求項３】
前記修正面の傾きの指定を受け付ける傾き受付部と、
前記指定された傾きまで前記修正面を傾ける傾け部と、
を備える請求項２に記載のロボットの動作プログラム修正装置。
【請求項４】
前記傾き受付部は、前記修正面に垂直で、前記始点又は前記終点と、前記被修正点とを含む補助面を前記表示部に表示させ、前記補助面の傾きの指定を受け付けることで、前記修正面の傾きの指定を受け付ける請求項３に記載のロボットの動作プログラム修正装置。
【請求項５】
前記傾き受付部は、前記始点及び前記終点を通る直線を中心軸として前記修正面を回転させる量の指定を受け付けることで、前記修正面の傾きの指定を受け付ける請求項３に記載のロボットの動作プログラム修正装置。
【請求項６】
前記移動部は、前記被修正点を含む水平面上で前記被修正点を移動させる請求項１に記載のロボットの動作プログラム修正装置。
【請求項７】
前記移動部は、前記始点及び前記被修正点を結ぶ線と、前記終点及び前記被修正点を結ぶ線とのなす角度の二等分線上で、前記被修正点を移動させる請求項２〜６のいずれか１項に記載のロボットの動作プログラム修正装置。
【請求項８】
前記表示部は、前記動作軌道上の動作点を表示し、
設定部は、前記動作点のうちから前記被修正点の指定を受け付けることで、前記被修正点を設定する請求項１〜７のいずれか１項に記載のロボットの動作プログラム修正装置。
【請求項９】
設定部は、前記動作軌道上において前記始点と前記終点との中点を前記被修正点に設定する請求項１〜７のいずれか１項に記載のロボットの動作プログラム修正装置。
【請求項１０】
設定部は、前記動作軌道上の前記始点と前記終点との間において曲率半径が最小となる点を、前記被修正点に設定する請求項１〜７のいずれか１項に記載のロボットの動作プログラム修正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの動作プログラムを修正する装置に関する。
【背景技術】
【０００２】
従来、シミュレーション画像においてロボットと周辺機器等との配置を現実の配置に合わせた後、シミュレーション画像でのロボットと周辺機器等との位置関係を見て、ロボットの動作点ひいては動作プログラムを修正するものがある（例えば、特許文献１参照）。
【０００３】
特許文献１に記載のものによれば、オフラインでの動作プログラムの作成から、現実のロボットシステムとの配置合わせ、タッチアップ等によるずれ量検出、動作プログラムの修正までを、シミュレーション装置により一貫して行うことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１５０２１９
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に記載のものでは、シミュレーション画像において座標系や矢印を表示することにより、使用者によるロボットの動作点の変更を支援している。
【０００６】
しかしながら、シミュレーション画像において、使用者が動作点の修正を意図した通り指示すること、及びシミュレーション装置において使用者の修正の意図を正確に把握することは必ずしも容易ではない。例えば、使用者が動作点を軌道の内側へ修正しようとした場合、修正後の動作点の位置を使用者が意図通りに指示する方法、シミュレーション装置では軌道の内側と外側とを正確に判断する方法が必要となる。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、その主たる目的は、使用者が動作点の修正を直感的に指示することができ、使用者の修正の意図を正確に把握することのできるロボットの動作プログラム修正装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するために、以下の手段を採用した。
【０００９】
第１の手段は、予め作成された動作プログラムによるロボットの動作軌道を表示する表示部と、前記表示部に表示された前記動作軌道において、修正する範囲の始点及び終点の指定を受け付ける範囲受付部と、前記始点と前記終点との間に、位置の修正される被修正点を設定する設定部と、前記被修正点の移動先として、前記動作軌道の内外方向及び移動距離の指定を受け付ける移動先受付部と、前記始点及び前記被修正点を結ぶ線と、前記終点及び前記被修正点を結ぶ線とのなす角度を、１８０°を表す角度と比較し、前記なす角度が１８０°を表す角度よりも小さい側を前記動作軌道の内側と判断し、前記なす角度が１８０°を表す角度よりも大きい側を前記動作軌道の外側と判断することにより、前記動作軌道の内外方向を判断する判断部と、前記判断部により判断された前記内外方向に従って、前記移動先として指定された前記内外方向及び前記移動距離の位置へ前記被修正点を移動させる移動部と、前記移動部により移動された前記被修正点を通過する動作軌道となるように、前記動作プログラムを修正する修正部と、を備えることを特徴とするロボットの動作プログラム修正装置。
【００１０】
上記構成によれば、予め作成された動作プログラムによるロボットの動作軌道が、表示部に表示される。そして、表示部に表示された動作軌道において、修正する範囲の始点及び終点を使用者が指定すると、その指定が範囲受付部により受け付けられる。設定部により、指定された始点と終点との間に、位置の修正される被修正点が設定される。また、被修正点の移動先として、動作軌道の内外方向及び移動距離を使用者が指定すると、その指定が移動先受付部により受け付けられる。したがって、使用者は、動作軌道を修正する範囲と、動作軌道の内外方向及び移動距離とを指定するだけで、動作点（被修正点）の修正を直感的に指示することができる。なお、設定部は、使用者による被修正点の指定を受け付けるものでもよいし、修正範囲の始点及び終点に基づいて被修正点を算出するものでもよい。
【００１１】
さらに、修正範囲の始点及び被修正点を結ぶ線と、終点及び被修正点を結ぶ線とのなす角度を、１８０°を表す角度（１８０°又はπｒａｄ）と比較することにより、動作軌道の内外方向が判断部により判断される。例えば、動作軌道の修正範囲が円弧状である場合、始点及び被修正点を結ぶ線と、終点及び被修正点を結ぶ線とのなす角度は、動作軌道の内側では１８０°よりも小さくなり、動作軌道の外側では１８０°よりも大きくなる。このため、なす角度と１８０°とを比較し、なす角度が１８０°よりも小さい側を動作軌道の内側と判断し、なす角度が１８０°よりも大きい側を動作軌道の外側と判断することができる。これにより、動作軌道の内外方向を判断することができ、使用者の修正の意図を正確に把握することができる。
【００１２】
そして、判断部により判断された内外方向に従って、移動先として指定された動作軌道の内外方向及び移動距離の位置へ、被修正点が移動部により移動させられる。このため、使用者の意図通りに被修正点の位置を修正することができる。さらに、移動部により移動された被修正点を通過する動作軌道となるように、動作プログラムが修正部により修正されるため、使用者が意図した通りに動作軌道を修正することができる。
【００１３】
第２の手段では、前記移動部は、前記始点、前記被修正点、及び前記終点を含む修正面上で、前記被修正点を移動させる。
【００１４】
使用者が動作点の位置を修正する場合、動作軌道の軌道面に沿って動作点を内側又は外側に修正することが多い。ここで、修正範囲の始点、被修正点、及び修正範囲の終点を含む修正面は、動作軌道の軌道面に略近い面となる。したがって、移動部により、修正面上で被修正点を移動させることにより、使用者の意図する修正を容易に実現することができる。
【００１５】
第３の手段では、前記修正面の傾きの指定を受け付ける傾き受付部と、前記指定された傾きまで前記修正面を傾ける傾け部と、を備える。
【００１６】
上記構成によれば、修正範囲の始点、被修正点、及び修正範囲の終点を含む修正面の傾きを使用者が指定すると、その指定が傾き受付部により受け付けられる。そして、指定された傾きまで、修正面が傾け部により傾けられる。したがって、修正面の傾きを調節して、その調節された修正面上で被修正点を移動させることができる。
【００１７】
第４の手段では、前記傾き受付部は、前記修正面に垂直で、前記始点又は前記終点と、前記被修正点とを含む補助面を前記表示部に表示させ、前記補助面の傾きの指定を受け付けることで、前記修正面の傾きの指定を受け付ける。
【００１８】
上記構成によれば、修正面に垂直で、始点又は終点と、被修正点とを含む補助面が、傾き受付部により表示部に表示させられる。そして、補助面の傾きを使用者が指定することで、修正面の傾きの指定が傾き受付部により受け付けられる。したがって、使用者は、補助面を傾ける操作により、修正面の傾きを直感的に調節することができる。
【００１９】
第５の手段では、前記傾き受付部は、前記始点及び前記終点を通る直線を中心軸として前記修正面を回転させる量の指定を受け付けることで、前記修正面の傾きの指定を受け付ける。
【００２０】
上記構成によれば、修正範囲の始点及び終点を通る直線を中心軸として修正面を回転させる量を、使用者が指定することで、修正面の傾きの指定が傾き受付部により受け付けられる。したがって、使用者は、上記始点及び終点を通る直線を中心軸として修正面を回転させる操作により、修正面の傾きを直感的に調整することができる。
【００２１】
第６の手段では、前記移動部は、前記被修正点を含む水平面上で前記被修正点を移動させる。
【００２２】
使用者が動作点の位置を修正する場合、被修正点を含む水平面に沿って動作点を内側又は外側に修正することも多い。したがって、移動部により、被修正点を含む水平面上で被修正点を移動させることにより、使用者の意図する修正を容易に実現することができる。
【００２３】
第７の手段では、前記移動部は、前記始点及び前記被修正点を結ぶ線と、前記終点及び前記被修正点を結ぶ線とのなす角度の二等分線上で、前記被修正点を移動させる。
【００２４】
使用者は、指定した修正範囲の始点及び終点から等距離の方向へ、被修正点の位置を修正することを意図していることが多い。したがって、移動部により、始点及び被修正点を結ぶ線と、終点及び被修正点を結ぶ線とのなす角度の二等分線上で、被修正点を移動させることにより、使用者の意図する修正を容易に実現することができる。
【００２５】
なお、第７の手段が第２〜第５の手段を前提とする場合は、修正範囲の始点、被修正点、及び修正範囲の終点を含む修正面上において、始点及び被修正点を結ぶ線と、終点及び被修正点を結ぶ線とのなす角度の二等分線上で被修正点が移動させられる。第７の手段が第６の手段を前提とする場合は、被修正点を含む水平面上において、始点及び被修正点を結ぶ線と、終点及び被修正点を結ぶ線とのなす角度の二等分線上で被修正点が移動させられる。
【００２６】
第８の手段では、前記表示部は、前記動作軌道上の動作点を表示し、設定部は、前記動作点のうちから前記被修正点の指定を受け付けることで、前記被修正点を設定する。
【００２７】
上記構成によれば、動作軌道上の動作点が表示部に表示される。そして、動作点のうちから被修正点を使用者が指定すると、その指定が設定部により受け付けられることで、被修正点が設定される。したがって、使用者は被修正点を容易に指示することができる。
【００２８】
第９の手段では、設定部は、前記動作軌道上において前記始点と前記終点との中点を前記被修正点に設定する。
【００２９】
使用者が動作点の位置を修正する場合、修正する動作点が略中央となるように、修正範囲の始点及び終点を指定することが多い。したがって、設定部により、動作軌道上において修正範囲の始点と終点との中点を被修正点に設定することにより、使用者の意図する被修正点を容易に設定することができる。
【００３０】
第１０の手段では、設定部は、前記動作軌道上の前記始点と前記終点との間において曲率半径が最小となる点を、前記被修正点に設定する。
【００３１】
使用者が動作点の位置を修正する場合、動作軌道上において曲率半径が最小となる部分の動作点を修正することが多い。したがって、設定部により、動作軌道上の修正範囲の始点と終点との間において曲率半径が最小となる点を被修正点に設定することにより、使用者の意図する被修正点を容易に設定することができる。
【図面の簡単な説明】
【００３２】
【図１】ロボットシステムの概要を示す模式図。
【図２】ロボット及び動作軌道を表示するディスプレイ画面。
【図３】動作プログラムの修正手順を示すフローチャート。
【図４】移動先の指定態様を示すディスプレイ画面。
【図５】修正面の傾きの指定態様を示すディスプレイ画面。
【図６】修正面の傾きの指定態様について変更例を示すディスプレイ画面。
【図７】移動先の指定態様の変更例を示すディスプレイ画面。
【発明を実施するための形態】
【００３３】
以下、一実施形態について、図面を参照しつつ説明する。本実施形態は、機械組立工場等において、機械等の組み立てを行うロボットシステムとして具体化している。
【００３４】
図１は、ロボットシステム１０の概要を示す模式図である。同図に示すように、ロボットシステム１０は、ロボット２０、ロボットコントローラ３０、ティーチングペンダント４０、及びシミュレーション装置５０を備えている。
【００３５】
ロボット２０は、垂直多関節型のロボットであり、６つ（複数）の関節を有するアーム２１、及び基台２２を備えている。アーム２１（被駆動部）は、先端にハンド部２１ａを有している。アーム２１の各関節には、それぞれモータが設けられており、これらのモータの回転によりアーム２１が駆動される。各モータには、その出力軸を制動する電磁ブレーキと、出力軸の回転角度に応じたパルス信号を出力するエンコーダとがそれぞれ設けられている。ロボット２０は、アーム２１を動作させることにより、ワークに対する部品の組付けやワークの搬送等の作業を行う。
【００３６】
コントローラ３０（制御部）は、ＣＰＵ、ＲＯＭ、ＲＡＭ、データ記憶部、駆動回路、位置検出回路等を備えている。ＲＯＭは、ロボット２０のシステムプログラムや動作プログラム等を記憶している。ＲＡＭは、これらのプログラムを実行する際にパラメータの値等を記憶する。位置検出回路には、各エンコーダの検出信号がそれぞれ入力される。位置検出回路は、各エンコーダの検出信号に基づいて、各関節に設けられたモータの回転角度を検出する。ＣＰＵは、予め設定された動作プログラム（プログラム）を実行することにより、位置検出回路から入力される位置情報に基づいて、アーム２１の各関節の回転角度（アーム２１の姿勢）を目標回転角度（目標姿勢）にフィードバック制御する。
【００３７】
ティーチングペンダント４０（操作機）は、ＣＰＵ、ＲＯＭ、及びＲＡＭを含むマイクロコンピュータ、各種の手動操作キー、並びにディスプレイ４２を備えている。ペンダント４０は、コントローラ３０に接続されており、コントローラ３０と通信可能となっている。オペレータ（使用者）は、このペンダント４０を手動操作して、ロボット２０の動作プログラムの作成、修正、登録、各種パラメータの設定を行うことができる。動作プログラムの修正等を行うティーチングでは、作業においてアーム２１のハンド部２１ａが通過する動作点（位置座標）を教示する。そして、オペレータは、コントローラ３０を通じて、ティーチングされた動作プログラムに基づきロボット２０を動作させることができる。換言すれば、コントローラ３０は、予め設定された動作プログラム及びペンダント４０の操作に基づいて、ロボット２０のアーム２１の動作を制御する。
【００３８】
ロボット２０は、固有のロボット座標系（Ｘ，Ｙ，Ｚ軸からなる三次元直交座標系）を有して構成され、コントローラ３０により、そのロボット座標系に基づいて、Ｘ軸方向（左右方向）及びＹ軸方向（前後方向）並びにＺ軸方向（上下方向）に自在に動作される。ロボット座標系は、例えば、基台２２の中心を原点として、床（作業台）の上面（水平面）をＸＹ平面とし、床に垂直な座標軸をＺ軸とし、基台２２の正面が向く方向を前方（Ｙ軸の＋方向）とするように定義される。ティーチングによって教示された教示点は、そのロボット座標系に基づく位置座標（位置ベクトル）にて記憶される。
【００３９】
シミュレーション装置５０（動作プログラム修正装置）は、周知のパーソナルコンピュータにより構成されており、ＣＰＵ、ＲＯＭ、ＲＡＭ、キーボード、マウス、及びディスプレイ５２を備えている。シミュレーション装置５０は、コントローラ３０に接続されている。シミュレーション装置５０は、そのソフトウエア（コンピュータプログラム）により、上記ロボット座標系を基準にしてロボット２０の３次元画像モデル（以下、「３Ｄモデル」という）を作成する。シミュレーション装置５０は、作成した３Ｄモデルをディスプレイ５２に表示させる。
【００４０】
オペレータは、ディスプレイ５２に表示された３Ｄモデルに基づいて、ロボット２０の動作点やロボット２０の姿勢を設定する。シミュレーション装置５０は、設定されたロボット２０の動作点や姿勢に基づいて、動作プログラムをオフラインで作成する。また、シミュレーション装置５０は、作成した動作プログラムをシミュレーションし、ロボット２０の３Ｄモデルや動作軌道ＯＢ１、動作点Ａ１〜Ａ３をディスプレイ５２に表示させる（図２参照）。オペレータは、シミュレーション結果に基づいて、ロボット２０の動作点Ａ１〜Ａ３や姿勢を修正する。そして、シミュレーション装置５０は、修正されたロボット２０の動作点や姿勢に基づいて、動作プログラムを再作成（修正）する。ロボット２０を実際に動作させる際には、作成された動作プログラムがコントローラ３０又はペンダント４０に保存される。
【００４１】
本実施形態では、オペレータが動作プログラムを修正する際に、オペレータが動作点の修正を直感的に指示し、修正の意図をシミュレーション装置５０で正確に把握すべく、シミュレーション装置５０は図３に示す一連の処理を実行する。
【００４２】
まず、ディスプレイ５２に表示された動作軌道ＯＢ１において、修正する範囲の始点及び終点の指定を受け付ける（Ｓ１１）。具体的には、図４に併せて示すように、動作軌道ＯＢ１上において修正を意図する範囲の始点Ｓ及び終点Ｅを、オペレータにマウス操作等により指定させる。そして、修正範囲の始点Ｓ及び終点Ｅの指定を受け付ける。
【００４３】
続いて、ディスプレイ５２に表示された動作点Ａ１〜Ａ３のうちから、位置の修正される被修正点の指定を受け付ける（Ｓ１２）。具体的には、図４に併せて示すように、動作点Ａ１〜Ａ３のうちから修正を意図する被修正点を、オペレータにマウス操作等により指定させる。そして、被修正点の指定、例えば動作点Ａ２の指定を受け付け、動作点Ａ２を被修正点として設定する。
【００４４】
続いて、被修正点の移動先として、被修正点の移動方向の指定を受け付ける（Ｓ１３）。具体的には、図４に併せて示すように、被修正点（動作点Ａ２）の移動先として、動作軌道ＯＢ１の内側又は外側を、指定ウィンドウにおいてオペレータにマウス操作等により指定させる。そして、動作軌道ＯＢ１の内外方向の指定を受け付ける。
【００４５】
続いて、被修正点の移動先として、被修正点の移動距離の指定を受け付ける（Ｓ１４）。具体的には、図４に併せて示すように、被修正点（動作点Ａ２）の移動先として、動作軌道ＯＢ１の指定された内外方向への移動距離を、指定ウィンドウにおいてオペレータにキーボード操作等により指定させる。そして、被修正点の移動距離の指定を受け付ける。
【００４６】
続いて、動作軌道ＯＢ１の内外方向を判断する（Ｓ１５）。具体的には、図４に併せて示すように、始点Ｓ及び被修正点（動作点Ａ２）を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度を、１８０°と比較して、動作軌道ＯＢ１内外方向を判断する。すなわち、なす角度が１８０°よりも小さい側（角度α側）を動作軌道ＯＢ１の内側と判断し、なす角度が１８０°よりも大きい側（角度αの反対側）を動作軌道ＯＢ１の外側と判断する。なお、角度の単位がｒａｄである場合には、なす角度をπ［ｒａｄ］と比較して、動作軌道ＯＢ１の内外方向を判断すればよい。
【００４７】
続いて、始点Ｓ、被修正点、及び終点Ｅを含む修正面を算出する（Ｓ１６）。具体的には、図４に併せて示すように、始点Ｓ、被修正点（動作点Ａ２）、及び終点Ｅを含む平面である修正面Ｐ２を求める。
【００４８】
続いて、被修正点の移動方向を表示する（Ｓ１７）。具体的には、図４に併せて示すように、修正面Ｐ２上において、始点Ｓ及び被修正点（動作点Ａ２）を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度（角度α）の二等分線の方向へ、被修正点から延びる矢印Ｄ１を表示する。なお、ＸＹ平面Ｐ１に対する修正面Ｐ２の仰角が角度θの場合、ＸＹ平面の法線と修正面Ｐ２の法線とが角度θをなしている。
【００４９】
続いて、修正面Ｐ２の傾きを修正する際に修正面Ｐ２の傾きの指定を受け付ける（Ｓ１８）。具体的には、図５に併せて示すように、修正面Ｐ２（破線の動作軌道ＯＢ１に沿った面）に垂直で、始点Ｓと被修正点（動作点Ａ２）とを含む平面である補助面Ｐ４と、終点Ｅと被修正点とを含む平面である補助面Ｐ３とを、ディスプレイ５２に表示させる。そして、被修正点を中心として点Ｒを回転させた場合の補助面Ｐ３，Ｐ４の傾きを、オペレータにマウス操作等により指定させる。そして、補助面Ｐ３，Ｐ４の傾きの指定（例えばＲ点を左回転）を受け付けることで、修正面Ｐ２の傾きの指定（実線の動作軌道ＯＢ２に沿った面）を受け付け、指定された傾きまで修正面Ｐ２を傾ける。
【００５０】
続いて、Ｓ１５で判断した動作軌道ＯＢ１の内外方向に従って、Ｓ１３，Ｓ１４，Ｓ１８で指定された移動先へ被修正点を移動させる（Ｓ１９）。具体的には、図５に併せて示すように、Ｓ１８で傾けられた修正面Ｐ２（実線の動作軌道ＯＢ２に沿った面）上において、始点Ｓ及び被修正点（動作点Ａ２）を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度（角度α）の二等分線上で、Ｓ１３で指定された内外方向、及びＳ１４で指定された移動距離の位置へ被修正点を移動させる。このとき、始点Ｓ、被修正点、及び終点Ｅは、Ｓ１９で傾けられた修正面Ｐ２上へ移動した点をそれぞれ用いる。
【００５１】
続いて、Ｓ１９で移動された被修正点（動作点Ａ２）を通過する動作軌道となるように、動作プログラムを修正（再作成）する（Ｓ２０）。そして、この一連の処理を終了する。なお、被修正点（動作点Ａ２）の位置の修正、ひいては動作軌道ＯＢ１の修正に伴って、修正範囲に含まれる動作点Ａ１，Ａ３の位置を修正してもよいし、動作点Ａ１，Ａ３の位置は修正せず動作点Ａ２のみを修正してもよい。
【００５２】
なお、Ｓ１１の処理が範囲受付部としての処理に相当し、Ｓ１２の処理が設定部としての処理に相当し、Ｓ１３，Ｓ１４の処理が移動先受付部としての処理に相当し、Ｓ１５の処理が判断部としての処理に相当し、Ｓ１８の処理が傾き受付部及び傾け部としての処理に相当し、Ｓ１９の処理が移動部としての処理に相当し、Ｓ２０の処理が修正部としての処理に相当する。
【００５３】
以上詳述した本実施形態は、以下の利点を有する。
【００５４】
・予め作成された動作プログラムによるロボット２０の動作軌道ＯＢ１が、ディスプレイ５２に表示される。そして、ディスプレイ５２に表示された動作軌道ＯＢ１において、修正する範囲の始点Ｓ及び終点Ｅをオペレータが指定すると、その指定が範囲受付部により受け付けられる。設定部により、指定された始点Ｓと終点Ｅとの間に、位置の修正される被修正点（動作点Ａ２）が設定される。また、被修正点の移動先として、動作軌道ＯＢ１の内外方向及び移動距離をオペレータが指定すると、その指定が移動先受付部により受け付けられる。したがって、オペレータは、動作軌道ＯＢ１を修正する範囲と、動作軌道ＯＢ１の内外方向及び移動距離とを指定するだけで、動作点の修正を直感的に指示することができる。
【００５５】
・修正範囲の始点Ｓ及び被修正点を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度を、１８０°と比較することにより、動作軌道ＯＢ１の内外方向が判断部により判断される。例えば、動作軌道ＯＢ１の修正範囲が円弧状である場合、始点Ｓ及び被修正点を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度は、動作軌道ＯＢ１の内側では１８０°よりも小さくなり、動作軌道ＯＢ１の外側では１８０°よりも大きくなる。このため、なす角度と１８０°とを比較し、なす角度が１８０°よりも小さい側を動作軌道ＯＢ１の内側と判断し、なす角度が１８０°よりも大きい側を動作軌道ＯＢ１の外側と判断することができる。これにより、動作軌道ＯＢ１の内外方向を判断することができ、オペレータの修正の意図を正確に把握することができる。
【００５６】
・判断部により判断された内外方向に従って、移動先として指定された動作軌道ＯＢ１の内外方向及び移動距離の位置へ、被修正点が移動部により移動させられる。このため、オペレータの意図通りに被修正点の位置を修正することができる。さらに、移動部により移動された被修正点を通過する動作軌道となるように、動作プログラムが修正部により修正されるため、オペレータが意図した通りに動作軌道ＯＢ１を修正することができる。
【００５７】
・修正範囲の始点Ｓ、被修正点、及び修正範囲の終点Ｅを含む修正面Ｐ２の傾きをオペレータが指定すると、その指定が傾き受付部により受け付けられる。そして、指定された傾きまで、修正面Ｐ２が傾け部により傾けられる。したがって、修正面Ｐ２の傾きを調節して、その調節された修正面Ｐ２上で被修正点を移動させることができる。
【００５８】
・修正面Ｐ２に垂直で、始点Ｓと被修正点とを含む補助面Ｐ４、及び終点Ｅと被修正点とを含む補助面Ｐ３が、傾き受付部によりディスプレイ５２に表示させられる。そして、補助面Ｐ３，Ｐ４の傾きをオペレータが指定することで、修正面Ｐ２の傾きの指定が傾き受付部により受け付けられる。したがって、オペレータは、補助面Ｐ３，Ｐ４を傾ける操作により、修正面Ｐ２の傾きを直感的に調節することができる。
【００５９】
・オペレータは、指定した修正範囲の始点Ｓ及び終点Ｅから等距離の方向へ、被修正点の位置を修正することを意図していることが多い。したがって、移動部により、傾きの修正された修正面Ｐ２上において、始点Ｓ及び被修正点を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度の二等分線上で、被修正点を移動させることにより、オペレータの意図する修正を容易に実現することができる。
【００６０】
・動作軌道ＯＢ１上の動作点Ａ１〜Ａ３等がディスプレイ５２に表示される。そして、動作点Ａ１〜Ａ３のうちから被修正点をオペレータが指定すると、その指定が設定部により受け付けられることで、被修正点が設定される。したがって、オペレータは被修正点を容易に指示することができる。
【００６１】
上記実施形態を、以下のように変更して実施することもできる。
【００６２】
・図６に示すように、傾き受付部は、始点Ｓ及び終点Ｅを通る直線Ｌを中心軸として、修正面Ｐ２（破線の動作軌道ＯＢ１に沿った面）を回転させる量の指定を受け付けることで、修正面Ｐ２の傾きの指定を受け付けてもよい。具体的には、直線Ｌを中心軸線として被修正点（動作点Ａ２）を回転させる場合の回転量を、オペレータにマウス操作等により指定させる。そして、被修正点を例えば点Ａ２ａまで回転させる指定を受け付けることで、修正面Ｐ２の傾きの指定（実線の動作軌道ＯＢ２に沿った面）を受け付け、指定された傾きまで修正面Ｐ２を傾ける。
【００６３】
上記構成によれば、修正範囲の始点Ｓ及び終点Ｅを通る直線Ｌを中心軸として修正面Ｐ２を回転させる量を、オペレータが指定することで、修正面Ｐ２の傾きの指定が傾き受付部により受け付けられる。したがって、オペレータは、上記始点Ｓ及び終点Ｅを通る直線Ｌを中心軸として修正面Ｐ２を回転させる操作により、修正面Ｐ２の傾きを直感的に調整することができる。
【００６４】
・例えば、図４に示すように、オペレータが動作点Ａ２の位置を修正する場合、動作軌道ＯＢ１の軌道面に沿って動作点Ａ２を内側又は外側に修正することが多い。ここで、修正範囲の始点Ｓ、被修正点（動作点Ａ２）、及び終点Ｅを含む修正面Ｐ２は、動作軌道ＯＢ１の軌道面に略近い面となる。したがって、修正面Ｐ２の傾きを修正しない場合に、移動部により、修正面Ｐ２上で被修正点を移動させることにより、オペレータの意図する修正を容易に実現することができる。
【００６５】
・また、例えば図７に示すように、オペレータが動作点Ａ２の位置を修正する場合、被修正点を含む水平面Ｐ５に沿って動作点Ａ２を内側又は外側に修正することも多い。したがって、移動部により、被修正点（動作点Ａ２）を含む水平面Ｐ５上で被修正点を移動させることにより、オペレータの意図する修正を容易に実現することができる。さらに、この場合、傾きの修正された修正面Ｐ２（水平面Ｐ５）上において、始点Ｓ及び被修正点を結ぶ線と、終点Ｅ及び被修正点を結ぶ線とのなす角度の二等分線上で、被修正点を移動させることにより（矢印Ｄ２の方向）、オペレータの意図する修正を容易に実現することができる。
【００６６】
・上記実施形態では、動作点Ａ１〜Ａ３のうちから被修正点をオペレータが指定すると、その指定が設定部により受け付けられることで、被修正点が設定された。しかしながら、オペレータが動作点の位置を修正する場合、修正する動作点が略中央となるように、修正範囲の始点Ｓ及び終点Ｅを指定することが多い。したがって、設定部により、動作軌道ＯＢ１上において修正範囲の始点Ｓと終点Ｅとの中点を被修正点に設定することによっても、オペレータの意図する被修正点を容易に設定することができる。
【００６７】
・また、オペレータが動作点の位置を修正する場合、動作軌道ＯＢ１上において曲率半径が最小となる部分の動作点を修正することが多い。したがって、設定部により、動作軌道ＯＢ１上の修正範囲の始点Ｓと終点Ｅとの間において、曲率半径が最小となる点を被修正点に設定することによっても、オペレータの意図する被修正点を容易に設定することができる。
【００６８】
・上記実施形態では、シミュレーション装置５０が動作プログラム修正装置を構成していたが、コントローラ３０が動作プログラム修正装置を構成してもよい。その場合には、ペンダント４０のディスプレイ４２（表示部）に、ロボット２０の３Ｄモデルや動作軌道ＯＢ１、動作点Ａ１〜Ａ３等を表示させればよい。
【００６９】
・垂直多関節型のロボット２０に代えて、水平多関節型のロボットを採用することもできる。
【符号の説明】
【００７０】
１０…ロボットシステム、２０…ロボット、２１…アーム、２１ａ…ハンド部、５０…シミュレーション装置（動作プログラム修正装置）、５２…ディスプレイ（表示部）。
【図１】
2014065107.tif 000003
【図２】
2014065107.tif 000004
【図３】
2014065107.tif 000005
【図４】
2014065107.tif 000006
【図５】
2014065107.tif 000007
【図６】
2014065107.tif 000008
【図７】
2014065107.tif 000009