(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】2021003771
(43)【公開日】20210114
(54)【発明の名称】ロボットシステム
(51)【国際特許分類】
   B25J 9/22 20060101AFI20201211BHJP
   G05B 19/42 20060101ALI20201211BHJP
【FI】
   !B25J9/22 Z
   !G05B19/42 D
【審査請求】未請求
【請求項の数】7
【出願形態】OL
【全頁数】14
(21)【出願番号】2019118992
(22)【出願日】20190626
(71)【出願人】
【識別番号】000232302
【氏名又は名称】日本電産株式会社
【住所又は居所】京都府京都市南区久世殿城町338番地
(74)【代理人】
【識別番号】100101683
【弁理士】
【氏名又は名称】奥田 誠司
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100188813
【弁理士】
【氏名又は名称】川喜田 徹
(74)【代理人】
【識別番号】100202197
【弁理士】
【氏名又は名称】村瀬 成康
(72)【発明者】
【氏名】浪越 孝宏
【住所又は居所】京都府京都市南区久世殿城町338番地 日本電産株式会社内
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB09
3C269SA02
3C269SA31
3C269SA33
3C707BS10
3C707DS01
3C707KS33
3C707KS35
3C707KX06
3C707LS02
3C707LT11
3C707MT01
3C707MT04
(57)【要約】
【課題】ロボットシステムのロボットの教示作業において、より簡便な操作で外力をより正確に検出するロボットシステムを提供する。
【解決手段】ロボットシステム(1)のロボット(2)は、ロボットアーム(100)と、エンドエフェクタ(120)と、受けた力およびモーメントの検出値を出力する力覚センサ(110)とを有する。ロボットコントローラ(3)の信号処理回路(210)は、第1および第2基準値を保持する。第1基準値/第2基準値は、エンドエフェクタに教示者が触れていない第1姿勢/第2姿勢のときの力覚センサの各出力である。信号処理回路は、力覚センサに教示者が触れてロボットアームが第3姿勢になったとき、第1基準値と第2基準値とを利用して第3基準値を算出し、第3姿勢における力覚センサの第3検出値と第3基準値とを利用して第3姿勢における教示値を取得する。
【選択図】図9
【特許請求の範囲】
【請求項1】
ロボットおよびロボットコントローラを有し、前記ロボットコントローラが前記ロボットに所定の作業を実行させるロボットシステムであって、
前記ロボットは、
ロボットアームと、
前記エンドエフェクタと、
前記ロボットアームの先端と前記エンドエフェクタとの間に取り付けられた力覚センサであって、受けた力およびモーメントの検出値を出力する力覚センサと
を有し、
前記ロボットコントローラは、
前記検出値を受け取るインタフェース装置と、
前記ロボットに所定の作業を実行させる信号処理回路と
を備え、
前記信号処理回路は、
前記エンドエフェクタが第1姿勢にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときに出力された前記力覚センサの第1検出値、または前記第1検出値を加工した第1加工値を、前記ロボットアームの第1姿勢における第1基準値として保持し、
前記エンドエフェクタが、前記第1姿勢と異なる第2姿勢にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときの前記力覚センサの第2検出値、または前記第2検出値を加工した第2加工値を、前記ロボットアームの第2姿勢における第2基準値として保持し、
動作の直接教示として、前記力覚センサに教示者が触れることによって前記ロボットアームおよび/または前記エンドエフェクタが前記第1姿勢および前記第2姿勢以外の第3姿勢になったとき、前記第1基準値と前記第2基準値とを利用して第3基準値を算出し、前記第3姿勢における前記力覚センサの第3検出値と前記第3基準値とを利用して、前記第3姿勢における教示値を取得する、ロボットシステム。
【請求項2】
前記第1姿勢および前記第2姿勢の少なくとも一方は、前記エンドエフェクタに非0のモーメントがかかる姿勢である、請求項1に記載のロボットシステム。
【請求項3】
前記ロボットは平面座標系を含む座標系で動作し、前記平面座標系は非平行の第1軸および第2軸を有し、
前記第1姿勢は、前記第1軸の周りに前記エンドエフェクタを角度α1だけ回転させ、前記第2軸の周りに前記エンドエフェクタを角度β1だけ回転させた姿勢であり、
前記第2姿勢は、前記第1軸の周りに前記エンドエフェクタを角度α2(≠α1)だけ回転させ、前記第2軸の周りに前記エンドエフェクタを角度β2(≠β1)だけ回転させた姿勢である、請求項2に記載のロボットシステム。
【請求項4】
前記第1基準値は、前記第1軸周りのモーメントの検出値P11および前記第2軸周りのモーメントの検出値P21を含み、
前記第2基準値は、前記第1軸周りのモーメントの検出値P12および前記第2軸周りのモーメントの検出値P22を含み、
前記信号処理回路は、
前記第3姿勢における、前記第1軸周りの角度α3および前記第2軸周りの角度β3を取得し、
前記角度α1、α2、α3、および前記検出値P11、P12を利用して、前記第3姿勢における、前記第1軸周りのモーメントの値P13を算出し、
前記角度β1、β2、β3、および前記検出値P21、P22を利用して、前記第3姿勢における、前記第2軸周りのモーメントの値P23を算出する、請求項3に記載のロボットシステム。
【請求項5】
前記信号処理回路は、
前記角度α1、α2、α3と前記検出値P11、P12、P13との線形関係を利用して前記値P13を算出し、
前記角度β1、β2、β3と前記検出値P21、P22、P23との関係の線形関係を利用して前記値P23を算出する、請求項4に記載のロボットシステム。
【請求項6】
前記第3検出値は、前記第1軸周りのモーメント値Q1、および前記第2軸周りのモーメント値Q2を有しており、
前記信号処理回路は、
前記モーメント値Q1から前記検出値P13を減算して前記第1軸周りの教示値を算出し、
前記モーメント値Q2から前記検出値P23を減算して前記第2軸周りの教示値を算出する、請求項5に記載のロボットシステム。
【請求項7】
ロボットシステムにおいて利用されるコンピュータプログラムであって、
前記ロボットシステムは、ロボットおよびロボットコントローラを有し、前記ロボットコントローラが前記ロボットに所定の作業を実行させるシステムであって、
前記ロボットは、
ロボットアームと、
前記エンドエフェクタと、
前記ロボットアームの先端と前記エンドエフェクタとの間に取り付けられた力覚センサであって、受けた力およびモーメントの検出値を出力する力覚センサと
を有し、
前記ロボットコントローラは、
前記検出値を受け取るインタフェース装置と、
前記ロボットに所定の作業を実行させる信号処理回路と
を備え、
前記ロボットシステムは、記憶装置に、
前記エンドエフェクタが第1姿勢 にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときに出力された前記力覚センサの第1検出値、または前記第1検出値を加工した第1加工値を、前記ロボットアームの第1姿勢における第1基準値として記憶しており、
前記エンドエフェクタが、前記第1姿勢と異なる第2姿勢 にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときの前記力覚センサの第2検出値、または前記第2検出値を加工した第2加工値を、前記ロボットアームの第2姿勢における第2基準値として記憶しており、
前記力覚センサに教示者が触れることによって前記ロボットアームおよび/または前記エンドエフェクタが前記第1姿勢および前記第2姿勢以外の第3姿勢になったとき、
前記コンピュータプログラムは前記信号処理回路に、
前記第1基準値と前記第2基準値とを読み出させ、
前記第1基準値と前記第2基準値とを利用して第3基準値を算出させ、
前記第3姿勢における前記力覚センサの第3検出値と前記第3基準値とを利用して、前記第3姿勢における教示値を取得させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボットシステムに関する。
【背景技術】
【0002】
特開昭63−34609号公報は、ワークに作用する外力に従って産業用ロボットのアームの動作を決定し、ワークを移動させる技術を開示する。当該文献は、操作者がワークを移動したい方向にワークに力を加えることによりアームを動作させる直接教示に言及している。当該文献の技術は、あらかじめハンドやワークの重心・重量などの設計情報を入力しておき、計算によって無負荷時の理論値を求めておき、理論値と実測値との違いにより、外力を検出する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭63−34609号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特開昭63−34609号公報の技術では、事前にハンドやワークの設計情報を記憶し、理論値を計算しておく必要がある。ハンドを他のエンドエフェクタに交換した際には、交換後のエンドエフェクタの設計情報が必要であり、煩雑な作業が要求される。
【0005】
より簡便な操作で外力をより正確に検出する技術が必要とされている。
【課題を解決するための手段】
【0006】
本開示のロボットシステムは、例示的な実施形態において、ロボットおよびロボットコントローラを有し、前記ロボットコントローラが前記ロボットに所定の作業を実行させるロボットシステムであって、前記ロボットは、ロボットアームと、前記エンドエフェクタと、前記ロボットアームの先端と前記エンドエフェクタとの間に取り付けられた力覚センサであって、受けた力およびモーメントの検出値を出力する力覚センサとを有し、前記ロボットコントローラは、前記検出値を受け取るインタフェース装置と、前記ロボットに所定の作業を実行させる信号処理回路とを備え、前記信号処理回路は、前記エンドエフェクタが第1姿勢にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときに出力された前記力覚センサの第1検出値、または前記第1検出値を加工した第1加工値を、前記ロボットアームの第1姿勢における第1基準値として保持し、前記エンドエフェクタが、前記第1姿勢と異なる第2姿勢にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときの前記力覚センサの第2検出値、または前記第2検出値を加工した第2加工値を、前記ロボットアームの第2姿勢における第2基準値として保持し、動作の直接教示として、前記力覚センサに教示者が触れることによって前記ロボットアームおよび/または前記エンドエフェクタが前記第1姿勢および前記第2姿勢以外の第3姿勢になったとき、前記第1基準値と前記第2基準値とを利用して第3基準値を算出し、前記第3姿勢における前記力覚センサの第3検出値と前記第3基準値とを利用して前記第3姿勢における教示値を取得する。
【0007】
本開示のコンピュータプログラムは、例示的な実施形態において、ロボットシステムにおいて利用されるコンピュータプログラムであって、前記ロボットシステムは、ロボットおよびロボットコントローラを有し、前記ロボットコントローラが前記ロボットに所定の作業を実行させるシステムであって、前記ロボットは、ロボットアームと、前記エンドエフェクタと、前記ロボットアームの先端と前記エンドエフェクタとの間に取り付けられた力覚センサであって、受けた力およびモーメントの検出値を出力する力覚センサとを有し、前記ロボットコントローラは、前記検出値を受け取るインタフェース装置と、前記ロボットに所定の作業を実行させる信号処理回路とを備え、前記ロボットシステムは、記憶装置に、前記エンドエフェクタが第1姿勢 にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときに出力された前記力覚センサの第1検出値、または前記第1検出値を加工した第1加工値を、前記ロボットアームの第1姿勢における第1基準値として記憶しており、前記エンドエフェクタが、前記第1姿勢と異なる第2姿勢 にある状態で、かつ、前記エンドエフェクタに教示者が触れていない状態のときの前記力覚センサの第2検出値、または前記第2検出値を加工した第2加工値を、前記ロボットアームの第2姿勢における第2基準値として記憶しており、前記力覚センサに教示者が触れることによって前記ロボットアームおよび/または前記エンドエフェクタが前記第1姿勢および前記第2姿勢以外の第3姿勢になったとき、前記コンピュータプログラムは前記信号処理回路に、前記第1基準値と前記第2基準値とを読み出させ、前記第1基準値と前記第2基準値とを利用して第3基準値を算出させ、前記第3姿勢における前記力覚センサの第3検出値と前記第3基準値とを利用して、前記第3姿勢における教示値を取得させる。
【発明の効果】
【0008】
本開示の実施形態によれば、事前にハンドやワークの設計情報を記憶・計算する必要がなく、簡単な計測を行うだけで、より正確な外力の検出が可能なロボットシステムが提供される。エンドエフェクタを交換した際にも、改めて簡単な計測を行うだけでよいため、作業が容易である。
【図面の簡単な説明】
【0009】
【図1】図1は、本開示のロボットシステム1を模式的に示す図である。
【図2】図2は、ロボットシステム1の各構成要素のハードウェア構成を模式的に示す図である。
【図3】図3は、力覚センサ110が検出可能な力およびモーメントを示す図である。
【図4A】図4Aは、ロボットアーム100の先端部102と力覚センサ110との拡大図である。
【図4B】図4Bは力覚センサ110から出力された検出値の向きおよび大きさを、原点Oから延びる矢印の向きおよび長さで示す図である。
【図5A】図5Aは、教示者が手で力覚センサ110を引く様子を示す図である。
【図5B】図5Bは、力の差分Dを模式的に示す図である。
【図6A】図6Aは、ロボットアーム100の先端部102と力覚センサ110とハンド型のエンドエフェクタ120の拡大図である。
【図6B】図6Bは、力覚センサ110から出力された検出値の向きおよび大きさを、原点Oから延びる矢印の向きおよび長さで示す図である。
【図7A】図7Aは、ロボットアーム100の姿勢を回転させたときの力覚センサ110およびエンドエフェクタ120を示す図である。
【図7B】図7BはX軸およびY軸にかかる力のモーメントを模式的に表す図である。
【図8A】図8Aは、姿勢(1)を取ったときの力覚センサ110およびエンドエフェクタ120と、姿勢(2)を取ったときの力覚センサ110およびエンドエフェクタ120とを示す図である。
【図8B】図8Bは、角度α1および角度α2の姿勢(1)および(2)において検出されたX軸周りのモーメントの検出値P11およびP12を示す図である。
【図8C】図8Cは、角度α1および角度α2の姿勢(1)および(2)において検出されたY軸周りのモーメントの検出値P21およびP22を示す図である。
【図9】図9は、信号処理回路210の処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付の図面を参照しながら、例示的なロボットシステム1の実施形態を説明する。本明細書では、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、本発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図しない。以下の説明においては、同一または類似する構成要素には、同一の参照符号を付している。
【0011】
<用語>
「垂直軸」および「水平面」の用語は、ロボットアームが取り付けられる基台(ベース)の上面(設置面)を基準として定められる方向を示している。具体的には、設置面に垂直な方向を「垂直軸」と呼び、この「垂直軸」に直交する平面を「水平面」と呼ぶ。これらの用語は、発明の構成要素の配置関係をわかりやすくする目的で使用されており、ロボットアームの使用時における方向を制限する意図はない。本開示の実施形態において、垂直軸は鉛直方向に一致しているが、「垂直軸」の用語の意義は、この例に限定されない。「垂直軸」は、鉛直方向から傾斜していても良い。
【0012】
「力覚センサ」は、本明細書では第2アームの先端部またはエンドエフェクタのハンド等に設けられて、受けた力および/またはトルク(モーメント)の検出値をセンシング結果として出力する。なお、以下では「モーメント」と言う用語を採用する。
【0013】
本明細書では、力覚センサは概ね直円柱形状であり、便宜的に、円柱の中心軸をZ軸とし、Z軸を法線に有する平面を張る2本の直交する軸をそれぞれX軸およびY軸と呼ぶ。
【0014】
「エンドエフェクタ」は、ロボットアームが作業を行えるように第2アームに取り付けて用いられる機器である。エンドエフェクタの典型例は、把持部、ナット回し、溶接ガン、およびスプレーガンを含む。エンドエフェクタは、ロボットアームの用途に応じて、ユーザが適宜取り替えて使用することができる。ロボットアームの先端部に力覚センサが取り付けられる場合には、エンドエフェクタは、力覚センサの第2アームと反対側の面に取り付けられ得る。
【0015】
「ロボットアームの先端部」とは、ロボットアームが有するエンドエフェクタの取付面である。取付面はメカニカルインタフェースとも呼ばれる。「先端部」は、ツールセンタポイントと呼んでも良い。
【0016】
図1は、本開示のロボットシステム1を模式的に示している。また図2は、ロボットシステム1の各構成要素のハードウェア構成を模式的に示している。本開示のロボットシステム1は、非限定的で例示的な実施形態において、ロボット2と、ロボットコントローラ3とを有している。
【0017】
ロボット2は、ロボットアーム100と、力覚センサ110と、エンドエフェクタ120とを有する。
【0018】
ロボットアーム100は、いわゆる垂直多関節ロボットとも呼ばれ、複数の関節および複数のアームを有している。各関節は、関節の運動を引き起こすモータおよび減速機などの電気機械要素、ならびに関節の回転角度(関節変数)を検出するセンサを含み得る。複数のアームは、上腕に相当するアーム、および、前腕および手首の両方を含むアーム等を含む。各アームは複数の関節を含み得る。ただし、アームは、力覚センサ110およびエンドエフェクタ120を含まない。
【0019】
力覚センサ110は、ロボットアーム100の先端部102とエンドエフェクタ120との間に設けられている。力覚センサ110は、受けた力およびモーメントの検出値を出力する。
【0020】
図3は、力覚センサ110が検出可能な力およびモーメントを示している。本明細書では、力覚センサは6軸力覚センサである。6軸力覚センサは、XYZ軸方向の力(Fx,Fy,Fz)と、それらの各軸周りのモーメント値(Frx,Fry,Frz)を計測し出力することができる。本明細書では、力覚センサ110の「検出値」は、各軸方向の力の大きさを示す値および各軸周りのモーメントの大きさを示す値の組であり得る。
【0021】
6軸力覚センサでは、多数の歪ゲージが内部のビーム構造に貼り付けられている。歪ゲージは歪量を計測し、力とモーメントとに変換する。歪量の検出方式として、水晶圧電方式、静電容量方式等が知られているが、本明細書で言及する6軸力覚センサはいずれの検出方式を採用していてもよい。6軸力覚センサの構成および検出方式は公知であるため、詳細な説明は省略する。
【0022】
本実施形態では、+Z軸側の面がロボットアーム100の先端部に取り付けられ、−Z軸側の面にエンドエフェクタ120が取り付けられる。
【0023】
再び図1および図2を参照する。
【0024】
ロボットコントローラ3は、信号処理回路210と、インタフェース装置212とを有する。なおロボットコントローラ3は記憶装置214を備えていてもよい。
【0025】
信号処理回路210はロボットに所定の作業を実行させるための制御を行う。例えば信号処理回路210は教示作業時のロボット2の動作を制御する。インタフェース装置212は、ロボット2と接続されており、力覚センサ110から出力された検出値を受け取る。記憶装置214は教示結果を記憶する。
【0026】
ロボットシステム1は、エンドエフェクタ120を利用して自動化された作業を行う。どのような作業を行うせるかを、操作者(教示者)が直接ロボットアーム100を動かして学習させることが可能である。このような学習方法を、直接教示方式という。
【0027】
教示者は、力覚センサ110を手で引き、押すことにより、ロボットアーム100のアームを移動させる。このとき力覚センサ110は、教示者から受けた力およびモーメントの検出値を出力する。ロボットコントローラ3は、力およびモーメントが検出された方向および角度にロボットアーム100を移動させる。
【0028】
図4Aは、ロボットアーム100の先端部102と力覚センサ110との拡大図である。エンドエフェクタ120は取り付けられておらず、力覚センサ110は鉛直下向きに静止しているとする。
【0029】
図4Bは力覚センサ110から出力された検出値の向きおよび大きさを、原点Oから延びる矢印の向きおよび長さで示している。力覚センサ110は重力以外の外力を受けていないため、本来であればFxおよびFyは検出されないはずであるが、力覚センサ110からは何らかの検出値が出力されていることを示している。なお、モーメントについての図示は省略した。
【0030】
このような状態で教示作業が開始される。信号処理回路210はこのときの検出値をゼロ点と見なす。
【0031】
図5Aは、教示者が手で力覚センサ110を引く様子を示している。手で力覚センサ110に力を加えると、加えられた力に応じて力覚センサ110から出力される検出値が変化する。信号処理回路210は、ゼロ点からの力の差分を算出し、差分に相当する方向および角度だけ、ロボットアーム100を動作させる。図5Bは、力の差分Dを模式的に示している。教示者が手を離すと、ロボットアーム100は再び図4Aの状態に戻るため、力覚センサ110からの出力もゼロ点に戻る。差分はゼロになるため、信号処理回路210はロボットアーム100の動作を停止させる。
【0032】
力覚センサ110にエンドエフェクタ120が取り付けられた際、従来は教示者が手を離してもロボットアームが動き続けるという問題があった。
【0033】
図6Aは、ロボットアーム100の先端部102と力覚センサ110とハンド型のエンドエフェクタ120の拡大図である。力覚センサ110は鉛直下向きに静止しているとする。図6Bは、力覚センサ110から出力された検出値の向きおよび大きさを、原点Oから延びる矢印の向きおよび長さで示している。エンドエフェクタ120が取り付けられたため、エンドエフェクタ120の重量に起因する力Fzが増加していることが理解される。
【0034】
図7Aは、ロボットアーム100の姿勢を回転させたときの力覚センサ110およびエンドエフェクタ120を示している。この状態では、力覚センサ110には力だけでなく、力のモーメントもかかる。図7BはX軸およびY軸にかかる力のモーメントを模式的に表している。エンドエフェクタ120の質量をM、重力加速度をg、エンドエフェクタ120の重心Gから力覚センサ110の検出点までの長さをL、傾き角をθと表すと、力のモーメントはL・Mgsinθである。力覚センサ110は、この力のモーメントをX軸周りおよびY軸周りのモーメントとして検出する。留意すべきは、図7Aに示す状態でロボットアーム100が静止していても、力のモーメントが発生し続けることである。つまり、教示者が力覚センサ110またはエンドエフェクタ120に触れていなくても、力覚センサ110は力のモーメントが反映された検出値を出力し続ける。
【0035】
すると信号処理回路210は、力覚センサ110から出力された検出値にはゼロ点からの差分が引き続き存在すると判断し、ロボットアーム100の動作を継続してしまう。これが、教示者が手を離してもロボットアームが動き続けるという問題を発生させていた。
【0036】
そこで本発明者は、力のモーメントの影響を排除するための処理を検討した。その結果、ロボットアーム100の姿勢を回転させた状態を含む、少なくとも2つの姿勢における力覚センサ110の検出値を利用して、力のモーメントの影響を相殺する技術を見出した。
【0037】
図8Aは、姿勢(1)を取ったときの力覚センサ110およびエンドエフェクタ120と、姿勢(2)を取ったときの力覚センサ110およびエンドエフェクタ120とを示している。図8Aには姿勢(1)および(2)の間の姿勢(3)も示されているが、姿勢(3)については後述する。
【0038】
本実施形態では、姿勢(1)は、X軸の周りにエンドエフェクタ120を角度α1だけ回転させ、Y軸の周りにエンドエフェクタ120を角度β1だけ回転させた姿勢である。また姿勢(2)は、X軸の周りにエンドエフェクタ120を角度α2(≠α1)だけ回転させ、Y軸の周りにエンドエフェクタ120を角度β2(≠β1)だけ回転させた姿勢である。いずれの姿勢(1)および(2)においても、教示者は力覚センサ110およびエンドエフェクタ120に手を触れていない。非限定的で例示的な実施形態において、α1=0、α2=−45度または+45度、β1=0、β2=−45度または+45度、である。姿勢(1)および姿勢(2)の少なくとも一方は、エンドエフェクタ120に非0のモーメントがかかる姿勢であればよい。
【0039】
図8Bは、角度α1および角度α2の姿勢(1)および(2)において検出されたX軸周りのモーメントの検出値P11およびP12を示している。検出値P11は姿勢(1)におけるX軸周りのモーメントのゼロ点を意味し、検出値P12は姿勢(2)におけるX軸周りのモーメントのゼロ点を意味する。
【0040】
図8Cは、角度α1および角度α2の姿勢(1)および(2)において検出されたY軸周りのモーメントの検出値P21およびP22を示している。検出値P21は姿勢(1)におけるY軸周りのモーメントのゼロ点を意味し、検出値P22は姿勢(2)におけるY軸周りのモーメントのゼロ点を意味する。
【0041】
上述した「ゼロ点」を与える各検出値は、それぞれの角度における基準値として利用される。
【0042】
検出値P11、P12、P21およびP22は、予め求めておくことが可能である。
【0043】
本発明者は、ロボットアーム100が姿勢(1)および(2)とは異なる姿勢(3)を取ったときに、検出値P11、P12、P21およびP22を用いて、姿勢(3)におけるX軸周りのモーメントのゼロ点およびY軸周りのモーメントのゼロ点に相当する各値を求めた。そして本発明者は、得られた各ゼロ点に相当する各値を、姿勢(3)で得られたX軸周りのモーメントの検出値およびY軸周りのモーメントの検出値から除外すれば、上述の問題が生じないことを確認した。
【0044】
まず姿勢(3)における、X軸周りの角度α3およびY軸周りの角度β3を取得する。角度α3およびβ3は、ロボットアーム100の先端部102の座標を利用して取得され得る。
【0045】
6軸ロボットアームの動作中、ロボットコントローラ3の信号処理回路210は、6軸分のモータ回転角度に加えて、手先部分の位置(XYZ座標)も常に計算し続けている。先端部102の座標は、XYZの各軸および各軸周りの角度を用いて表され得る。表現形式は、例えばX[mm],Y[mm],Z[mm],Rz[deg],Ry[deg],Rx[deg]である。前三者は直交座標系での表現、後三者はオイラー座標系での表現である。つまり、姿勢(1)ではX軸周りの角度Rx1およびY軸周りの角度Ry1が得られるし、姿勢(2)でもX軸周りの角度Rx2およびY軸周りの角度Ry2が得られる。よって、姿勢(3)でもX軸周りの角度Rx3(=α3)およびY軸周りの角度Ry3(=β3)が得られる。
【0046】
信号処理回路210は、角度α1、α2、α3、および検出値P11、P12を利用して、姿勢(3)におけるX軸周りのモーメントの値P13を算出する。また信号処理回路210は、角度β1、β2、β3、および検出値P21、P22を利用して、姿勢(3)におけるY軸周りのモーメントの値P23を算出する。
【0047】
本実施形態においては、信号処理回路210は、角度α3の姿勢(3)を取ったときのX軸周りのモーメント値P13を、角度α1、α2、α3とX軸周りのモーメント値P11、P12、P13との線形関係を利用して求める。また信号処理回路210は、角度β3の姿勢(3)を取ったときのY軸周りのモーメント値P23を、角度β1、β2、β3とY軸周りのモーメント値P21、P22、P23との線形関係を利用して求める。つまりいずれも線形補間を行う。
【0048】
図8Bの例では、検出値P11およびP12を結ぶ直線が角度α3を取ったときの値を、X軸周りのモーメント値P13として採用する。図8Cの例では、検出値P21およびP22を結ぶ直線が角度α3を取ったときの値を、Y軸周りのモーメント値P23として採用する。一般化すると以下の数式によって、姿勢(1)および(2)の間の姿勢を求めることができる。
(数1)
P1n=K1(α−α1)+P11 ただしK=(P11−P12)/(α1−α2)
(数2)
P2n=K2(α−α1)+P21 ただしK=(P21−P22)/(α1−α2)
【0049】
その後、姿勢(3)における力覚センサ110の検出値が得られる。このときのX軸周りのモーメント値をQ1とし、Y軸周りのモーメント値をQ2とする。信号処理回路210は、以下の式により、求めた値P13およびP23を基準値として利用して、X軸周りおよびY軸周りの力のモーメントに関する教示値T1およびT2を求める。
T1=Q1−P1n、 T2=Q2−P2n
【0050】
なお、上述の数位1および数2は、姿勢(3)が姿勢(1)および(2)の間の姿勢である場合に成り立つ。そのため、姿勢(1)および(2)の間には入らない姿勢を取り得る場合には、例えば角度α4の新たな姿勢(4)におけるX軸周りのモーメントの検出値P14およびY軸周りのモーメントの検出値P24を事前に取得しておけばよい。このとき、教示者は力覚センサ110およびエンドエフェクタ120に手を触れていない。図8Bおよび8Cには、検出値P14およびP24がそれぞれ示されている。姿勢(1)と姿勢(4)との間の姿勢(5)を取った場合には、上述の数1におけるP12をP14に置き換え、数3におけるP22をP24に置き換えた新たな数式を利用して、姿勢(5)のモーメント値を求めゼロ点として扱えばよい。X軸周りおよびY軸周りの力のモーメントに関する教示値T1およびT2の求め方は上述の通りである。
【0051】
図9は、信号処理回路210の処理の手順を示すフローチャートを示している。このフローチャートに記載された処理を実行する命令群が、コンピュータプログラムとして記述されており信号処理回路210に実行される。
【0052】
ステップS20において、信号処理回路210は、記憶装置214に格納された第1姿勢における第1基準値および第1姿勢と異なる第2姿勢における第2基準値を読み出す。
【0053】
ステップS22において、信号処理回路210は、第3姿勢になったとき、第1基準値と第2基準値とを利用して第3姿勢における第3基準値を算出する。
【0054】
ステップS24において、信号処理回路210は、第3姿勢における力覚センサの検出値と第3基準値とを利用して第3姿勢における教示値を取得する。
【0055】
ステップS22および24の詳細は上述の通りである。
【0056】
上述の処理により、信号処理回路210は、複数の基準値を利用して、力覚センサ110から出力されたモーメントに関する検出値から姿勢が変化した後の力覚センサ110にかかるモーメントの影響を相殺し、モーメントの影響が相殺された検出値を教示値として取得する。
【0057】
以上の処理によれば、教示者が手を離してもロボットアームが動き続けることはなくなる。事前に複数の姿勢におけるX軸周りおよびY軸周りの検出値を求め、基準値を用意しておく必要はあるが、これまで必要であった設計情報を記憶し、理論値を計算する必要はないため、簡便な操作で外力を正しく検出し、教示値として利用できる。
【0058】
なお上述の実施形態では、力覚センサ110からの検出値をそのまま用いる例を説明したが、検出値を加工した加工値を利用してもよい。加工とは、例えばノイズのフィルタリングであり得る。
【産業上の利用可能性】
【0059】
本開示のロボットシステムは、力覚センサを搭載するロボットアームを用いて直接教示を行うことが求められる各種分野で好適に利用され得る。
【符号の説明】
【0060】
1 ロボットシステム、 2 ロボット、 100 ロボットアーム、 110 力覚センサ、 200 ロボットコントローラ、 210 信号処理回路、 212 記憶装置
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図5A】
【図5B】
【図6A】
【図6B】
【図7A】
【図7B】
【図8A】
【図8B】
【図8C】
【図9】