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

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

▶ 富士機械製造株式会社の特許一覧

<>
  • 特許-多関節ロボット 図1
  • 特許-多関節ロボット 図2
  • 特許-多関節ロボット 図3
  • 特許-多関節ロボット 図4
  • 特許-多関節ロボット 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-17
(45)【発行日】2024-01-25
(54)【発明の名称】多関節ロボット
(51)【国際特許分類】
   B25J 19/06 20060101AFI20240118BHJP
【FI】
B25J19/06
【請求項の数】 5
(21)【出願番号】P 2022508631
(86)(22)【出願日】2020-03-16
(86)【国際出願番号】 JP2020011565
(87)【国際公開番号】W WO2021186518
(87)【国際公開日】2021-09-23
【審査請求日】2022-08-25
(73)【特許権者】
【識別番号】000237271
【氏名又は名称】株式会社FUJI
(74)【代理人】
【識別番号】110000017
【氏名又は名称】弁理士法人アイテック国際特許事務所
(72)【発明者】
【氏名】名桐 啓祐
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2002-283276(JP,A)
【文献】特開2005-059171(JP,A)
【文献】特開2011-143500(JP,A)
【文献】特開平08-036411(JP,A)
【文献】特開2003-216243(JP,A)
【文献】特開2006-123012(JP,A)
【文献】特開2007-265028(JP,A)
【文献】独国特許出願公開第102016210060(DE,A1)
【文献】米国特許出願公開第2007/0151389(US,A1)
【文献】国際公開第2019/117896(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/00-19/06
G05B 19/18-19/4062
(57)【特許請求の範囲】
【請求項1】
ベースに対して関節軸を介して連結された複数のアームを有し、前記アームの関節軸として、鉛直方向に延在する鉛直関節軸と、水平方向に延在する水平関節軸と、を含む多関節ロボットであって、
前記複数のアームの関節軸を回転駆動する複数のモータと、
前記複数のモータをそれぞれ対応するトルク指令に基づいて駆動する駆動部と、
前記複数のアームの自重によるモーメントを相殺するようフィードフォワード制御により算出するトルクと前記複数のアームの位置が目標位置に達するようフィードバック制御により算出するトルクとに基づいて前記複数のモータのトルク指令を設定すると共に前記複数のモータのトルクを監視し、前記複数のモータのうちいずれかのモータのトルクが閾値を超えると、前記複数のアームの関節軸のうち予め設定された対象関節軸を回転駆動するモータのトルク指令を零に設定し、前記複数のアームの関節軸のうち前記対象関節軸でない関節軸を回転駆動するモータのトルク指令を前記フィードフォワード制御により算出するトルクに設定する制御部と、
を備え、
前記対象関節軸は、前記モータのトルク指令が零に設定されても、対応する前記アームが自重により落下しない前記鉛直関節軸である、
多関節ロボット。
【請求項2】
請求項1に記載の多関節ロボットであって、
前記制御部は、前記アームの自重と釣り合うトルクを含むトルクを出力するためのフィードフォワードトルクと、前記アームの位置を前記目標位置へ近づけるためのフィードバックトルクとの和に基づいて対応するモータのトルク指令を設定すると共に前記フィードバックトルクにより前記対応するモータのトルクを監視する、
多関節ロボット。
【請求項3】
請求項1または2に記載の多関節ロボットであって、
前記閾値は、前記モータの回転速度が所定速度未満の場合には前記所定速度以上の場合に比して小さな値が設定される、
多関節ロボット。
【請求項4】
請求項1ないし3いずれか1項に記載の多関節ロボットであって、
前記制御部は、前記複数のモータのうちいずれかのモータのトルクが前記閾値を超えると、前記複数のモータのうち前記対象関節軸を回転駆動するモータのトルク指令を零に設定すると共に、他のモータから対応するアームを停止させると共に停止させたアームの自重と釣り合うトルクが出力されるよう該他のモータのトルク指令を設定する、
多関節ロボット。
【請求項5】
請求項4に記載の多関節ロボットであって、
前記他のモータは、重力方向の駆動成分を含むモータである、
多関節ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、多関節ロボットについて開示する。
【背景技術】
【0002】
従来、ロボットアームが障害物に衝突したことが検知されると、ロボットを停止させる多関節ロボットが知られている。例えば、特許文献1には、ロボットアームと、トルク指令を指令する制御部と、制御部が供給する電流により回転してロボットアームを駆動するサーボモータと、サーボモータの位置を検出するエンコーダと、衝突検出装置と、衝突検出装置監視部と、ロボット停止処理部と、を備える多関節ロボットが開示されている。衝突検出装置は、制御部のトルク指令とエンコーダの回転信号を受けてロボットアームが受ける外乱を推定する。衝突検出装置監視部は、推定された外乱トルクが既定値以上になったとき、衝突が生じていると判断する。ロボット停止処理部は、衝突検出装置監視部で衝突と判断されると、ロボットを停止させる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2010-137312号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、多関節ロボットは、アームに過大な外力が加わったときに、アームの停止のさせ方によっては、アームから外力に釣り合うトルクが出力され続け、ダメージを受ける場合がある。
【0005】
本開示は、アームに過大な外力が加わったときに、モータから外力に釣り合うトルクが発生され続けるのを回避して、ロボットが受けるダメージを最小限にすることができる多関節ロボットを提供することを主目的とする。
【課題を解決するための手段】
【0006】
本開示は、上述の主目的を達成するために以下の手段を採った。
【0007】
本開示の多関節ロボットは、
関節を介して連結された複数のアームを有する多関節ロボットであって、
前記複数のアームを回動させる複数のモータと、
前記複数のモータをそれぞれ対応するトルク指令に基づいて駆動する駆動部と、
前記複数のアームの位置が目標位置に達するようフィードバック制御により前記複数のモータのトルク指令を設定すると共に前記複数のモータのトルクを監視し、前記複数のモータのうちいずれかのモータのトルクが閾値を超えると、前記複数のモータのうち少なくとも一つのモータのトルク指令を零に設定する制御部と、
を備えることを要旨とする。
【0008】
この本開示の多関節ロボットは、複数のアームの位置が目標位置に達するようフィードバック制御により複数のモータのトルク指令を設定すると共に複数のモータのトルクを監視する。そして、多関節ロボットは、複数のモータのうちいずれかのモータのトルクが閾値を超えると、複数のモータのうち少なくとも一つのモータのトルク指令を零に設定する。これにより、障害物との衝突などアームに過大な外力が加わったときに、フィードバック制御によりモータから外力に釣り合うトルクが発生され続けるのを回避して、ロボットが受けるダメージを最小限にすることができる。
【図面の簡単な説明】
【0009】
図1】本実施形態の作業ロボットの概略構成図である。
図2】ロボット本体と制御装置との電気的な接続関係を示すブロック図である。
図3】モータ制御の機能ブロック図である。
図4】衝突判定処理の一例を示すフローチャートである。
図5】停止処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
次に、本開示を実施するための形態について図面を参照しながら説明する。
【0011】
図1は、本実施形態の作業ロボットの概略構成図である。図2は、ロボット本体と制御装置との電気的な接続関係を示すブロック図である。作業ロボット10は、例えば、工具でワークを加工する加工作業やチャックでワークを把持して別位置へ搬送する搬送作業、チャックでワークを把持して対象物に組み付ける組付作業などの作業を行なうものであり、図示するように、ロボット本体20と制御装置70と備える。
【0012】
ロボット本体20は、本実施形態では、5軸の垂直多関節ロボットとして構成されている。このロボット本体20は、図1に示すように、ベース21と、ベース21に対して各関節軸(関節軸J1~J5)を介して直列に接続された複数のアーム(第1~第5アーム31~35)と、を備える。各関節軸J1~J5には、図2に示すように、対応する関節軸を回転駆動するサーボモータ(第1~第5モータ41~45)と、対応するサーボモータの回転角度Θ1~Θ5を検出するロータリエンコーダ(第1~第5エンコーダ51~55)とが配置されている。
【0013】
第1~第5アーム31~35のうち先端に配置される第5アーム35には、作業ロボット10が行なう作業に適したエンドエフェクタEFが装着される。
【0014】
制御装置70は、図2に示すように、CPU71を中心としたマイクロプロセッサとして構成され、CPU71の他に、ROM72やHDD73(記憶装置)、RAM74、入出力インタフェース(図示せず)などを備える。制御装置70には、各関節軸J1~J5の第1~第5エンコーダ51~55からの検知信号である回転角度Θ1~Θ5が入出力インタフェースを介して入力される。また、制御装置70からは、各関節軸J1~J5の第1~第5モータ41~45に駆動用の電流を印加する各アンプ(ドライバ)61~65への制御信号であるトルク指令Tm1*~Tm5*が入出力インタフェースを介して出力される。更に、制御装置70には、マウスやキーボードなどの入力装置81や、ディスプレイなどの出力装置82も接続されている。
【0015】
次に、こうして構成された作業ロボット10の動作について説明する。制御装置70のCPU71は、まず、エンドエフェクタEFの目標位置および目標姿勢を取得する。続いて、CPU71は、エンドエフェクタEFを目標位置および目標姿勢に移動させるための各関節軸J1~J5の目標回転角度Θ1*~Θ5*を逆運動学を用いて計算する。次に、CPU71は、第1~第5エンコーダ51~55により検出される各関節軸J1~J5の回転角度Θ1~Θ5が対応する目標回転角度Θ1*~Θ5*に一致するようフィードバック制御により第1~第5モータ41~45のトルク指令Tm1*~Tm5*を設定して対応するアンプ61~65に出力する。
【0016】
図3は、モータ制御の機能ブロック図である。図示するように、モータ制御の機能ブロックとしては、フィードフォワードトルク設定部91と、位置フィードバック部92と、速度フィードバック部93と、を有する。フィードフォワードトルク設定部91は、各関節軸Jn(n=1,…,5)に連結されるアームの自重によるモーメントを相殺するトルク(自重釣り合いトルク)を計算してフィードフォワードトルクTfn(n=1,…,5)を設定する。位置フィードバック部92は、各関節軸Jn(n=1,…,5)の目標回転角度Θn*(n=1,…,5)と第1~第5エンコーダ51~55からの回転角度Θn(n=1,…,5)との差分(Θn*-Θn)を入力し、入力した差分(Θn*-Θn)に基づく比例積分制御あるいは比例積分微分制御によって対応する関節軸の目標回転速度Nmn*(n=1,…,5)を設定する。速度フィードバック部93は、位置フィードバック部92で設定された各関節軸J1~J5の目標回転速度Nmn*と回転角度Θnから角度/速度変換部94によって変換された回転速度Nmn(n=1,…,5)との差分(Nmn*-Nmn)を入力し、入力した差分(Nmn*-Nmn)に基づく比例積分制御あるいは比例積分微分制御によってフィードバックトルクTbn(n=1,…,5)を設定する。各アンプ61~65は、対応するフィードフォワードトルクTfnとフィードバックトルクTbnとの和のトルクをトルク指令Tmn*として入力し、入力したトルク指令Tmn*に応じたトルクが出力されるよう電流フィードバック制御によって対応するモータに電流を印加する。
【0017】
次に、作業ロボット10のアーム(第1から第5アーム31~35のいずれか)が障害物に衝突した際の動作について説明する。まず、アームが障害物に衝突したか否かを判定する動作を説明し、次に、アームが衝突したと判定した際にアームを停止させるための動作を説明する。図4は、制御装置70のCPU71により実行される衝突判定処理の一例を示すフローチャートである。この処理は、作業ロボット10が作業を行なっている最中に所定時間毎(例えば、数msec毎)に繰り返し実行される。
【0018】
衝突判定処理が実行されると、制御装置70のCPU71は、まず、変数nを値1に初期化する(ステップS100)。続いて、CPU71は、関節軸Jnの対応するモータのフィードバックトルクTbnと対応するエンコーダからの回転角度Θnとを入力する(ステップS110)。次に、CPU71は、回転角度Θnを回転速度Nmnに変換し(ステップS120)、回転速度Nmnが所定速度Nref以上であるか否かを判定する(ステップS130)。CPU71は、回転速度Nmnが所定速度Nref以上であると判定すると、衝突判定閾値Trefに第1所定値αを設定し(ステップS140)、回転速度Nmnが所定速度Nref未満であると判定すると、衝突判定閾値Trefに第1所定値αよりも小さい第2所定値βを設定する(ステップS150)。そして、CPU71は、ステップS110で入力したフィードバックトルクTbnが衝突判定閾値Tref以上であるか否かを判定する(ステップS160)。CPU71は、フィードバックトルクTbnが衝突判定閾値Tref以上であると判定すると、関節軸Jnに連結されているアームが障害物と衝突したと判定する(ステップS170)。一方、CPU71は、フィードバックトルクTbnが衝突判定閾値Tref未満であると判定すると、関節軸Jnに連結されているアームは障害物と衝突していないと判定する。そして、CPU71は、変数nが値5以上であるか否かを判定し(ステップS180)、変数nが値5未満であると判定すると、衝突の有無を判定していない関節軸があると判断し、変数nを値1だけインクリメントして(ステップS190)、ステップS110に戻り、次の関節軸Jnについて衝突の有無を判定する。一方、CPU71は、変数nが値5以上であると判定すると、全ての関節軸に対して衝突の有無を判定したと判断して、衝突判定処理を終了する。
【0019】
上述したように、フィードバックトルクTbnは、関節軸Jnの回転角度Θnを目標回転角度Θn*に一致させるために目標回転角度Θn*と回転角度Θnとの差分(Θn*-Θn)に基づいて設定される。このため、いずれかのアームが障害物に衝突して当該アームに過大な外力が加わると、フィードバックトルクTbnには、アームの位置および姿勢を保持するために当該外力と釣り合うトルクが設定され続けることになる。本実施形態では、CPU71は、各関節軸Jnにおいて設定されるフィードバックトルクTbnを監視することで、いずれかのアームに過大な外力が加わったか否か、すなわち、いずれかのアームが障害物に衝突したか否かを判定することができる。ここで、関節軸Jnの回転速度Nmnが高速(所定速度Nref以上)である場合には、目標回転角度Θn*と回転角度Θnとの差分が比較的大きく、フィードバックトルクTbnには、比較的大きなトルクが設定される。一方、関節軸Jnの回転速度Nmnが低速(所定速度Nref未満)である場合には、目標回転角度Θn*と回転角度Θnとの差分が比較的小さく、フィードバックトルクTbnには、比較的小さなトルクが設定される。このため、関節軸Jnの回転速度Nmnに拘わらず一律の値を衝突判定閾値Trefに設定してフィードバックトルクTbnと衝突判定閾値Trefとの比較により衝突判定を行なうと、衝突を誤判定するおそれが生じる。本実施形態では、関節軸Jnの回転速度Nmnの高低に応じて衝突判定閾値Trefを高低するから、上述した誤判定が生じるのを抑制することができる。
【0020】
次に、衝突が発生した際にアームを停止させる処理について説明する。図5は、制御装置70のCPU71により実行される停止処理の一例を示すフローチャートである。この処理は、衝突判定処理が実行された後に実行される。
【0021】
停止処理が実行されると、制御装置70のCPU71は、まず、上述した衝突判定処理の結果として、いずれかのアームに衝突が発生したか否かを判定する(ステップS200)。CPU71は、いずれのアームにも衝突が発生していないと判定すると、停止処理を終了する。一方、CPU71は、いずれかのアームに衝突が発生したと判定すると、変数nを値1に初期化し(ステップS210)、関節軸Jnがいなし対象軸であるか否かを判定する(ステップS220)。ここで、いなし対象軸とは、障害物との衝突によりアームに加わる過大な外力をいなすような動作を行なう関節軸である。本実施形態では、いなし対象軸には、関節軸J1~J5のうち入力装置81を介してユーザにより予め選択されたものが設定されるものとした。CPU71は、関節軸Jnがいなし対象軸であると判定すると、当該関節軸Jnの対応するモータのトルク指令Tmn*を値0に設定する(ステップS230)。一方、CPU71は、関節軸Jnがいなし対象軸でない(非いなし対象軸である)と判定すると、当該関節軸Jnに連結されるアームが通常停止するよう当該関節軸Jnの対応するモータのトルク指令Tmn*を設定する(ステップS240)。通常停止は、具体的には、関節軸Jnに連結されるアームの自重によるモーメントを相殺するトルク(自重釣り合いトルク)が当該関節軸Jnの対応するモータから出力されるようトルク指令Tmn*を設定することにより行なわれる。そして、CPU71は、変数nが値5以上であるか否かを判定し(ステップS250)、変数nが値5未満であると判定すると、変数nを値1だけインクリメントして(ステップS260)、ステップS220に戻り、次の関節軸Jnの対応するモータのトルク指令Tmn*を設定する。一方、CPU71は、変数nが値5以上であると判定すると、全ての関節軸Jnの対応するモータのトルク指令Tmn*を設定したと判断して、停止処理を終了する。
【0022】
このように、本実施形態では、CPU71は、いずれかのアームに衝突が発生すると、関節軸J1~J5のうちいなし対象軸については、対応するモータのトルク指令Tmn*に値0を設定する。これにより、いなし対象軸に連結されるアームは、衝突により加わる外力によって移動させられることで、当該外力をいなすことができる。したがって、アームに過大な外力が継続して加わるのを回避して、作業ロボット10が受けるダメージを最小限にすることが可能となる。また、CPU71は、関節軸J1~J5のうち非いなし対象軸については、対応するモータのトルク指令Tmn*に通常停止用のトルク(自重釣り合いトルク)を設定する。これにより、例えば、非いなし対象軸として、重力方向に駆動成分を有する関節軸が指定されることで、自重によるアームの落下を防止することが可能となる。
【0023】
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の第1~第5関節軸J1~J5が関節に相当し、第1~第5アーム31~35が複数のアームに相当し、アンプ(ドライバ)61~65が駆動部に相当し、制御装置70が制御部に相当する。
【0024】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【0025】
例えば、上述した実施形態では、いなし対象軸(非いなし対象軸)は、関節軸J1~J5のうち入力装置81を介してユーザにより選択されたものが設定されるものとした。しかし、いなし対象軸(非いなし対象軸)は、予め定められてもよい。この場合、例えば、本実施形態のロボット本体20(垂直多関節ロボット)において、いなし対象軸を関節軸J1,J4,J5とし、非いなし対象軸を関節軸J2,J3とするなど、アームが自重によって落下するのを防止するために、非いなし対象軸として、重力方向に駆動成分を有する関節軸が定められることが望ましい。
【0026】
上述した実施形態では、CPU71は、関節軸Jnの回転速度Nmnが所定速度Nref以上の場合には、衝突判定閾値Trefに第1所定値αを設定し、関節軸Jnの回転速度Nmnが所定速度Nref未満の場合には、衝突判定閾値Trefに第1所定値αよりも小さい第2所定値βを設定を設定するものとした。しかし、CPU71は、関節軸Jnの回転速度Nmnが低くなるにつれて小さくなるように衝突判定閾値Trefを設定してもよい。また、CPU71は、関節軸Jnの回転速度Nmnに拘わらず衝突判定閾値Trefに一定値を定めても差し支えない。
【0027】
上述した本実施形態では、作業ロボット10は、垂直多関節ロボットとして構成されたが、これに限られず、水平多関節ロボットとして構成されてもよい。水平多関節ロボットにおいて、アームの落下を防止するために、いなし対象軸には、各関節軸のうち水平旋回する関節軸が設定され、非いなし対象軸には、昇降する関節軸が設定されることが望ましい。
【0028】
以上説明したように、本開示の多関節ロボットは、関節を介して連結された複数のアームを有する多関節ロボットであって、前記複数のアームを回動させる複数のモータと、前記複数のモータをそれぞれ対応するトルク指令に基づいて駆動する駆動部と、前記複数のアームの位置が目標位置に達するようフィードバック制御により前記複数のモータのトルク指令を設定すると共に前記複数のモータのトルクを監視し、前記複数のモータのうちいずれかのモータのトルクが閾値を超えると、前記複数のモータのうち少なくとも一つのモータのトルク指令を零に設定する制御部と、を備えることを要旨とする。
【0029】
この本開示の多関節ロボットは、複数のアームの位置が目標位置に達するようフィードバック制御により複数のモータのトルク指令を設定すると共に複数のモータのトルクを監視する。そして、多関節ロボットは、複数のモータのうちいずれかのモータのトルクが閾値を超えると、複数のモータのうち少なくとも一つのモータのトルク指令を零に設定する。これにより、障害物との衝突などアームに過大な外力が加わったときに、フィードバック制御によりモータから外力に釣り合うトルクが発生され続けるのを回避して、ロボットが受けるダメージを最小限にすることができる。
【0030】
こうした本開示の多関節ロボットにおいて、前記制御部は、前記アームの自重と釣り合うトルクを含むトルクを出力するためのフィードフォワードトルクと、前記アームの位置を前記目標位置へ近づけるためのフィードバックトルクとの和に基づいて対応するモータのトルク指令を設定すると共に前記フィードバックトルクにより前記対応するモータのトルクを監視するものとしてもよい。フィードバックトルクには、アームに外力が加わった際に当該アームの姿勢を維持するために外力に釣り合うトルクが設定される。したがって、フィードバックトルクを監視することで、アームの衝突をより正確に判定することができる。
【0031】
また、本開示の多関節ロボットにおいて、前記閾値は、前記モータの回転速度が所定速度未満の場合には前記所定速度以上の場合に比して小さな値が設定されるものとしてもよい。こうすれば、モータの回転速度に拘わらずアームの衝突をより正確に判定することができる。
【0032】
さらに、本開示の多関節ロボットにおいて、前記制御部は、前記複数のモータのうちいずれかのモータのトルクが前記閾値を超えると、前記複数のモータのうち一部のモータのトルク指令を零に設定すると共に、他のモータから対応するアームを停止させると共に停止させたアームの自重と釣り合うトルクが出力されるよう該他のモータのトルク指令を設定するものとしてもよい。この場合、前記他のモータは、重力方向の駆動成分を含むモータであるものとしてもよい。こうすれば、アームに加わる外力を一部の関節軸によって適切にいなしつつ、自重によりアームが落下するのを防止することができる。
【産業上の利用可能性】
【0033】
本開示は、多関節ロボットの製造産業などに利用可能である。
【符号の説明】
【0034】
10 作業ロボット、20 ロボット本体、21 ベース、31 第1アーム、32 第2アーム、33 第3アーム、34 第4アーム、35 第5アーム、41 第1モータ、42 第2モータ、43 第3モータ、44 第4モータ、45 第5モータ、51、第1エンコーダ、52 第2エンコーダ、53 第3エンコーダ、54 第4エンコーダ、55 第5エンコーダ、61~65 アンプ、70 制御装置、71 CPU、72 ROM、73 HDD、74 RAM、81 入力装置、82 出力装置、91 フィードフォワードトルク設定部、92 位置フィードバック部、93 速度フィードバック部、94 角度/速度変換部。
図1
図2
図3
図4
図5