IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アズビル株式会社の特許一覧

特開2024-57629ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法
<>
  • 特開-ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法 図1
  • 特開-ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法 図2
  • 特開-ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法 図3
  • 特開-ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法 図4
  • 特開-ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法 図5
  • 特開-ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024057629
(43)【公開日】2024-04-25
(54)【発明の名称】ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法
(51)【国際特許分類】
   B25J 15/08 20060101AFI20240418BHJP
【FI】
B25J15/08 W
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022164385
(22)【出願日】2022-10-13
(71)【出願人】
【識別番号】000006666
【氏名又は名称】アズビル株式会社
(74)【代理人】
【識別番号】110003166
【氏名又は名称】弁理士法人山王内外特許事務所
(72)【発明者】
【氏名】久保 友明
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707ET03
3C707HS27
3C707KS09
3C707KS34
3C707KS35
3C707KS36
3C707KT03
3C707LV10
(57)【要約】
【課題】ロボットハンドにワークを把持させる際のモータの駆動力を取得する。
【解決手段】ロボット制御情報生成装置は、モータの駆動力によって開閉するロボットハンドに把持させるワークの大きさに関する情報を取得するワーク情報取得部と、ロボットハンドにワークを把持させた際のロボットハンドの把持力を示す情報を取得する把持力取得部と、ワーク情報取得部が取得した情報及び把持力取得部が取得した情報に基づいて、モータに発生させる駆動力を示す情報を取得する駆動力取得部と、を備えた。
【選択図】図1
【特許請求の範囲】
【請求項1】
モータの駆動力によって開閉するロボットハンドに把持させるワークの大きさに関する情報を取得するワーク情報取得部と、
前記ロボットハンドに前記ワークを把持させた際の前記ロボットハンドの把持力を示す情報を取得する把持力取得部と、
前記ワーク情報取得部が取得した情報及び前記把持力取得部が取得した情報に基づいて、前記モータに発生させる駆動力を示す情報を取得する駆動力取得部と、を備えた
ことを特徴とするロボット制御情報生成装置。
【請求項2】
前記ロボットハンドに前記ワークを把持させる際の把持時間に関する情報を取得する把持時間取得部と、
前記駆動力取得部が取得した情報及び前記把持時間取得部が取得した情報に基づいて、前記モータに起因する発熱量に関する情報を取得する発熱量取得部と、を備えた
ことを特徴とする請求項1記載のロボット制御情報生成装置。
【請求項3】
前記駆動力取得部が取得した駆動力を示す情報を表示する表示部を備えた
ことを特徴とする請求項1記載のロボット制御情報生成装置。
【請求項4】
前記発熱量取得部が取得した発熱量に関する情報を表示する表示部を備えた
ことを特徴とする請求項2記載のロボット制御情報生成装置。
【請求項5】
前記駆動力取得部が取得した駆動力が予め設定されている閾値を超えた場合に報知を行う報知部を備えた
ことを特徴とする請求項1記載のロボット制御情報生成装置。
【請求項6】
前記発熱量取得部が取得した駆動力が予め設定されている閾値を超えた場合に報知を行う報知部を備えた
ことを特徴とする請求項2記載のロボット制御情報生成装置。
【請求項7】
前記駆動力取得部が取得した駆動力が予め設定されている閾値を超えなかった場合に、前記ロボットハンドによる前記ワークの把持を許容し、前記駆動力取得部が取得した駆動力が予め設定されている閾値を超えた場合に、前記ロボットハンドによる前記ワークの把持を制限する制限部を備えた
ことを特徴とする請求項1記載のロボット制御情報生成装置。
【請求項8】
請求項1乃至7のいずれか1項記載のロボット制御情報生成装置と、
前記駆動力取得部が取得した情報に基づいて、前記モータを駆動する駆動電流を出力するモータ制御部と、を備えた
ことを特徴とするロボット制御装置。
【請求項9】
ワーク情報取得部と、把持力取得部と、駆動力取得部と、を備えた装置が行うロボット制御情報生成方法であって、
前記ワーク情報取得部が、モータの駆動力によって開閉するロボットハンドに把持させるワークの大きさに関する情報を取得するステップと、
前記把持力取得部が、前記ロボットハンドに前記ワークを把持させた際の前記ロボットハンドの把持力を示す情報を取得するステップと、
前記駆動力取得部が、前記ワーク情報取得部が取得した情報及び前記把持力取得部が取得した情報に基づいて、前記モータに発生させる駆動力を示す情報を取得するステップと、を備えた
ことを特徴とするロボット制御情報生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ロボット制御情報生成装置、ロボット制御装置及びロボット制御情報生成方法に関する。
【背景技術】
【0002】
従来、4節のリンク機構と変位センサとを用いたロボットハンドが開示されている(特許文献1参照)。このロボットハンドは、変位センサによる検出結果から把持力を検出し、ロボットハンドがワークを適切な把持力で把持できるように把持力の制御を可能にしている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2020-019110号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般に、ロボットハンドを駆動するモータが発揮する駆動力には、モータの構造に起因する上限があり、ロボットハンドにワークを把持させる際のモータに要求される駆動力が、当該モータの上限の駆動力を超えていた場合、ロボットハンドはワークを適切な把持力で把持できない。従って、所定の把持力でロボットハンドにワークを把持させる際、モータに要求される駆動力が上限の駆動力を超えていないことを確認するために、ロボットハンドのモータの駆動力を取得することが求められる。
【0005】
本開示は、上記課題を解決するものであって、ロボットハンドにワークを把持させる際のモータの駆動力を取得することができるロボットハンド制御情報生成装置、ロボットハンド制御装置及びロボットハンド制御情報生成方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
本開示に係るロボット制御装置は、モータの駆動力によって開閉するロボットハンドに把持させるワークの大きさに関する情報を取得するワーク情報取得部と、ロボットハンドにワークを把持させた際のロボットハンドの把持力を示す情報を取得する把持力取得部と、ワーク情報取得部が取得した情報及び把持力取得部が取得した情報に基づいて、モータに発生させる駆動力を示す情報を取得する駆動力取得部と、を備えたことを特徴とする。
【発明の効果】
【0007】
本開示によれば、上記のように構成したので、ロボットハンドにワークを把持させる際のモータの駆動力を取得することができる。
【図面の簡単な説明】
【0008】
図1】実施の形態1に係るロボットハンドの概略構成を示す正面図。
図2】実施の形態1に係るロボットハンドの幾何学モデルを示す図。
図3】実施の形態1に係るロボット制御装置の概略構成を示すブロック図。
図4】実施の形態1に係る制御部のハードウェア構成の例を示す図。
図5】実施の形態1に係る制御部のハードウェア構成の例を示す図。
図6】実施の形態1に係る制御部が行う処理を示すフローチャート。
【発明を実施するための形態】
【0009】
[本開示の原理]
例えば特許文献1に開示されたリンク機構と変位センサ(モーメントセンサ)を用いたロボットハンドを想定し、ステッピングモータを適用する場合、ステッピングモータ特有の脱調の問題を解決する必要がある。特に多品種のワークを把持することを前提とすると、脱調の問題もケースバイケースになり、一律の把持力で多品種のワークに対応することは困難である。
そこで発明者は、リンク機構の特徴である把持力の正確性に着眼し、目標とする把持力とステッピングモータに必要十分な電流値の関係を予め求め、その電流値でロボットハンドを把持動作させることに想到した。
より具体的には、把持力と把持開度(ワークの大きさ)を指定し、必要な電流値を求めるための算出式は、変位センサ(モーメントセンサ)を取り付けた状態で実際に実験を行なって得られるデータから回帰的に求めてもよいし、平面リンク機構の機構解析から演繹的に求めてもよい。その上で、脱調に至るトルク上限も予め特定し、目標とする把持力を得るために必要なトルクの推定値が算出されたときに、そのトルクの推定値がトルク上限を超える場合は、脱調の可能性を報知する信号を出力するなどの対応を行なえばよい。
【0010】
[実施の形態]
以下、本開示に係る実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
まず、図1を参照して、実施の形態1に係るロボットハンドR1の概略構成について説明する。図1は、実施の形態1に係るロボットハンドR1の概略構成を示す正面図である。なお、ロボットハンドR1は、図1に示す中心線L1に対して左右が線対称となるように構成されているため、中心線L1に対する一方のみ図示し、他方の図示を省略する。
【0011】
図1に示すように、ロボットハンドR1は、互いに相対移動可能な複数のリンクを有しており、複数のリンク間には、それぞれ隣接するリンク間を接続する関節が形成されている。ロボットハンドR1は、ワークを把持する作業を行うための装置であり、例えば、ロボットハンドは、ワークを把持して移動する、ワークを把持して移動を制限する、ワークを把持して変形させる等の作業を行う。
【0012】
例えば、ロボットハンドR1は、モータM1、送りねじ機構(減速機構)、リンク機構(伝達機構)を備えて構成されている。具体的には、ロボットハンドR1は、モータM1と、送りねじSH1及び送りナットN1を有する送りねじ機構と、第1リンク1、第2リンク2、第3リンク3及び第4リンク4を有するリンク機構と、を備えている。
【0013】
モータM1は、電流の供給を受けて回転する。例えば、モータM1は、ステッピングモータによって構成され、パルス信号の入力によって回転する。送りねじSH1は、雄ねじが形成されており、モータM1の軸の回転に伴って回転する。例えば、送りねじSH1は、中心線L1に沿う方向に延在する雄ねじが形成されており、中心線L1に沿う方向に延在するモータM1の軸に連結されて、モータM1の軸と一体的に回転する。送りナットN1は、雌ねじが形成されて送りねじSH1に螺合しており、送りねじSH1の回転に伴って送りねじSH1の軸方向に移動する。例えば、送りねじ機構は、台形ねじ機構によって構成されている。
【0014】
例えば、送りナットN1及び第1リンク1~第4リンク4は、図1に示す奥行き方向に延在する軸を中心として、相対的に回動可能に支持されている。具体的には、第1リンク1は、一端が送りナットN1に連結されており、支点Sを中心に送りナットN1に対して相対的に回動可能に支持されている。第2リンク2は、一端が第1リンク1の他端に連結されており、支点Uを中心に第1リンク1に対して相対的に回動可能に支持されている。また、第2リンク2は、モータM1に対する固定支点である支点Qを中心にモータM1に対して相対的に回動可能に支持されている。第3リンク3は、一端にモータM1に対する固定支点である支点Rを有しており、支点Rを中心にモータM1に対して相対的に回動可能に支持されている。
【0015】
第4リンク4は、一端が第2リンク2の他端に連結されており、支点Tを中心に第2リンク2に対して相対的に回動可能に支持されている。また、第4リンク4は、支点Tよりも他端に近い側に第3リンク3に連結される支点Pを有しており、支点Pを中心に第3リンク3に対して相対的に回動可能に支持されている。また、第4リンク4は、ロボットハンドR1の指先である把持部Eを有している。
【0016】
例えば、リンク機構は、支点Q及び支点Rを結ぶ直線と、支点T及び支点Pを結ぶ直線と、が平行になるように、支点Q及び支点Tを結ぶ直線と、支点R及び支点Pを結ぶ直線と、が平行になるように、それぞれの支点が配置されて、4節平行リンク機構を構成している。また、例えば、把持部Eは、中心線L1に沿って延在しており、中心線L1と平行な状態を維持したまま、中心線L1及び図1の奥行き方向と交差する方向(図1の左右方向)に移動する。
【0017】
このように構成されて、ロボットハンドR1は、モータM1が駆動することでモータM1が送りナットN1に推力を与え、送りナットN1の推力がリンク機構に伝達されてリンク機構が動作する。ロボットハンドR1は、リンク機構が動作すると、把持部Eと中心線L1との距離Wが変化する。言い換えると、ロボットハンドR1は、モータM1が駆動すると、一対の把持部Eの間の距離が変化する。ロボットハンドR1は、モータM1の保持トルクによって一対の把持部Eがワークを挟持することで、距離Wの2倍の距離である2Wのワークを把持することができる。言い換えると、ロボットハンドR1は、ワークを把持している状態で、一対の把持部Eの開き量(把持開度)が距離2Wになっている。
【0018】
次に、図2を参照して、実施の形態1に係るロボットハンドR1の動作の詳細について説明する。図2は、実施の形態1に係るロボットハンドR1の幾何学モデルを示す図である。図2に示すように、支点S(0,Sy)は、送りナットと一体的にY軸に沿って移動すると共に支点Uを中心に回動する。支点U及び支点Tは、固定支点である支点Q(Qx,0)を中心に回動する。支点P(Px,Py)は、固定支点である支点R(Rx,Ry)を中心に回動する。
【0019】
支点U及び支点Qを結ぶ直線CとX軸とのなす角度である角度θに関して、Sy>0の場合に以下の数式(1)が成り立ち、Sy≦0の場合に以下の数式(2)が成り立つ。


【0020】
ロボットハンドR1の指先の支点である支点PのX座標Pxは、数式(1)及び数式(2)によって算出される角度θを用いて、支点SのY座標Syに関する以下の数式(3)で表すことができる。なお、角度ψは、支点Q及び支点Uを結ぶ直線Cと支点Q及び支点Tを結ぶ直線B2とのなす角度(支点Q及び支点Uを結ぶ直線Cと支点R及び支点Pを結ぶ直線B1とのなす角度)であり、角度φは、支点Q及び支点Rを結ぶ直線とX軸とのなす角度(支点T及び支点Pを結ぶ直線AとX軸とのなす角度)である。

Px=Qx+Bcos(ψ+θ)-Acos(φ) ・・・(3)
【0021】
また、支点Pに働く把持力、言い換えると、把持部Eがワークを把持方向(X軸方向、図1の左右方向)に押圧する力である把持力をFpとし、把持力Fpを発生させるのに要する送りナットの推力をFsとすると、以下の数式(4)が成り立つ。

【0022】
また、送りねじ機構のねじ効率をη、ねじピッチをPをとした場合、送りナットN1の推力Fsを発生させるために要するモータM1のトルクTは、以下の数式(5)で表すことができる。

【0023】
このように、ロボットハンドR1においては、目標とする把持力Fp、及び数式(1)~数式(5)によって、モータM1に要するトルクTを算出することができる。例えば、目標とする把持力Fpと、支点PのX座標と、に基づいて、モータM1に要するトルクTを算出することができる。上述した把持開度は、支点PのX座標に基づいて幾何学的に算出することが可能であるため、ロボットハンドR1においては、目標とする把持力Fpと把持開度とによって、モータM1に要するトルクTを算出することができる。
【0024】
次に、図3乃至図5を参照して、ロボットハンドR1を制御するためのロボット制御装置100の構成について説明する。図3は、実施の形態1に係るロボット制御装置100の概略構成を示すブロック図である。図3に示すように、ロボット制御装置100は、入力部10と、制御部20と、ユーザインタフェース(UI、User Interface)30と、を備えている。ロボット制御装置100は、入力部10から入力された情報に基づいて制御部20が各種演算を行い、制御部20によってUI30を動作させると共にモータM1を駆動する。
【0025】
入力部10は、制御部20に接続されており、ロボットハンドR1にワークを把持させる際の把持条件に関する情報を含む、ロボットハンドR1にワークを把持させる作業に関する各種情報を制御部20に入力する。例えば、入力部10は、把持条件に関する情報として、ロボットハンドR1に把持させるワークに関する情報、ロボットハンドR1にワークを把持させる際の目標とする把持力に関する情報、ロボットハンドR1にワークを把持させる際の把持時間に関する情報、ロボットハンドR1にワークを把持させる作業のタクトタイムに関する情報、ロボットハンドR1の幾何情報、モータM1の性能に関する情報、ロボットハンドR1の周囲の気温に関する情報等の各種情報を、制御部20に入力する。例えば、ロボットハンドR1に把持させるワークに関する情報としては、ワークの種類に関する情報、ワークの素材に関する情報、ワークの硬さに関する情報、ワークの弾性係数に関する情報、ワークの大きさに関する情報、ワークの形状に関する情報、ワークの質量に関する情報、ワークの表面の摩擦係数に関する情報等がある。
【0026】
例えば、ロボットハンドR1にワークを把持させる際の目標とする把持力に関する情報としては、ロボットハンドR1にワークを把持させる際の目標とする把持力を示す数値情報、ロボットハンドR1にワークを把持させる際の目標とする把持力が、高、中、低等の複数段階の大きさの何れであるかを示す情報等がある。
【0027】
例えば、ロボットハンドR1にワークを把持させる際の把持時間に関する情報としては、ロボットハンドR1にワークを把持させた状態を維持する時間を示す情報、把持させた状態を終了してから再び把持させた状態となるまでの時間を示す情報、所定時間におけるワークを把持している時間の割合を示す情報、ワークを把持している時間と把持していない時間との比率を示す情報、ロボットハンドR1によってワークを移動させる距離及びワークを移動させる際の速度を示す情報等がある。なお、ロボットハンドR1がワークを把持する際の把持力が一定でない場合、入力部10は、各把持力における把持時間を示す情報を制御部20に入力するように構成されていてもよい。
【0028】
例えば、入力部10は、上位コントローラ、コンピュータ等の外部の装置(不図示)に接続されて、当該装置から取得した情報を制御部20に入力する。また、例えば、入力部10は、作業者によって入力操作される入力装置によって構成されており、作業者による入力操作に応じた情報を制御部20に入力する。また、例えば、入力部10は、ワークに関する情報を取得するための光電センサ、レーザセンサ、近接センサ、超音波センサ、ミリ波センサ、重量センサ、カメラ等の画像センサ、ロボットハンドR1の特定のリンクの変位量を取得する変位センサ、ロボットハンドR1の特定のリンクに発生しているモーメントを取得するモーメントセンサSM1(図1参照)等、各種センサを有していてもよいし、これらセンサからの情報を外部の装置を介して取得するように構成されていてもよい。例えば、入力部10は、ロボットハンドR1に把持させる作業に関する情報を、数値情報、区分情報、画像情報、3Dデータ情報等の幾何学データ情報のうちいずれか又は複数を組合せた情報として制御部20に入力する。
【0029】
制御部20は、設定部40と、算出部50と、出力部60と、記憶部70と、モータ制御部80と、を有している。設定部40、算出部50及び出力部60は、実施の形態1において、ロボット制御情報生成装置を構成する。記憶部70は、制御部20が各種演算行う際に参照されるプログラム、データ、パラメータ等の情報が記憶されている。設定部40は、入力部10から入力された情報を取得し、入力部10から入力された情報に基づいて、制御部20が演算を行うための把持条件に関する設定を行う。設定部40は、把持力設定部41と、把持開度設定部42と、把持時間設定部43と、を有している。
【0030】
把持力取得部としての把持力設定部41は、入力部10から取得した情報に基づいて、ロボットハンドR1にワークを把持させる際のロボットハンドR1の把持力を示す情報を取得する。例えば、把持力設定部41は、ロボットハンドR1にワークを把持させる際のロボットハンドR1の把持力の大きさを示す情報を数値情報として入力部10から取得するように構成されている。また、例えば、把持力設定部41は、入力部10から取得したワークに関する情報と、記憶部70から取得した情報と、に基づいて、ロボットハンドR1にワークを把持させる際のロボットハンドR1の把持力を示す情報を取得するように構成されていてもよい。具体的には、把持力設定部41は、入力部10からワークの種類等に関する情報を取得すると共に記憶部70を参照して、記憶部70に予め記憶されているワークの種類に応じた把持力を示す情報を記憶部70から取得するように構成されていてもよい。なお、把持力設定部41が設定するロボットハンドR1にワークを把持させる際の把持力は、一定であるものに限らず、ロボットハンドR1にワークを把持させている状態で時間の経過とともに変化するものであってもよい。把持力設定部41は、取得した情報に基づいて、ロボットハンドR1にワークを把持させる際の把持力を設定する。
【0031】
ワーク情報取得部としての把持開度設定部42は、入力部10から取得した情報に基づいて、ロボットハンドR1に把持させるワークの大きさに関する情報を取得する。例えば、把持開度設定部42は、ワークの寸法を示す情報、ワークの形状を示す情報、ロボットハンドR1にワークを把持させる際のロボットハンドR1の把持開度を示す距離Wの大きさ、特定のリンクの変位量、送りナットの変位量、送りねじの変位量等の情報を入力部10から取得するように構成されている。なお、ワークが柔らかいものであって、ロボットハンドR1に把持させた際に変形するものである場合、把持開度設定部42は、把持力設定部41が設定した把持力で把持した際の変形後のワークの大きさに関する情報を取得するように構成されていてもよい。また、把持開度設定部42は、入力部10から取得した情報と記憶部70から取得した情報とに基づいて、ロボットハンドR1に把持させるワークの大きさに関する情報を取得するように構成されていてもよい。把持開度設定部42は、取得した情報に基づいて、ロボットハンドR1にワークを把持させる際のロボットハンドR1の開度を設定する。
【0032】
把持時間取得部としての把持時間設定部43は、入力部10から取得した情報に基づいて、ロボットハンドR1にワークを把持させる際の時間である把持時間に関する情報を取得する。例えば、把持時間設定部43は、把持時間として、ロボットハンドR1にワークを把持させた状態を維持する時間を示す情報を数値情報として入力部10から取得するように構成されていてもよいし、入力部10から取得した情報に基づいて、ロボットハンドR1にワークを把持させる際の把持力の時間変化を示す情報を取得するように構成されていてもよい。また、把持時間設定部43は、入力部10から取得した情報と、記憶部70から取得した情報と、に基づいて、ロボットハンドR1にワークを把持させる際の把持時間に関する情報を取得するように構成されていてもよい。把持開度設定部42は、取得した情報に基づいて、ロボットハンドR1にワークを把持させる際に、ロボットハンドR1にワークを把持させる際の把持時間を設定する。
【0033】
算出部50は、設定部40が設定した情報に基づいて各種演算を行うことで、UI30及びモータM1を制御するために用いられる情報を取得する。算出部50は、トルク算出部51と、電流値算出部52と、発熱量算出部53と、を有している。駆動力取得部としてのトルク算出部51は、設定部40が設定した情報に基づいて、ロボットハンドR1にワークを把持させる作業を行わせる際に、モータM1に発生させる駆動力を示す情報を取得する。例えば、トルク算出部51は、把持力設定部41が設定した把持力と、把持開度設定部42が設定した把持開度と、上述した数式(1)~(5)に基づいて、モータM1に発生させるトルク(駆動力)の目標値である目標トルクを算出する。なお、トルク算出部は、設定部が設定した情報に基づいて、ロボットハンドR1にワークを把持させる作業を行わせる際に、モータM1に発生させる駆動力を示す情報を取得するように構成されていればよく、例えば、記憶部が把持開度と把持力とモータの駆動力との関係の情報を予め記憶しておき、記憶部の情報を参照することで、モータの駆動力を示す情報を取得するように構成されていてもよい。
【0034】
電流値算出部52は、トルク算出部51が取得した情報と、記憶部70に予め記憶されている情報と、に基づいて、モータM1を駆動する駆動電流を示す情報を取得する。例えば、電流値算出部52は、トルク算出部51が取得した情報と、記憶部70に予め記憶されている情報と、に基づいて、モータM1が目標トルクを達成するために要する駆動電流の電流値を算出する。具体的には、電流値算出部52は、モータM1の目標トルクと、記憶部70に予め記憶されている比例係数と、に基づいて、モータM1を駆動するために要する電流値を算出する。
【0035】
一般に、ステッピングモータにおけるトルクと入力電流の関係は、ほぼ比例であるが、その比例係数は回転数によって変化する。このため、例えば、記憶部70が以下の表1に示すモータの各回転数と比例係数との関係のテーブルを予め記憶しておき、電流値算出部52は、記憶部70に記憶されているテーブルを参照して、モータM1の目標トルクからモータM1の電流値を算出するように構成されていてもよい。

表1

【0036】
このように、上述した数式(1)乃至(5)、モータM1のトルク値(目標トルク)、及び表2の比例係数のテーブルを用いることで、所定の把持開度において把持力Fpを発生させるためのモータの電流値(理論値)を算出することができる。なお、電流値算出部は、トルク算出部が取得した情報と、記憶部に予め記憶されている情報と、に基づいて、モータM1を駆動する駆動電流を示す情報を取得するように構成されていればよく、例えば、記憶部がモータの駆動力とモータに要する電流値との関係を示す情報を予め記憶しておき、記憶部の情報を参照することで、モータの駆動電流を示す情報を取得するように構成されていてもよい。また、電流値算出部52は、モータ性能の個体差、機械抵抗等による理論値と実値の誤差を、リンクに設置しているモーメントセンサSM1(図1参照)を用いて補正するように構成されていてもよい。
【0037】
発熱量取得部としての発熱量算出部53は、把持時間設定部43が設定した情報と、電流値算出部52が取得した情報と、に基づいて、モータM1の発熱量を示す情報を取得する。例えば、発熱量算出部53は、把持時間設定部43が設定したモータM1の把持時間と、電流値算出部52が取得した電流値と、予め記憶部70に記憶されているモータM1の抵抗値と、に基づいて、モータM1の発熱量を算出する。
【0038】
例えば、モータの発熱量Pjは、モータ電流値Iとモータコイルの電気抵抗値R、把持の維持時間tから以下の数式(6)から算出できる。

Pj=RI×t ・・・(6)
【0039】
なお、モータコイルの電気抵抗値Rは、温度によって変化するため、例えば、発熱量算出部53は、モータコイルの温度をセンシングした結果の情報を取得して、以下の数式(7)に示すように電流値の補正を行うように構成されていてもよい。なお、Rpは、p℃におけるモータコイルの電気抵抗値、Tcoilは、モータコイルの温度、αは、モータコイルの抵抗を温度計数である。

R=Rp×(1+α×(Tcoil-p)) ・・・(7)
【0040】
出力部60は、算出部50による演算の結果に基づいて、UI30及びモータ制御部80に情報を出力する。出力部60は、トルク出力部61と、報知信号出力部62と、電流値出力部63と、発熱量出力部64と、を有している。トルク出力部61は、トルク算出部51が取得した情報に基づいて、モータM1の駆動力を示す情報をUI30に出力する。報知信号出力部62は、ロボットハンドR1にワークを把持させる作業において特別な報知を要する場合に、トルク算出部51が取得した情報に基づいて、作業者に対する報知を行うための情報をUI30に出力する。
【0041】
一般に、ステッピングモータは、各回転速度で発生し得る上限のトルク値(最大トルク値)が予め決まっており、閾値としての最大トルク値を超える負荷がかかると脱調する虞がある。このため、ステッピングモータによって駆動するロボットハンド等においては、作業においてモータに要するトルク値(目標トルク)が、モータの回転数に応じた最大トルク値を値超える場合、作業者等に報知を行うことが望ましい。
【0042】
作業者に報知を行う構成としては、例えば、記憶部70が以下の表2に示すモータの各回転数と最大トルク値との関係のテーブルを予め記憶しておき、報知信号出力部62は、記憶部70に記憶されているテーブルを参照して、トルクの推定値(目標トルク)がテーブルの値を超える場合に、脱調の可能性があることを報知する信号を出力するように構成されていてもよい。

表2

【0043】
電流値出力部63は、電流値算出部52が取得した情報に基づいて、モータM1を駆動するための電流値を示す情報をモータ制御部80に出力する。なお、電流値出力部63は、電流値算出部52が取得した情報と、報知信号出力部62における処理の結果と、に基づいて、モータM1を駆動するための電流値を示す情報をモータ制御部80に出力するように構成されていてもよい。例えば、電流値出力部63は、ロボットハンドR1にワークを把持させる際にモータM1が要するトルク値が最大トルク値を超えていない場合に、電流値を示す情報をモータ制御部80に出力し、ロボットハンドR1にワークを把持させる際にモータM1が要するトルク値が最大トルク値を超えている場合に、電流値を示す情報をモータ制御部80に出力しないように構成されていてもよい。このような電流値出力部63は、ロボットハンドR1によるワークの把持を制限する制限部として機能する。
【0044】
発熱量出力部64は、発熱量算出部53が取得した情報に基づいて、モータM1の発熱量を示す情報をUI30に出力する。なお、発熱量出力部64は、記憶部70の情報を参照して、モータM1の発熱量が予め設定されている発熱量の許容値(閾値)を超えている場合に、発熱量が過大であることを作業者に報知するための情報をUI30に出力するように構成されていてもよい。また、発熱量出力部64は、入力部10から取得したロボットハンドR1の周囲の気温に関する情報に基づいて発熱量の許容値を設定するように構成されていてもよい。
【0045】
モータ制御部80は、電流値出力部63から取得した情報に基づいて、モータM1に電流を供給する。例えば、モータ制御部80は、電流値出力部63から取得した情報に基づいて、ステッピングモータであるモータM1にパルス信号を出力する。
【0046】
UI30は、UI30は、表示部31と、報知部32と、を有しており、出力部60から取得した情報に基づいて、ロボットハンドR1がワークを把持する際の各種情報を作業者に提示する。表示部31は、出力部60から取得した情報を、作業者が視認できるように表示する。例えば、表示部31は、LEDランプ、ELディスプレイ(Electroluminescent Display)、液晶ディスプレイのいずれか又はこれら複数の組合せによって構成されており、出力部60から取得した情報を、文字、数値、画像、色等の視覚情報として表示する。
【0047】
報知部32は、出力部60から取得した情報に基づいて、トルク算出部51が取得した情報に基づいて、作業者に対してロボットハンドR1にワークを把持させる作業に関する情報の報知を行うための報知動作を行う。作業者に対してロボットハンドR1にワークを把持させる作業に関する情報は、例えば、モータに要するトルクが過大であること、モータに要する電流値が過大であること、モータの発熱量が過大であること等を示す情報を含む。例えば、報知部32は、LEDランプ、ELディスプレイ(Electroluminescent Display)、液晶ディスプレイ、ブザー、スピーカのいずれか又はこれら複数の組合せによって構成されており、出力部60から取得した情報を、視覚情報及び音情報のいずれか又は両方に変換して作業者に対して報知する。
【0048】
なお、UIは、互いに独立して構成されている表示部と報知部とを備えていてもよいし、1つの装置で表示部及び報知部の両方の機能を達成するように構成されていてもよい。また、UIが、作業者が携帯可能に構成されている場合、報知部は、偏心モータ、ピエゾ素子等の振動素子を有して、振動することによって作業者に情報を報知するように構成されていてもよい。また、UIと入力部とは、別体で設けられているものに限らず、UIと入力部とが一体的に設けられていてもよいし、UIの表示部がタッチパネル式のモニターで構成されて、表示部及び入力部の機能を単一の装置で達成するように構成されていてもよい。
【0049】
次に、図4及び図5を参照して、制御部20のハードウェア構成について説明する。図4は、実施の形態1における制御部20のハードウェア構成の一例を示す図であり、図5は、実施の形態1における制御部20のハードウェア構成の他の例を示す図である。例えば、図4に示すように、制御部20は、プロセッサ20a、メモリ20b及びI/Oポート20cを有し、メモリ20bに格納されているプログラムをプロセッサ20aが読み出して実行するように構成されている。
【0050】
また、例えば、図4に示すように、制御部20は、専用のハードウェアである処理回路20d及びI/Oポート20cを有している。処理回路20dは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、システムLSI(Large-Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、又はこれらの組み合わせによって構成される。制御部20の各機能は、これらプロセッサ20a又は専用のハードウェアである処理回路20dがソフトウェアであるプログラムを実行することによって実現される。
【0051】
次に、図3及び図6を参照して、制御部20が行う処理の詳細について説明する。図6は、実施の形態1に係る制御部20が行う処理を示すフローチャートである。処理を開始すると、制御部20は、まず、入力部10から把持条件に関する情報を取得する(ステップST1)。この処理において、制御部20は、ロボットハンドR1にワークを把持させる際の各種設定を行うための情報を入力部10から取得している。
【0052】
ステップST1の処理を行うと、制御部20は、入力部10から入力された情報に基づいて、把持条件に関する設定を行う(ステップST2)。この処理において、設定部40は、例えば、ロボットハンドR1にワークを把持させる際の把持力、ロボットハンドR1にワークを把持させる際のロボットハンドR1の開度、ロボットハンドR1にワークを把持させる際の把持時間を設定し、記憶部70に記憶させている。
【0053】
ステップST2の処理を行うと、制御部20は、モータに発生させるトルク値を算出する(ステップST3)。この処理において、算出部50は、設定部40が行った設定に基づいて、ロボットハンドR1にワークを把持させる際に要するモータのトルク値を算出している。
【0054】
ステップST3の処理を行うと、制御部20は、モータに供給する電流値を算出する(ステップST4)。この処理において、算出部50は、算出したトルク値に基づいて、ロボットハンドR1にワークを把持させる際にモータが要する電流値を算出している。
【0055】
ステップST4の処理を行うと、制御部20は、モータの発熱量を算出する(ステップST5)。この処理において、算出部50は、設定部40が行った設定と、算出した電流値と、に基づいて、モータで発生する発熱量を算出している。
【0056】
ステップST5の処理を行うと、制御部20は、表示部31にトルク値を表示させる(ステップST6)。この処理において、制御部20は、算出したトルク値をUI30に表示させるための情報を、UI30に出力している。
【0057】
ステップST6の処理を行うと、制御部20は、表示部31に発熱量を表示させる(ステップST7)。この処理において、制御部20は、算出した発熱量をUI30に表示させるための情報を、UI30に出力している。
【0058】
ステップST7の処理を行うと、制御部20は、モータの最大トルク値を示す情報を取得する(ステップST8)。この処理において、制御部20は、記憶部70に記憶されている情報を参照して、モータの最大トルク値を示す情報を取得している。なお、この処理において、制御部20は、入力部10からの情報に基づいて、モータの最大トルク値を示す情報を取得してもよい。
【0059】
ステップST8の処理を行うと、制御部20は、ステップST3で算出したトルク値が、ステップST8で取得した最大トルク値を超えているか否かを判定する(ステップST9)。この処理において、ロボットハンドR1にワークを把持させる際に要するモータのトルク値が、モータの最大トルク値を超えているか否かを判定することによって、設定部40による把持条件の設定の妥当性の判定を行っている。
【0060】
ステップST9の処理において、ステップST3で算出したトルク値が、ステップST8で取得した最大トルク値を超えていない場合(ステップST9のNO)、制御部20は、設定部40が新たな把持条件の設定を行うための情報を取得したか否かを判定する(ステップST10)。この処理において、制御部20は、入力部10から新たな把持条件の設定を行うための情報が入力されたか否かを判定し、ロボットハンドR1にワークを把持させるための演算を再度行うか否かを判定している。これにより、例えば、既に設定されている把持条件に基づいて表示部に表示された情報が、作業者の望む内容でなかった場合に、作業者が新たな把持条件の設定を行って、ロボットハンドR1にワークを把持させる作業の内容の変更を可能としている。
【0061】
ステップST10の処理において、設定部40が新たな把持条件の設定を行うための情報を取得した場合(ステップST10のYES)、処理をステップST2に戻して、新たな把持条件に基づく設定を行う。ステップST10の処理において、設定部40が新たな把持条件の設定を行うための情報を取得していない場合(ステップST10のNO)、制御部20は、モータ制御部80にモータを駆動するための電流値を示す情報を出力して、ロボットハンドR1によるワークの把持動作を開始する(ステップST11)。
【0062】
ステップST9の処理において、ステップST3で算出したトルク値が、ステップST8で取得した最大トルク値を超えている場合(ステップST9のYES)、制御部20は、報知部32に報知動作を行わせる(ステップST11)。この処理において、制御部20は、算出したトルク値が過大であることを報知部32が作業者に報知するための情報を、UI30に出力している。
【0063】
ステップST12の処理を行うと、制御部20は、設定部40が新たな把持条件の設定を行うための情報を取得したか否かを判定し(ステップST13)、設定部40が新たな把持条件の設定を行うための情報の取得がない場合(ステップST13のNO)、情報を取得するまで処理を待機する。この処理において、制御部20は、ロボットハンドR1にワークを把持させる際にモータのトルクが不足することがないように、作業者に新たな把持条件の設定を促して、把持条件の入力を待機している。例えば、制御部20は、UI30によって作業者に新たな把持条件の設定を促す情報を出力する。ステップST13の処理において、設定部40が新たな把持条件の設定を行うための情報を取得した場合(ステップST13のYES)、制御部20は、処理をステップST2に戻す。
【0064】
以上、実施の形態1に係るロボット制御装置100は、モータの駆動力によって開閉するロボットハンドR1に把持させるワークの大きさに関する情報を取得する把持開度設定部42と、ロボットハンドR1にワークを把持させた際のロボットハンドR1の把持力を示す情報を取得する把持力設定部41と、把持開度設定部42が取得した情報及び把持力設定部41が取得した情報に基づいて、モータM1に発生させる駆動力を示す情報を取得するトルク算出部51と、を備えた。これにより、実施の形態1に係るロボット制御装置100は、例えば、モータのトルクを検出するトルクセンサ等によらず、ロボットハンドにR1ワークを把持させる際のモータの駆動力を取得することができる。このような実施の形態1に係るロボット制御装置100によれば、例えば、ロボットハンドR1にワークを把持させる作業を行う際、モータのトルクが不足する虞があるか否かを作業者等が事前に判断することが可能になる。
【0065】
また、実施の形態1に係るロボット制御装置100は、ロボットハンドR1にワークを把持させる際の把持時間に関する情報を取得する把持時間設定部43と、把持力設定部41が取得した情報及び把持時間設定部43が取得した情報に基づいて、モータM1に起因する発熱量に関する情報を取得する発熱量算出部53と、を備えた。これにより、実施の形態1に係るロボット制御装置100は、例えば、モータの温度を検出する温度センサ等によらず、ロボットハンドR1にワークを把持させる際のモータの発熱量を取得することができる。このような実施の形態1に係るロボット制御装置100によれば、例えば、ロボットハンドR1にワークを把持させる作業を行う際、モータの発熱量が過大になる虞があるか否かを作業者等が事前に判断することが可能になる。
【0066】
また、実施の形態1に係るロボット制御装置100は、把持力設定部41が取得したトルク値が予め設定されている閾値を超えなかった場合に、ロボットハンドR1によるワークの把持を許容し、把持力設定部41が取得したトルク値が予め設定されている閾値を超えた場合に、ロボットハンドR1によるワークの把持を制限する電流値出力部63を備えた。これにより、実施の形態1に係るロボット制御装置100は、ロボットハンドR1にワークを把持させる際に、モータM1のトルクが不足してしまうことを防ぐことが可能になる。
【0067】
なお、本開示は、実施の形態の任意の構成要素の変形もしくは実施の形態の任意の構成要素の省略が可能である。
【符号の説明】
【0068】
10 :入力部
20 :制御部
31 :表示部
32 :報知部
40 :設定部(ロボット制御情報生成装置)
41 :把持力設定部
42 :把持開度設定部
43 :把持時間設定部
50 :算出部(ロボット制御情報生成装置)
51 :トルク算出部
52 :電流値算出部
53 :発熱量算出部
60 :出力部(ロボット制御情報生成装置)
61 :トルク出力部
62 :報知信号出力部
63 :電流値出力部
64 :発熱量出力部
70 :記憶部
80 :モータ制御部
100 :ロボット制御装置
M1 :モータ
N1 :送りナット
R1 :ロボットハンド
SH1 :送りねじ
図1
図2
図3
図4
図5
図6