(57)【特許請求の範囲】
【請求項１】
複数のサーボモータを有するロボットに対して所定の設定動作を行わせるためのロボットティーチング
装置であって、
前記設定動作を行うときの前記ロボットの移動経路を、運動学計算と動力学計算とを用いて、設定動作
としてモデリングして数式化した数式データを入力するための入力部と、
前記入力部で入力された前記数式データを、前記ロボットの前記サーボモータを駆動するための駆動
プログラムに変換する変換部と、
前記変換部で変換された前記駆動プログラムに基づいて前記ロボットを動作させる制御部を備え、
前記入力部はペンダントで構成されているロボットティーチング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットティーチング装置に関するものである。
【背景技術】
【０００２】
従来より、ロボットに移動位置を教示するロボット位置教示装置が知られている（例えば、特許文献１参照）。
【０００３】
特許文献１には、ロボットの移動動作を視認しながらティーチングボックスの操作スイッチを操作して、ロボットを目的の位置まで移動させることで、ロボットの動作軸や移動角度などのデータに基づくロボット駆動用プログラムを生成することが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−１３２４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のように、操作スイッチを操作しながらロボットを実際に動作させることで、ロボット駆動用プログラムを生成する場合には、オペレータの操作能力によってロボット駆動用プログラムの品質にばらつきが生じるという問題がある。
【０００６】
具体的に、ロボット操作の経験が豊富なベテランのオペレータではなく、新人のオペレータが操作する場合には、ロボットを所定の姿勢で所定の位置に移動させるという比較的簡単な動作であっても、ロボットの動作がぎこちなくなってスムーズに移動させることが難しいと考えられる。そのため、例えば、手のひらを表裏反転させて８の字を描くような人間の動きをモデリングした複雑な動作をロボットに行わせる場合には、操作能力の差がさらに顕著になってしまう。
【０００７】
本発明は、かかる点に鑑みてなされたものであり、その目的は、オペレータの操作能力に左右されることなく、ロボットに対して所定の設定動作をスムーズに行わせることが可能なロボットティーチング装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、複数のサーボモータを有するロボットに対して所定の設定動作を行わせるためのロボットティーチング装置を対象とし、次のような解決手段を講じた。
【０００９】
すなわち、第１の発明は、前記設定動作を行うときの前記ロボットの移動経路をモデリングして数式化した数式データを入力するための入力部と、
前記入力部で入力された前記数式データを、前記ロボットの前記サーボモータを駆動するための駆動プログラムに変換する変換部と、
前記変換部で変換された前記駆動プログラムに基づいて前記ロボットを動作させる制御部とを備えたことを特徴とするものである。
【００１０】
第１の発明では、所定の設定動作を行うときのロボットの移動経路をモデリングして数式化した数式データを駆動プログラムに変換することで、駆動プログラムに基づいてロボットを動作させている。
【００１１】
このような構成とすれば、例えば、手のひらを表裏反転させて８の字を描くような人間の動きをモデリングした複雑な動きであっても、この動きを数式化した数式データを予め作成しておくことで、オペレータの操作能力に左右されることなく、駆動プログラムを生成することができる。
【００１２】
第２の発明は、第１の発明において、
前記変換部で変換された前記駆動プログラムに対して、前記設定動作とは異なる冗長動作を行うための冗長プログラムを付加する冗長部を備え、
前記制御部は、前記設定動作中に所定の条件を満たしたときに、前記冗長プログラムに基づいて前記ロボットを動作させるように構成されていることを特徴とするものである。
【００１３】
第２の発明では、駆動プログラムに対して冗長プログラムを付加することで、設定動作中にロボットに冗長動作を行わせることができる。ここで、冗長動作とは、例えば、ロボットの移動中に障害物に衝突した場合や衝突直前に、その障害物を回避しながら目的の位置まで移動するような動作であって、自由度に余裕のある動きを持たせることである。これにより、人間により近い動きでロボットを動作させることができる。
【００１４】
第３の発明は、第１又は第２の発明において、
前記入力部は、前記ロボットの可動範囲を示す可動範囲データを入力可能に構成され、
前記制御部は、前記入力部で入力された前記可動範囲データに基づいて、前記設定動作が前記可動範囲内で行われるように前記ロボットを動作させるように構成されていることを特徴とするものである。
【００１５】
第３の発明では、ロボットの設定動作が、入力部で入力された可動範囲内で行われる。例えば、手のひらを表裏反転させて８の字を描くような動作を行う場合には、８の字の開始位置、終了位置、振幅等を設定することで、その可動範囲内に収まるようにロボットを動作させることができる。
【発明の効果】
【００１６】
本発明によれば、人間の動きをモデリングした複雑な動きであっても、この動きを数式化した数式データを予め作成しておくことで、オペレータの操作能力に左右されることなく、駆動プログラムを生成することができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態に係るロボットティーチング装置の構成を示す側面図である。
【図２】ロボットティーチング装置の内部構成を示すブロック図である。
【図３】ティーチング手順を示すフローチャート図である。
【図４】ロボットが８の字を描くように動作させたときの移動経路を示す図である。
【図５】ロボットの可動範囲を変更したときの図４相当図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【００１９】
図１に示すように、ロボット１０は、６つのサーボモータ１１を有する６軸の多関節型ロボットで構成され、ロボットアーム１２の先端部には、作業目的に応じたツール１３が取り付けられている。ツール１３は、図示しないエアシリンダ、電動シリンダ、モータ等の各種アクチュエータを制御することで細かい作業が可能となっており、図示しないワークを掴んだり搬送することができる。
【００２０】
ロボット１０のＪ１軸は、ロボット１０全体を旋回させる際の回転中心である。Ｊ２軸は、ロボットアーム１２を前後移動させる際の回転中心である。Ｊ３軸は、ロボットアーム１２を上下移動させる際の回転中心である。
【００２１】
また、ロボット１０のＪ４軸は、ロボットアーム１２の手首１４の回転、Ｊ５軸は、ロボットアーム１２の手首１４の振り、Ｊ６軸は、ロボットアーム１２の手首１４の回転を行う際の回転中心である。
【００２２】
ロボット１０のＪ１軸からＪ６軸は、サーボアンプ２４（図２参照）によって独立に制御され、ロボット１０の座標を指定することで、正確にその位置に移動することができる。ここで、ロボット１０を動作させる際には、ロボット１０の各軸に与えられた各軸座標系と自由空間上に原点を取り、その原点からロボット１０のツール１３先端までを関連付ける直交座標系を用いている。
【００２３】
ロボット１０には、ロボット１０に対して所定の設定動作を行わせるためのロボットティーチング装置２０がケーブル１５を介して接続されている。ロボットティーチング装置２０には、ロボットティーチング装置２０に対して所定のデータを入力するための入力部２１がケーブル１５を介して接続されている。
【００２４】
入力部２１は、例えば、表示部２１ａと、入力キー２１ｂとを有するペンダントで構成されている。オペレータは、所定の設定動作（例えば、手のひらを表裏反転させて８の字を描く動作）をロボット１０に行わせたい場合に、この設定動作を行うときのロボット１０の移動経路をモデリングして数式化した数式データを入力部２１の入力キー２１ｂを用いて入力する。
【００２５】
ここで、数式データは、運動学計算と動力学計算とを用いて、設定動作を行うときのロボット１０の移動経路をモデリングして数式化することで、予め作成することが可能である。運動学計算とは、ロボット１０のどの軸をどう動かせば、他の軸がどれだけの角度回転するか、つまり、ロボット１０の各軸の角度と、ロボット１０が作業するツール１３の位置姿勢（直交座標系）との関係を求めるものである。動力学計算とは、重心、力、回転モーメントを導き出すものである。
【００２６】
図２に示すように、ロボットティーチング装置２０は、変換部２２と、制御部２３と、サーボアンプ２４と、冗長部２５とを有する。
【００２７】
変換部２２は、入力部２１で入力された数式データを、例えば、運動幾何学と代数学とを用いて、ロボット１０のサーボモータ１１を駆動するための駆動プログラムに変換するものである。
【００２８】
制御部２３は、変換部２２で変換された駆動プログラムに基づいてロボット１０に設定動作を行わせるためのものである。制御部２３は、プロセッサ、ＤＳＰ（Digital Signal Processor）、専用演算デバイス、メモリ等を有する。制御部２３では、ロボット１０の標準直交座標と、オペレータによって設定されるロボット１０の直交座標との３次元位置関係から、６軸それぞれの移動位置を積和演算から瞬時に導き出し、サーボアンプ２４に制御信号を出力する。
【００２９】
サーボアンプ２４は、６軸のサーボモータ１１に接続されており、サーボアンプ２４から出力された制御信号に相当するパルスをサーボモータ１１に出力することで、ロボット１０に対してティーチング通りの動きを行わせる。
【００３０】
冗長部２５は、変換部２２で変換された駆動プログラムに対して、設定動作とは異なる冗長動作を行うための冗長プログラムを付加するものである。ここで、冗長動作とは、例えば、ロボット１０の移動中に障害物に衝突した場合や衝突直前に、その障害物を回避しながら目的の位置まで移動するような動作である。
【００３１】
以下、ロボット１０に対して、手のひらを表裏反転させて８の字を描く動作をティーチングするための手順について説明する。図３に示すように、まず、ステップＳ１０１では、入力部２１によって、８の字を描く動作を数式化した数式データをロボットティーチング装置２０に入力し、ステップＳ１０２に進む。
【００３２】
ステップＳ１０２では、変換部２２において、数式データを駆動プログラムに変換し、ステップＳ１０３に進む。
【００３３】
ステップＳ１０３では、８の字の開始及び終了位置の座標を設定し、ステップＳ１０４に進む。ステップＳ１０４では、どの程度の大きさで８の字を描くのかという振幅を設定し、ステップＳ１０５に進む。このように、ステップＳ１０３及びステップＳ１０４を実行することで、ロボット１０の可動範囲を示す可動範囲データが入力される。
【００３４】
ステップＳ１０５では、ロボット１０の移動スピードを設定し、ステップＳ１０６に進む。ステップＳ１０６では、手のひらが表裏反転するようにロボット１０の手首１４を回転させる回転角度を設定し、ステップＳ１０７に進む。
【００３５】
ステップＳ１０７では、８の字を何回描くのかという繰り返し回数を設定し、ステップＳ１０８に進む。
【００３６】
ステップＳ１０８では、冗長動作の要否について判定する。ステップＳ１０８での判定が「ＹＥＳ」の場合には、ステップＳ１０９に分岐する。ステップＳ１０８での判定が「ＮＯ」の場合には、ティーチング処理を終了する。
【００３７】
ステップＳ１０９では、冗長プログラムを駆動プログラムに付加して、ティーチング処理を終了する。このように、冗長プログラムを付加することで、設定動作中に所定の条件を満たしたとき、例えば、ロボット１０の移動中に障害物に衝突したときに、その障害物を回避しながら目的の位置まで移動するように、自由度に余裕のある動きを持たせるようにしている。なお、ロボット１０に図示しないカメラやセンサ等を取り付けておき、障害物に衝突する直前に障害物を回避するような制御をしてもよい。
【００３８】
このような構成とすれば、手のひらを表裏反転させて８の字を描くような人間の動きをモデリングした複雑な動きであっても、この動きを数式化した数式データを予め作成しておくことで、オペレータの操作能力に左右されることなく、駆動プログラムを生成することができる。
【００３９】
また、ステップＳ１０３で８の字の開始及び終了位置を設定し、ステップＳ１０４で８の字の振幅を設定して、ロボット１０の可動範囲を示す可動範囲データを入力することで、ロボット１０の８の字の動作が可動範囲内で行うことができる。
【００４０】
具体的に、図４に示すように、可動範囲のＸ座標（Ｘ１，Ｘ２）、Ｚ座標（Ｚ１，Ｚ２）に設定した場合と、図５に示すように、可動範囲のＸ座標（Ｘ１’，Ｘ２’）、Ｚ座標（Ｚ１’，Ｚ２’）に設定した場合とでは、基本的な８の字パターンは同じであるが、可動範囲内に収まるように８の字の大きさが異なっている。
【００４１】
ここで、本実施形態では、Ｘ方向及びＺ方向の２次元空間でロボット１０を移動させているが、３次元空間でロボット１０を移動させるのであれば、Ｙ方向の可動範囲も同様に設定すればよい。
【００４２】
なお、８の字を描く動作をティーチングさせた後、この駆動プログラムを基本ソフトとしてＲＯＭ化して専用の命令コマンドを設定しておくのが好ましい。このようにすれば、次回以降は、オペレータが入力部２１を用いて命令コマンドを呼び出し、各種パラメータを設定するだけで、８の字を描く動作を行うことができる。
【００４３】
《その他の実施形態》
前記実施形態については、以下のような構成としてもよい。
【００４４】
なお、本実施形態では、ロボット１０に実行させる設定動作として、８の字を描く動作について説明したが、この形態に限定するものではない。例えば、人間の動作に近い動きとして、球面に沿ってなでる（頭をなでる）、容器に液体を注ぐ、団扇であおぐ、コップを回して中の液体を撹拌する、平面と曲面に沿って移動する（かゆいところを掻く）、手首をぐるぐる回す、といった動作についても、この動きをモデリングして数式化した数式データを予め作成しておけば、本発明を適用することができる。
【産業上の利用可能性】
【００４５】
以上説明したように、本発明は、オペレータの操作能力に左右されることなく、ロボットに対して所定の設定動作をスムーズに行わせることができるという実用性の高い効果が得られることから、きわめて有用で産業上の利用可能性は高い。
【符号の説明】
【００４６】
１０    ロボット
１１    サーボモータ
２０    ロボットティーチング装置
２１    入力部
２２    変換部
２３    制御部
２５    冗長部
【図１】
0006682120.tif 000002
【図２】
0006682120.tif 000003
【図３】
0006682120.tif 000004
【図４】
0006682120.tif 000005
【図５】
0006682120.tif 000006