(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
ロボットの教示方法としては、操作者が遠隔操作ツールを用いてロボットのアームを間接的に動かしてその動作を教示する間接教示方法および操作者がロボットのアームを直接的に動かしてその動作を教示する直接教示方法が知られている。
【0003】
間接教示方法は、例えば、特許文献1に示すように、ティーチングペンダント等の遠隔操作ツールのボタン等を操作し、ロボットのアームを所定の位置まで移動させ、その一連の動作を記憶させる。
【0004】
一方、直接教示方法は、例えば、特許文献2に示すように、力覚センサを取り付けたロボットのアームに外力を加え、力覚サンサの信号に応じて力の加えられた方向にアームを動かしながら所定の位置まで移動させ、その一連の動作を記憶させる。
また、特許文献3に示すように、アームにジョイスティックを取り付けることにより、直接教示に近い感覚でアームを移動させる方法も知られている。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1の場合、操作パネルを中心とした操作方向と、ロボットまたはロボットのアームを中心とした方向とを一致させる必要があるため、ロボットを移動させてロボットの位置や向きが変わることによって、操作方向が分からなくなってしまうことがある。またその操作は非常に複雑であり、熟練が必要である。
特許文献2の場合、力覚センサの感度を高くしすぎると、ロボットのゆらぎや振動等にも反応してしまうため、安全性の面から所定量以上の力でないと動かないように制御されている。そのため、ロボット教示には相当な力を必要とする。特に大型ロボットの場合には負担が大きい。
特許文献3の場合、直接教示に近い感覚でアームを動かすことができるが、ジョイスティックはアームに固定されているため、アームの位置または角度等によってはジョイスティックの操作がしにくく、操作方向がわからなくなる場合がある。
本発明は、ロボットへの動作の教示が簡単にできるロボット教示装置およびロボットの教示方法を提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明のロボット教示装置は、マニピュレータに取り付けられる複数の近接センサと、該近接センサより信号を受ける演算部とを備え、前記演算部は、前記近接センサが検出物を検知したとき、該検出物に対する該マニピュレータの移動方向を算出することを特徴としている。
【0008】
本発明のロボット教示装置は、複数の近接センサに検出物を検知させ、演算部に検出物に対するマニピュレータの移動方向を算出させるため、マニピュレータに取り付けたとき、近接センサに検出物を近づけるだけでマニピュレータを自在に動かすことができる。またマニピュレータの移動を、近接センサ(マニピュレータの取付部位)を中心に操作できるため、操作が簡単であり、誤操作も起こりにくい。
なお、本発明のロボット教示装置は、特に、垂直多関節アーム型ロボットの教示に好ましい。水平多関節型ロボットは、サーボモータを停止し、各関節軸のモータの保持力を動かしても、アームの姿勢は保持されるため、比較的小さい力で動かすことができた。しかし、垂直多関節アーム型ロボットは、アームの自重が各関節に加わるため、マニピュレータの姿勢を保持させるためにはサーボモータを作動させておくことが必要である。本発明のロボット教示装置は、垂直多関節型ロボットを教示する際、効果が大きい。
【0009】
本発明のロボット教示装置であって、前記マニピュレータの移動方向が前記検出物に対して離れる方向であるものが好ましい。この場合、検出物(例えば、操作者の手)とマニピュレータ(近接センサ)との距離を一定以上に保つことができるため、ロボットの装置等に不具合が起きても操作者への危険が少ない。
【0010】
本発明のロボット教示装置であって、前記近接センサが生体に対して感度を有するものが好ましい。この場合、導体等を検出物として用いなくても、操作者の手を検出物として用いることができ、ロボットの教示操作が一層手軽にできる。
【0011】
本発明のロボット教示装置であって、互いに上下に位置する少なくとも2つの近接センサを一組とし、複数の組をマニピュレータの軸周りに等間隔に設けるのが好ましい。互いに上下に位置する少なくとも2つの近接センサを一組とすることにより、マニピュレータに対する検出物の上下位置を算出することができる。そして、複数の組をマニピュレータの周方向に設けることにより、マニピュレータに対する検出物の前後、左右の位置を算出することができる。特に、複数の組をマニピュレータの周方向に等間隔に設けることにより、演算を簡単にできる。
【0012】
本発明のロボット教示装置であって、前記複数の近接センサがマニピュレータのエンドエフェクタの周方向に取り付けられ、前記演算部は、複数の近接センサが複数の検出物を同時に検知してマニピュレータの移動方向が算出できないとき、該エンドエフェクタの周りに同時に回転する複数の検出物の向きを該エンドエフェクタの回転方向として算出するものが好ましい。この場合、エンドエフェクタの細かい動きを教示することができる。ここで「マニピュレータの移動方向が算出できない」とは、それぞれの検出物に対するマニピュレータの移動方向が相殺された状態を言う。
【0013】
本発明のロボットの教示方法は、本発明のロボット教示装置を取り付けたロボット装置の教示方法であって、検出物を近接センサに近づけてマニピュレータを動かす工程と、前記検出物を近接センサから遠ざけてマニピュレータを停止させる工程とを有することを特徴としている。
このようなロボットの教示方法であって、検出物を近接センサに近づけてマニピュレータを動かす工程が、前記検出物を前記マニピュレータを動かしたい方向とは反対側の近接センサに近づけ、該マニピュレータを該検出物に対して離れる方向に動かす工程である方法が好ましい。
【0014】
本発明のロボットの教示方法であって、演算部がエンドエフェクタの回転方向を算出する本発明のロボット教示装置が取り付けられており、複数の検出物を該マニピュレータが動かないようにそれぞれ異なる近接センサに近づける工程と、複数の検出物を前記エンドエフェクタを回転させたい方向に該エンドエフェクタの軸周りに同時に回転させ、該エンドエフェクタを回転させる工程と、前記複数の検出物を近接センサから遠ざけて、前記エンドエフェクタの回転を停止させる工程とを有する方法が好ましい。
【発明を実施するための形態】
【0016】
図1のロボット教示装置10は、マニピュレータに取り付けされ、マニピュレータに取り付けられ、近接センサを備えたセンサ部11と、そのセンサ部11より信号を受ける演算部12とを有する。
【0017】
センサ部11は、
図1に示すように、円柱状の本体21と、その表面に設けられる複数の近接センサ22とを備えている。このセンサ部11は、例えば、アーム106と、ハンド(エンドエフェクタ)107との間に取り付けられる。アーム106は、その軸周りに回転し、かつ、基部側の関節を中心に旋回する。そのため、センサ部11はハンド107と一体となって移動または回転する。
【0018】
本体21の上面には、アーム106と係合する上部係合部21aが設けられており、下面にはハンド107と係合する下部係合部21bが設けられている。この実施形態では、上部係合部21aは、筒状であり、アーム106の係合部を挿入して固定する。下部係合部21bは、柱状であり、ハンド107の係合部に挿入して固定する。
しかし、本体21と、アーム106およびハンド107との固定手段は特に限定されない。
本体21の形状は、断面正多角形の柱体または球体であってもよく、特に限定されない。特に、円柱体または球体が好ましい。
【0019】
近接センサ22は、ケーブル23等によって演算部12と接続されている。そして、近接センサ22は、検出物との距離に応じた信号を演算部12に送る。
複数の近接センサ22は、上下、前後、左右の検出物を検知できるように配列している。この実施形態では、上下に並んだ2つの近接センサを一組とし、その組を円柱状の本体21の側面に円周方向で等間隔(中心軸から90度間隔)に4箇所に配置している。さらに、本体21の上面および下面に、円周方向で等間隔(中心軸から90度間隔)に4つずつ、円周方向において側面に設けられたものの間となるように配置している。よって、近接センサ22は、本体21に全部で計16個設けている。
このように互いに上下に位置する2つの近接センサ22を一組とすることにより、センサ部11に対する検出物の上下位置を算出することができる。実施形態では、2つの近接センサ22を本体21の軸と平行に並べているが、平行でなくてもよい。そして、それぞれの組を円周方向で等間隔に配置することにより、センサ部11に対する検出物の前後、左右の位置を簡単に算出することができる。よって、マニピュレータの移動方向を算出することができる。特に、近接センサ22を円周方向に設ける場合、それぞれの近接センサ22と本体21の軸との距離が同じになるため、好ましい。さらに、本体21の上面および下面に近接センサ22を設けることにより、センサ部11の上方または下方への検知精度を高めることができる。
しかし、近接センサ22の配列は特に限定されるものではない。検出物を上下、前後、左右の全方位から検知できるようにするのが好ましいが、ロボットの仕様に応じて適宜選択すればよい。
【0020】
近接センサ22としては、静電容量型、誘導型、超音波型、電磁波型、赤外線型などの公知ものが用いられる。このような近接センサ22としては、生体に対して感度を有するものが好ましく、特に、生体の表面に帯びた電荷を検出するものが好ましい。このように生体に対して感度を有する場合、検出物として金属片等を付けた手袋を用いるなどしなくても、操作者の手を検出物としてロボット教示ができる。
このような生体に対して感度を有する近接センサとして、例えば、誘電体の分極した電荷を検出する静電容量型の近接センサが挙げられる。また、コイル状炭素繊維を誘電体からなる母材内に分散させたものを用いた近接センサ、例えば、特開2007−201641号公報の近接センサが挙げられる。
【0021】
演算部12は、近接センサ22が検出物Bを検知したとき、検出物Bに対してマニピュレータが離れる方向を算出する。
例えば、
図2aに示すように、検出物Bをセンサ部11に近づけ、一つの近接センサ22が検出物Bを検知する場合、演算部12は、近接センサ22からの信号に基づいて近接センサ22からセンサ部11の中心に向かうベクトルY1を算出する。そして、このベクトルY1の向きがセンサ部11(マニピュレータ)の移動方向となる。
また、
図2bに示すように、検出物Bをセンサ部11に近づけ、2つの近接センサ22が検出物Bを同時に検知する場合、演算部12は、それぞれの近接センサ22からの信号に基づいてそれぞれの近接センサ22からセンサ部11の中心に向かうベクトルY1、Y2を算出する。そして、これらのベクトルY1、Y2の和(ベクトルYs)を算出する。このベクトルYsの向きがセンサ部11(マニピュレータ)の移動方向となる。
図2bにおいて、想像線の円弧A1、A2は、それぞれの近接センサ22の検知領域を表している。
なお、ロボット教示装置10をマニピュレータに装着した場合、演算部12には、マニピュレータの位置・姿勢に基づいた作業空間におけるセンサ部11の位置情報を送信し、その位置情報に応じて作業空間におけるマニピュレータの移動方向を算出させる。
【0022】
また演算部12は、複数の近接センサ22がハンド107の周方向に取り付けられており、複数の近接センサ22が複数の検出物Bを同時に検知し、マニピュレータの移動方向が算出できないとき、ハンド107の周りを同時に回転する複数の検出物の向きを該エンドエフェクタの回転方向として算出する。
例えば、
図2cに示すように、2つの検出物Bをセンサ部11に向かってセンサ部11を挟むようにして近づけ、軸を挟んで対向している2つの近接センサ22がそれぞれ検出物Bを検知した場合、演算部12は、それぞれの近接センサ22からの信号に基づいてそれぞれの近接センサ22からセンサ部11の中心に向かうベクトルY1、Y2を算出する。これらのベクトルY1、Y2の和はゼロ(所定量以下の方向ベクトルをゼロと設定してもよい)となる。そのため、センサ部11(マニピュレータ)の移動方向を算出できない。このようにマニピュレータが止まった状態で、2つの検出物Bを同時にハンド107の周りを回転させる。この場合、演算部12は、マニピュレータの移動方向を算出できない状態が維持されたまま、この2つの近接センサ22から離れるとの信号を受けると同時に、あるいは、その後、この2つの近接センサ22と周方向に隣の他の近接センサ22aから検出物Bを検出したとの信号を受ける。演算部12は、これらの信号を基に検出物の回転方向を算出する。
【0023】
このように演算部12は、マニピュレータの移動方向およびマニピュレータのエンドエフェクタの回転方向を算出するため、マニピュレータを自由に動かすことができる。
演算部12は検出物に対して離れるマニピュレータの移動方向を算出させているが、算出させる方向は、検出物に近づく方向であっても、検出物に対して所定の角度を有する方向であってもよい。離れる方向とすることにより、操作者とマニピュレータとの距離が一定以上となるため、より安全に教示作業を行うことができる。一方、近づく方向の場合、操作するマニピュレータをより細かく操作することができる。この場合、操作者とマニピュレータとの距離が所定量以下となったら、あるいは、接触したらマニピュレータを停止させるようにするのが安全上好ましい。
さらに、この実施形態の演算部12は、マニピュレータの移動方向が算出できないときに、エンドエフェクタの回転方向の算出をさせているが、マニピュレータの移動方向の算出モードと、エンドエフェクタの回転方向の算出モードを外部(例えば、外部の入力装置のボタン等)から指示して選択できるようにしてもよい。
【0024】
ロボット教示装置10は、近接センサ22を用いたセンサ部11を利用しているため、センサ部11に検出物を近づけるだけで、センサ部11を取り付けたマニピュレータを動かすことができ、操作者は力を必要としない。また、マニピュレータに取り付けられたセンサ部11を中心に検出物Bを近づけてマニピュレータの移動方向を決定するため、操作が簡単であり、誤操作も起こりにくい。
【0025】
次に、ロボット教示装置10を取り付けたロボット装置100を
図3に示す。ロボット装置100は、ベース101と、そのベースから延びるマニピュレータ102と、マニピュレータに動きを指示する制御部103とを有する。このマニピュレータ102にロボット教示装置のセンサ部11が取り付けられ、制御部103にロボット教示装置の演算部12が組み込まれている。そして、センサ部11と制御部103とはケーブル等によって接続されている。なお、ロボット教示装置の演算部12を別の装置として接続してもよい。
【0026】
マニピュレータ102は、多関節アーム106と、その先端に設けられたハンド(エンドエフェクタ)107とを備えている。
多関節アーム106は、複数のリンク111と、それらを接続する関節(旋回関節112aまたは回転関節112b)とを備えている。またアーム106とベース101、および、アーム106とハンド107も、関節(旋回関節112aおよび回転関節112b)によって接続されている。
各関節は、それぞれサーボモータ等のアクチュエータ(図示せず)と、その関節角度を検知するセンサ(図示せず)とを備える。アクチュエータおよびセンサはケーブル等によって制御部103と接続されている。
多関節アーム106は、公知の垂直多関節型のロボットのアームである。しかし、水平多関節型やパラレルリンク型など各種の多関節ロボットでもよい。
【0027】
センサ部11は、アーム106とハンド107との間の回転関節112bに取り付けられている。そして、ハンド107と一体に移動または回転する。このように、センサ部11はハンド107と一体となるように取り付けるのが好ましい。これにより、複数の近接センサ22は、実質的にハンド107の周方向に配置される。
なお、センサ部11の取付箇所は、特に限定されない。しかし、マニピュレータの先端側である方がロボットの操作がしやすい。
【0028】
制御部103は、演算部12と、主演算部103aと、通信部103bとを有する。また制御部103には、記憶部(図示せず)と、入力装置(図示せず)と、出力装置(図示せず)とが接続されている。記憶部は、マニピュレータ102に教示した動作を記憶する。
【0029】
主演算部103aは、各関節(旋回関節112aおよび回転関節112b)の状態に基づいてアームの位置・姿勢の演算処理を行う。また、主演算部103aは、センサ部11の位置・姿勢も同時に算出する。
通信部103bは、主演算部103aおよび演算部12の結果に基づいてアーム106およびハンド107の移動に必要な指示を各関節に送信する。また、入力装置によって入力される操作者の指示を送信する。
【0030】
次に、ロボットの教示方法について説明する。
初めにロボット装置100の教示状態をスタートさせる。
操作者の手(検出物)をセンサ部11に近づけ、マニピュレータ102を動かす(工程S1A)。
工程S1Aにおいて、センサ部11が操作者の手を検知することによりセンサ部11から信号が制御部103の演算部12に送られる。同時に、演算部12には、主演算部103aよりそのときのアーム106、ハンド107、および、センサ部11の位置情報および姿勢情報が送られる。そして、演算部12によりマニピュレータ102の移動方向が算出される。この演算部12の結果に基づいて通信部103bから各アクチュエータに動作を指示し、マニピュレータ102は動き始める。なお、操作者の手を動かしたい方向とは反対側のセンサ部11に近づけ、つまり、動かしたい方向とは反対側の近接センサ22に操作者の手を近づけ、マニピュレータ102を操作者の手に対して離れる方向に動かすのが好ましい。
マニピュレータ102が所定の位置に到着すると同時に、操作者の手をセンサ部11から遠ざけ、マニピュレータ102の移動を終了する(工程S2A)。
なお、マニピュレータ102の経路を曲げたい場合は、曲げたい位置で一端操作者の手をセンサ部11から遠ざけ、工程S1Aに戻る。
【0031】
次に、ハンド107をハンド107の軸周りに回転させる方法を説明する。
操作者の両手(2つの検出物)を、センサ部11を挟むようにしてセンサ部11に向かって近づける、つまり、センサ部11において反対側にある2つの近接センサ22にそれぞれの手を近づける(工程S1B)。
工程S1Bにおいて、センサ部11が操作者の両手を同時に検知することにより、センサ部11から信号が制御部103の演算部12に送られる。演算部12は移動方向を算出できず、アーム106およびハンド107はその場にとどまる。
ハンド107を回転させたい方向に、操作者の両手をセンサ部11の周りに回転させ、ハンド107を回転させる(工程S2B)。
工程S2Bにおいて、操作者の両手の回転をセンサ部11は検知し、演算部12はその操作者の両手の回転方向を算出する。この演算部12の結果に基づいて通信部103bからハンド107のアクチュエータに回転動作を指示し、ハンド107は回転する。
ハンド107が所定の姿勢になるのと同時に、操作者の両手をセンサ部11から遠ざけ、ハンド107の回転を終了させる(工程S3B)。
【0032】
このロボット装置の教示方法は、ロボットに一切触れることなく、アームを移動させ、任意の位置および姿勢にすることができる。
上記方法では、操作者の手を検出物として挙げているが、検出物は特に限定されない。使用する近接センサに応じて感度の高い検出物を用いてもよい。