(57)【要約】【課題】  教示点（指令値）への位置決め精度を高くすることができる動作プログラム作成方法およびロボットの制御方法を提供する。【解決手段】  動作プログラム作成方法は、コンピュータに、複数の教示点のそれぞれにおける速度を設定するようにしてロボット２の動作プログラムを作成する速度設定ステップを実行させ、速度設定ステップは、予定移動経路における一の教示点Ｐと当該一の教示点Ｐより上流側の教示点Ｐ−１および／または当該一の教示点より下流側の教示点Ｐ＋１とを含む複数の教示点の位置変化または姿勢変化に基づいて一の教示点Ｐにおける速度ｖＰを設定する。【選択図】  図５
2015123517.tif 000002
【特許請求の範囲】
【請求項１】
作業を行うための作業部と、当該作業部をベースに対して移動させるリンク部とを具備するロボットと、前記作業部の予定移動経路を規定(define)する複数の教示点と当該複数の教示点における前記作業部の姿勢と当該複数の教示点における前記作業部の速度とを含む前記ロボットの動作プログラムに基づいて前記ロボットを制御する制御装置と、を含むロボット装置のために、前記動作プログラムを作成するための動作プログラム作成方法であって、
前記動作プログラム作成方法は、コンピュータに、前記複数の教示点のそれぞれにおける速度を設定するようにして前記ロボットの動作プログラムを作成する速度設定ステップを実行させ、
前記速度設定ステップは、前記予定移動経路における一の教示点と当該一の教示点より上流側の教示点および／または当該一の教示点より下流側の教示点とを含む複数の教示点の位置変化または姿勢変化に基づいて前記一の教示点における速度を設定する、動作プログラム作成方法。
【請求項２】
前記速度設定ステップは、前記予定移動経路における一の教示点と当該一の教示点より上流側の教示点および当該一の教示点より下流側の教示点とを含む３つの教示点を結ぶ線分により形成される内角の値が予め定められた値以下である第１条件、および、前記予定移動経路における前記一の教示点と当該一の教示点より上流側の教示点との間における前記作業部の姿勢の角度変化の値が予め定められた値以上である第２条件のうち、少なくとも何れか一方に該当する場合、前記一の教示点における速度を、前記第１条件および前記第２条件の何れにも該当しない場合に比べて低減した値に設定する速度低減ステップを含む、請求項１に記載の動作プログラム作成方法。
【請求項３】
前記速度設定ステップにおいては、前記一の教示点における速度が低減した値に設定された場合、当該教示点に至る経路における速度を、前記一の教示点より所定距離手前の位置から徐々に低減した値に設定する、請求項２に記載の動作プログラム作成方法。
【請求項４】
前記速度設定ステップにおいては、前記一の教示点における速度が低減した値に設定された場合、当該教示点から次の教示点へ向かう経路における速度を、前記一の教示点より所定距離後の位置まで、前記一の教示点における速度を維持した値に設定する、請求項２または３に記載の動作プログラム作成方法。
【請求項５】
前記速度設定ステップにおいては、前記複数の教示点の中から１以上の教示点を指定し、当該指定した１以上の教示点に対して速度設定を行う、請求項１から４の何れかに記載の動作プログラム作成方法。
【請求項６】
前記ロボット装置は、前記ロボットの作業部に棒状工具が取り付けられ、当該棒状工具をワークに順次押し付けることにより当該ワークを加工するインクリメンタル成形を行うよう前記ロボットを前記制御装置が制御するように構成されている、請求項１から５の何れかに記載の動作プログラム作成方法。
【請求項７】
請求項１〜６に記載の動作プログラム作成方法によって作成された動作プログラムに基づいて前記ロボットを制御する、ロボットの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作プログラム作成方法およびロボットの制御方法に関する。
【背景技術】
【０００２】
作業を行うための作業部と、当該作業部をベースに対して移動させるリンク部とを具備するロボットにおいて、当該作業部の先端の位置および姿勢をオフラインで教示することが知られている。この際、教示の順序における隣り合う教示点前後との位置変化が大きかったり、隣り合う教示点における作業部の姿勢変化が大きかったりする場合には、実際にロボットを動かした際に、指定した教示点に作業部の先端位置が到達しない場合がある。特に、隣り合う教示点間の間隔が短い場合かつ教示点前後の位置変化またはロボットの姿勢変化が大きい場合には、ロボットの制御が追い付かず位置精度が悪化する。
【０００３】
また、ロボットを用いた加工方法として、ロボットの作業部の先端位置に加工治具を取り付けて、ワークに加工治具を押し付けながら、ロボットの作業部の先端をワークに対して相対移動させることによりワークを加工する構成が知られている（例えば特許文献１等）。このような構成においては、位置精度の悪化は、加工精度の悪化に直結するため好ましくない。
【０００４】
一方、ロボット姿勢の急激な変化によるロボットへの過大な負荷を避けるために、例えば特許文献２には、制御装置に入力された教示点のデータを加工してロボット姿勢を滑らかにする方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−４１９９２号公報
【特許文献２】特開平６−３４８３２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献２のように教示点のデータを加工すると作業部の先端位置の軌跡が変わってしまうため、高精度に位置制御することが困難となる。
【０００７】
本発明は、以上のような課題を解決すべくなされたものであり、教示点（指令値）への位置決め精度を高くすることができるロボット装置のための動作プログラム作成方法およびロボットの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る動作プログラム作成方法は、作業を行うための作業部と、当該作業部をベースに対して移動させるリンク部とを具備するロボットと、前記作業部の予定移動経路を規定(define)する複数の教示点と当該複数の教示点における前記作業部の姿勢と当該複数の教示点における前記作業部の速度とを含む前記ロボットの動作プログラムに基づいて前記ロボットを制御する制御装置と、を含むロボット装置のために、前記動作プログラムを作成するための動作プログラム作成方法であって、前記動作プログラム作成方法は、コンピュータに、前記複数の教示点のそれぞれにおける速度を設定するようにして前記ロボットの動作プログラムを作成する速度設定ステップを実行させ、前記速度設定ステップは、前記予定移動経路における一の教示点と当該一の教示点より上流側の教示点および／または当該一の教示点より下流側の教示点とを含む複数の教示点の位置変化または姿勢変化に基づいて前記一の教示点における速度を設定するものである。
【０００９】
上記方法によれば、教示点の速度を、作業部の予定移動経路の上流側にある教示点および／または下流側にある教示点に対する位置変化または姿勢変化に応じて設定することにより、実際に作業部を移動させた際に、教示点（指令値）への位置決め精度を高くすることができる。
【００１０】
前記速度設定ステップは、前記予定移動経路における一の教示点と当該一の教示点より上流側の教示点および当該一の教示点より下流側の教示点とを含む３つの教示点を結ぶ線分により形成される内角の値が予め定められた値以下である第１条件、および、前記予定移動経路における前記一の教示点と当該一の教示点より上流側の教示点との間における前記作業部の姿勢の角度変化の値が予め定められた値以上である第２条件のうち、少なくとも何れか一方に該当する場合、前記一の教示点における速度を、前記第１条件および前記第２条件の何れにも該当しない場合に比べて低減した値に設定する速度低減ステップを含んでもよい。これによれば、予定移動経路の上流側の教示点から速度を設定すべき教示点へ向かう線分と当該教示点から下流側の教示点に向かう線分とのなす角度が大きい場合に、速度を低減させる。または、速度を設定すべき教示点の姿勢が、予定移動経路の上流側の教示点におけるロボットの姿勢から大きく変化した場合に、速度を低減させる。これにより、実際に作業部を移動させた際に、教示点（指令値）への位置決め精度をより高くすることができる。
【００１１】
前記速度設定ステップにおいては、前記一の教示点における速度が低減した値に設定された場合、当該教示点に至る経路における速度を、前記一の教示点より所定距離手前の位置から徐々に低減した値に設定してもよい。これにより、ロボットの速度変化を緩やかにしてロボットを滑らかに移動させることができる。
【００１２】
前記速度設定ステップにおいては、前記一の教示点における速度が低減した値に設定された場合、当該教示点から次の教示点へ向かう経路における速度を、前記一の教示点より所定距離後の位置まで、前記一の教示点における速度を維持した値に設定してもよい。これにより、教示点への到達精度を高くするとともに、ロボットの速度変化を緩やかにしてロボットを滑らかに移動させることができる。
【００１３】
前記速度設定ステップにおいては、前記複数の教示点の中から１以上の教示点を指定し、当該指定した１以上の教示点に対して速度設定を行ってもよい。これにより、複数の教示点うち、変化の少ない教示点（直線上にある教示点等）は取り除き、変化の大きい教示点を採用することにより、指令位置として有効化する教示点が少なくなるため、演算時間を短縮することができる。
【００１４】
前記ロボット装置は、前記ロボットの作業部に棒状工具が取り付けられ、当該棒状工具をワークに順次押し付けることにより当該ワークを加工するインクリメンタル成形を行うよう前記ロボットを前記制御装置が制御するように構成されてもよい。インクリメンタル成形においては、高い加工精度が要求されるため、教示点が多く、教示順序に従う教示点間の間隔が短い傾向にある。このため、このようなインクリメンタル成形において上記動作プログラム作成方法に基づく動作プログラムを作成することにより、ロボットの動作精度が向上し、より高い加工精度を実現することができる。また、より複雑な形状の加工を実現することができる。
【００１５】
本発明の他の態様に係るロボットの制御方法は、上記動作プログラム作成方法によって作成された動作プログラムに基づいて前記ロボットを制御するものである。この方法によれば、実際に作業部を移動させた際に、教示点（指令値）への位置決め精度を高くすることができる。
【発明の効果】
【００１６】
本発明は以上に説明したように構成され、教示点（指令値）への位置決め精度を高くすることができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は本発明の一実施形態に係る動作プログラム作成方法が適用されたコンピュータ端末を含むロボット装置の概略構成を示す図である。
【図２】図２は図１に示すコンピュータ端末に入力される３次元図面データの例を示す図である。
【図３】図３は図２に示す３次元図面データにおけるＩＩＩ部近傍の拡大図である。
【図４】図４は図２に示す３次元図面データの教示点ごとに付与される姿勢座標を例示する図である。
【図５】図５は図１に示すロボット装置に適用される動作プログラムの速度設定ステップにおける処理の流れを示すフローチャートである。
【図６】図６は本実施形態における第１条件に対応する速度設定テーブルを示す図である。
【図７】図７は時間的に連続する３つの教示点を模式的に示した図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００１９】
図１は本発明の一実施形態に係る動作プログラム作成方法が適用されたコンピュータ端末を含むロボット装置の概略構成を示す図である。図１に示すように、本実施形態におけるロボット装置１は、ロボット２と、ロボット２の制御装置であるロボットコントローラ３とを備えている。ロボットコントローラ３は、ロボット２の動作プログラムが入力され、記憶される。ロボットコントローラ３は、動作プログラムに基づいてロボット２に対する指令値を演算し、当該指令値をロボット２に出力することによりロボット２を制御する。
【００２０】
ロボット２は、作業を行うための作業部４と、当該作業部４をベース５に対して移動させるリンク部６とを具備する。ロボット２の作業部４の先端位置には、加工治具として棒状工具７を取り付け可能に構成されている。リンク部６は、複数（例えば６本）の伸縮リンク部材１３を並列に組み合わせて構成された、いわゆるスチュワートプラットフォーム（Stewart platform）等で構成される。各伸縮リンク部材１３は、本体が伸縮してリンク長が変化するとともに、ベース５および作業部４のそれぞれに対して自在継手（ユニバーサルジョイントおよびボールジョイント等）を介して接続されている。このため、ロボット２は、リンク部６の各伸縮リンク部材１３を伸縮させることにより、作業部４の姿勢を変化させたり、作業部４の先端位置をワークＷに対して相対移動させたりすることができる。
【００２１】
ロボット装置１は、ワークＷに棒状工具５の先端を押し付けながら、ロボット２の作業部４の先端をワークＷに対して相対移動させることによりワークＷを加工（インクリメンタル成形）するようにロボット２を制御するよう構成されている。すなわち、本実施形態におけるロボット装置１は、インクリメンタル成形（incremental forming）を行うロボット装置として構成されている。
【００２２】
動作プログラムは、３Ｄ−ＣＡＤ等の３次元描画プログラムにより描画された３次元図面データから作成される。３次元図面データは、予めＣＡＤ等による設計図面に基づいてＣＡＭ装置またはＣＡＭプログラムによってロボット処理のための教示点および種々のコードが付与される。図２は図１に示すコンピュータ端末に入力される３次元図面データの例を示す図であり、図３は図２に示す３次元図面データにおけるＩＩＩ部近傍の拡大図である。図２および図３は、例えば自動車のドアパネルにおけるハンドル部の窪み（ハンドルを把持する手を逃がす部分）等の形状を成形するための３次元図面データである。図２および図３には多数の教示点Ｐ上を作業部４の先端部が順次移動する予定移動経路Ｑが示されている。
【００２３】
動作プログラムを作成するコンピュータ端末８は、３次元図面データが入力される入力部９と、入力された３次元図面データに基づいて各種演算を行うＣＰＵ等の演算部１０と、演算結果を記憶するＲＡＭまたは外部記憶装置等の記憶部１１と、作成された動作プログラムを出力する出力部１２とを備える。コンピュータ端末８の出力部１２とロボットコントローラ３とは有線または無線により通信接続されてもよい。これに代えて、コンピュータ端末８の出力部１２から所定の記憶媒体(図示せず)に動作プログラムを出力して記憶させ、記憶させた記憶媒体をロボットコントローラ３に接続することにより、ロボットコントローラ３が動作プログラムを読み出し可能としてもよい。
【００２４】
動作プログラムは、ロボット２の作業部４の予定移動経路を規定(define)する複数の教示点と、当該複数の教示点における作業部４の姿勢と、当該複数の教示点における作業部４の速度とを含む。複数の教示点は、ロボット２の作業部４の先端における所定座標系の位置座標を含む。また、作業部４の姿勢は、ツール座標系（ＯＡＴ座標系）の向きにより示される。動作プログラムを作成するコンピュータ端末８は、３次元図面データに基づいて、当該３次元図面データに示される教示点の座標をロボットの座標系に変換したり、教示点の移動経路に基づいて、予めパターン化された作業部４の姿勢変化を当てはめることにより、各教示点における作業部４の姿勢が設定される。これに加えてまたはこれに代えて、作業部４の姿勢は、個々の教示点に対して手入力等により設定可能とされてもよい。
【００２５】
図４は図２に示す３次元図面データの教示点ごとに付与される姿勢座標を例示する図である。図４は図２に示す３次元図面データにおけるＩＶ部近傍の教示点上に姿勢座標の向きを例示した図である。図４には、作業部４の先端部上において設定されたツール座標系（直交座標系）が教示点においてどのように設定されているかが示される。なお、図４においては図４の紙面に平行なＲｙ軸（一点鎖線矢印）およびＲｚ軸（実線矢印）のみ示され、図４の紙面に垂直かつ紙面に向かう方向を正とするＲｘ軸が省略されている。
【００２６】
動作プログラムを作成するためのコンピュータ端末８は、３次元図面データに基づく複数の教示点のそれぞれにおける速度を設定するようにしてロボット２の動作プログラムを作成する速度設定ステップを実行する。速度設定ステップは、予定移動経路における一の教示点と当該一の教示点Ｐより上流側の教示点および／または当該一の教示点より下流側の教示点とを含む複数の教示点の位置変化または姿勢変化に基づいて一の教示点における速度を設定する。
【００２７】
上記方法によれば、教示点の速度を、作業部の予定移動経路の上流側にある教示点および／または下流側にある教示点に対する位置変化または姿勢変化に応じて設定することにより、実際に作業部を移動させた際に、教示点（指令値）への位置決め精度を高くすることができる。
【００２８】
以下、より具体的に説明する。図５は図１に示すロボット装置に適用される動作プログラムの速度設定ステップにおける処理の流れを示すフローチャートである。まず、コンピュータ端末８の演算部１０は、初期設定として、教示点の番号を示すフラグＰを初期値１に設定し、記憶部１１に記憶する（ステップＳ１）。次に、演算部１０は、記憶部１１からフラグＰ−１，Ｐ，Ｐ＋１に対応する教示点および当該教示点における位置および姿勢を読み出す（ステップＳ２）。すなわち、演算部１０は、一の教示点Ｐと、当該一の教示点Ｐより上流側の教示点Ｐ−１と、一の教示点Ｐより下流側の教示点Ｐ＋１の位置および姿勢を読み出す。なお、初期状態（Ｐ＝１）においては、教示点Ｐ＝０（Ｐ−１）としてロボット１の動作開始状態における情報（作業部４の位置および姿勢）も読み出す。
【００２９】
次に、演算部１０は、読み出した教示点Ｐ−１から教示点Ｐへの位置変化および姿勢変化に基づいて教示点Ｐにおける作業部４の速度（以下、初期条件速度）ｖｏを設定する（ステップＳ３）。
【００３０】
さらに、演算部１０は、読み出した教示点Ｐ−１，Ｐ，Ｐ＋１が第１条件を満たすか否かを判定する（ステップＳ４）。第１条件は、予定移動経路における一の教示点Ｐと当該一の教示点Ｐより上流側の教示点Ｐ−１および当該一の教示点Ｐより下流側の教示点Ｐ＋１とを含む３つの教示点Ｐ−１，Ｐ，Ｐ＋１を結ぶ線分により形成される内角θの値が予め定められた値以下であることである。第１条件を満たす場合（ステップＳ４でＹｅｓ）、演算部１０は、教示点Ｐにおける作業部４の速度を、初期条件速度ｖｏより低い値（以下、第１条件速度ｖ１）に設定する（ステップＳ５）。
【００３１】
第１条件速度ｖ１は、３つの教示点Ｐ−１，Ｐ，Ｐ＋１を結ぶ線分の内角θの値に応じて定められる。具体的には、予め記憶部１１に、内角θの範囲とそれに対応する速度とが関連付けられた速度設定テーブルが記憶され、演算部１０は、上記線分の内角θの値を演算し、演算により求められた内角θの属する範囲に対応する速度を速度設定テーブルから読み出して、第１条件速度ｖ１を設定する。図６は本実施形態における第１条件に対応する速度設定テーブルを示す図である。図６に示すように、速度設定テーブルは、内角θが小さいほど（鋭角になるほど）、速度が低減された値となるように設定されている。
【００３２】
また、演算部１０は、読み出した教示点Ｐ−１，Ｐが第２条件を満たすか否かを判定する（ステップＳ６）。第２条件は、予定移動経路における一の教示点Ｐと当該一の教示点Ｐより上流側の教示点Ｐ−１との間における作業部４の姿勢の角度変化の値が予め定められた値以上であることである。例えば、姿勢の角度変化の値は、２つの教示点Ｐ−１，Ｐ間におけるツール座標軸Ｒｘ，Ｒｙ，Ｒｚのうちで最も角度変化の大きい軸における角度変化の値として設定されてもよいし、予め定められたツール座標軸Ｒｘ，Ｒｙ，Ｒｚの少なくとも１つの軸における角度変化の値として設定されてもよい。
【００３３】
第２条件を満たす場合（ステップＳ６でＹｅｓ）、演算部１０は、教示点Ｐにおける作業部４の速度を、初期条件速度ｖｏより低い値（以下、第２条件速度ｖ２）に設定する（ステップＳ７）。第２条件速度ｖ２は、２つの教示点Ｐ−１，Ｐのそれぞれにおける作業部４の姿勢変化の大きさに応じて定められる。第２条件速度ｖ２においても、第１条件速度ｖ１で用いた速度設定テーブル（図６）と同様に姿勢の角度変化の範囲とそれに対応する速度とが関連付けられた速度設定テーブルが記憶部１１に記憶され、演算部１０は、姿勢の角度変化の値を演算し、演算により求められた姿勢の角度変化の属する範囲に対応する速度を速度設定テーブルから読み出して、第２条件速度ｖ２を設定する。
【００３４】
演算部１０は、算出された速度のうち、最も低速に設定された速度を当該教示点Ｐにおける速度ｖＰとして設定する（ステップＳ８からＳ１２）。すなわち、演算部１０は、第１および／または第２条件速度ｖ１，ｖ２が設定されたかどうかを判定し（ステップＳ８）、第１および／または第２条件速度ｖ１，ｖ２が設定されている場合（ステップＳ８でＹｅｓ）、第１条件速度ｖ１，ｖ２の何れの速度が低いかを判定する（ステップＳ９）。演算部１０は、第１条件速度ｖ１および第２条件速度ｖ２のうち、より低い速度を当該教示点Ｐにおける速度ｖＰとして設定する。
【００３５】
すなわち、第１条件速度ｖ１が第２条件速度ｖ２以下である場合（ステップＳ９でＹｅｓ）、第１条件速度ｖ１を教示点Ｐにおける速度ｖＰとして設定し（ステップＳ１０）、第１条件速度ｖ１が第２条件速度ｖ２より大きい場合（ステップＳ９でＮｏ）、第２条件速度ｖ２を教示点Ｐにおける速度として設定する（ステップＳ１１）。なお、第１条件速度ｖ１および第２条件速度ｖ２のうち何れか一方のみしか算出されていない場合には、算出された条件速度が教示点Ｐにおける速度ｖＰとして設定される。例えば、算出されていない条件速度については初期条件速度ｖｏが設定されてもよい。具体的には、ステップＳ４においてＮｏの場合に、初期条件速度ｖｏが第１条件速度ｖ１として設定され、同様に、ステップＳ６においてＮｏの場合に、初期条件速度ｖｏが第２条件速度ｖ２として設定される。
【００３６】
第１または第２条件速度ｖ１，ｖ２が何れも算出されていない場合（ステップＳ４でＮｏかつステップＳ６でＮｏの場合）には、演算部１０は、初期条件速度Ｖｏを教示点Ｐにおける速度ｖＰとして設定する（ステップＳ１２）。
【００３７】
このように、速度設定ステップにおいて、一の教示点Ｐと、当該教示点Ｐの上流側の教示点Ｐ−１および／または教示点Ｐの下流側の教示点Ｐ＋１との関係が、第１条件および第２条件のうちの少なくとも何れか一方に該当する場合、一の教示点Ｐにおける速度ｖＰを、第１条件および第２条件の何れにも該当しない場合（初期条件速度ｖｏ）に比べて低減した値に設定する速度低減ステップを含んでいる。
【００３８】
教示点Ｐにおける速度ｖＰが設定された後、演算部１０は、フラグＰに１を加え（Ｐ＝Ｐ＋１とし）、記憶部１１に記憶する（ステップＳ１３）。演算部１０は、フラグＰがロボット１の１サイクルの動作における最後の教示点を示すＰｆｉｎとなったか否かを判定する（ステップＳ１４）。フラグＰがＰｆｉｎを超えた場合（ステップＳ１４でＹｅｓ）、演算部１０は、すべての教示点Ｐにおける速度ｖＰを設定したと判断し、処理を終了する。フラグＰがＰｆｉｎ以下である場合（ステップＳ１４でＮｏ）、演算部１０は、新たな教示点Ｐを中心とする３つの教示点に基づいて新たな教示点Ｐ（Ｐ＋１）における速度ｖＰを設定する処理を行う（ステップＳ２〜Ｓ１２）。
【００３９】
上記構成によれば、予定移動経路の上流側の教示点Ｐ−１から速度を設定すべき教示点Ｐへ向かう線分と当該教示点Ｐから下流側の教示点Ｐ＋１に向かう線分とのなす角度θが大きい場合に、速度ｖＰを第１条件速度ｖ１に低減させる。または、速度ｖＰを設定すべき教示点Ｐの姿勢が、予定移動経路の上流側の教示点Ｐ−１におけるロボット２の姿勢から大きく変化した場合に、速度ｖＰを第２条件速度ｖ２に低減させる。これにより、実際に作業部４を移動させた際に、教示点（指令値）への位置決め精度をより高くすることができる。特に、インクリメンタル成形においては、高い加工精度が要求されるため、教示点が多く（例えば、１サイクルの加工に数万点の教示点を有する場合があり）、教示順序に従う教示点間の間隔が短い傾向にある（例えば、約０．３ｍｍ間隔である）。このため、このようなインクリメンタル成形において上記動作プログラム作成方法に基づいた動作プログラムを作成することにより、ロボット２の動作精度が向上し、より高い加工精度を実現することができる。また、より複雑な形状の加工を実現することができる。
【００４０】
速度設定ステップにおいて、一の教示点Ｐにおける速度ｖＰが低減した値に設定された場合、すなわち、速度低減ステップが実行された場合、その上流側の教示点Ｐ−１から当該教示点Ｐまでの間の速度制御および／または教示点Ｐからその下流側の教示点Ｐ＋１までの間の速度制御を通常時とは異なる制御とすることができる。
【００４１】
図７は時間的に連続する３つの教示点を模式的に示した図である。図７に示すように、速度設定ステップにおいて、一の教示点Ｐにおける速度ｖＰが低減した値（第１条件速度ｖ１または第２条件速度ｖ２）に設定された場合、演算部１０は、当該教示点Ｐに至る経路における速度ｖａｐｐを、一の教示点Ｐより所定距離Ｌａｐｐ手前の位置から徐々に低減した値に設定する。減速率は教示点Ｐにおける速度ｖＰに応じて設定されてもよい。これにより、ロボット２の速度変化を緩やかにしてロボット２を滑らかに移動させることができる。なお、一の教示点Ｐと上流側の教示点Ｐ−１との間の距離が距離Ｌａｐｐより短い場合には、上流側の教示点Ｐ−１における速度ｖＰ−１から徐々に速度を低減させて教示点Ｐにおいて速度ｖＰに達するように設定されてもよい。
【００４２】
さらに、演算部１０は、教示点Ｐから次の教示点Ｐ＋１へ向かう経路における速度ｖｄｅｐを、一の教示点Ｐより所定距離Ｌｄｅｐ後の位置まで、一の教示点Ｐにおける速度ｖＰを維持した値（すなわち、ｖｄｅｐ＝ｖＰ）に設定する。これにより、教示点Ｐへの到達精度を高くするとともに、ロボット２の速度変化を緩やかにしてロボット２を滑らかに移動させることができる。なお、一の教示点Ｐと下流側の教示点Ｐ＋１との間の距離が距離Ｌｄｅｐより短い場合には、下流側の教示点Ｐ＋１における速度ｖＰ＋１を教示点Ｐにおける速度ｖＰと同じにする（教示点Ｐおよび教示点Ｐ＋１の間を等速動作させる）こととしてもよい。
【００４３】
上記距離Ｌａｐｐ，Ｌｄｅｐは、上記のように、一定の距離として設定されてもよいが、これに代えて、２つの教示点間の距離に対する割合として設定されてもよい。例えば、一の教示点Ｐと上流側の教示点Ｐ−１との距離ＬＰ−１，Ｐの半分の地点から速度が徐々に低減されるように制御されてもよい。すなわち、距離Ｌａｐｐ＝ＬＰ−１，Ｐ／２と設定されてもよい。また、例えば、一の教示点Ｐと下流側の教示点Ｐ＋１との距離ＬＰ，Ｐ＋１の３分の１の地点まで速度が維持されるように制御されてもよい。すなわち、距離Ｌｄｅｐ＝ＬＰ，Ｐ＋１／３と設定されてもよい。
【００４４】
なお、速度設定ステップは、３次元図面データに示されるすべての教示点に対して行わなくてもよい。例えば、直線部分等、速度変化があまりないと思われる教示点に対しては、速度設定ステップを行わなくてもよい。この場合、速度設定ステップにおいて、３次元図面データに含まれる複数の教示点の中から１以上の教示点が指定される。演算部１０は、指定された１以上の教示点に対して速度設定を行う。これにより、複数の教示点うち、変化の少ない教示点（直線上にある教示点等）は取り除き、変化の大きい教示点を採用することにより、指令位置として有効化する教示点が少なくなるため、演算時間を短縮することができる。
【００４５】
速度設定を行う教示点の選択は、オペレータが一点ずつ任意に選択することとしてもよいし、オペレータが直線領域等の所定の領域を範囲指定することにより、範囲指定された領域内における教示点は速度設定を行わないとしてもよい。また、同様に範囲指定し、範囲指定された領域内における教示点は、等間隔に所定の教示点毎のみ教示点として扱うこととしてもよい（例えば、連続する１０点のうち１点は速度設定を行う教示点として指定され、残りの９点は速度設定を行わない点として指定される等）。
【００４６】
このような教示点の選択が行われる場合、図５に示す速度設定ステップのフローチャートにおける時間的に連続する教示点Ｐ−１，Ｐ，Ｐ＋１は、３次元図面データ上において連続する３つの教示点とは限らない。すなわち、３次元図面データ上における複数の教示点のうち、速度設定を行う一の教示点と、速度低減ステップの対象となる上流側の教示点および／または下流側の教示点との間に、教示点が存在する場合も想定される。さらに、速度低減ステップの際の条件として用いられる教示点Ｐ−１，Ｐ＋１について、必ずしも速度を設定しなくてもよい。例えば、速度の設定は所定数ごとの教示点に対して間隔を空けて行われる一方で、当該速度の設定が行われる教示点と、その１つ前の教示点および／または１つ後の教示点（何れの教示点も速度の設定は行われない）とを用いて速度低減ステップを行うか否かの判定（ステップＳ４，Ｓ６）を行ってもよい。
【００４７】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内で種々の改良、変更、修正が可能である。
【００４８】
例えば、上記実施形態においては、本発明が適用されるロボット２として、リンク部６にスチュワートプラットフォームが採用されたインクリメンタル成形用のロボットを例示したが、本発明はこれに限られない。作業を行うための作業部と、当該作業部をベースに対して移動させるリンク部とを具備するような、種々のロボットに適用可能である。例えば、複数のアーム部材と、これらを接続する複数の関節（回転軸）とを備えた多関節ロボットにも適用可能である。
【００４９】
また、上記実施形態においては、第１条件（ステップＳ４）と第２条件（ステップＳ６）との両方について判定を行い、少なくとも何れか一方の条件を満足すれば、速度低減ステップを行うとともに、何れの条件をも満足する場合には、設定された第１条件速度ｖ１および第２条件速度ｖ２のうちの速度が低い方を採用することとしている。しかしながら、本発明はこれに限られない。例えば、第１条件および第２条件の何れか一方だけ判定を行うこととしてもよい。また、例えば第１条件に満足しない場合には第２条件を満足するかの判定を行うが、第１条件を満足する場合には第２条件の判定は行わないこととしてもよい。第１条件と第２条件とを入れ替えてもよい。
【産業上の利用可能性】
【００５０】
本発明の動作プログラム作成方法およびロボットの制御方法は、教示点（指令値）への位置決め精度を高くするために有用である。
【符号の説明】
【００５１】
１  ロボット装置
２  ロボット
３  ロボットコントローラ（制御装置）
４  作業部
５  ベース
６  リンク部
７  棒状工具
８  コンピュータ端末
９  入力部
１０  演算部
１１  記憶部
１２  出力部
Ｗ  ワーク
【図１】
2015123517.tif 000003
【図４】
2015123517.tif 000004
【図５】
2015123517.tif 000005
【図６】
2015123517.tif 000006
【図７】
2015123517.tif 000007
【図２】
2015123517.tif 000008
【図３】
2015123517.tif 000009