(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-10
(45)【発行日】2024-01-18
(54)【発明の名称】力覚センサの使用方法、力覚センサ使用プログラムおよび力覚センサ
(51)【国際特許分類】
G01L 25/00 20060101AFI20240111BHJP
G01L 5/1627 20200101ALI20240111BHJP
G01L 5/165 20200101ALI20240111BHJP
B25J 13/08 20060101ALI20240111BHJP
【FI】
G01L25/00 B
G01L5/1627
G01L5/165
B25J13/08 Z
(21)【出願番号】P 2022170176
(22)【出願日】2022-10-24
(62)【分割の表示】P 2022046073の分割
【原出願日】2022-03-22
【審査請求日】2022-10-24
(73)【特許権者】
【識別番号】511071234
【氏名又は名称】株式会社トライフォース・マネジメント
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(72)【発明者】
【氏名】岡田 和廣
(72)【発明者】
【氏名】関根 美穂
【審査官】岡田 卓弥
(56)【参考文献】
【文献】特開2019-219263(JP,A)
【文献】特開平2-203228(JP,A)
【文献】特開2016-221653(JP,A)
【文献】特開2015-182165(JP,A)
【文献】特開2015-85496(JP,A)
【文献】米国特許出願公開第2020/0070369(US,A1)
【文献】欧州特許出願公開第3435183(EP,A1)
【文献】米国特許第5576727(US,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01L25/00
G01L 1/00- 1/26
G01L 5/00- 5/28
B25J13/08
(57)【特許請求の範囲】
【請求項1】
ロボットに設けられる力覚センサの使用方法であって、
前記ロボットは、
ロボットアームと、
前記ロボットアームの先端に設けられ、前記ロボットの対象物に対する作業を行うエンドエフェクタと、
前記エンドエフェクタと前記ロボットアームの間に設けられ、軸方向に作用した力または軸周りに作用したモーメントを検出する力覚センサと、
前記力覚センサのセンサ出力に基づいて前記ロボットアームを制御するコントローラと、を備え、
前記コントローラは、
前記対象物の作業位置における零点出力を零点出力データベースから取得し、前記取得した零点出力と前記対象物に加えようとする力またはモーメントとに基づいて前記力覚センサのセンサ出力の目標値を算出し、前記算出された目標値に基づいて前記ロボットアームを制御する、力覚センサの使用方法。
【請求項2】
前記零点出力データベースは、当該零点出力データベースが作成されたときの前記力覚センサの温度と対応付けられている、請求項1に記載の力覚センサの使用方法。
【請求項3】
前記コントローラは、前記目標値を算出する目標値算出部を有し、
前記目標値算出部は、
前記対象物の作業位置における零点出力の電圧と、前記対象物に作用させようとする力またはモーメントに対応する電圧との差を前記目標値として算出する、請求項1または2に記載の力覚センサの使用方法。
【請求項4】
前記コントローラは、前記ロボットアームを制御するロボット制御部を有し、
前記ロボット制御部は、前記力覚センサのセンサ出力が前記目標値に一致するように前記ロボットアームを制御する、請求項1~3のいずれかに記載の力覚センサの使用方法。
【請求項5】
請求項1~4のいずれかに記載の方法に使用され、前記ロボットに設けられた力覚センサ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、力覚センサの使用方法、力覚センサ使用プログラムおよび力覚センサに関し、より詳しくは、ロボットに取り付けられ、少なくとも軸方向に作用した力を検出する力覚センサを使用するための方法、当該方法をコンピュータに実行させるプログラム、および当該力覚センサに関する。
【背景技術】
【0002】
従来、所定の軸方向に作用した力(以下、単に「力」ともいう。)および所定の軸周りに作用したモーメント(トルク)を電気信号として出力する力覚センサが知られている(例えば、特許文献1参照)。力覚センサに力またはモーメントが加えられると、力覚センサの起歪体が弾性変形して歪みが生じ、変位する。その変位の大きさを、電気信号として検出することにより、加えられた力またはモーメントの大きさが計測される。
【0003】
このような力覚センサは、産業用ロボットを初めとして、協働ロボット、生活支援ロボット、医療用ロボットおよびサービスロボット等、各種ロボットの制御に幅広く利用されている。
【0004】
ところで、力覚センサは、製品として出荷される際に、感度、零点出力、他軸感度、感度温度特性および零点温度特性(零点出力の温度特性)の校正が必要とされる。力覚センサの零点出力は、力覚センサに何も負荷を与えない状態における出力をいい、零点温度特性は零点出力の温度変動をいう。
【0005】
感度、零点出力および他軸感度は、室温等、所定の温度において行えばよいため、比較的簡単に校正できる。また、感度温度特性は、静電容量型および歪ゲージ型のいずれの力覚センサについても感度が温度によって変動しないため、実際上、校正が不要である。
【0006】
これに対して、零点温度特性は零点出力の温度変動を無視できないことから、その校正は、力覚センサを恒温槽に入れ、所定の温度範囲(たとえば-10~60℃)における複数の温度について零点出力を測定し、各温度の零点出力が一定になるように補正係数を求めることによって行われる。さらに、校正後に再度、温度を変えながら零点出力を測定し、零点出力が温度に対して一定になっていることを確認する。このとき、もし零点温度特性が仕様の範囲に入っていなければ、補正係数を再度求めなければならない。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記のように、零点温度特性を校正するには、恒温槽などの設備が必要になる上、補正係数を求めるのに長い時間を要することから、力覚センサのコストが増加する要因の一つとなっている。
【0009】
そこで、本発明は、零点温度特性の校正を行わずとも、ロボットに取り付けられた力覚センサを適切に使用可能とする、力覚センサの使用方法、力覚センサ使用プログラムおよび力覚センサを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係る力覚センサの使用方法は、
ロボットに設けられる力覚センサの使用方法であって、
前記ロボットは、
ロボットアームを含むロボット本体と、
前記ロボットアームの先端に設けられ、前記ロボットの対象物に対する作業を行うエンドエフェクタと、
前記エンドエフェクタと前記ロボットアームの間に設けられ、少なくとも軸方向に作用した力を検出する力覚センサと、
前記力覚センサのセンサ出力に基づいて前記ロボットアームを制御するコントローラと、を備え、
前記コントローラは、前記対象物の作業位置にわずかな力が作用したときの前記力覚センサのセンサ出力を前記作業位置に対応付けた零点出力データベースから、これから作業しようとする作業位置における零点出力を取得し、前記取得した零点出力と前記対象物に加えようとする力とに基づいて前記力覚センサのセンサ出力の目標値を算出し、前記算出された目標値に基づいて前記ロボットアームを制御する。
【0011】
また、前記力覚センサの使用方法において、
前記零点出力データベースは、当該零点出力データベースが作成されたときの前記力覚センサの温度と対応付けられていてもよい。
【0012】
また、前記力覚センサの使用方法において、
前記力覚センサの前記温度は、前記力覚センサ、前記ロボット本体または前記コントローラに設けられた温度センサにより計測されてもよい。
【0013】
また、前記力覚センサの使用方法において、
前記コントローラは、前記力覚センサの現在温度と、前記零点出力データベースに対応付けられた温度との間の温度差が所定値以内の場合に、前記零点出力データベースから零点出力を取得するようにしてもよい。
【0014】
また、前記力覚センサの使用方法において、
前記コントローラは、前記温度差が前記所定値よりも大きい場合、新たな零点出力データベースを作成するようにしてもよい。
【0015】
また、前記力覚センサの使用方法において、
前記コントローラは、前記力覚センサの現在温度と、互いに異なる前記力覚センサの温度の下で作成された複数の前記零点出力データベースとに基づいて、前記これから作業しようとする作業位置における零点出力を推定し、前記推定された零点出力と、前記対象物に加えようとする力とに基づいて前記力覚センサのセンサ出力の目標値を算出するようにしてもよい。
【0016】
また、前記力覚センサの使用方法において、
前記コントローラは、前記ロボットの稼働時間が所定の時間を経過するごとに、あるいは所定の時刻に達するごとに、前記零点出力データベースを作成するようにしてもよい。
【0017】
また、前記力覚センサの使用方法において、
前記コントローラは、前記零点出力データベースを作成するデータベース作成部を有し、
前記データベース作成部は、前記力覚センサの定格荷重に応じた力が前記対象物の作業位置に作用するように前記ロボットアームを制御し、前記対象物に前記力が作用したときの前記力覚センサのセンサ出力を零点出力として前記作業位置に対応付けることを、前記対象物の所定範囲における複数の作業位置について行うようにしてもよい。
【0018】
また、前記力覚センサの使用方法において、
前記力覚センサの定格荷重に応じた力は、前記力覚センサの定格荷重の所定割合の大きさであるようにしてもよい。
【0019】
また、前記力覚センサの使用方法において、
前記所定割合は1/100以下であるようにしてもよい。
【0020】
また、前記力覚センサの使用方法において、
前記コントローラは、前記目標値を算出する目標値算出部を有し、
前記目標値算出部は、前記これから作業しようとする作業位置における零点出力の電圧と、前記対象物に作用させようとする力に対応する電圧との差を前記目標値として算出するようにしてもよい。
【0021】
また、前記力覚センサの使用方法において、
前記コントローラは、前記ロボットアームを制御するロボット制御部を有し、
前記ロボット制御部は、前記力覚センサのセンサ出力が前記目標値に一致するように前記ロボットアームを制御するようにしてもよい。
【0022】
本発明に係る力覚センサ使用プログラムは、
前記力覚センサの使用方法をコンピュータに実行させる。
【0023】
本発明に係る力覚センサは、
ロボットに取り付けられ、少なくとも軸方向に作用した力を検出する力覚センサであって、
前記ロボットを制御するコントローラが零点出力データベースを作成するために、前記力覚センサの温度を検出する温度センサを備え、前記零点出力データベースは、わずかな力が対象物の作業位置に作用したときの前記力覚センサのセンサ出力を前記作業位置に対応付けたものである、力覚センサ。
【0024】
また、前記力覚センサにおいて、
前記わずかな力は、前記力覚センサの定格荷重の1/100以下であるようにしてもよい。
【発明の効果】
【0025】
本発明によれば、零点温度特性の校正を行わずとも、ロボットに取り付けられた力覚センサを適切に使用可能とする、力覚センサの使用方法、力覚センサ使用プログラムおよび力覚センサを提供することができる。
【図面の簡単な説明】
【0026】
【
図1】実施形態における力覚センサの使用方法が適用されるロボットの一例を示す斜視図である。
【
図2】
図1のロボットがワーク(作業対象物)の表面をグラインダーで研磨する様子を示す側面図である。
【
図3】実施形態に係る力覚センサの機能ブロック図である。
【
図4】実施形態に係るロボットのコントローラの機能ブロック図である。
【
図5】実施形態に係る零点出力データベースの一例を示す図である。
【
図6】実施形態に係る零点出力データベースの作成方法を説明するためのフローチャートである。
【
図7】ワーク表面と作業位置との関係の一例を示す図である。
【
図8】
図6に示す方法で作成された零点出力データベースの一例を示す図である。
【
図9】実施形態に係る力覚センサの使用方法を説明するためのフローチャートである。
【
図10】互いに異なる力覚センサの温度の下で作成された複数の零点出力データベースの一例を示す図である。
【
図11】別の実施形態に係る力覚センサの使用方法を説明するためのフローチャートである。
【発明を実施するための形態】
【0027】
以下、本発明に係る実施形態について図面を参照しながら説明する。
【0028】
<力覚センサが設けられたロボット>
まず、
図1~
図5を参照して、実施形態に係る力覚センサの使用方法が適用されるロボットについて説明する。以下では、産業用ロボットを例にとって説明する。ただし、これに限らず、本実施形態に係る力覚センサの使用方法は、産業用ロボット、協働ロボット、生活支援ロボット、医療用ロボットおよびサービスロボット等の各種ロボットに適用可能である。
【0029】
ロボット1は、
図1に示すように、ロボット本体2と、ロボットアーム3と、エンドエフェクタ4と、力覚センサ5と、コントローラ10とを備えている。
【0030】
ロボット本体2は、ロボットアーム3を含んでいる。ロボットアーム3は、多関節アーム構造を有している。
【0031】
エンドエフェクタ4は、ロボットアーム3の先端に設けられ、ロボット1のワーク(対象物)Wに対する作業を行うためのものである。本実施形態では、
図2に示すように、エンドエフェクタ4はグラインダーであり、ロボット1はグラインダーによりワークWの表面を研磨するものとして構成されている。
図2では、XYZ直交座標系において、平板状のワークWがXY平面内に置かれている。なお、エンドエフェクタ4は、グラインダーに限定されず、グリッパー、ツールチェンジャー等であってもよい。
【0032】
力覚センサ5は、ロボットアーム3の先端に取り付けられている。より詳しくは、
図2に示すように、力覚センサ5は、ロボットアーム3とエンドエフェクタ4との間に設けられている。力覚センサ5は、図示しない電気ケーブルを介して、コントローラ10に電気的に接続されている。なお、力覚センサ5とコントローラ10が無線により通信可能に接続されてもよい。
【0033】
力覚センサ5は、製品として出荷される際に零点出力の校正がなされている。すなわち、ロボット1に取り付けられる前に、力覚センサ5は、室温等の所定温度における零点出力が比較的広い範囲に収まるように校正されている。たとえば、力覚センサ5の定格荷重が100Nであって定格荷重における感度が2.5Vである場合、力覚センサ5はセンサ出力が2.5V±0.3Vの範囲内に収まるように校正されている。
【0034】
コントローラ10は、力覚センサ5から出力され、検出値を示す電気信号(センサ出力)に基づいてロボットアーム3を制御する。センサ出力は、一般的には、検出対象の力の成分値からなるベクトル量である。力覚センサ5が力に加えてモーメントを検出する場合は、センサ出力にモーメントの成分値が含まれる。なお、コントローラ10は、エンドエフェクタ4を制御するように構成されてもよい。
【0035】
本実施形態では、コントローラ10は、
図1に示すように、ロボット本体2とは別体に構成されている。なお、コントローラ10の配置は、コントローラ10は、ロボット本体2に内蔵されていてもよい。
【0036】
ここで、力覚センサ5についてさらに詳しく説明する。
【0037】
力覚センサ5の中心点Oを原点とするXYZ三次元座標系を定義したときに、力覚センサ5は、少なくとも軸方向に作用した力、すなわち、X軸方向の力Fx、Y軸方向の力FyおよびZ軸方向の力Fzのうち少なくとも一つを検出可能に構成されている。
【0038】
なお、力覚センサ5は、軸方向に作用した力に加え、軸周りに作用したモーメント(X軸周りのモーメントMx、Y軸周りのモーメントMyおよびZ軸周りのモーメントMzのうち少なくとも一つ)を検出可能に構成されてもよい。
【0039】
力覚センサ5の構造的な構成は特に限定されない。たとえば、力覚センサ5は、図示しないが、力またはモーメントを受ける受力体と、受力体等を支持する支持体と、受力体および支持体に接続された起歪体と、検出回路(後述の処理部51に対応する。)と、検出素子(後述の検出素子52に対応する。)とを備える。
【0040】
エンドエフェクタ4は力覚センサ5の受力体にボルト等で着脱可能に取り付けられ、支持体はロボットアーム3にボルト等で着脱可能に取り付けられる。起歪体は、受力体に作用した力またはモーメントによって弾性変形可能に構成される。起歪体は、環状部材、複数の弧状部材、または複数の梁部材などで構成される。
【0041】
機能面から見ると、力覚センサ5は、
図3に示すように、処理部51と、検出素子52と、温度センサ53と、通信部54とを備えている。
【0042】
処理部51は、検出素子52や温度センサ53により検出された検出値を電気的に処理した後、通信部54を介してコントローラ10に出力する。処理部51は、たとえば、検出値を電圧変換するC/V変換器(図示せず)と、アナログの電圧値をデジタル値に変換するA/Dコンバータ(図示せず)とを有する。
【0043】
検出素子52は、起歪体の弾性変形により生じた起歪体の変位を検出する。この検出素子52は、静電容量型であってもよいし、歪みゲージ型であってもよい。静電容量型の場合、検出素子52は、起歪体に固定された第1の電極(変位電極)と、第1の電極に対向するように受力体または支持体に設けられた第2の電極(固定電極)とを有する。歪みゲージ型の場合、検出素子52は、起歪体に設けられた複数の歪みゲージを有する。いずれのタイプであれ、力覚センサ5の受力体が力またはモーメントを受けると、起歪体が弾性変形して歪みを生じ、変位する。この起歪体の変位が検出素子52により検出されて検出値が出力される。
【0044】
温度センサ53は、力覚センサ5の温度を検出するためのセンサであり、たとえばサーミスタを含む。力覚センサ5に温度センサが設けられることで、力覚センサの温度を正確に測定することができる。なお、これに限らず、ロボット本体2(たとえばロボットアーム3の先端部分)、またはコントローラ10等に温度センサを設け、当該温度センサの検出値に基づいて力覚センサ5の温度を推定してもよい。この場合、力覚センサ5に温度センサ53が設けられなくてもよい。
【0045】
通信部54は、検出素子52や温度センサ53で検出された値に基づく情報を力覚センサ5がコントローラ10に送信するためのインターフェースであり、たとえばRS422規格に基づくものである。なお、通信部54の通信規格は、これに限られず、他の規格であってもよい。また、通信部54は、ローカル5G、2.4GHzワイヤレス接続、Bluetooth(登録商標)等により、力覚センサ5とコントローラ10を無線接続するものであってもよい。
【0046】
次に、コントローラ10について、さらに詳しく説明する。
【0047】
力覚センサ5から出力された電気信号(センサ出力)は、上述した電気ケーブルを介してコントローラ10に送信される。コントローラ10は、力覚センサ5から受信した電気信号に基づいてロボット1の制御を行い、ロボットアーム3およびエンドエフェクタ4の動作を制御する。ロボット1の制御では、力覚センサ5の検出素子52から出力される検出値に基づいて算出される成分値が参照される。成分値は、力覚センサ5に作用した力を示す値であり、軸成分毎に算出される。なお、力覚センサ5が力だけでなくモーメントを検出する場合は、モーメントを示す成分値も算出される。
【0048】
コントローラ10は、
図4に示すように、処理部11と、記憶部12と、通信部13とを備えている。本実施形態では、処理部11は、マイコン等のプロセッサから構成され、記憶部12に記憶されたプログラムを実行することで所定の機能を実現する。
【0049】
処理部11は、各種情報を入力する情報入力部111と、力覚センサ5のセンサ出力に基づく制御を行うロボット制御部112と、零点出力データベース121を作成するデータベース作成部113と、ロボットアーム3を制御するための目標値を算出する目標値算出部114とを有する。
【0050】
処理部11の各部はコントローラ10内のプロセッサが所定のプログラムを実行することにより、ソフトウェアによる処理がハードウェア資源を用いて具体的に実現されるものであってもよいし、あるいは、コントローラ10に実装されているハードウェア自身により実現されるものであってもよい。
【0051】
記憶部12は、零点出力などが格納された零点出力データベース121を記憶している。ここでいう「零点出力」は、エンドエフェクタ4とともにロボットアーム3に取り付けられた力覚センサ5に対して、エンドエフェクタ4による負荷やロボットアーム3の姿勢による負荷以外の負荷(外的負荷)が加えられていないとみなせる状態における力覚センサ5のセンサ出力のことであり、力覚センサが製品として出荷されるときの零点出力(すなわち、背景技術で説明した零点出力)とは異なる。以下の「零点出力」も同様の意味である。
【0052】
なお、記憶部12には、処理部11で実行されるプログラムやデータが記憶されてもよい。記憶部12は、ハードディスク(HDD)、不揮発性の半導体メモリなどにより構成されている。
【0053】
通信部13は、力覚センサ5が送信した情報を受信するためのインターフェースであり、たとえばRS422規格に基づくものである。なお、通信部13の通信規格は、これに限られず、他の規格であってもよい。また、通信部13は、ローカル5G、2.4GHzワイヤレス接続、Bluetooth(登録商標)等により、力覚センサ5とコントローラ10を無線接続するものであってもよい。
【0054】
ここで、零点出力データベース121について説明する。
【0055】
零点出力データベース121は、力覚センサ5の使用時において、ロボットアーム3を制御するための目標値を算出するために参照するデータベースである。この零点出力データベース121は、対象物(ワークW)の作業位置にわずかな力またはモーメントが作用したときの力覚センサ5のセンサ出力(すなわち、零点出力)を当該作業位置に対応付けたデータベースである。
【0056】
ここで、「わずかな力またはモーメント」とは、エンドエフェクタ4とともにロボットアーム3に取り付けられた力覚センサ5に対する外的負荷を無視できる程度の小さい力またはモーメントである。具体的には、「わずかな力またはモーメント」は、力覚センサ5の定格荷重に比べて十分に小さい力またはモーメントであり、たとえば、力覚センサ5の定格荷重の1/100以下の大きさであり、好ましくは、1/1000以上1/100以下の大きさである。
【0057】
図5は、零点出力データベース121の一例を示している。この例では、ワークWにおける作業位置を示すXYZ座標(作業位置の座標)と、当該作業位置における零点出力(センサ出力)と、零点出力を検出したときの力覚センサ5の温度とが対応付けられている。
図5に示すように、零点出力は、一般的には、Fx、Fy、Fz、Mx、MyおよびMzの各成分値からなるベクトル量である。零点出力データベース121には、力覚センサ5が出力した各成分の電圧値が記憶されている。
【0058】
本実施形態では
図2に示すようにワークWがXY平面内にあるため、零点出力データベース121において、作業位置のZ座標は省略可能である。また、本実施形態ではZ軸方向の力Fzのみに基づいてロボット1を制御するため、零点出力はFzのみでもよい。
【0059】
図5の例では、零点出力データベース121は、当該零点出力データベース121が作成されたときの力覚センサ5の温度と対応付けられている。なお、作業位置ごとの温度が格納されているが、これに限られず、所定の作業位置の温度(たとえばT
1)のみが零点出力データベース121に格納されてもよい。力覚センサ5の温度が零点出力データベース121に対応付けられていることは必須ではない。
【0060】
なお、零点出力データベース121は、コントローラ10の記憶部12に記憶される場合に限られず、コントローラ10と通信可能に接続された外部の情報処理装置の記憶部に記憶されてもよい。外部の情報処理装置は、たとえば、ロボットが稼働する工場内のサーバ、インターネットを介して接続されたクラウドサーバ等である。
【0061】
次に、処理部11の各機能部の詳細について説明する。
【0062】
情報入力部111は、力覚センサ5から受信した電気信号もしくは電気信号が示す検出値などの各種情報を入力する。
【0063】
ロボット制御部112は、情報入力部111が入力したセンサ出力(成分値)に基づいてロボットアーム3を制御する。より詳しくは、ロボット制御部112は、力覚センサ5のセンサ出力が、目標値算出部114により算出された目標値に一致するようにロボットアーム3を制御する。なお、ロボット制御部112がエンドエフェクタ4を制御してもよい。
【0064】
データベース作成部113は、力覚センサ5の定格荷重に応じた力またはモーメントがワークWの作業位置に作用するようにロボットアーム3を制御し、ワークWに力またはモーメントが作用したときの力覚センサ5のセンサ出力を零点出力として作業位置(座標)に対応付けることを、ワークWの所定範囲(加工範囲、作業範囲)における複数の作業位置について行うことにより、零点出力データベース121を作成する。作成方法の具体例については、のちほど
図6および
図7を参照して説明する。
【0065】
目標値算出部114は、零点出力データベース121から、これから作業しようとする作業位置における零点出力を取得する。そして、目標値算出部114は、取得した零点出力と、ワークWに加えようとする力またはモーメントとに基づいて、力覚センサ5のセンサ出力の目標値を算出する。たとえば、目標値算出部114は、これから作業しようとする作業位置における零点出力の電圧と、ワークWに作用させようとする力またはモーメントに対応する電圧との差を目標値として算出する。ロボット制御部112は、力覚センサ5のセンサ出力が、このように算出された目標値に一致するようにロボットアーム3を制御する。
【0066】
上記のように、コントローラ10は、零点出力データベース121から、これから作業しようとする作業位置における零点出力を取得し、取得した零点出力とワークWに加えようとする力またはモーメントとに基づいて力覚センサ5のセンサ出力の目標値を算出し、算出された目標値に基づいてロボットアーム3を制御するように構成されている。
【0067】
<零点出力データベースの作成方法>
次に、
図6~
図8を参照して、零点出力データベース121の作成方法の一例について説明する。
【0068】
ステップS1:コントローラ10の処理部11が、作業位置(測定位置)を初期化する。具体的には、作業位置を示すインデックスiを1とする。本例では、ワークW上の作業位置は
図7に示すようにP1~P9からなり、作業位置PiはP1に初期化される。各作業位置P1~P9は作業範囲(加工範囲)Aに含まれている。
【0069】
ステップS2:コントローラ10の処理部11が、作業位置が最後の位置に到達済みであるかどうかを判定する。本例では、作業位置がP9に到達済みであるかどうかが判定される。具体的には、インデックスiが作業位置の数N以下であるかどうかを判定する。判定の結果、作業位置が最後の位置に到達済み場合(S2:No)、零点出力データベース121がすでに完成しているので作成フローを終了する。他方、作業位置が最後の位置に到達していない場合(S2:Yes)、ステップS3に進む。
【0070】
ステップS3:コントローラ10の処理部11(情報入力部111)が、力覚センサ5の温度を取得する。力覚センサ5の温度は、力覚センサ5の温度センサ53で測定される。なお、ロボット本体2またはコントローラ10等に設けられた温度センサで取得された温度から力覚センサ5の温度を推定してもよい。
【0071】
ステップS4:コントローラ10の処理部11が、ステップS3で取得された温度と前回取得された温度との差が所定値(例えば5℃)以内であるかどうかを判定する。判定の結果、温度差が所定値以内にない場合(S4:No)、ステップS1に戻り、最初の作業位置P1から零点出力データベース121の作成をやり直す。他方、温度差が所定値以内の場合(S4:Yes)、ステップS5に進む。なお、本ステップを初めて行う場合(すなわち、i=1の場合)、判定は行わずにステップS5に進む。
【0072】
ステップS5:コントローラ10の処理部11(ロボット制御部112)が、ワークWにおけるi番目の作業位置(すなわち、Pi)に力覚センサ5の定格荷重に応じた力またはモーメントが作用するようにロボットアーム3を制御する。ここで、力覚センサ5の定格荷重に応じた力またはモーメントは、定格荷重に比べて十分に小さく、力覚センサ5の定格荷重の所定割合の大きさである。この割合は、たとえば、1/100以下であり、好ましくは、1/1000以上1/100以下である。このように、力覚センサ5の定格荷重に比べて十分に小さい力またはモーメントをワークWの作業位置Piに作用させることで、エンドエフェクタ4による負荷やロボットアーム3の姿勢による負荷以外の負荷(外的負荷)が加えられていないとみなせる状態における力覚センサ5のセンサ出力(すなわち、本実施形態でいう零点出力)を取得することができる。
【0073】
ステップS6:コントローラ10の処理部11(情報入力部111)が、ステップS5でロボットアーム3が制御された状態における、力覚センサ5のセンサ出力を取得する。
【0074】
ステップS7:コントローラ10の処理部11が、ステップS6で取得されたセンサ出力を作業位置Piに対応に対応付けて記憶部12に記憶させる。
【0075】
ステップS8:作業位置を示すインデックスiを1つ増やす。
【0076】
ステップS8の後、ステップS1に進み、次の作業位置についてステップS2~S7の処理を行う。すべての作業位置について上記処理を行うことで、ワークWの作業範囲Aに係る零点出力データベース121が作成される。
【0077】
図8は、上記方法によって作成された零点出力データベース121の一例を示している。ワークWの表面を平面としたため、作業位置の座標はX座標とY座標のみである。零点出力(センサ出力)は、Z軸方向の力Fzのみであり、力覚センサ5が出力した電圧値である。
【0078】
なお、
図8に示すように、各作業位置で測定された力覚センサ5の温度を作業位置に関連付けて記憶してもよい。
【0079】
なお、上記の方法では、作業位置の数は9つ(P1~P9)であったが、これに限られるものではない。また、ワークWの所定範囲を連続的にスイープして、力覚センサ5から作業範囲A内の各点における零点出力を取得してもよい。この場合、エンドエフェクタ4がワークWの表面をなぞるようにロボットアーム3が制御される。
【0080】
また、クリーンルームなど温度が制御された環境にロボット1が設置されている場合は、ステップS3およびS4を省略してもよい。
【0081】
<力覚センサの使用方法>
次に、
図9に示すように、零点出力データベース121に基づいて力覚センサ5を使用する方法について説明する。
【0082】
ステップS11:コントローラ10の処理部11(情報入力部111)が、力覚センサ5の温度(現在温度)を取得する。力覚センサ5の温度の取得方法は前述のステップS3と同様であるので詳しい説明は省略する。
【0083】
ステップS12:コントローラ10の処理部11が、ステップS11で取得された現在温度と、零点出力データベース121の温度との差が所定値(例えば5℃)以内であるかどうかを判定する。零点出力データベース121の温度とは、零点出力データベース121が作成されたときの力覚センサ5の温度のことである。
図8の例で言えば、たとえば温度T
1であるが、温度T
1~T
9の平均値などの統計量であってもよい。
【0084】
判定の結果、温度差が所定値以内にない場合(S12:No)、ステップS1に戻り、零点出力データベース121の作成をやり直す。他方、温度差が所定値以内の場合(S12:Yes)、ステップS13に進む。
【0085】
ステップS13:コントローラ10の処理部11が、零点出力データベース121から、これから作業しようとする作業位置における零点出力を取得する。たとえば、これから作業しようとする作業位置が
図7の作業位置P5の場合、処理部11は零点出力データベース121から作業位置P5に対応付けられた零点出力(Fz
11)を読み出す。
【0086】
ステップS14:コントローラ10の処理部11(目標値算出部114)が、ステップS13で取得した零点出力と、ワークWに加えようとする力またはモーメントとに基づいて、力覚センサ5のセンサ出力の目標値を算出する。たとえば、これから作業しようとする作業位置P5に所望のZ軸方向の力Fzを加えるために、目標値算出部114は、ステップS13で読み出した零点出力Fz11を示す第1の電圧と、所望の力Fzに対応する第2の電圧との差を目標値として算出する。第2の電圧は力覚センサ5の感度から算出される。
【0087】
たとえば、力覚センサ5の定格荷重が±100Nであって定格荷重における感度が±2.5Vであり、ステップS13で読み出された零点出力が2.6Vの場合を考える。-10Nの力をワークWに作用させたいときは、ステップS14で算出される目標値は、2.35V(=2.6-10/100×2.5)となる。
【0088】
ステップS15:コントローラ10の処理部11(ロボット制御部112)が、ステップS14で算出された目標値に基づいてロボットアーム3を制御する。具体的には、ロボット制御部112は、力覚センサ5のセンサ出力がステップS14で算出された目標値に一致するようにロボットアーム3を制御する。
【0089】
上記のようにしてロボットアーム3を制御することで、所望の力またはモーメントをワークWの作業位置に作用させることができる。
【0090】
ワークWの所定範囲Aについて作業する場合は、作業位置を変えながらステップS11~S15を実行する。ロボット1が温度制御された環境に設置されている場合、二巡目以降についてはステップS11およびS12を省略してもよい。
【0091】
なお、上記の説明では、簡単のために、Z軸方向の力Fzのみをワークに作用させる場合について説明したが、他の軸方向の力またはモーメントを作用させる場合についても、上記と同様の方法で力覚センサ5を使用してロボット1を適切に制御することが可能である。すなわち、6軸成分のうち任意の複数の成分をワークに作用させることも可能である。この場合、ワークに作用させようとする複数の成分の零点出力を零点出力データベース121からそれぞれ読み出し、成分ごとに目標値を算出し、各成分のセンサ出力が当該成分の目標値にそれぞれ一致するようにロボットアーム3を制御すればよい。
【0092】
これにより、ロボット1はワークの研磨作業に限られず、ねじ締め、溶接、裁断等の作業にも対応可能である。たとえば、エンドエフェクタにワークを吸着させて移動させる作業や、エンドエフェクタ(グリッパー)でピンを掴み、ワークに設けられた孔に当該ピンを挿入する作業などを行うことができる。
【0093】
以上説明したように、本実施形態に係る力覚センサ5の使用方法によれば、エンドエフェクタ4とともにロボットアーム3に取り付けられた力覚センサ5のセンサ出力の計測結果に基づいて作成された零点出力データベース121を参照して、力覚センサ5のセンサ出力の目標値を算出する。これにより、力覚センサ5の零点温度特性が校正されていなくても、力覚センサ5を適切に使用することができ、ロボット1をその用途に応じて適切に制御することができる。
【0094】
さらに、本実施形態に係る力覚センサ5の使用方法によれば、力覚センサ5の温度変動により零点出力が変化した場合であっても、零点出力データベース121を作成し直すことで、力覚センサ5の適正な使用を維持することができる。
【0095】
また、本実施形態によれば、恒温槽などの設備や長時間にわたる測定が必要な零点温度特性の校正を行う必要がないため、力覚センサ5のコストを低減することができる。
【0096】
<力覚センサの使用方法に係る別の実施形態>
上記の使用方法では、ステップS12の判定の結果、温度差が所定値以内にない場合、零点出力データベースを作成し直したが、ワークWに対する作業が一旦停止するため作業効率が低下してしまう。そこで、事前に温度の異なる複数の零点出力データベースを用意しておく。たとえば、
図10に示すように、力覚センサ5の温度T
a、T
bおよびT
cにおいて作成された零点出力データベース121a、121bおよび121cを記憶部12に記憶しておく。温度T
aと温度T
bの差、および温度T
bと温度T
cの差は、たとえば10℃である。そして、力覚センサ5の現在温度と、零点出力データベース121a、121bおよび121cとに基づいて零点出力を推定する。かかる実施形態について、
図11を参照して詳しく説明する。
【0097】
ステップS21:コントローラ10の処理部11(情報入力部111)が、力覚センサ5の温度(現在温度)を取得する。
【0098】
ステップS22:コントローラ10の処理部11が、ステップS21で取得された力覚センサ5の現在温度と、複数の零点出力データベース121a、121bおよび121cとに基づいて、これから作業しようとする作業位置における零点出力を推定する。零点出力の推定は、補間、外挿、内挿などの処理によって行う。これから作業しようとする作業位置が
図7の作業位置P5であって、ステップS21で取得された温度が温度T
aと温度T
bの間にある場合、処理部11は零点出力データベース121aおよび121bから作業位置P5に対応付けられた零点出力Fz
11aおよびFz
11bをそれぞれ読み出す。そして、ステップS21で取得された温度と、読み出された2つの零点出力とを用いて内挿処理により、当該温度における零点出力を推定する。
【0099】
ステップS23:コントローラ10の処理部11(目標値算出部114)が、ステップS22で推定された零点出力と、ワークWに加えようとする力またはモーメントとに基づいて、力覚センサのセンサ出力の目標値を算出する。具体的な目標値の算出方法は、前述のステップS14で説明した方法と同様である。
【0100】
ステップS24:コントローラ10の処理部11(ロボット制御部112)が、ステップS23で算出された目標値に基づいてロボットアーム3を制御する。具体的なロボットアーム3の制御方法は、前述のステップS15で説明した方法と同様である。
【0101】
ワークWの所定範囲Aについて作業する場合は、作業位置を変えながらステップS21~S24を実行する。ロボット1が温度制御された環境に設置されている場合、二巡目以降についてはステップS21を省略してもよい。
【0102】
上記のように、推定された零点出力に基づいてロボットアーム3を制御することで、零点出力データベースを作成し直すために作業が中断する事態を回避することができる。
【0103】
なお、上記の実施形態では、温度センサを用いて力覚センサ5の温度を測定もしくは推定し、所定の温度変化があった場合に零点出力データベース121を作成し直した。これに限られず、コントローラ10(データベース作成部113)は、温度変化以外のトリガーに基づいて零点出力データベース121を新たに作成してもよい。たとえば、ロボット1の稼働時間が所定の時間(たとえば1時間)を経過するごとに、あるいは所定の時刻(たとえば9時、11時、13時、15時、17時)に達するごとに、零点出力データベース121を新たに作成してもよい。これにより、温度センサを用いることなく、零点出力データベース121を更新することができる。
【0104】
具体的には、ロボット1の稼働時間が所定の時間を経過するごとに零点出力データベース121を新たに作成する場合、
図6のフローチャートにおけるステップS3では、コントローラ10の処理部11がロボット1の稼働時間を取得する。たとえば、処理部11は、ロボット1が稼働し始める際に記憶部12にそのときの時刻を記憶しておき、当該時刻と現在時刻との差から稼働時間を算出する。その後、ステップS4では、処理部11が、ステップS3で取得した稼働時間に基づき、所定の時間が経過したか否かを判定する。
図9のフローチャートの場合においても同様である。すなわち、ステップS11において処理部11がロボット1の稼働時間を取得し、ステップS12において処理部11が、稼働時間に基づき所定の時間が経過したか否かを判定すればよい。
【0105】
また、所定の時刻に達した際に零点出力データベース121を新たに作成する場合、
図6のフローチャートにおけるステップS3では、コントローラ10の処理部11が、コントローラ10の内部または外部の時計から現在時刻を取得する。その後、ステップS4では、処理部11が、ステップS3で取得した現在時刻に基づき、所定の時刻に達したか否かを判定する。
図9のフローチャートの場合においても同様である。すなわち、ステップS11において処理部11が現在時刻を取得し、ステップS12において処理部11が現在時刻に基づき所定の時刻に達したか否かを判定すればよい。
【0106】
上記の記載に基づいて、当業者であれば、本発明の追加の効果や種々の変形を想到できるかもしれないが、本発明の態様は、上述した実施形態に限定されるものではない。特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【0107】
1 ロボット
2 ロボット本体
3 ロボットアーム
4 エンドエフェクタ
5 力覚センサ
51 処理部
52 検出素子
53 温度センサ
54 通信部
10 コントローラ
11 処理部
111 情報入力部
112 ロボット制御部
113 データベース作成部
114 目標値算出部
12 記憶部
121 零点出力データベース
13 通信部
A 作業範囲
P1~P9 作業位置
W ワーク(対象物)