JP2024047541A - トルク率制御及び振動抑制のための予測制御方法 - Google Patents

トルク率制御及び振動抑制のための予測制御方法 Download PDF

Info

Publication number
JP2024047541A
JP2024047541A JP2023117372A JP2023117372A JP2024047541A JP 2024047541 A JP2024047541 A JP 2024047541A JP 2023117372 A JP2023117372 A JP 2023117372A JP 2023117372 A JP2023117372 A JP 2023117372A JP 2024047541 A JP2024047541 A JP 2024047541A
Authority
JP
Japan
Prior art keywords
robot
torque
torque rate
vector
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023117372A
Other languages
English (en)
Inventor
リン シェン-チュン
チャオ ユイ
哲朗 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of JP2024047541A publication Critical patent/JP2024047541A/ja
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Abstract

【課題】改善されたロボットモーション制御技術を実現する。【解決手段】トルク率制御及びエンドツーリング振動の抑制を含むモデル予測制御(MPC)技術を使用したロボットモーション制御のための方法及びシステム。MPCモジュールは、ロボット構成の変化に関連付けられた応答非線形性を本質的に反映したロボットダイナミクスモデルと、トルク率項を有する目的関数、並びにトルク及びトルク率の両方において限界を定めた不等式制約を有する最適化ソルバと、を含む。MPCモジュールにおけるトルク率制御は、モーションプログラム中にロボットが構成を変化させるときにロボットダイナミクスを正確にモデル化しつつ、ロボット関節においてジャークを制御する効果的な手段を提供する。MPCモジュールの計算においてエンドツーリング振動を自動的に制御するために、エンドツーリング振動ダイナミクスもMPC目的関数及び制約に含まれ得る。【選択図】図3

Description

本開示は概して、産業用ロボットモーション制御の分野に関し、より具体的には、最適化ベースのモデル予測制御技術を使用したロボット制御方法及びシステムに関し、当該最適化ベースのモデル予測制御技術は、トルク率項を有する目的関数、並びにトルク及びトルク率の両方において限界を定めた不等式制約であってトルク率限度がロボット関節におけるジャークの制御を提供する不等式制約を含み、最適化モデルにおいてエンドツーリング振動ダイナミクスを更に含む。
関連技術の説明
産業用ロボットを使用して、製造、組立、及び材料移動操作を幅広く行うことはよく知られている。当該操作及びタスクの多くは、各回転関節においてサーボモータを有する5軸または6軸ロボットなどの関節式ロボットによって行われる。当該ロボットの制御はリアルタイムに提供され、ここで、エンドツールモーションプログラムは、小さい増加のモーションに分割され、ロボットコントローラは、リアルタイムのフィードバック制御計算を行って、規定のモーションプログラムに従ってロボットエンドツールを移動させる関節トルク命令を計算する。
上述のようなロボットコントローラでは、フィードバック制御計算は通常、比例-積分-微分(PID)制御などの典型的な制御方法を使用して行われ、ここで、関節トルク信号は、各項が既定のゲイン定数を有する誤差信号の積分及び誤差信号の微分と共に、命令されるステップと現在のロボット状態との間の誤差信号に基づいて計算される。典型的な制御技術は、いくつかの状況では充分に機能することが知られているが、大きい入力ステップが定められる場合、不安定になり得る。加えて、PIDコントローラにおけるゲインは、ロボットの想定されるいくつかの動的応答特性に基づいて定められ、PIDモデルは、ロボット構成の変化による動的応答の変化に適応することはできない。動的応答における当該構成ベースの変化は、ロボットによる著しい姿勢変化を伴うモーションプログラムについて大きい場合がある。例えば、ロボットが、アームセクションが互いにきっちりと折り畳まれた非常にコンパクトな構成から、アームセクション全てがロボットベースからエンドツールへ同じ方向に延びている、非常に延びた構成に移動するロボットタスクを考慮する。後者の構成におけるロボットの動的応答(例えば、慣性特性、曲げの固有周波数)は、前者とは大きく異なっている。
マテリアルハンドリング及びスポット溶接などのいくつかの用途では、ロボットアームによって移動される物体は、非常に重く、それ自体の動的応答特性を有し、次いでそれはロボット動的応答に影響を与え得る。更に、当該用途では、ロボットは通常、開始点から目的点まで可能な限り迅速に移動し、これは、高加速度をもたらす。ロボット自体及びエンドツーリングまたはペイロードの振動ダイナミクスがロボットコントローラ計算に含まれる場合、ロボットモーション制御が当該用途において正確に行われるだけであり得る。更に、ロボットは通常、操作中に満たされる必要がある、関節加速度及びジャークの許容範囲などの機械的制約を有する。いくつかの制御技術では、このようなパラメータの直接制御が可能ではなく、それにより、関節が機械的制約を超え得るか、または結果として生じるモーションに誤差がもたらされ得る。
上述の状況に鑑みて、ロボット操作の制約を満たしつつ、統合された制御モジュール計算において、ロボット構成関連の非線形性及びエンドツーリングダイナミクスの両方を組み込んだ、改善されたロボットモーション制御技術が必要である。
本開示は、トルク率制御及びエンドツーリング振動の抑制を含むモデル予測制御(MPC:Model Predictive Control)技術を使用したロボットモーション制御のための方法及びシステムを記載する。MPCモジュールは、ロボット構成の変化に関連付けられた応答非線形性を本質的に反映したロボットダイナミクスモデルと、トルク率項を有する目的関数、並びにトルク及びトルク率の両方において限界を定めた不等式制約を有する最適化ソルバ(optimization solver)と、を含む。MPCモジュールにおけるトルク率制御は、モーションプログラム中にロボットが構成を変化させるときにロボットダイナミクスを正確にモデル化しつつ、ロボット関節においてジャークを制御する効果的な手段を提供する。MPCモジュールの計算においてエンドツーリング振動を自動的に制御するために、エンドツーリング振動ダイナミクスもMPC目的関数及び制約に含まれ得る。
本開示のシステム及び方法の追加の特徴は、添付図面と併せて、以下の記載及び付属する特許請求の範囲から明らかになるであろう。
図1は、当該技術分野で既知であるようなロボット及び他のタイプのシステムに使用される典型的な制御技術のブロック図である。 図2Aは、姿勢または構成の変化を受ける産業用ロボットの簡略化した図であり、ここで、構成変化は、ロボットの動的応答の著しい変化をもたらす。 図2Bは、姿勢または構成の変化を受ける産業用ロボットの簡略化した図であり、ここで、構成変化は、ロボットの動的応答の著しい変化をもたらす。 図3は、本開示の実施形態に係る、ロボットなどのシステムの制御に使用されるモデル予測制御(MPC)技術のブロック図である。 図4は、本開示の実施形態に係る、トルク率制御及び振動抑制を伴うモデル予測制御技術を含む産業用ロボットモーション制御システムのブロック図である。 図5は、本開示の実施形態に係る、図4の制御モジュールにおけるモデル予測制御計算に組み込まれるエンドツーリングの質量-ばね-ダンパシステムを有する図2A/図2Bのロボットの図である。 図6は、本開示の実施形態に係る、ロボット予測モーション制御及び振動抑制のための方法のフローチャート図である。
ロボットの予測モーション制御及び振動抑制を対象とした本開示の実施形態に関する以下の説明は、本質的に単なる例示であり、開示されるデバイス及び技術またはそれらの用途若しくは使用を限定することを全く意図しない。
産業用ロボットは、様々な製造、組立、及び材料移動操作に使用される。材料ディスペンシング及びレーザ/アーク溶接などのいくつかの用途について、ロボットツールのプログラムされた速度は、行われている操作によって制限されており、ロボットアームの急速なモーションは、必要とされないかまたは望まれない。当該用途では、特に、ロボット加速度が低く、エンドツーリング、またはロボットによって搬送される材料ペイロードがロボットと比べて比較的軽量である場合、ロボットの動的応答(例えば、アーム曲げ振動)は、著しい問題ではない。これにより、ロボットモーション制御が簡略化される。
図1は、当該技術分野で既知であるようなロボット及び他のタイプのシステムに使用される典型的な制御技術のブロック図100である。ロボットコントローラは多くの場合、図1に示されるような典型的な制御技術を使用してプログラムされる。各制御サイクルにおいて、新しいロボット状態を定めた基準信号rがロボットモーションプログラムから提供される。例えば、基準信号rは、現在のモーションの増加中、ロボットツール中心点が特定の方向に一定の速度で3mm移動する必要があることを定め得る。基準信号rは、ジャンクション102に提供され、ここで、現在のロボット状態xもフィードバックとして提供される。「誤差」信号eは、基準信号rと現在のロボット状態xとの差として計算される。
「誤差」信号eは、比例-積分-微分(PID)制御などの典型的な制御方法を使用する制御モジュール110に提供される。PID制御では、システム制御信号は、誤差信号eの積分及び誤差信号eの微分と共に誤差信号eに基づいて計算され、3つの項の各々は、既定のゲイン定数を有する。ロボットの場合、制御モジュール110によって計算される制御信号は通常、現在の制御サイクルについてロボットにおける各関節モータのトルクを定めたトルクベクトルuで構成されている。
トルクベクトルuは、制御モジュール110から「プラント」120に提供され、「プラント」120は、ロボットの場合、ロボットのアーム、関節モータなどを有するロボットである。ロボット関節モータは、トルクベクトルuに応答して、ロボット(質量、慣性など)のシステムダイナミクスに従ってロボットを移動させる。(通常、関節位置及び回転速度によって記載される)新しいロボット状態xは、ロボットセンサ(例えば、関節エンコーダ)によって測定され、ライン130において提供される。ロボット状態xはまた、フィードバックライン140においてジャンクション102に提供され、ここで、ロボット状態xは、次のロボット制御サイクルについて誤差信号eを計算するために使用される。
図1の典型的なPID制御技術は、ロボットを含む多くのタイプのシステムの制御において充分に機能する。PID制御技術は、外乱除去の強度及びノイズ不感性を示し、高度に非線形ではないシステムに対して特に充分に適合し、当該システムでは、非常に大きい基準ステップは使用されない。しかしながら、いくつかのロボット用途では、高ペイロード質量、急速なロボットモーション(例えば、高加速度)、及び大きいロボット構成変化の組合せは、著しくかつ変化する動的応答特性をロボットに示させる。当該用途では、PID制御技術は、最も効果的に機能しない場合がある。
図2A及び図2Bは、姿勢または構成の変化を受ける産業用ロボット200の簡略化した図であり、ここで、構成変化は、ロボットの動的応答の著しい変化をもたらす。ロボット200は、図2A/図2Bにおいて2次元で示されているが、ロボット200は、5軸及び6軸ロボットなどの任意の関節式産業用ロボットを表し、関節軸のうちのいくつかが、他のものに対して直交し、一般的な3次元(3D)移動の能力を提供することを理解されたい。ロボット200は、ロボットコントローラ202によって制御される。コントローラ202によって採用される制御方法は、本開示の主題である。
ロボット200は、固定の台座210と、垂直軸の関節212を介して台座210に接続されたベース220と、関節222を介してベース220に接続されたアーム230と、関節232を介してアーム230に接続されたアーム240と、関節242を介してアーム240に接続されたアーム250と、関節252を介してアーム250に接続されたツール260と、を含む。ツール中心点262は、ツール260上で定められている。ロボット200における関節の各々は、回転関節であり、当該回転関節は、コントローラ202によって命令される通りに関節においてトルクを提供するモータ(例えば、サーボモータ)を有し、角位置データを提供してコントローラ202に戻す関節エンコーダを有する。ロボット200は、単なる例示であって、本説明の目的に適合するように描かれている。他のロボットは、異なる数のアーム及び関節、すなわち、垂直ではない第1の関節、あるアームの別のアームに対する軸回転を可能にする関節などを含み得る。
図2A及び図2Bの両方において、上述の要素の全てを認識できる。図2Aでは、ロボット200は、近いリーチ姿勢で構成されており、ここで、アームは、ツール中心点262を台座210の近くに配置するように折り畳まれている。図2Bでは、ロボット200は、遠いリーチ姿勢で構成されており、ここで、アームは、台座210から可能な限り遠い位置までツール中心点262を延ばすように、実質的に端から端まで引き伸ばされている。ロボット200は、図2Aの構成において、図2Bの構成とは著しく異なる動的応答特性を示すことが当業者によって容易に理解され得る。すなわち、図2A(及び同様のコンパクトな姿勢)では、アーム重心は全て、台座210に比較的近く、垂直軸の関節212周りの当該アーム重心の質量慣性モーメントを比較的低くする。対照的に、図2B(及び同様の延ばされた姿勢)では、アーム重心は全て、台座210から比較的遠く、垂直軸の関節212周りの当該アーム重心の質量慣性モーメントを比較的高くする。ツール260がスポット溶接装置などの重いツールである場合、またはツール260が重い物体を搬送する場合、この効果は更に増幅される。ロボット200の他の動的応答特性(例えば、コリオリ行列)も同様にロボット構成の変化によって影響を受ける。
図2A及び図2Bに示される著しい構成変化は通常、いくつかのロボット用途において生じる。例えば、スポット溶接用途では、ツール中心点(スポット溶接機)を多くの異なる溶接点位置に移動させる必要があり、そのうちのいくつかはロボットベースに近い場合があり、そのうちのいくつかは離れている場合があり、可能な限り迅速に溶接操作間の移動を完了させる必要がある。同様に、マテリアルハンドリング用途では、部品ピックアップ位置からドロップオフ位置までツール中心点(例えば、グリッパまたはリフトフォーク)を移動させる必要があり、ある位置はロボットベースに近い場合があり、他の位置は離れている場合があり、可能な限り迅速にピックアップとドロップオフとの間の移動を完了させる必要がある。
ロボットダイナミクスにおける構成ベースの変化を適切に反映させるために、PIDなどの典型的な制御技術ではなく、ロボットコントローラにおいてモデル予測制御(MPC)を使用することが可能である。MPCは、動的システム(この場合、ロボット)のシミュレーションモデルを実行し、経時的に反復して最適化計算を行って、あるセットの制約を満たしつつロボットモーションの目的を満たす制御信号(例えば、モータトルク)の値を計算することを伴う技術である。MPCコントローラにおいて使用されるロボットシステムモデルは本質的に、図2A及び図2Bに示されるようなロボット構成の変化から生じる動的応答を反映させる。
図3は、本開示の実施形態に係る、ロボットなどのシステムの制御に使用されるモデル予測制御(MPC)技術のブロック図300である。システム300では、基準信号rは、制御モジュール310に提供される。図1の制御モジュール110とは異なり、制御モジュール310は、システムの一般的な挙動に調整される定数を用いた計算を使用して制御信号を計算しない。代わりに、制御モジュール310は、システム動的モデル及び最適化ソルバを含んで、基準信号rに従って最良のロボット応答をもたらす制御信号の最適値を計算する。
トルクベクトルuに再び具現化されるボックス310からの制御信号はプラント320に提供され、この場合、プラント320は、ロボットのモータ及びロボットの機械的特性を有するロボットである。トルクベクトルuは、ロボットにおける関節モータの各々についてのトルク命令を含む。プラント320(すなわち、ロボット)は、図1に対して前述したようなモータトルク信号に応答し、ロボット状態x(関節位置及び速度)は、ライン330において出力され、ライン340において制御モジュール310へのフィードバックとしても提供される。
図3は、基本概念の形態で、高度なレベルのシステム300を示す。システム300は、従来技術の制御技術では不可能な性能特性を達成するためにシステムモデル及び最適化計算がロボット挙動の他の態様を制御するように構成され得る。以下で詳細に記載される本開示の予測モーション制御及び振動抑制システムは、既存の制御方法及びシステムの欠点を克服する当該構成を含む。
図4は、本開示の実施形態に係る、トルク率制御及び振動抑制を伴うモデル予測制御技術を含む産業用ロボットモーション制御システム400のブロック図である。システム400は、最適化ブロック412及びダイナミクスモデルブロック414を有する制御モジュール410を含む。制御モジュール410は、ライン402において基準信号rを、フィードバックライン450及び460においてロボット状態データ
を受信する。最適化ブロック412は、最適制御シーケンスまたは信号を計算して規定の基準を達成し、ダイナミクスモデルブロック414は、将来の状態を予測するために最適化計算において使用される。予測された将来の状態が、ある許容差の範囲内で基準状態と一致し、システム制約が満たされるまで、最適化ブロック412及びダイナミクスモデルブロック414は反復して動作する。最適化ブロック412及びダイナミクスモデルブロック414において行われる計算の詳細は以下で論じられる。
一実施形態では、制御モジュール410の出力は、ロボット420(「プラント」)に提供されるモータトルクベクトルuである。ロボット420は、モータ422及びメカニクス424を含む。任意の電気モータのようなロボット420におけるモータ422は、どんなに多くの追加の磁化電流が提供されても磁束密度が横ばいになる飽和を経験し得る。換言すれば、モータ422は、無制限の量のトルクを伝えることはできない。モータの飽和が原因で、入力ステップが大きい場合、ロボット関節は、その目標位置を通り過ぎ得る。これにより、制御モジュール410が、滑らかで正確なモータトルクベクトル制御をロボット420に提供することが重要になる。
ロボットメカニクス424は、ロボット420におけるアーム及び関節の質量、慣性、及び摩擦特性の全てを含む。概して、関節モータ422及びメカニクス424は、モータトルクベクトルuに応答し、関節速度
及び積分ブロック430の後の関節位置qによって定められる新しい状態をロボット420に想定させる。ロボット状態データ
は、前述のようにフィードバックライン450及び460において制御モジュール410に提供される。
以下は、制御モジュール410において採用される数学的定式化及び計算の説明である。
ロボットダイナミクスは、モーションの以下の式を使用して計算され得る。
ここで、Mは、ロボットにおける全てのアーム/リンクの質量及び慣性特性を定めた慣性行列であり、Cは、コリオリ行列であり、Gは、重力ベクトルである。M及びC行列は、6×アーム/リンクの数の次元を有する。Gベクトルは、6×1の次元を有する。M、C、及びG行列/ベクトルは全て、関節位置qの関数であり(すなわち、それに基づいて定められ)、ここで、
は、1×ロボット関節の数の次元を有するベクトルである。式(1)における関節位置qは、図4のライン440における関節位置qに対応し、導関数についても同様である。τは、ロボットにおける関節モータの各々でトルクを定めたトルクベクトルである。
そして、前述したように、u=τ(すなわち、制御モジュール410からの制御信号が式(1)のモータトルクである)とし、ロボット状態ベクトルxが以下のように定められるとする。
そして、上記の式(1)及び(2)から、ロボット状態の変化は、ロボット状態x自体及び適用されたトルクuの関数であるということになる。すなわち、
そして、式(3)における連続時間システムは、有限要素における直交選点法によって離散化される。上記の全てを使用して、MPC制御において使用される最適化計算は以下のように定められ得る。
s.t.以下の制約が満たされる。
k+1=f(x、u) (5)
lb≦x≦xub (6)
lb≦u≦uub (7)
式(4)~(8)では、xは、その下付きによって指定されるような様々なステップでのロボット状態ベクトルであり、uは、モータトルクベクトル(制御モジュールの出力、ロボットへの入力)であり、x及びuについては上述した。下付きは以下の意味を有する、すなわち、Nは予測範囲であり、kは、時間ステップの添え字(すなわち、1、2、...、N)であり、rは、基準値(図4のライン402における入力)を指定する。更に、ノルムにおける下付きQ及びRは、状態及び入力変数に重み付けするための正定値行列であり、例として、
である。
式(4)は、入力変数(トルクu)を変更することによって、基準状態(与えられる目標状態)と、システムダイナミクスモデル(式(3))によって計算される状態とのずれを最小化する最適化目的関数である。式(5)は、xの現在のステップ値及び入力変数uの現在のステップ値に基づいて、状態変数xについての次のステップ値をどのように予測するかを定めた等式制約であり、これは、システムダイナミクスモデル(式(3))を使用して決定される。式(6)及び(7)はそれぞれ、状態変数x及び入力変数uの許容値に上界及び下界を置いた不等式制約である。そして、式(8)は、(k=0の場合の)最適化計算における初期ステップについての状態xが、センサからのロボット状態フィードバック信号によって観測されるような、前の基準rの完了時のロボット状態と等しいことを定める。
一実施形態では、上述の最適化及びシステムダイナミクス計算は、ロボット構成の変化に関連付けられたロボットシステムダイナミクスの変化を考慮し、かつ(モータの飽和に関連付けられたトルク限界などの)現実世界の制約も組み込みつつ、所与のロボット基準状態を達成するために、MPCベースのコントローラ(例えば、図4の制御モジュール410)で使用されてロボットモータトルクを制御し得る。
産業用ロボットでは、過度な値のジャーク(関節角加速度の変化率)は、ロボットにおける振動、ロボット関節における大きい力及びトルク、並びに関節及び関節モータにおける早期の摩耗をもたらすことが知られている。本開示は、ロボットモーションプログラムに従い、ロボットシステムダイナミクスを正確にモデル化し、かつシステム制約に準拠しつつ、ロボット関節においてジャークを制御する技術を提供する。これは、前述のMPCベースの制御計算を更に向上させることによって行われ、この好ましい実施形態は、以下で詳細に記載される。
上記の式(1)で列挙されたロボットダイナミクスを定めたモーションの式を呼び戻す。式(1)の時間導関数をとると、以下の結果となる。
式(9)における変数は全て、式(1)に対して上記で定められたものであり、ここで、変数の上のドット
は、前に定められた行列またはベクトルの時間導関数を示す。したがって、
は、モータトルクの変化率(「トルク率」)であり、
は、ロボット関節におけるジャーク(加速度の変化率)である。
好ましい実施形態では、トルク率は、(トルクの代わりに)ロボット制御変数として使用され、トルク及びトルク率の両方が、最適化計算における制約によって制限される。当該技術を使用して、ロボット関節におけるジャークが制御され得る。
したがって、トルク率MPC定式化では、
(すなわち、制御モジュール410からの制御信号が式(9)のモータトルク率である)とし、ロボット状態ベクトルxが以下のように定められるとする。
そして、上記の式(9)及び(10)から、ロボット状態の変化は、ロボット状態x自体及び適用されたトルクuの関数であるということになる。すなわち、
そして、式(11)における連続時間システムは、有限要素における直交選点法によって離散化される。(トルクに基づいた式(3)を使用するのではなく)式(11)を使用して、ロボットダイナミクスをトルク率の関数として定めると、図4のMPC制御モジュール410において使用される最適化計算は以下のように定められ得る。
s.t.以下の制約が満たされる。
k+1=f(x、u) (13)
lb≦x≦xub (14)
lb≦u≦uub (15)
式(12)~(16)の最適化定式化において、ここで状態変数xは、式(10)において定められるように、関節モーションと共にトルクτを含み、ここで制御変数uは、トルク率
である。したがって、式(12)の最適化目的関数において、ここで制御変数uは、トルク項(τ)ではなく、トルク率項
である。ここで、式(13)のロボットダイナミクス制約は、トルク率ベースである式(9)において定められるようなモーションのロボット式を使用して、次のステップk+1でのロボット状態xを予測する。式(14)は、ロボット状態xにおける上界及び下界を定めた前述の式(6)と同じである。ロボット状態xがトルクτを含むため、式(14)の不等式制約は、関節モータトルクにおいて上界及び下界を強いて、トルクが、規定された限界の範囲内にとどまっていることを保証する。式(15)は、この定式化において制御変数uであるトルク率
に限界を置いた不等式制約である。式(16)は、前述の式(8)と同じである。
式(9)~(16)において具現化され上述したロボット予測制御定式化は、目的関数及び制約の両方においてトルク率を含み、それによって、ロボット関節においてジャークを制御し、同時に、大きい構成変化を受けるロボットに関連付けられた複雑なロボットダイナミクスを含むロボットモーションプログラムに従う。この機能の組合せは、典型的な制御技術を使用するかまたはそうでないかに関わらず、既存のロボット制御方法では利用可能でない。
特に式(9)における上述のモデル予測制御(MPC)定式化は、ロボット構成の変化の結果を含むロボットダイナミクスをモデル化する。しかしながら、いくつかのロボット用途では、エンドツーリング(またはロボットによって搬送される材料ペイロード)は、ロボット動的応答に影響を与え得る質量及び柔軟性を追加する。このような場合、MPC定式化においてエンドツーリング(またはペイロード)振動ダイナミクスを含めることが有利である。
図5は、本開示の実施形態に係る、図4の制御モジュールにおけるモデル予測制御計算に組み込まれるエンドツーリングの質量-ばね-ダンパシステム500を有する図2A/図2Bのロボット200の図である。図2A/図2Bに対して前述したロボット200は、概して単純な小さいリンクによって表されるツール260を含んでいた。ツール260は、ロボットアーム250に接続されたものとして示されていた。図5では、右の分解図は、質量-ばね-ダンパシステム500がツール260に置き換わったロボットアーム250を示す。
質量-ばね-ダンパシステム500は、ばね520及びダンパ530を介してロボットアーム250に接続されたツール質量510を含む。ツール質量510は、スポット溶接装置などの重いツールの質量、またはロボット200によって搬送されている重い材料ペイロードの質量を表すmの質量値を有する。ばね520はばね定数Kを有し、ダンパ530は減衰定数Dを有し、その値は経験的に決定され得る。
関節252(図2)などの追加の回転関節がロボット機械化において含まれ得ることを理解されたい。換言すれば、ツール/リンク260は、図2に示されるように含まれ得、質量-ばね-ダンパシステム500は、ツール/リンク260の端に取り付けられ得る。これは単に、ロボット設計/アーキテクチャの事項である。重要な点は、質量-ばね-ダンパシステム500が、ロボットに接続される場所がどこであっても、エンドツーリング振動ダイナミクスを制御するために、MPC定式化に含まれ得る自由度を追加することである。
ツール質量510は、位置ベクトルpを有し、ロボットアーム250の端は、位置ベクトルpを有する。質量-ばね-ダンパシステム500は、図5のロボット200の2D図において2自由度(DOF)システムとして示されている。したがって、位置ベクトルp及びpは、点の各々についてx及びy位置を含む。当業者によって理解されるように、(x、y、及びz位置を含む)3DOF定式化または(3つの位置及び3つの回転を含む)6DOF定式化も定められ得る。
以下は、上述の質量-ばね-ダンパシステム500を使用してどのようにエンドツーリング振動ダイナミクスがモデル化されるかについての説明である。ロボットアーム520の端に対するツール質量510のたわみは、残留変位e=p-pとして定められる。そして、振動ダイナミクスは以下のように定められ得る。
ここで、Jは、デカルト空間と関節空間との間の関係を定めたヤコビ行列であり、ドットまたはダブルドットを有する変数はそれぞれ、1次または2次導関数である。
そして、システム状態が
及び
と定められるとする。そして、式(17)及び質量-ばね-ダンパシステム500に関連する上記の定義を考慮すると、エンドツーリング振動ダイナミクスは以下によって記載され得るということになる。
そして、式(18)における連続時間システムは、有限要素における直交選点法によって離散化される。ロボットダイナミクスと共にエンドツール振動ダイナミクスを含む、MPC制御において使用される最適化計算は、上記の全てを使用して以下のように定められ得る。
ここで、上記の目的関数は、以下の制約が満たされていることを条件として最小化される。
k+1=f(x、u) (20)
ξk+1=f(ξ、x) (21)
ここで、式(19)が、最小化されるエンドツーリング振動ダイナミクスについての項を含むことを除いて、上記の目的関数は、前述の式(4)と同様である。制約式(20)は、前述の式(5)と同じであり、xの現在のステップ値及び入力変数uの現在のステップ値に基づいて、状態変数xについての次のステップ値をどのように予測するかを定める。式(21)は、ξの現在のステップ値及び状態変数xの現在のステップ値に基づいて、状態変数ξについての次のステップ値をどのように予測するかを定めた等式制約であり、これは、エンドツーリング振動ダイナミクスモデル(式(18))を使用して決定される。式(22)及び(23)はそれぞれ、状態変数x及び入力(制御)変数uの許容値または実行可能値を定め、これらは、前述の式(6)~(7)(許容値に上界及び下界を置いた不等式制約)と同じであり得る。式(24)は、前述の式(8)と同じである。
式(19)~(24)において上述したMPC定式化は、エンドツーリング振動ダイナミクス(図5の質量-ばね-ダンパシステム500)を前述の式(4)~(8)のトルクベースのロボット制御定式化に追加する。別の実施形態では、エンドツーリング振動ダイナミクスは、式(12)~(16)のトルク率ベースのロボット制御定式化に追加され得、モータの飽和が存在していても規定のモーションプログラムに正確に従いつつ、図2A及び図2Bに示されるようなロボット構成の変化に関連付けられたロボットダイナミクスの変化を本質的に組み込んだシステムにおいて、当該実施形態は、トルク率ロボット制御(ロボット関節におけるジャークの管理)及びエンドツーリング振動ダイナミクスモデル化(振動抑制)の利点を組み合わせる。
上述のトルク率モデル予測制御技術は、規定のロボットモーションプログラムに従いつつ、適用されるトルク率を制御することによって既定の限度内にロボット関節におけるジャークを含むことがシミュレーションにおいて実証された。対照的に、同じロボットモーションプログラムがトルクベースのMPC実装を使用して制御された場合、ロボット関節におけるジャークは、シミュレーションにおいて複数の点で許容値を超えた。
別のセットのシミュレーションでは、エンドツーリング振動ダイナミクスがMPCコントローラに追加された場合、エンドツーリング振動ダイナミクスがモデル及び最適化計算に含まれない比較可能なMPCコントローラと比較すると、振動の振幅が低減され振動がはるかにより迅速に抑制された(減衰した)。
図6は、本開示の実施形態に係る、ロボット予測モーション制御及び振動抑制のための方法のフローチャート図600である。フローチャート図600のステップは、図2A及び図2Bのロボットコントローラ202及びロボット200を使用して行われる。
ボックス602で、ロボットモーションプログラムが提供される。モーションプログラムは、コントローラ202自体によって計算され得るか、またはモーションプログラムは、外部コンピュータによって計算されてコントローラ202に提供され得る。例えば、モーションプログラムは、マテリアルハンドリング用途において、ロボットグリッパがピック位置からプレース位置まで移動するモーションを規定し得るか、またはモーションプログラムは、スポット溶接ツールが前の溶接位置から次の溶接位置まで移動するモーションを規定し得る。モーションプログラムは、前述のような基準ステップrに分割される。
ボックス604で、ロボット200に送信する制御信号を決定するために、モデル予測制御(MPC)計算がロボットコントローラ202において行われる。上述のように、MPC定式化は、システム制約を満たしつつロボットに対して基準ステップモーションに最適に従わせる制御信号に収束するシステムダイナミクスモデル及び最適化計算を使用する。当該制約は、システムダイナミクスモデルに従って作用することを含み、システム状態変数(応答)及び制御変数(入力)は、許容限界の範囲内にとどまっている。
ボックス604において使用されるMPC定式化の様々な実施形態を上記で詳細に記載した。式(9)~(16)は、トルク率が制御変数(ロボットへの入力)である実施形態を記載しており、ここで、トルク率は、最適化目的関数における項に含まれており、制約にも含まれている。本実施形態は、ロボット関節においてジャークを制御するのに効果的であることが示された。式(17)~(24)は、エンドツーリング振動ダイナミクスが、最適化目的関数における項としてトルクベースのMPC定式化に追加され、制約にも含まれる実施形態を記載した。本実施形態は、大きいエンドツーリング質量及び高いロボット加速度によるロボットシステムにおける振動を管理するのに効果的であることが示された。好ましい実施形態では、MPC定式化は、制御変数としてトルク率を使用し、エンドツーリング振動ダイナミクスも含む。すなわち、トルク率項及びエンドツーリングダイナミクス項の両方が最適化目的関数に含まれ、トルク率及びエンドツーリングダイナミクスの両方が制約に含まれる。本実施形態では、現実世界のモータの飽和特性を有していても、規定のモーションプログラムに従い、ジャークはロボット関節において定められた限度内に制御され、ロボットシステム振動は、振幅が低減されより迅速に減衰する。
ボックス606で、ロボット関節制御信号が、ロボットコントローラ202からロボット200に提供される。上述の好ましい実施形態では、関節制御信号は、ロボット200における各関節についてのトルク率信号である。ボックス608で、ロボット200は、図4のボックス420に示されるように、ロボットの機械的特性及びモータ性能特性に従ってトルク率入力信号に応じて移動する。ロボット状態(関節角及び角速度、並びにトルク率が制御変数である場合には関節トルクも)は、図4に示されるようなロボットコントローラ202の制御モジュールへのフィードバックとして提供され、ボックス608から図6のボックス604へのリターンループにおいても提供される。ロボット状態データは、前述のようにMPC計算において基準ステップ信号と共に使用される。
ロボット200が、1つのセットの入力(トルク率)信号に対応したロボット200のモーションを完了させると、次のセットの入力(トルク率)信号を計算するために、次の基準ステップ信号rがMPC制御モジュールにおいて使用される。本プロセスは、ロボットモーションプログラムが完了する(例えば、ロボットがワークピースをその目的位置にドロップオフする)まで継続し、その時点で、新しいモーションプログラムがボックス602において提供される。
前述の説明の全体を通して、様々なコンピュータ及びコントローラが記載及び示唆される。当該コンピュータ及びコントローラのソフトウェアアプリケーション及びモジュールは、プロセッサ及びメモリモジュールを有する1つ以上の電子計算デバイス上で実行されることを理解されたい。特に、これは、上述の図2A及び図2Bのロボットコントローラ202においてプロセッサを含み、ここで、コントローラ202は、図3の制御モジュール310及び図4の制御モジュール410を含むと理解される。具体的には、コントローラ202及び制御モジュール410におけるプロセッサは、前述の式において具現化され上述したトルク率制御及び振動抑制を伴うロボット予測モーション制御計算を行うように構成されている。
トルク率制御及び振動抑制を伴うロボット予測モーション制御のための方法及びシステムの多数の好ましい態様及び実施形態を上述したが、当業者は、その修正、並べ替え、追加、及び副次的組合せを認識するであろう。したがって、以下の添付の特許請求の範囲及び以下で組み込まれる特許請求の範囲は、これらの真の精神及び範囲内にあるように、そのような修正、並べ替え、追加、及び副次的組合せを全て含むと解釈されることが意図される。

Claims (22)

  1. ロボット予測制御のための方法であって、前記方法は、
    ロボットにモーションプログラムを提供することと、
    プロセッサ及びメモリを有するコンピュータを使用して予測制御計算を行うことであって、前記計算は、予測されるロボット状態をトルク率ベクトルに基づいて計算するモーションのロボットダイナミクス式を定めた制約、及び前記トルク率ベクトルにおいて限界を定めた制約を満たしつつ、前記予測されるロボット状態と前記モーションプログラムからの基準ロボット状態との差を最小化するように前記トルク率ベクトルを決定する目的関数を有する最適化計算を含む、ということと、
    前記コンピュータから前記ロボットに前記トルク率ベクトルを提供することと、
    前記トルク率ベクトルに応じて前記ロボットが移動することと、
    を含む、方法。
  2. 前記トルク率ベクトルは、前記ロボットにおける各関節モータについてのトルク変化率を含む、請求項1に記載の方法。
  3. 前記トルク率ベクトルは、前記最適化計算において制御変数として定められ、前記最適化計算における状態変数は、関節角位置、速度及び加速度ベクトル、並びに関節トルクベクトルを含む、請求項1に記載の方法。
  4. 前記最適化計算は、計画範囲における一連のステップについて、前記予測されるロボット状態を計算する、請求項1に記載の方法。
  5. 前記最適化計算は、収束するように実行され、前記トルク率ベクトルは、前記コンピュータの各制御サイクルにおいて前記ロボットに提供される、請求項4に記載の方法。
  6. 各制御サイクルにおいて、前記モーションプログラムからの前記基準ロボット状態の新しい値が提供され、現在の実際のロボット状態ベクトルは、フィードバックとして前記コンピュータに提供され、前記最適化計算において初期条件制約として使用される、請求項5に記載の方法。
  7. 前記最適化計算において使用される追加の制約は、関節角位置、速度及び加速度ベクトル、並びに関節トルクベクトルを含む状態変数において上界及び下界を定める、請求項1に記載の方法。
  8. モーションの前記ロボットダイナミクス式は、関節角速度、加速度、及びジャーク項の各々に慣性行列若しくはコリオリ行列または前記行列のうちの1つの変化率を掛けたものを含む項の和と前記トルク率ベクトルを等式化する、請求項1に記載の方法。
  9. 前記トルク率ベクトルにおける前記限界は、定められた限度内に関節角ジャーク値を維持するように選択される、請求項1に記載の方法。
  10. エンドツーリングの質量-ばね-ダンパシステムが前記最適化計算の前記目的関数及び前記制約に含まれることを更に含む、請求項1に記載の方法。
  11. エンドツーリング振動は、ツール対アームの残留変位ベクトル及び前記残留変位ベクトルの変化率を含むシステム状態として定められ、前記目的関数は、前記エンドツーリング振動にペナルティを科す項を含み、前記制約は、前記エンドツーリング振動を予測するために前記質量-ばね-ダンパシステムをモデル化する式を含む、請求項10に記載の方法。
  12. ロボット予測制御のための方法であって、前記方法は、
    ロボットにモーションプログラムを提供することと、
    プロセッサ及びメモリを有するコンピュータを使用して予測制御計算を行うことであって、前記計算は、ロボットエンドツーリング振動及び前記モーションプログラムからのずれを最小化するようにトルク率ベクトルを決定する最適化計算を含む、ということと、
    前記コンピュータから前記ロボットに前記トルク率ベクトルを提供することと、
    前記トルク率ベクトルに応じて前記ロボットが移動することと、
    を含み、
    前記最適化計算は、制約を満たしつつ、予測されるロボット状態と前記モーションプログラムからの基準ロボット状態との差を最小化する目的関数を含み、前記制約は、
    前記予測されるロボット状態を前記トルク率ベクトルに基づいて計算するモーションのロボットダイナミクス式と、
    エンドツーリング振動状態を前記予測されるロボット状態に基づいて計算するモーションのエンドツーリングダイナミクス式と、
    前記トルク率ベクトルにおいて限界を定めた制約と、
    を含む、方法。
  13. 前記最適化計算において使用される追加の制約は、関節角位置、速度及び加速度ベクトル、並びに関節トルクベクトルを含む状態変数において上界及び下界を定める、請求項12に記載の方法。
  14. ロボット予測制御システムであって、前記システムは、
    ロボットと、
    プロセッサ及びメモリを有するロボットコントローラと、
    を備え、前記コントローラは、前記ロボットと通信し、制御モジュールで構成されており、前記制御モジュールは、予測されるロボット状態をトルク率ベクトルに基づいて計算するモーションのロボットダイナミクス式を定めた制約、及び前記トルク率ベクトルにおいて限界を定めた制約を満たしつつ、前記予測されるロボット状態と既定のモーションプログラムからの基準ロボット状態との差を最小化するように前記トルク率ベクトルを決定する目的関数を有する最適化計算を含む予測制御計算を行い、
    前記ロボットコントローラは、前記トルク率ベクトルを前記ロボットに提供し、前記ロボットは、前記トルク率ベクトルに応じて移動する、システム。
  15. 前記トルク率ベクトルは、前記ロボットにおける各関節モータについてのトルク変化率を含み、前記トルク率ベクトルは、前記最適化計算において制御変数として定められ、前記最適化計算における状態変数は、関節角位置、速度及び加速度ベクトル、並びに関節トルクベクトルを含む、請求項14に記載のシステム。
  16. 前記最適化計算は、計画範囲における一連のステップについて、前記予測されるロボット状態を計算し、前記最適化計算は、収束するように実行され、前記トルク率ベクトルは、前記ロボットコントローラの各制御サイクルにおいて前記ロボットに提供される、請求項14に記載のシステム。
  17. 各制御サイクルにおいて、前記モーションプログラムからの前記基準ロボット状態の新しい値が提供され、現在の実際のロボット状態ベクトルは、フィードバックとして前記ロボットコントローラに提供され、前記最適化計算において初期条件制約として使用される、請求項16に記載のシステム。
  18. 前記最適化計算において使用される追加の制約は、関節角位置、速度及び加速度ベクトル、並びに関節トルクベクトルを含む状態変数において上界及び下界を定める、請求項14に記載のシステム。
  19. モーションの前記ロボットダイナミクス式は、関節角速度、加速度、及びジャーク項の各々に慣性行列若しくはコリオリ行列または前記行列のうちの1つの変化率を掛けたものを含む項の和と前記トルク率ベクトルを等式化する、請求項14に記載のシステム。
  20. 前記トルク率ベクトルにおける前記限界は、定められた限度内に関節角ジャーク値を維持するように選択される、請求項14に記載のシステム。
  21. エンドツーリングの質量-ばね-ダンパシステムが前記最適化計算の前記目的関数及び前記制約に含まれることを更に含む、請求項14に記載のシステム。
  22. エンドツーリング振動は、ツール対アームの残留変位ベクトル及び前記残留変位ベクトルの変化率を含むシステム状態として定められ、前記目的関数は、前記エンドツーリング振動にペナルティを科す項を含み、前記制約は、前記エンドツーリング振動を予測するために前記質量-ばね-ダンパシステムをモデル化する式を含む、請求項21に記載のシステム。
JP2023117372A 2022-09-26 2023-07-19 トルク率制御及び振動抑制のための予測制御方法 Pending JP2024047541A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/935,293 US20240116178A1 (en) 2022-09-26 2022-09-26 Predictive control method for torque-rate control and vibration suppression
US17/935,293 2022-09-26

Publications (1)

Publication Number Publication Date
JP2024047541A true JP2024047541A (ja) 2024-04-05

Family

ID=90140091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023117372A Pending JP2024047541A (ja) 2022-09-26 2023-07-19 トルク率制御及び振動抑制のための予測制御方法

Country Status (4)

Country Link
US (1) US20240116178A1 (ja)
JP (1) JP2024047541A (ja)
CN (1) CN117754559A (ja)
DE (1) DE102023117136A1 (ja)

Also Published As

Publication number Publication date
DE102023117136A1 (de) 2024-03-28
CN117754559A (zh) 2024-03-26
US20240116178A1 (en) 2024-04-11

Similar Documents

Publication Publication Date Title
Eppinger et al. Introduction to dynamic models for robot force control
CN108189036B (zh) 力矩控制方法、装置、机器人及存储介质
US20200282558A1 (en) System and method for controlling a robot with torque-controllable actuators
KR102003445B1 (ko) 로봇 매니퓰레이터의 개방 루프 제어 및 폐쇄 루프 제어를 수행하는 장치 및 방법
Tan et al. Minimum time trajectory planner for the discrete dynamic robot model with dynamic constraints
Caccavale et al. Integration for the next generation: embedding force control into industrial robots
Ghaleb et al. Modeling and control of 2-DOF robot arm
US11975451B2 (en) Simulation-in-the-loop tuning of robot parameters for system modeling and control
Wells et al. Feedforward and feedback control of a flexible robotic arm
Kazerooni Constrained by a Rigid Environment
Saied et al. From non-model-based to model-based control of pkms: a comparative study
Huang et al. Modeling and simulation of 6 DOF robotic arm based on gazebo
Žlajpah et al. Unified virtual guides framework for path tracking tasks
Escorcia-Hernández et al. Adaptive RISE feedback control for robotized machining with PKMs: Design and real-time experiments
Rhee et al. Hybrid impedance and admittance control of robot manipulator with unknown environment
JP2024047541A (ja) トルク率制御及び振動抑制のための予測制御方法
Euler et al. Self motion determination based on actuator velocity bounds for redundant manipulators
Callegari et al. Position control of a 3-CPU spherical parallel manipulator
Cruz et al. Application of robust discontinuous control algorithm for a 5-DOF industrial robotic manipulator in real-time
Vladareanu et al. Dynamic control of a walking robot using the versatile intelligent portable robot platform
Cvetković et al. Open closed-loop PDmi/PD type ILC control of Neuroarm robotic system
Abou Elyazed et al. Trajectory planning of five DOF manipulator: dynamic feed forward controller over computed torque controller
Moreno-Valenzuela Time-scaling of trajectories for point-to-point robotic tasks
Rajan et al. Foundation Studies for an alternate approach to motion planning of dynamic systems
Yime Rodríguez et al. Calculated torque control of a planar parallel robot 2-RR