(57)【要約】【課題】掃引空間設定及び動作計画の各プロセスを含む全教示プロセスの所要時間を短縮するとともに、非熟練者によっても必要十分な掃引作業を確実に実施することができるロボット教示方法及び教示システムを提供する。【解決手段】直接教示方式のロボット教示システムは、空間掃引中のマニピュレータの位置及び／又は動作を検出するロボット制御手段(T1)と、掃引空間を掃引作業中に計算する掃引空間計算手段(T2)と、掃引空間情報に基づいてマニピュレータの最適又は準最適な動作経路を生成する動作計画手段と、掃引空間情報及び／又は動作経路を掃引作業中に画面表示するための掃引空間表示手段(T3)とを有する。【選択図】図２
2014213399.tif 000002
【特許請求の範囲】
【請求項１】
オペレータがマニピュレータ端部を手で把持又は握持し、ロボット教示システムの制御下にマニピュレータを手動操作してマニピュレータのボディでロボット周囲の空間を掃引し、掃引空間の情報をロボット教示システムに記録せしめる直接教示方式のロボット教示方法において、
空間掃引中のマニピュレータの位置及び／又は動作を検出して、掃引空間計算用の情報を取得し、ロボット教示システムのＣＰＵによって掃引空間を掃引作業中に計算し、
掃引空間の計算によって得られた掃引空間の情報に基づく動作計画プロセスを掃引空間計算と並行して掃引作業中に前記ＣＰＵによって実行し、マニピュレータの最適又は準最適な動作経路を前記動作計画プロセスによって生成し、
マニピュレータの掃引作業を終了する判断基準として、前記掃引空間の情報及び／又は前記動作経路の情報をマニピュレータの位置情報とともにロボット教示システムの表示部に表示することを特徴とするロボット教示方法。
【請求項２】
前記ＣＰＵによって並列処理されるロボット制御スレッド(T1)、掃引空間計算スレッド(T2)及び掃引空間表示スレッド(T3)によって、掃引空間計算用の情報の取得と、掃引空間の計算と、掃引空間の情報及び／又は動作経路の情報の表示とを実行するとともに、ユーザによるロボット教示終了の指示により各スレッドを終了させることを特徴とする請求項１に記載のロボット教示方法。
【請求項３】
マニピュレータの各関節部の関節角を空間掃引中に検出してロボット教示システムの記憶部に記憶し、関節角の情報に基づいて掃引空間を計算することを特徴とする請求項１又は２に記載のロボット教示方法。
【請求項４】
マニピュレータに装着された力センサ又は力覚センサの検出結果を用いて、オペレータの手に追従する受働的態様でマニピュレータ端部を変位させるダンピング制御をロボットの駆動制御系に実行せしめることを特徴とする請求項１乃至３のいずれか1項に記載のロボット教示方法。
【請求項５】
マニピュレータ端部に作用する外力を検出し、マニピュレータ端部を把持又は握持したオペレータの手に追従する受働的態様でマニピュレータ端部を変位させるとともに、マニピュレータが掃引した掃引空間の情報を記録する直接教示方式のロボット教示システムにおいて、
空間掃引中のマニピュレータの位置及び／又は動作を検出するロボット制御手段(T1)と、
空間掃引中のマニピュレータの位置及び／又は動作に基づいて掃引空間を掃引作業中に計算する掃引空間計算手段(T2)と、
掃引空間計算手段による掃引空間計算によって求められた掃引空間情報に基づいてマニピュレータの最適又は準最適な動作経路を生成する動作計画手段と、
前記掃引空間情報及び／又は前記動作経路を掃引作業中に画面表示するための掃引空間表示手段(T3)とを有することを特徴とするロボット教示システム。
【請求項６】
前記ボット制御手段、掃引空間計算手段及び掃引空間表示手段は夫々、前記ＣＰＵにより並列処理されるロボット制御スレッド(T1)、掃引空間計算スレッド(T2)及び掃引空間表示スレッド(T3)からなり、掃引空間表示スレッド(T3)は、ユーザによるロボット教示終了の指示により全スレッドを終了させる終了手段を有することを特徴とする請求項５に記載のロボット教示システム。
【請求項７】
ロボット制御手段(T1)は、マニピュレータの各関節部の関節角を検出し、ロボット教示システムの記憶部に記憶し、掃引空間計算手段(T2)は、関節角の情報に基づいて掃引空間を計算することを特徴とする請求項５又は６に記載のロボット教示システム。
【請求項８】
ロボット制御手段(T1)は、マニピュレータに装着された力センサ又は力覚センサの検出結果に基づいてロボットの駆動制御系を制御し、オペレータの手に追従する受働的態様でマニピュレータ端部を変位させるダンピング制御をロボットの駆動制御系に実行せしめることを特徴とする請求項５乃至７のいずれか１項に記載のロボット教示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット教示方法及び教示システムに関するものであり、より詳細には、産業用ロボット、生活支援ロボット等のロボットの動作をロボットに教示する直接教示（ダイレクト・ティーチ）方式のロボット教示方法及び教示システムに関するものである。
【背景技術】
【０００２】
産業用ロボットを構成するロボットアーム等のマニピュレータの軌道又は動作経路を最適化するロボット教示方法として、パーソナルコンピュータ（ＰＣ）やワークステーション等の画面上でロボットの動作をプログラムし、そのデータをロボットに与えることによりマニピュレータの最適又は準最適な軌道又は動作経路をロボットに教示するオフライン・ティーチング法と、教示ペンダント等を用いてロボット実機を作動し、マニピュレータの最適又は準最適な軌道又は動作経路をロボットに教示するオンライン・ティーチング法とが知られている。
【０００３】
オフライン・ティーチング法は、ロボットが設置される実設備の稼働を妨げずにロボット教示を実施し得る点で有利である反面、ロボット実機を用いない仮想環境上の教示方法であるので、障害物等の実環境情報を教示システムに迅速且つ正確に入力し難く、しかも、プログラム上の仮想環境と実環境との不一致の問題があり、実環境における動作実行時に煩雑な誤差修正作業、微調節・調整作業等が付加的に必要とされる。
【０００４】
他方、ティーチングプレイバック法に代表されるオンライン・ティーチング法は、特開２００９−５０９４９号公報（特許文献１）に記載される如く、作業者がロボット実機のマニピュレータを教示ペンダントによって誘導して動作軌跡上の所定位置に順次位置決めし、マニピュレータの位置・姿勢等の情報を記憶し、しかる後、これらの情報に基づいてロボットに所望の軌道又は動作経路を教示する教示方法である。オンライン・ティーチング法によれば、障害物等の情報を教示システムに入力する労力・手間等を省略するとともに、煩雑な誤差修正作業等を実稼働時に要しないので、実用的に有利である。
【０００５】
本発明者は、このようなオンライン・ティーチング法において、オペレータ（作業者又は操作者）がロボット実機のマニピュレータ端部（エンドエフェクタ）を手指で直に把持又は握持してマニピュレータを変位させることにより、掃引空間情報を取得し、かくして得られた掃引空間情報に基づいてマニピュレータの最適な軌道又は動作経路を設定して、マニピュレータの軌道又は動作経路をロボットに教示する直接教示方式の教示方法を提案している（非特許文献１）。このような方式の教示方法によれば、教示ペンダントの操作に不慣れな非熟練者であっても比較的容易にロボット教示を行うことができる。
【０００６】
特開２０１２−９６３５５号公報（特許文献２）には、上記非特許文献１の技術を参照し且つ応用したロボット教示方法として、ロボット可動部が掃引する掃引空間の情報を取得するのみならず、教示者の身体の一部、或いは、ロボット可動部に取付けられた空間教示用治具が掃引する付随的な掃引空間の情報を取得し、かくして得られた付随的な掃引空間をロボット可動部自体の掃引空間に付加し、これにより、ロボット可動部の移動可能空間を拡張するようにした移動経路探索装置が記載されている。このような移動経路探索装置によれば、後続する動作計画プロセスにおいてロボットの軌道又は動作経路を更に最適化し得るかもしれない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−５０９４９号公報
【特許文献２】特開２０１２−９６３５５号公報
【非特許文献】
【０００８】
【非特許文献１】論文「空間掃引を用いた産業用マニピュレータの教示」（前田雄介、潮田達也）、日本機械学会論文集（Ｃ編）、第７４巻第７３７号、第１１５〜１２０頁（２００８）
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のオンライン・ティーチング法においては、掃引空間情報の取得は、オンラインで実施される一方、掃引空間情報に基づいて掃引空間を計算又は演算する掃引空間設定プロセスや、マニピュレータ端部の軌道又は動作経路（以下、「動作経路」という。）を生成する動作計画プロセスは、掃引空間情報の取得後にオフラインで実行されていた。このため、掃引空間設定及び動作計画の各プロセスを含む全教示プロセスを実行するのに比較的長い時間を要するばかりでなく、不十分な掃引作業、或いは、掃引作業の不足の結果としてマニピュレータの最適又は準最適な動作経路を生成し難いことが動作計画プロセスにおいて事後的に判明した場合、掃引作業を再実施して、掃引空間情報を再取得しなければならなかった。
【００１０】
また、このような掃引作業の再実施の問題を回避するには、必要十分な掃引作業の完了を経験的に認識する知識又は技能を有する熟練者の掃引作業に依存ぜざるを得ない事情があり、これは、熟練者の確保の困難性故に産業用ロボット等の普及を妨げる要因となっており、二次的又は副次的な課題を生じさせていた。
【００１１】
本発明は、このような課題に鑑みてなされたものであり、その目的とするところは、掃引空間設定及び動作計画の各プロセスを含む全教示プロセスの所要時間を短縮するとともに、掃引作業に精通した熟練者の経験・技能等に依存することなく、非熟練者によっても必要十分な掃引作業を確実に実施することができるロボット教示方法及び教示システムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明者は、上記目的を達成すべく鋭意研究を重ねた結果、空間掃引作業、掃引空間計算及び動作経路生成を並行して実行し、動作経路生成の情報を掃引作業終了の判断基準としてオペレータ等のユーザに呈示することにより、全教示プロセスの実行に要する所要時間を短縮するとともに、早期且つ確実に掃引作業の終了を判断できることを知見し、かかる知見に基づいて本発明を達成したものである。
【００１３】
即ち、本発明は、オペレータがマニピュレータ端部を手で把持又は握持し、ロボット教示システムの制御下にマニピュレータを手動操作してマニピュレータのボディでロボット周囲の空間を掃引し、掃引空間の情報をロボット教示システムに記録せしめる直接教示方式のロボット教示方法において、
空間掃引中のマニピュレータの位置及び／又は動作を検出して、掃引空間計算用の情報を取得し、ロボット教示システムのＣＰＵによって掃引空間を掃引作業中に計算し、
掃引空間の計算によって得られた掃引空間の情報に基づく動作計画プロセスを掃引空間計算と並行して掃引作業中に前記ＣＰＵによって実行し、マニピュレータの最適又は準最適な動作経路を前記動作計画プロセスによって生成し、
マニピュレータの掃引作業を終了する判断基準として、前記掃引空間の情報及び／又は前記動作経路の情報をマニピュレータの位置情報とともにロボット教示システムの表示部に表示することを特徴とするロボット教示方法を提供する。
【００１４】
本発明の上記構成によれば、掃引空間計算（掃引空間設定）および動作経路生成（動作計画）の各プロセスがオペレータの掃引作業中に実行され、掃引空間の情報及び／又は動作経路の情報がロボット教示システムの表示部に表示される。オペレータは、表示部に表示された掃引空間の情報及び／又は動作経路の情報を直に参照し又は他のユーザを介して知得し、これにより、必要十分な空間掃引作業が行われたか否かを把握し又は認識することができる。即ち、オペレータは、必要十分な空間掃引作業の実施をロボット教示システムの表示部により確実且つ早期に把握又は認識することができるので、非熟練者であっても、掃引作業の再実施や、掃引空間情報の再取得等を繰り返し行うことなく、掃引作業を確実に完遂することができる。
【００１５】
また、上記構成のロボット教示方法によれば、掃引空間計算および動作経路生成の各プロセスが並行して実行されるので、これらのプロセスを含む全教示プロセスの所要時間を短縮することができる。
【００１６】
本発明は又、マニピュレータ端部に作用する外力を検出し、マニピュレータ端部を把持又は握持したオペレータの手に追従する受働的態様でマニピュレータ端部を変位させるとともに、マニピュレータが掃引した掃引空間の情報を記録する直接教示方式のロボット教示システムにおいて、
空間掃引中のマニピュレータの位置及び／又は動作を検出するロボット制御手段(T1)と、
空間掃引中のマニピュレータの位置及び／又は動作に基づいて掃引空間を掃引作業中に計算する掃引空間計算手段(T2)と、
掃引空間計算手段による掃引空間計算によって求められた掃引空間情報に基づいてマニピュレータの最適又は準最適な動作経路を生成する動作計画手段と、
前記掃引空間情報及び／又は前記動作経路を掃引作業中に画面表示するための掃引空間表示手段(T3)とを有することを特徴とするロボット教示システムを提供する。
【００１７】
本発明の上記構成によれば、ロボット制御手段(T1)、掃引空間計算手段(T2)、掃引空間表示手段(T3)および動作計画手段の各手段によって複数の情報処理プロセスが並行して実行されるので、これらのプロセスを含む全教示プロセスの所要時間を短縮することができる。
【００１８】
また、オペレータは、必要十分な空間掃引作業の実施を掃引空間表示手段(T3)の表示により確実且つ早期に把握又は認識することができるので、非熟練者であっても、掃引作業の再実施や、掃引空間情報の再取得等を繰り返し行うことなく、掃引作業を確実に完遂することができる。
【発明の効果】
【００１９】
本発明に係るロボット教示方法及び教示システムによれば、掃引空間設定及び動作計画の各プロセスを含む全教示プロセスの所要時間を短縮するとともに、掃引作業に精通した熟練者の技術・技能に依存することなく、非熟練者によっても必要十分な掃引作業を確実に実施することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本発明に係る直接教示方式のロボット教示方法を概略的に示す概念図であり、図１（Ａ）には、６軸垂直多関節型ロボットが全体的且つ概略的に示され、図１（Ｂ）には、マニピュレータのボディが掃引した掃引空間が示され、図１（Ｃ）には、掃引空間とロボットとの位置関係が示されている。
【図２】図２は、ロボット教示システムの構成を概念的に示すシステム構成図である。
【図３】図３は、掃引空間設定プロセスを構成するロボット制御スレッドの処理フローを示すフローチャートである。
【図４】図４は、掃引空間設定プロセスを構成する掃引空間計算スレッドの処理フローを示すフローチャートである。
【図５】図５は、掃引空間設定プロセスを構成する掃引空間表示スレッドの処理フローを示すフローチャートである。
【図６】図６は、掃引空間計算スレッドにおける掃引空間のOCTREE表現を概略的に示す正面図である。
【発明を実施するための形態】
【００２１】
好ましくは、ロボット教示システムは、掃引空間設定プロセス及び動作計画プロセスを含むロボット教示用プログラムを有し、掃引空間設定プロセスは、並列処理される３つのコンピュータスレッド、即ち、ロボット制御スレッド(T1)、掃引空間計算スレッド(T2)及び掃引空間表示スレッド(T3)に分割される。掃引空間計算用の情報は、ロボット制御スレッド(T1)により記憶され、掃引空間計算スレッド(T2)により演算処理される。掃引空間計算スレッド(T2)の演算処理により得られた掃引空間の情報は、掃引空間表示スレッド(T3)により画像処理又は映像処理される。掃引空間表示スレッド(T3)は、ユーザによるロボット教示終了の指示により全スレッドを終了させる終了手段を有する。
【００２２】
このように掃引空間設定プロセスを複数のスレッドにより並列処理することにより、情報処理又は演算処理を時間的に効率化し、掃引空間設定プロセスの所要時間を短縮することができる。例えば、単一スレッドによりロボット制御、掃引空間計算及び掃引空間表示を実施した場合、比較的長い時間を要する掃引空間計算の処理時間の影響でロボット制御及び掃引空間表示の各処理に遅延が生じることが懸念されるが、ロボット制御及び掃引空間表示の各処理を掃引空間計算から分離することにより、遅延発生を未然に防止するとともに、掃引空間設定プロセスの所要時間を短縮することができる。
【００２３】
本発明の好ましい実施形態においては、マニピュレータの各関節部の関節角が検出され、関節角情報が掃引空間計算用の情報（関節情報）として、ロボット教示システムの記憶部に記憶される。ロボット教示システムは、新たな関節情報を取得した場合のみ、掃引空間を計算し、掃引空間を更新する。このような構成によれば、ロボット教示システムは、マニピュレータの静止時等に掃引空間の計算を省略し得るので、ロボット教示システムの演算負荷が軽減し、この結果、掃引空間設定プロセスの処理時間が更に短縮する。
【００２４】
本発明の好ましい実施形態によれば、力センサ又は力覚センサがマニピュレータ端部のエンドエフェクタ等に装着される。ロボット教示システムは、力センサ又は力覚センサの検出結果に基づいて移動指令をロボットコントローラに出力し、ロボットコントローラは、移動指令に基づいてロボットを駆動させ、これにより、オペレータの手に追従する受働的態様でマニピュレータ端部を変位させるダンピング制御が実行される。
【実施例１】
【００２５】
以下、添付図面を参照して、本発明の好適な実施例について詳細に説明する。
【００２６】
図１は、本発明に係る直接教示方式のロボット教示方法を概略的に示す概念図である。
【００２７】
図１（Ａ）には、一点鎖線で概略的に示す６軸を備えた６軸垂直多関節型ロボット１の構成が概略的に示されている。ロボット１を構成するマニピュレータ２は、力センサ（又は力覚センサ）４を備えたエンドエフェクタ３をマニピュレータ先端部に有する。力センサ４は、各軸方向に作用する力の３成分と、各軸廻りの力のモーメント３成分とを所定の時間間隔（例えば、１２５μｓ間隔）で検出する。
【００２８】
ロボット１は、力センサ４の検出結果に基づく力制御（ダンピング制御）により動作制御されており、オペレータがエンドエフェクタ３を手指で直に把持又は握持して所望の位置に移動させようとすると、力センサ４は、オペレータの手からエンドエフェクタ３に作用する力の方向及び大きさを検出する。ロボット教示システム（図示せず）が力センサ４の検出結果に基づいてロボット１を駆動させ、オペレータの手に追従した受働的態様でマニピュレータ２を移動させる。従って、オペレータは、マニピュレータ２のボディが障害物に干渉又は衝合しない範囲内で任意の位置にエンドエフェクタ３を移動させることができる。
【００２９】
オペレータがエンドエフェクタ３を様々な態様で変位させると、ロボット周辺の空間がマニピュレータ２のボディによって掃引される。マニピュレータ２のボディによって掃引された掃引空間Ｓが図１（Ｂ）及び図１（Ｃ）に示されている。
【００３０】
マニピュレータ２のボディは、掃引空間Ｓの範囲内において障害物に干渉又は衝合せずに移動することができるので、掃引空間Ｓは、マニピュレータ２のボディが移動可能な自由空間として把握し得る。マニピュレータ２の関節角情報や、動作開始位置及び終了位置の情報が、ロボット教示システム（図２）によってマニピュレータ２の掃引時に記録される。
【００３１】
ロボット教示システムは、オペレータの手動操作による空間掃引中に、ロボット１の関節角情報を用いて掃引空間Ｓを計算するとともに、動作開始位置と動作終了位置とを結ぶエンドエフェクタ３の経路Ｐを自動生成する。経路Ｐの自動生成には、所定の動作計画アルゴリズムを用いた動作計画ソフトウェアが用いられる。
【００３２】
ロボット教示システムは、関節角情報の取得、掃引空間Ｓの計算および経路Ｐの生成を実質的に同時に実行し、掃引空間Ｓ及び経路Ｐを画像等により表示する。従って、オペレータは、掃引空間Ｓ及び経路Ｐを掃引作業中に直に又は他のユーザを介して知得又は認識することができる。オペレータ又は他のユーザが最適又は準最適な経路Ｐの生成を確認すると、オペレータは、この時点で掃引作業を終了することができる。
【００３３】
ロボット教示システムは、かくして生成した最適又は準最適な経路Ｐを記憶し、ロボット１は、経路Ｐを基準として実稼働する。
【００３４】
このようなロボット教示方法においては、掃引空間Ｓの計算と、経路Ｐの生成とが、空間掃引作業中に並列処理されるので、掃引空間設定及び動作計画の各プロセスを含む全教示プロセスに要する時間は、大幅に短縮する。しかも、オペレータは、最適又は準最適な経路Ｐの生成を確認した後に空間掃引作業を終了することができるので、最適又は準最適な経路Ｐの生成に失敗して空間掃引作業を再実施する必要は生じない。
【００３５】
また、上記ロボット教示方法は、ロボット実機を用いたオンライン・ティーチング法の一種であるので、仮想環境と実環境との不一致の問題を回避するとともに、環境情報の入力に伴う煩雑な作業を要しない。しかも、上記ロボット教示方法においては、オペレータは、エンドエフェクタ３を手指で把持又は握持してマニピュレータ２のボディで空間掃引する作業を実施し、最適又は準最適な経路Ｐが確認された時点で空間掃引を速やかに終了すれば良く、従って、適正経路Ｐの生成を感覚的又は経験的に判断する特別な知識又は技能等を要しないので、非熟練者であっても品質の高いロボット教示を実施することができる。
【００３６】
図２は、ロボット教示システムの構成を概念的に示すシステム構成図である。
【００３７】
ロボット教示システム１０は、ロボット１の作動を制御するロボットコントローラ１１と、ロボット教示用プログラムをイントールしたＰＣ（パーソナルコンピュータ）１２とから構成される。
【００３８】
ロボットコントローラ１１は、制御信号線Ｌ１を介してロボット１の駆動系及び制御系に接続される。ＰＣ１２は、制御信号線Ｌ２を介して力センサ４に接続される。
【００３９】
ロボットコントローラ１１は、ロボット１の実稼働時の作動全般を制御する制御手段であり、ロボット１の制御系を構成する関節角センサ等の検出結果がロボットコントローラ１１に入力される。ロボットコントローラ１１は、ロボット１の全作動を制御するとともに、ロボット１の運転データ等を記憶又は保存する。ロボットコントローラ１１は、制御信号線Ｌ３を介してＰＣ１２に接続され、イーサネット（登録商標）、ＬＡＮ等の通信ネットワーク環境によりＰＣ１２と情報交換し又は情報共有する。
【００４０】
ＰＣ１２は、演算処理等を実行するＣＰＵ（中央処理装置）と、メモリ、ハードディスク等の記憶部と、ディスプレイ装置１３及びキーボード１４等を含む入出力インターフェースとを備える。力センサ４の出力（検出結果）は、入出力インターフェースを介して記憶部に入力される。ディスプレイ装置１３の画面には、ロボット１、掃引空間Ｓ及び動作経路Ｐの形状又は輪郭が画像表示される。好ましくは、動作経路Ｐに従って変位又は移動するマニピュレータ２の動作時間（推定実行時間）がディスプレイ装置１３の画面上に更に表示される。
【００４１】
図２には、ＰＣ１２の記憶部に格納されたロボット教示用プログラムの構成が概念的に示されている。ロボット教示用プログラムは、掃引空間Ｓの計算及び設定を行う掃引空間設定プロセスと、エンドエフェクタ３の経路Ｐを自動生成する動作計画プロセスとを含む。
【００４２】
掃引空間設定プロセスは、掃引開始時にＰＣ１２のＣＰＵによって起動され且つ並列処理される３つのコンピュータスレッド、即ち、ロボット制御スレッドＴ１、掃引空間計算スレッドＴ２及び掃引空間表示スレッドＴ３を有する。動作計画プロセスは、動作計画アルゴリズムを処理する多数のコンピュータスレッド等から構成される。
【００４３】
図３、図４及び図５は、掃引空間設定プロセスを構成するロボット制御スレッドＴ１、掃引空間計算スレッドＴ２及び掃引空間表示スレッドＴ３の各処理フローを示すフローチャートである。
【００４４】
図３に示すロボット制御スレッドＴ１は、制御信号線Ｌ２（図２）を介してＰＣ１２の記憶部に入力された力センサ４の出力を読み込み（Ｓ１１）、制御信号線Ｌ３（図２）を介してロボットコントローラ１１にマニピュレータ移動指令を出力する（Ｓ１２）。マニピュレータ移動指令は、力センサ４が検出した外力（オペレータの力）に追従してマニピュレータ２が変位するようにロボット１の駆動系をダンピング制御するためのものであり、従って、マニピュレータ２は、オペレータの手の力に追従して受働的態様で作動する。
【００４５】
ロボット制御スレッドＴ１は更に、マニピュレータ２の関節角センサからロボットコントローラ１１に入力されたロボット１の関節情報をロボットコントローラ１１から受信し（Ｓ１３）、関節情報をＰＣ１２の記憶部に記憶させるとともに（Ｓ１４）、関節情報を掃引空間計算スレッドＴ２（図４）に出力する（Ｓ１５）。
【００４６】
ロボット制御スレッドＴ１は、掃引空間表示スレッドＴ３のスレッド終了指示（図５、Ｓ３５）を受信するまで、一連のステップＳ１１〜Ｓ１５を反復実行する（Ｓ１６）。一連のステップＳ１１〜Ｓ１５を実行する動作時間（サイクルタイム）は、ロボット１の制御周期と関連しており、本例では、約７ｍｓである。
【００４７】
図４に示す掃引空間計算スレッドＴ２は、ロボット制御スレッドＴ１から出力された関節情報を読み込み（Ｓ２１）、新規の関節情報をロボット制御スレッドＴ１から取得したか否かを判定する（Ｓ２２）。掃引空間計算スレッドＴ２は、起動前又は起動時に初期化されるので、掃引空間の計算を起動初期の段階で実行し、計算結果をＰＣ１２の記憶部に記憶させる（Ｓ２２、Ｓ２３）。
【００４８】
掃引空間計算スレッドＴ２は、起動後に所定時間が経過したか否かを更に判定するとともに（Ｓ２５）、掃引空間表示スレッドＴ３のスレッド終了指示（図５）を受信したか否かを判定する（Ｓ２７）。掃引空間計算スレッドＴ２の起動初期の段階においては、所定時間が経過しておらず、スレッド終了指示を受信することもないので、掃引空間計算スレッドＴ２は、一連のステップＳ２１〜Ｓ２４を反復実行する。
【００４９】
掃引空間計算スレッドＴ２は、ロボット制御スレッドＴ１から出力された関節情報をステップＳ２１〜Ｓ２４を反復実行中に読み込み（Ｓ２１）、新規の関節情報が入力されたことを判定すると（Ｓ２２）、掃引空間Ｓの計算を実行し、記憶部に記憶された掃引空間の計算結果を更新する（Ｓ２３）。他方、掃引空間計算スレッドＴ２は、新規の関節情報が入力されていないと判定すると（Ｓ２２）、所定の待ち時間（例えば、数ｍｓ）だけ待機した後（Ｓ２４）、ロボット制御スレッドＴ１から出力された関節情報の読み込みを反復実行する（Ｓ２１）。
【００５０】
掃引空間計算スレッドＴ２は、掃引空間表示スレッドＴ３が出力するスレッド終了指示（図５、Ｓ３５）を受信するまで、一連のステップＳ２１〜Ｓ２６を反復実行する（Ｓ２７）。一連のステップＳ２１〜Ｓ２６を実行する動作時間（サイクルタイム）も又、ロボット１の制御周期と関連しており、本例では、約７ｍｓである。
【００５１】
ステップＳ２５の判定基準として設定された所定時間は、初期的な動作計画の実行を判断する場合には、動作計画を有効に実行可能な掃引空間情報を取得し得る時間として経験的に設定された時間であるが、二回目以降の動作計画の実行を判断する場合には、動作計画プロセスが各回の動作計画を有効に完了し得る時間と関連して設定された時間である。掃引空間計算スレッドＴ２は、このように設定された所定時間が経過すると、動作計画プロセスを起動するための起動信号を動作計画プロセスに出力する（Ｓ２６）。
【００５２】
図５に示す掃引空間表示スレッドＴ３は、ロボット１、掃引空間Ｓ及び経路Ｐの現状又は最新の形状又は輪郭等をディスプレイ装置１３の画面表示させる（Ｓ３１、３２）。ＰＣ１２は、ディスプレイ装置１３の画像表現又は画像表示の変更、立体画像又は立体映像の視点変更、断面画像の切断面の変更等の機能を有し、オペレータ等のユーザは、ＰＣ１２の入出力インターフェースを用いてディスプレイ装置１３上の画像又は映像を選択的に切り換えることができる（Ｓ３３）。ユーザは、動作計画プロセスによって所望の経路Ｐが見出されたことを確認すると、ＰＣ１２の入出力インターフェースを用いて掃引空間設定プロセスの終了をＰＣ１２に指示する（Ｓ３３）。掃引空間表示スレッドＴ３は、ユーザの入力を処理し（Ｓ３３）、終了指示が入力されたか否かを判定し（Ｓ３４）、ユーザが終了指示をＰＣ１２に入力したと判定すると、スレッド終了を指示する信号をロボット制御スレッドＴ１及び掃引空間計算スレッドＴ２に出力するとともに、掃引空間表示スレッドＴ３を終了する。同時に、動作計画プロセスの終了処理も実行される。
【００５３】
図６は、掃引空間計算スレッドにおける掃引空間のOCTREE表現を概略的に示す正面図である。
【００５４】
掃引空間計算スレッドＴ２（図４）においては、情報量を低減してＣＰＵの処理速度を高速化すべく、掃引空間Ｓを包含する空間をOCTREE（八分木）表現する方式が採用される。図６（Ａ）〜図６（Ｃ）に示す如く、マニピュレータ２のボディと干渉するボクセルを細分化して再帰的に干渉判定を反復する方法で掃引空間Ｓの計算が実行され、ロボット１のボディと干渉しないボクセルの和集合が、障害物空間（掃引空間Ｓの補空間）として特定される。
【００５５】
掃引空間計算スレッドＴ２の起動信号（Ｓ２６）により起動された動作計画プロセス（図２）は、掃引空間計算スレッドＴ２によって計算された掃引空間Ｓ及び障害物空間の情報を受信し、予め設定された動作計画アルゴリズムを用いて最適又は準最適なエンドエフェクタ３の動作経路Ｐ（及び動作経路Ｐの推定実行時間）を求める。本例では、動作計画アルゴリズムを用いた動作計画ソフトウェアがＰＣ１２にインストールされ、動作計画プロセスにおいて用いられる。このような動作計画ソフトウェアとして、Schwarzer,Saha等（米国スタンフォード大）により開発された"Motion Planning Kit [MPK]"が挙げられる。なお、"Motion Planning Kit [MPK]"は、動作計画アルゴリズムに確率的ロードマップ法を採用したコンピュータソフトウェアである。
【００５６】
動作計画プロセスによって見出された最適又は準最適な動作経路Ｐは、ロボット１の滑らかな運動や、ロボット１の動作時間の短縮等を考慮したスムージング処理等によって更に適正化され、動作経路Ｐの推定実行時間とともにディスプレイ装置１３の画面に表示される。オペレータ等のユーザは、最適又は準最適な経路Ｐが見出されたことをディスプレイ装置１３の画面によって確認すると、前述のとおり、掃引空間設定プロセスの終了指示をＰＣ１２に入力し（Ｓ３３）、掃引空間設定プロセス及び動作計画プロセスを終了させる。
【００５７】
かくして、ロボット教示システムはマニピュレータ２の空間掃引作業と並行して動作計画プロセスをＰＣ１２により実行し、マニピュレータ２の可動空間（掃引空間Ｓ）とエンドエフェクタ３の最適又は準最適な経路Ｐとをオペレータ等のユーザにリアルタイム表示する。従って、オペレータは、必要十分な掃引作業を実施したことを直に確認し又は他のユーザを介して知得することができるので、空間掃引作業を確実且つ速やかに終了するとともに、空間掃引作業を再実施する手間を排除することができる。これは、結果的に、ロボット教示プロセス全体の所要時間の短縮を可能にする。
【００５８】
また、本例においては、掃引空間設定プロセスは、ＰＣ１２によって並列処理される３つのコンピュータスレッドＴ１、T２、T３によって実行されるので、比較的長い処理時間を要する掃引空間計算のために関節情報取得や掃引空間表示の動作が遅延するのを防止し、これにより、掃引空間設定プロセスの所要時間を短縮することができる。
【００５９】
本発明者は、上記教示方法の利点又は効果を評価すべく、ロボット実機を用いた教示実験を実施した。実験に用いたロボット1は、三菱電気株式会社製の型番「ＲＶ-１Ａ」(６軸垂直多関節型ロボット)である。教示実験においては、以下の３つの方法が採用された。
【００６０】
(1)上記実施例の教示方法（本実施例）
(2)オペレータがエンドエフェクタ３を手指で把持又は握持してマニピュレータ２を所定の通過点経由で移動させ、その間に関節角情報を獲得する直接教示方式のティーチングプレイバック法（比較例１）
(3)オペレータがエンドエフェクタ３を手指で把持又は握持してマニピュレータ２を移動させる直接教示方式の空間掃引を行った後、空間掃引時に獲得した関節角情報を用いてオフラインで掃引空間Ｓを計算する教示方法（比較例２）
【００６１】
本実施例の教示方法は、比較例１の教示方法に比べて８〜３４倍（平均で約１２倍）の教示時間を要した。比較例１の教示方法では、予め想定された特定の動作経路Ｐのみをロボット１に教示するにすぎないのに対し、本実施例の教示方法では、空間掃引及び動作経路生成のためにマニピュレータ２を様々な態様で動作せしめるので、これは、むしろ当然の結果である。
【００６２】
これに対し、本実施例及び比較例１の教示方法によって設定されたマニピュレータ２の動作について実稼働時の動作時間を対比すると、本実施例の教示方法によって動作経路Ｐを教示されたロボット１の動作時間は、比較例１の教示方法によって動作経路Ｐを教示されたロボット１の動作時間よりも１６〜２５％（平均約２２％）短縮した。
【００６３】
これは、本実施例の教示方法により、実稼働時の動作時間を短縮する上で最適又は準最適な経路Ｐを見出すことができ、従って、本実施例の教示方法が、エンドエフェクタ３の経路Ｐを最適化する上で極めて優位であることを意味する。
【００６４】
また、本実施例の教示方法と比較例２の教示方法とを対比すると、本実施例の教示方法では、比較例２の教示方法に比べて教示時間が３３〜３５％（平均で約３５％）短縮した。これは、本実施例における掃引空間設定プロセス及び動作計画プロセス（図２）の並列処理や、前述の３つのスレッド（図３〜図５）の並列処理を採用したことが、教示時間を短縮する上で有効であることを意味する。なお、本実施例の教示方法と比較例２の教示方法の本質的な相違は、掃引空間Ｓの計算をオンラインで実行するか、オフラインで実行するかという点にあるので、動作経路Ｐの最適化という観点においては、両者は、実質的に相違するものではない。
【００６５】
以上、本発明の好適な実施例について詳細に説明したが、本発明は上記実施例の構成に限定されるものではなく、特許請求の範囲に記載された本発明の範囲内で種々の変形又は変更が可能であり、該変形例又は変更例も又、本発明の範囲内に含まれるものであることは、いうまでもない。
【００６６】
例えば、上記実施例においては、ロボット教示システムは、汎用のパーソナルコンピュータを用いた構成のものであるが、ワークステーション、マイクロコンピュータ、クラウドコンピューティング等を利用したシステムとしてロボット教示システムを構築しても良い。
【００６７】
また、上記実施例においては、マニピュレータの関節角センサの検出結果に基づいて掃引空間を計算しているが、マニピュレータの位置又は動作等を検出する位置センサ等のような他の検出手段の検出結果に基づいて掃引空間を計算することも可能である。
【００６８】
更に、上記実施例は、産業用ロボットの教示に関するものであるが、生活支援ロボット等の他の形式のロボットの教示方法及び教示システムにおいて本発明を適用することも可能である。
【００６９】
更に又、上記実施例においては、動作計画アルゴリズムに確率的ロードマップ法を採用したコンピュータソフトウェアを動作計画プロセスにおいて使用したが、他の原理又は構成のソフトウェアを採用しても良い。
【産業上の利用可能性】
【００７０】
本発明は、産業用ロボット、生活支援ロボット等のロボットの動作をロボットに教示する直接教示方式のロボット教示方法及び教示システムに適用される。
【００７１】
本発明のロボット教示方法は、オペレータがマニピュレータ端部を手で把持又は握持し、ロボット教示システムの制御下にマニピュレータを手動操作してマニピュレータのボディでロボット周囲の空間を掃引し、掃引空間の情報をロボット教示システムに記録せしめる直接教示方式のロボット教示方法に好ましく適用される。
【００７２】
また、本発明のロボット教示システムは、マニピュレータ端部に作用する外力を検出し、マニピュレータ端部を把持又は握持したオペレータの手に追従する受働的態様でマニピュレータ端部を変位させるとともに、マニピュレータが掃引した掃引空間の情報を記録する直接教示方式のロボット教示システムに好ましく適用される。
【００７３】
本発明に係るロボット教示方法及び教示システムによれば、掃引空間設定及び動作計画の各プロセスを含む全教示プロセスの所要時間を短縮するとともに、掃引作業に精通した熟練者の経験・技能等に依存することなく、非熟練者によっても必要十分な掃引作業を確実に実施することができるので、その実用的効果は、顕著である。
【符号の説明】
【００７４】
１  ロボット
２  マニピュレータ
３  エンドエフェクタ
４  力センサ
１０  ロボット教示システム
１１  ロボットコントローラ
１２  ＰＣ（パーソナルコンピュータ）
１３  ディスプレイ装置
１４  キーボード
Ｌ１、Ｌ２、Ｌ３  制御信号線
【図１】
2014213399.tif 000003
【図２】
2014213399.tif 000004
【図３】
2014213399.tif 000005
【図４】
2014213399.tif 000006
【図５】
2014213399.tif 000007
【図６】
2014213399.tif 000008