JP2016005296A - モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 - Google Patents
モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 Download PDFInfo
- Publication number
- JP2016005296A JP2016005296A JP2014122233A JP2014122233A JP2016005296A JP 2016005296 A JP2016005296 A JP 2016005296A JP 2014122233 A JP2014122233 A JP 2014122233A JP 2014122233 A JP2014122233 A JP 2014122233A JP 2016005296 A JP2016005296 A JP 2016005296A
- Authority
- JP
- Japan
- Prior art keywords
- control
- motor
- value
- weight ratio
- target value
- 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
Links
Images
Landscapes
- Manipulator (AREA)
- Feedback Control In General (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
【課題】駆動時の制御モードを切り換える際に制御指令値を大きく変化させることなく、モータの回転に大きな加速度又は減速度を発生させず振動の発生を抑制できるモータ駆動装置の制御方法及びモータ駆動装置を提供する。
【解決手段】モータ制御部81は、モータ101aへの外因負荷に基づいて生成される制御目標値135と、制御目標値135に基づいて生成されるフィードフォワード値である規範モデル値134と、の応答速度差による差分が所定の閾値より大きいか否かを判断し、差分が所定の閾値以上であると判断した場合に、制御目標値135と規範モデル値134との加重比で、規範モデル値134の加重比hを多段階的に低減する調整を行い、加重比hに基づいて制御目標値135と規範モデル値134とを加重平均して制御指令値136として出力する。
【選択図】図4
【解決手段】モータ制御部81は、モータ101aへの外因負荷に基づいて生成される制御目標値135と、制御目標値135に基づいて生成されるフィードフォワード値である規範モデル値134と、の応答速度差による差分が所定の閾値より大きいか否かを判断し、差分が所定の閾値以上であると判断した場合に、制御目標値135と規範モデル値134との加重比で、規範モデル値134の加重比hを多段階的に低減する調整を行い、加重比hに基づいて制御目標値135と規範モデル値134とを加重平均して制御指令値136として出力する。
【選択図】図4
Description
本発明は、モータを備えるモータ制御装置の制御方法、モータ制御装置及びロボット装置に関する。
従来、垂直多関節アーム及びエンドエフェクタ(以下、ロボット本体と呼ぶ)と、ロボット本体を制御する制御装置とを備えたロボット装置が普及している。このようなロボット装置を利用した部品の組立工程等において、ロボット本体の動作時の振動や各軸の動作応答の差異により、エンドエフェクタの位置精度が低下することがある。ロボット装置のエンドエフェクタの位置精度の低下は、工程の停止や組み付け誤差を発生させ工程スループットを低下させる要因となっている。また、部品の嵌合や倣い動作等の作業工程において、ロボット装置のエンドエフェクタの位置精度向上と共に、エンドエフェクタの精密な力制御が求められている。
このようなロボット装置において、駆動時の制御モードとして、例えば、位置制御モードと力制御モードとを択一的に切り換えて駆動可能なものが開発されている(特許文献1参照)。このロボット装置によれば、複数の制御モードを簡易な構成で切り換えることができるようになる。
しかしながら、特許文献1に記載されたロボット装置では、制御モードが例えば位置制御モードと力制御モードとで択一的に切り換えられるので、切換時においては指令値が大きく変化することがある。その場合、ロボット本体等に大きな加速度又は減速度が発生し、振動を生じてしまう可能性があるという問題があった。また、このような問題は、ロボット装置のみに限られず、モータにより駆動するモータ駆動装置の全般で発生する可能性がある。
本発明は、駆動時の制御モードを切り換える際に制御指令値を大きく変化させることなく、モータの回転に大きな加速度又は減速度を発生させず振動の発生を抑制できるモータ駆動装置の制御方法、モータ駆動装置、ロボット装置を提供することを目的とする。
本発明は、モータと、前記モータに制御指令値を出力することにより前記モータの回転を制御する制御部と、を備えるモータ駆動装置の制御方法において、前記制御部が、前記モータへの外因負荷に基づいて生成される制御目標値と、前記制御目標値に基づいて生成されるフィードフォワード値である規範モデル値と、の応答速度差による差分が所定の閾値より大きいか否かを判断する判断工程と、前記制御部が、前記差分が所定の閾値以上であると判断した場合に、前記制御目標値と前記規範モデル値との加重比で、前記規範モデル値の加重比を多段階的に低減する調整を行う加重比調整工程と、前記制御部が、前記加重比に基づいて前記制御目標値と前記規範モデル値とを加重平均して前記制御指令値として出力する出力工程と、を備えることを特徴とする。
また、本発明は、モータと、前記モータに制御指令値を出力することにより前記モータの回転を制御する制御部と、を備えるモータ駆動装置において、前記制御部は、前記モータへの外因負荷に基づいて生成される制御目標値と、前記制御目標値に基づいて生成されるフィードフォワード値である規範モデル値と、の応答速度差による差分が所定の閾値より大きいか否かを判断し、前記差分が所定の閾値以上であると判断した場合に、前記制御目標値と前記規範モデル値との加重比で、前記規範モデル値の加重比を多段階的に低減する調整を行い、前記加重比に基づいて前記制御目標値と前記規範モデル値とを加重平均して前記制御指令値として出力することを特徴とする。
本発明によれば、制御部が、制御目標値と規範モデル値との差分が閾値より大きいか否かを判断し、大きいと判断した場合は規範モデル値の加重比を多段階的に低減し、加重比に基づいて制御目標値と規範モデル値との加重平均を制御指令値として出力する。即ち、力制御を実行する場合は、規範モデル値が制御目標値に対して応答速度差を発生することがあり、この場合は制御目標値と規範モデル値とが大きく離れることがある。このように、差分が所定の閾値より大きい場合に、規範モデル値の加重比を多段階的に低減しているので、制御指令値が規範モデル値から制御目標値に一度に変化することがない。これにより、駆動時に位置制御モードと力制御モードとで制御モードを切り換える際に制御指令値を大きく変化させることなく、モータの回転に大きな加速度又は減速度を発生させず振動の発生を抑制できる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
図1に示すように、ロボット装置1は、ロボット本体(モータ駆動装置)2と、ロボット本体2を制御する制御装置3と、電源4とを備えている。ロボット本体2は、複数の関節を有する6軸の垂直多関節アーム(以下、アームと呼ぶ)20と、エンドエフェクタであるハンド21とを備えている。本実施形態では、アーム20として6軸の垂直多関節アームを適用しているが、軸数は用途や目的に応じて適宜変更してもよい。
ハンド21は、アーム20の先端リンク67に取り付けられて支持され、アーム20の動作により位置及び姿勢の少なくとも一自由度が調整されるようになっている。ハンド21は、ハンド本体24と、ハンド本体24に対して移動可能に配設されて、ワークWを把持可能な複数の指23と、先端リンク67に固定された力覚センサ25とを備えている。アーム20は、7つのリンク61〜67と、各リンク61〜67を揺動又は回動可能に連結する6つの関節71〜76とを備えている。各リンク61〜67としては、長さが固定されたものを採用している。但し、例えば、直動アクチュエータにより伸縮可能なリンクを採用してもよい。
図2に示すように、各関節71〜76は、関節機構101〜106と、モータ制御部(制御部)81〜86と、を備えている。本実施形態では、全ての関節71〜76に関節機構101〜106とモータ制御部81〜86とが設けられているが、これには限られず、複数の関節71〜76のうちの少なくとも一部の関節に設けられていればよい。
関節機構101〜106は、関節71〜76を駆動するモータ101a〜106aと、モータ101a〜106aの回転角度を検知するエンコーダ101b〜106bとを備えている。また、関節機構101〜106は、タイミングベルトやプーリなどによって構成される不図示の動力伝達機構と、歯車等によって構成される不図示の減速機構と、モータ101a〜106aの非通電時に位置姿勢を支える不図示のブレーキ機構等とを備えている。これらモータ101a〜106a及びエンコーダ101b〜106bは、モータ制御部81〜86に接続され、モータ制御部81〜86は、制御装置3に接続されている。尚、関節71〜76の詳細な説明は後述する。
制御装置3は、コンピュータにより構成され、制御目標値135を演算して出力し、モータ制御部81〜86を介してモータ101a〜106aを制御することによりロボット本体2を制御可能になっている。制御装置3を構成するコンピュータは、例えば、CPU30と、各部を制御するためのプログラムを記憶するROM31と、RAM32と、通信制御部(I/F)33とを備えている。RAM32は、ティーチングペンダント5の操作による教示点や制御指令等のデータを一時的に記憶するようになっている。CPU30は、教示点データからロボット本体2の各軸の軌道を生成したり、生成された軌道から各軸の制御目標値135を生成するようになっている。即ち、制御目標値135は、モータ101a〜106aへの外因負荷に基づいて生成され、ここでの外因負荷は、例えば力覚センサ25により検出される。
通信制御部33は、モータ制御部81〜86へ制御目標値を通知するようになっている。制御装置3とモータ制御部81〜86とは、シリアル通信線6により接続されており、各モータ制御部81〜86への制御指令情報及び各モータ制御部81〜86のステータス情報をシリアル通信にて双方向に授受されるようになっている。
ティーチングペンダント5は、制御装置3に対して通信線により着脱可能に接続されており、ロボット操作及び状態表示等のユーザインターフェース機能を有する。また、電源4は電力を供給し、その電力は制御装置3の電源回路34にて、交流−直流変換した後、制御用電源電圧とモータ駆動用電源電圧を生成して電力供給線7から各モータ制御部81〜86へ電力供給される。
次に、ロボット本体2の駆動時における制御装置3とモータ制御部81〜86との間でのシリアル通信でハンドシェイクされる制御指令及び各モータ制御部81〜86のステータス取得シーケンスについて、図3を用いて詳細に説明する。尚、制御装置3とモータ制御部81〜86との間で双方向にハンドシェイクされる処理は、ロボット装置1の起動時から継続して行われる。ハンドシェイクされる対象としては、例えば、ノード情報取得、位置制御、停止、制御パラメータ更新等を含む制御コマンド及び指令実行コマンドと、各モータ制御部81〜86のステータス情報である。
図3に示すように、符号201,202が、それぞれ制御装置3から各モータ制御部81〜86へ1つの制御コマンドを送信する際のハンドシェイクとなる。ロボット本体2の起動時は、2ミリ秒毎に常時通信がなされる。制御装置3は、各軸の制御目標位置データを含む制御コマンドC1,1、C2,1、C3,1、C4,1、C5,1、C6,1を生成する。ここで生成される制御コマンドには、制御目標位置データ以外に各モータ制御部81〜86がモータ制御に使用する制御パラメータ値等の情報も含まれる。制御コマンドは、各軸情報取得、内部状態初期化、制御パラメータ値変更、各軸のモータ回転目標位置指定による位置制御、各軸のモータ回転速度指定による速度制御、各軸のトルク指定によるトルク制御、モータ停止等のコマンドを有するようにできる。また、各コマンドに付加されるパラメータ情報により、同一コマンドにおいて返信情報の切り換えや制御パラメータ変更等を組み合わせて実行することが可能である。
制御装置3の通信制御部33から、制御コマンドC1,1はモータ制御部81へ、制御コマンドC2,1はモータ制御部82へ、制御コマンドC3,1はモータ制御部83へ、それぞれシリアル通信にて送信される。また、制御装置3の通信制御部33から、制御コマンドC4,1はモータ制御部84へ、制御コマンドC5,1はモータ制御部85へ、制御コマンドC6,1はモータ制御部86へ、それぞれシリアル通信にて送信される。各モータ制御部81〜86では、後述する通信制御部81d〜86dに設けられる不図示の受信バッファ内に、制御装置3より受信した制御コマンドを記憶する。
続いて、制御装置3は、各モータ制御部81〜86への制御コマンド受信完了を確認後に、指令実行コマンドE1を同時送信(ブロードキャスト)する。各モータ制御部81〜86は、後述する演算部81c〜86cにより、指令実行コマンドE1を受信割り込み処理にて、直前に受信した制御コマンドを実行開始する処理を実行する。これにより、モータ制御部81では制御コマンドC1,1を、モータ制御部82では制御コマンドC2,1を、モータ制御部83では制御コマンドC3,1を、各通信制御部81d〜83dの受信バッファより読み出して、制御コマンドの実行処理を行う。また、モータ制御部84では制御コマンドC4,1を、モータ制御部85では制御コマンドC5,1を、モータ制御部86では制御コマンドC6,1を、各通信制御部84d〜86dの受信バッファより読み出して、制御コマンドの実行処理を行う。更に、各モータ制御部81〜86は、各々現在のモータ回転位置情報を含むステータス情報S1,1、S2,1、S3,1、S4,1、S5,1、S6,1を制御装置3へ送信する処理を並行して実行する。
続いて、制御装置3は各モータ制御部81〜86より受信したステータス情報に基づいて、次の制御指令生成処理を実行する。これにより、制御装置3は、次回各軸の制御目標位置データを含む制御コマンドC1,2、C2,2、C3,2、C4,2、C5,2、C6,2の生成を行う。制御装置3からの指令実行コマンドEiの送信は、2ミリ秒間隔で実行されている。
このように、制御装置3と各モータ制御部81〜86間で授受される制御コマンドCi,jとステータス情報Si,jとの通信は、指令実行コマンドEiの送信間で全てハンドシェイクされる。尚、添字iは、各モータ制御部81〜86の識別インデックスであり、モータ制御部81〜86は、順に添字i=1〜6に対応する。また、添字jは、制御実行コマンドが送信される毎に1増加する指令実行インデックスである。
次に、各関節71〜76の関節機構101〜106とモータ制御部81〜86とについて、図4を用いて詳細に説明する。尚、ここでは各関節71〜76のうち代表して関節71について説明し、他の関節72〜76については関節71と同様の構成であるので、詳細な説明を省略する。
図4に示すように、関節機構101のモータ101aは、複数の関節71〜76のうちの少なくとも一部の関節の駆動源として設けられ、例えばq軸電流及びd軸電流に基づくベクトル制御により制御可能な3相ブラシレスモータとしている。モータ101aは、モータ制御部81のモータドライバ81bで処理される制御演算によりモータ各相のPWM出力値が設定され、モータ各相にPWM出力される。モータ101aの回転軸には、モータ軸回位置を検出するエンコーダ101bの位置検出回転部が結合されている。
エンコーダ101bは、予め設定される基準位置からの変位量を、変位分解能で定義されるパルス値として検出して、検出パルス値をデジタルデータでシリアル通信にてモータ制御部81へ位置情報として通知する。ここでのエンコーダ101bの検出分解能は17ビット/回転であり、モータ制御部81への位置情報の通知は100マイクロ秒毎に行われるようになっている。
モータ制御部81は、制御基板を備えており、該制御基板に、電源回路81aと、モータを駆動するモータドライバ81bと、演算部81cと、通信制御部(I/F)81dとが実装されている。通信制御部81dは、制御装置3とシリアル通信制御を行うようになっている。
演算部81cは、制御目標値135と、制御目標値135に基づいて演算された規範モデル値134と、の差分が所定の閾値より大きいか否かを判断する。そして、演算部81cは、差分が所定の閾値以上であると判断した場合に、制御目標値135と規範モデル値134とのうちで規範モデル値134の加重比hを多段階的に低減する調整を行う。更に、演算部81cは、加重比hに基づいて制御目標値135と規範モデル値134とを加重平均して制御指令値136として出力するようになっている。尚、規範モデル値134は、制御目標値135に基づいて生成されるフィードフォワード値である。
また、演算部81cは、差分が所定の閾値より小さいと判断した場合に、制御目標値135と規範モデル値134とのうちで規範モデル値134の加重比hを増加する調整を行うようになっている。更に、演算部81cは、加重比hに調整係数を積算することにより加重比hを調整し、差分に基づいて調整係数を多段階的に設定するようになっている。
演算部81cは、不図示のアナログ/デジタル変換器と、制御プログラム及び制御パラメータを記憶する揮発メモリと、制御演算時に一時的に利用する不揮発メモリ等が含まれ、1つのモータ101aの駆動制御処理を実行するようになっている。また、演算部81cは、フィードバック制御ブロック81eと、規範モデルブロック81fと、切換ブロック81gと、加重比設定部81hとを備えている。
フィードバック制御ブロック81eは、モータ軸に結合されるエンコーダ101bから取得される位置情報に基づいてモータ軸位置を目標位置に制御するようになっている。フィードバック制御ブロック81eは、位置PID制御110と、速度PID制御111と、モータトルクに寄与する電流を制御するq軸電流制御112と、モータ界磁電流を制御するd軸電流制御113とをカスケード接続した制御ブロックを備えている。位置PID制御110は、演算部81cに内蔵されるタイマにて2ミリ秒周期で処理されており、モータ回転位置制御目標値とモータ軸回転位置との位置偏差情報に基づいて比例/積分/微分制御を行う所謂PID制御器である。これにより、位置PID制御110は、モータ回転速度制御目標値114を出力する。ここで、位置PID制御110にて処理されるPID制御演算の比例/積分/微分制御各係数値は、モータ制御部81〜86ごとに個別に設定される。ここでの設定は、例えば、モータ制御部81にて駆動するモータ101a及びモータ軸に接続される減速機、リンク負荷、機械特性及び制御帯域、制御安定性を考慮して設定される。
速度PID制御111は、演算部81cに内蔵されるタイマにて0.5ミリ秒周期で処理されている。速度PID制御111は、位置PID制御110の演算結果として出力されるモータ回転速度制御目標値114と周期的に取得されるモータ回転位置情報よりモータ軸回転速度との速度偏差に基づいて比例/積分/微分制御を行う所謂PID制御器である。これにより、速度PID制御111は、電流制御目標値115を出力する。ここで、速度PID制御111にて処理されるPID制御演算の比例/積分/微分制御各係数値は、モータ制御部81〜86ごとに個別に設定される。ここでの設定は、例えば、モータ制御部81にて駆動するモータ101a及びモータ軸に接続される減速機、リンク負荷、機械特性及び制御帯域、制御安定性を考慮して設定される。
速度PID制御111の処理にて出力される電流制御目標値115は、外乱オブザーバ116により補正される処理が実行される。ここでは、まず、電流制御目標値115にトルク定数を乗じた制御指令トルク値と、モータ回転位置情報より算出されるモータ回転加速度値に慣性モーメントを乗じたトルク値と、の差を外乱として補正値117を算出する。そして、速度PID制御111から出力される電流制御目標値115を、補正値117の加算により補正する。
モータ電流制御は、演算部81cに内蔵されるタイマにて0.1ミリ秒周期にて処理されている。補正後の電流制御目標値118は、トルク制限処理119及び機械構成に起因する振動をカットするノッチフィルタ処理120で処理され、電流制御目標値121とされる。q軸電流PID制御112は、電流制御目標値121と、モータ各相に流れる電流情報から算出されるq軸電流値と、の偏差に基づいて比例/積分/微分制御を行うようになっている。一方、d軸電流PID制御113は、モータ各相に流れる電流情報から算出されるd軸電流がゼロとなるように比例/積分/微分制御を行う。
q軸電流及びd軸電流は、モータ制御部81に配設される不図示の制御基板に実装される電流検出素子及びアナログ/デジタル変換器により、3相ブラシレスモータのU/W相電流値をアナログ/デジタル変換した電流値を使用して、数式1で算出される。
数式1の変換式により、クラーク/パーク変換122にて、モータトルクに寄与する電流(q軸電流)とモータ界磁電流(d軸電流)が算出される。q軸電流PID制御112とd軸電流PID制御113の演算結果は、dq軸非干渉化器123にて、数式2の補正式で演算される。
これにより、vd*(符号124)とvq*(符号125)とを算出し、非干渉化したq軸電圧126及びd軸電圧127を算出することができる。更に、q軸電圧126及びd軸電圧127は、数式3の変換式により、逆クラーク/パーク変換128にてモータ各相出力値を決定する。モータ各相出力値は、PWM波形生成129により、PWM波形に変換された後にモータドライバ81bを介して出力される。
規範モデルブロック81fは、モータ制御処理とモータ機械挙動をモデル化するものであり、フィードバック制御処理を疑似した位置制御伝達関数130と、速度制御伝達関数131と、モータ機械挙動をモデル化した伝達関数132とを備えている。位置制御伝達関数130は、モータ機械挙動をモデル化した伝達関数132の出力値を積分器133にて規範モデル値134を、制御装置3から送信される制御目標値135に、制御する位置PID制御をモデル化したものである。これは、数式4の伝達関数で定義される。
比例係数Kpposは、モータ制御部81〜86にて駆動するモータ101a〜106a及びモータ軸に接続される減速機、リンク負荷特性、規範とする制御帯域、制御安定性を考慮した値をモータ制御部81〜86ごとに設定される。積分係数Kiposと、微分係数Kdposも同様である。位置制御伝達関数130の出力値は、規範モデル速度制御目標値及びフィードバック制御ブロック81eにおける速度PID制御111のフィードフォワード信号としてモータ回転速度目標値に加算される。
速度制御伝達関数131は、速度PID制御をモデル化したものであり、数式5の伝達関数で定義される。
比例係数Kpvelは、モータ制御部81〜86にて駆動するモータ101a〜106a及びモータ軸に接続される減速機、リンク負荷特性、規範とする制御帯域、制御安定性を考慮した値をモータ制御部81〜86ごとに設定される。積分係数Kivelと、微分係数Kdvelも同様である。速度制御伝達関数131の出力値は、モータ機械挙動をモデル化した伝達関数132のモータ発生トルク値及びフィードバック制御ブロック81eにおけるq軸電流PID制御112のフィードフォワード信号として電流制御目標値に加算される。
モータ機械挙動をモデル化した伝達関数132は、モータロータをモデル化したものであり、数式6の伝達関数で定義される。
ロータイナーシャJ及び粘性制動係数Dは、各モータ制御部81〜86にて駆動するモータ101a〜106aの機械特性値及びモータ軸に接続される減速機、リンク負荷等の特性値を考慮して設定する。モータ機械挙動をモデル化した伝達関数132から出力される規範モデル速度を積分器133により積分処理した後、制御規範となるモータロータ回転位置とするようになっている。
次に、本発明の特徴である切換ブロック81g及び加重比設定部81hについて、説明する。切換ブロック81g及び加重比設定部81hで実行される処理は、フィードバック制御ブロック81eの位置PID制御110の処理周期である2ミリ秒周期で実行される。
加重比設定部81hは、制御装置3から受信する制御目標値135と規範モデルブロック81fから出力される規範モデル値134の正負を除去した差分を演算するようになっている。そして、加重比設定部81hは、差分に基づいて、制御装置3から受信する制御目標値135と規範モデルブロック81fから出力される規範モデル値134との各加重比を決定する処理を実行するようになっている。
尚、規範モデル値134の加重比をhとし、制御目標値135の加重比を1−hとしている。また、加重比hは0より大きく1以下の値で設定され、ロボット装置1の起動時の初期値は1としている。
切換ブロック81gは、加重比設定部81hで決定された制御目標値135と規範モデル値134との各加重比に基づいて、制御目標値135と規範モデル値134の加重平均値を出力するようになっている。出力された加重平均値は、フィードバック制御ブロック81eの制御指令値136として位置PID制御110に入力されるようになっている。
上述したロボット装置1の制御方法の手順について、図5に示すフローチャートに沿って説明する。
加重比設定部81hは、制御目標値135と規範モデル値134とを取得し(ステップS1)、その正負を除去した差分を演算する(ステップS2)。そして、加重比設定部81hは、得られた差分が予め設定した所定の閾値以上であるか否かを判断する(ステップS3、判断工程)。所定の閾値は、ロボット本体2のシステムの機械特性や、ハンド21及び把持するワーク重量等に基づいて決定される値であり、ロボット装置1で実施される作業内容に応じて適宜設定することができる。本実施形態では、例えば、エンコーダパルス値500[PULSE](0.02[rad])とし、全てのモータ制御部81〜86に同値を設定している。
加重比設定部81hは、得られた差分が予め設定した所定の閾値以上であると判断した場合は、差分に基づいて調整係数αを処理の度に多段階的に設定する(ステップS4、調整係数設定工程)。調整係数αは、加重比調整工程における1ステップで変更される制限係数であり、ロボット本体2のシステムの機械特性や、ロボット装置1が行う作業工程や、ロボット本体2の作業姿勢等に応じて設定される。本実施形態では、1回目の処理において、例えばα=0.7とする。
加重比設定部81hは、規範モデル値134の加重比hに調整係数αを積算して調整し、その値を新たな加重比hとする(ステップS5、加重比調整工程)。このため、制御目標値135と規範モデル値134との差分が閾値より大きい場合は、規範モデル値134の加重比hを下げるようにしている。
そして、加重比設定部81hは、切換ブロック81gに対して加重比h,h−1を設定する(ステップS6)。切換ブロック81gは、制御目標値135に対しては加重比h−1を積算し、規範モデル値134に対しては加重比hを積算し、これらの加重平均を演算し、制御指令値136として出力する(ステップS7、出力工程)。
一方、加重比設定部81hは、得られた差分が予め設定した所定の閾値以上ではないと判断した場合は、差分に基づいて調整係数βを処理の度に多段階的に設定する(ステップS8、調整係数設定工程)。調整係数βは、加重比調整工程における1ステップで変更される制限係数であり、ロボット本体2のシステムの機械特性や、ロボット装置1が行う作業工程や、ロボット本体2の作業姿勢等に応じて設定される。本実施形態では、1回目の処理において、例えばβ=1.4とする。
加重比設定部81hは、規範モデル値134の加重比hに予め設定した調整係数βを積算して調整し、その値を新たな加重比hとする(ステップS9、加重比調整工程)。このため、制御目標値135と規範モデル値134との差分が閾値より小さい場合は、規範モデル値134の加重比hを上げるようにしている。
そして、加重比設定部81hは、加重比hが1を超えているか否かを判断する(ステップS10)。加重比設定部81hが、加重比hは1を超えていると判断した場合は、加重比hを1に設定し(ステップS11)、加重比hが1を超えないようにする。ステップS9の後、あるいは加重比設定部81hが加重比hは1を超えていないと判断した場合は、加重比設定部81hは、上述と同様に加重比h,h−1を設定し(ステップS6)、加重平均を制御指令値136として出力する(ステップS7、出力工程)。
上述したように本実施形態のロボット装置1によれば、モータ制御部81〜86が、制御目標値135と規範モデル値134との差分が所定の閾値より大きいか否かを判断する。そして、モータ制御部81〜86が、差分は閾値より大きいと判断した場合は規範モデル値134の加重比hを多段階的に低減し、加重比hに基づいて制御目標値135と規範モデル値134との加重平均を制御指令値136として出力する。また、モータ制御部81〜86が、差分は閾値より大きくないと判断した場合は規範モデル値134の加重比hを多段階的に増加し、加重比hに基づいて制御目標値135と規範モデル値134との加重平均を制御指令値136として出力する。
即ち、力制御を実行する場合は、規範モデル値134が制御目標値135に対して応答速度差を発生することがあり、この場合は制御目標値135と規範モデル値134とが大きく離れることがある。このように、差分が所定の閾値より大きい場合に、規範モデル値134の加重比hを多段階的に低減しているので、制御指令値136が規範モデル値134から制御目標値135に一度に変化することがない。これにより、駆動時に位置制御モードと力制御モードとで制御モードを切り換える際に制御指令値136を大きく変化させることなく、モータ101a〜106aの回転に大きな加速度又は減速度を発生させず振動の発生を抑制できる。
また、本実施形態のロボット装置1によれば、モータ制御部81〜86が、規範モデル値134と制御目標値135との差分に基づいて調整係数α,βを多段階的に設定する。このため、加重比h,h−1の変化を円滑に行うことができ、モータ101a〜106aの回転に大きな加速度又は減速度を発生させず振動の発生をより抑制できる。
尚、上述した実施形態では、判断工程、調整係数設定工程、加重比調整工程、出力工程の全てをモータ制御部81〜86により実行した場合について説明したが、これには限定されない。例えば、これらの工程の一部又は全部を制御装置3により実行するようにしてもよい。この場合、例えば、制御装置3と各モータ制御部81〜86との間のシリアル通信で受信される各モータ制御部81〜86のステータス情報に基づいて、各モータ制御部81〜86の加重比hを決定する。そして、制御装置3は、制御コマンドの付加情報として加重係数値を含んだ制御コマンドを各モータ制御部81〜86に送信することにより上述の各工程を実行するようにできる。
また、上述した実施形態では、加重比設定部81hは、調整係数α,βを処理の度に多段階的に設定する場合について説明したが、これには限定されず、例えば、調整係数α,βを一定に設定してもよい。この場合、調整係数設定工程が不要になるので、処理を簡素化することができる。
また、上述した実施形態では、モータ駆動装置としてロボット装置1を適用した場合について説明したが、これには限定されない。即ち、本発明は、モータにより駆動されるモータ駆動装置の全般に適用することができる。
また、以上述べた本実施形態の各工程の処理動作は、具体的には演算部81c〜86cのシーケンシャル動作により実行される場合について説明したが、これには限定されない。例えば、上述した工程を有し機能を実現するソフトウェアの制御プログラムを記録した記録媒体をCPUに供給し、CPUが記録媒体に格納されたプログラムを読み出し実行することによって達成されるようにしてもよい。この場合、記録媒体から読み出されたプログラム自体が上述した各実施の形態の機能を実現することになり、ロボット制御プログラム自体及びそのプログラムを記録した記録媒体は本発明を構成することになる。プログラムを供給するための記録媒体としては、例えばROMや、HDD、外部記憶装置、記録ディスク等を用いてもよい。
工場のラインに設置されたロボット装置1により所定の動作を行わせ、ハンド21の手先位置精度と力制御時の力精度とを測定した。
(実施例1)
手先位置精度の計測は、図1に示すロボット本体2を用い、ハンド21には手先位置精度計測用のワークWを把持させた。そして、図6(a)に示すように、ワークWをX軸方向へ45ミリメートル移動させ、ワークWのY軸及びZ軸方向位置の変位量を不図示のレーザ変位計にて定点観測した。尚、ここで使用したレーザ変位計は、KEYENCE製LK−H57であり、0.1ミリ秒周期で計測してデータの取り込みを行った。その結果を、図6(b)に示す。
手先位置精度の計測は、図1に示すロボット本体2を用い、ハンド21には手先位置精度計測用のワークWを把持させた。そして、図6(a)に示すように、ワークWをX軸方向へ45ミリメートル移動させ、ワークWのY軸及びZ軸方向位置の変位量を不図示のレーザ変位計にて定点観測した。尚、ここで使用したレーザ変位計は、KEYENCE製LK−H57であり、0.1ミリ秒周期で計測してデータの取り込みを行った。その結果を、図6(b)に示す。
(比較例1)
上述した本実施形態のロボット装置1を用い、加重比hを1に設定して、上述と同様の測定を行った。その結果を、図6(c)に示す。
上述した本実施形態のロボット装置1を用い、加重比hを1に設定して、上述と同様の測定を行った。その結果を、図6(c)に示す。
(実施例2)
力制御時の力精度の計測は、図1に示すロボット本体2を用い、ハンド21には手先位置精度計測用のワークWを把持させた。そして、図7(a)に示すように、ワークWを−Z軸方向に動作させ、作業台11へF1=10ニュートンの力で5秒間押し付けた。ハンド21に設けられた力覚センサ25により、動作中の押し付け力を2ミリ秒周期で計測した。その結果を、図7(b)に示す。
力制御時の力精度の計測は、図1に示すロボット本体2を用い、ハンド21には手先位置精度計測用のワークWを把持させた。そして、図7(a)に示すように、ワークWを−Z軸方向に動作させ、作業台11へF1=10ニュートンの力で5秒間押し付けた。ハンド21に設けられた力覚センサ25により、動作中の押し付け力を2ミリ秒周期で計測した。その結果を、図7(b)に示す。
(比較例2)
上述した本実施形態のロボット装置1を用い、加重比hを1に設定して、上述と同様の測定を行った。その結果を、図7(c)に示す。
上述した本実施形態のロボット装置1を用い、加重比hを1に設定して、上述と同様の測定を行った。その結果を、図7(c)に示す。
これらの結果から明らかなように、本実施形態のロボット装置1によれば、規範モデル値134を制御指令値136として利用する場合に比べて、以下のような効果が明らかになった。即ち、本実施形態のロボット装置1によれば、位置制御時には手先位置の精度を低下させることがなく、かつ力制御では押し付け力を目標値に小さい振幅で押し付けることができた。このため、力制御時のロボット本体2における振動の発生を抑制することが確認された。
1…ロボット装置、2…ロボット本体(モータ駆動装置)、3…制御装置、20…多関節アーム、71〜76…関節、81〜86…モータ制御部(制御部)、101a〜106a…モータ、134…規範モデル値、135…制御目標値、136…制御指令値、h…規範モデル値の加重比、α,β…調整係数
Claims (8)
- モータと、前記モータに制御指令値を出力することにより前記モータの回転を制御する制御部と、を備えるモータ駆動装置の制御方法において、
前記制御部が、前記モータへの外因負荷に基づいて生成される制御目標値と、前記制御目標値に基づいて生成されるフィードフォワード値である規範モデル値と、の応答速度差による差分が所定の閾値より大きいか否かを判断する判断工程と、
前記制御部が、前記差分が所定の閾値以上であると判断した場合に、前記制御目標値と前記規範モデル値との加重比で、前記規範モデル値の加重比を多段階的に低減する調整を行う加重比調整工程と、
前記制御部が、前記加重比に基づいて前記制御目標値と前記規範モデル値とを加重平均して前記制御指令値として出力する出力工程と、を備える、
ことを特徴とするモータ駆動装置の制御方法。 - 前記加重比調整工程では、前記制御部が、前記差分が所定の閾値より小さいと判断した場合に、前記制御目標値と前記規範モデル値との加重比で、前記規範モデル値の加重比を多段階的に増加する調整を行う、
ことを特徴とする請求項1記載のモータ駆動装置の制御方法。 - 前記加重比調整工程では、前記制御部が、前記加重比に調整係数を積算することにより前記加重比を調整し、
前記制御部が、前記調整係数を設定する調整係数設定工程を備える、
ことを特徴とする請求項1又は2に記載のモータ駆動装置の制御方法。 - 前記調整係数設定工程では、前記制御部が、前記判断工程で演算された前記差分に基づいて前記調整係数を多段階的に設定する、
ことを特徴とする請求項3記載のモータ駆動装置の制御方法。 - 請求項1乃至4のいずれか1項に記載のモータ駆動装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
- 請求項5に記載のプログラムが記録されたコンピュータが読み取り可能な記録媒体。
- モータと、前記モータに制御指令値を出力することにより前記モータの回転を制御する制御部と、を備えるモータ駆動装置において、
前記制御部は、前記モータへの外因負荷に基づいて生成される制御目標値と、前記制御目標値に基づいて生成されるフィードフォワード値である規範モデル値と、の応答速度差による差分が所定の閾値より大きいか否かを判断し、前記差分が所定の閾値以上であると判断した場合に、前記制御目標値と前記規範モデル値との加重比で、前記規範モデル値の加重比を多段階的に低減する調整を行い、前記加重比に基づいて前記制御目標値と前記規範モデル値とを加重平均して前記制御指令値として出力する、
ことを特徴とするモータ駆動装置。 - 複数の関節を含む多関節アームを有するロボット本体と、前記複数の関節のうちの少なくとも一部の関節の駆動源として設けられるモータと、前記モータに制御指令値を出力することにより前記モータの回転を制御する制御部と、を備えるロボット装置において、
前記制御部は、前記モータへの外因負荷に基づいて生成される制御目標値と、前記制御目標値に基づいて生成されるフィードフォワード値である規範モデル値と、の応答速度差による差分が所定の閾値より大きいか否かを判断し、前記差分が所定の閾値以上であると判断した場合に、前記制御目標値と前記規範モデル値との加重比で、前記規範モデル値の加重比を多段階的に低減する調整を行い、前記加重比に基づいて前記制御目標値と前記規範モデル値とを加重平均して前記制御指令値として出力する、
ことを特徴とするロボット装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014122233A JP2016005296A (ja) | 2014-06-13 | 2014-06-13 | モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014122233A JP2016005296A (ja) | 2014-06-13 | 2014-06-13 | モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016005296A true JP2016005296A (ja) | 2016-01-12 |
Family
ID=55224229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014122233A Pending JP2016005296A (ja) | 2014-06-13 | 2014-06-13 | モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016005296A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3217235A1 (en) | 2016-03-11 | 2017-09-13 | Omron Corporation | Motor control apparatus, motor control method, program, and recording medium |
| US10155403B2 (en) | 2017-03-31 | 2018-12-18 | Brother Kogyo Kabushiki Kaisha | Conveyance system |
| WO2021005728A1 (ja) * | 2019-07-09 | 2021-01-14 | 株式会社島津製作所 | 送液ポンプ及び液体クロマトグラフ |
-
2014
- 2014-06-13 JP JP2014122233A patent/JP2016005296A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3217235A1 (en) | 2016-03-11 | 2017-09-13 | Omron Corporation | Motor control apparatus, motor control method, program, and recording medium |
| US9996062B2 (en) | 2016-03-11 | 2018-06-12 | Omron Corporation | Motor control apparatus, motor control method, program, and recording medium |
| US10155403B2 (en) | 2017-03-31 | 2018-12-18 | Brother Kogyo Kabushiki Kaisha | Conveyance system |
| WO2021005728A1 (ja) * | 2019-07-09 | 2021-01-14 | 株式会社島津製作所 | 送液ポンプ及び液体クロマトグラフ |
| JPWO2021005728A1 (ja) * | 2019-07-09 | 2021-01-14 | ||
| CN113892030A (zh) * | 2019-07-09 | 2022-01-04 | 株式会社岛津制作所 | 送液泵及液相色谱仪 |
| CN113892030B (zh) * | 2019-07-09 | 2023-08-08 | 株式会社岛津制作所 | 送液泵及液相色谱仪 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5774223B2 (ja) | ロボット制御装置およびロボット制御方法 | |
| JP5374613B2 (ja) | 多関節ロボットの弾性変形補償制御装置および制御方法 | |
| JP5916583B2 (ja) | 多関節ロボットのウィービング制御装置 | |
| JP5897644B2 (ja) | ロボットの制御装置 | |
| US20150360369A1 (en) | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component | |
| JP2016140956A (ja) | ロボットハンド制御方法及びロボット装置 | |
| JP2009066685A (ja) | ロボット装置及びロボット装置の制御方法 | |
| JP2016083713A (ja) | ロボット制御方法、ロボット装置、プログラム、記録媒体及び組立部品の製造方法 | |
| JP5371882B2 (ja) | 力制御装置 | |
| US10946514B2 (en) | Controller, work control unit, multi-axis motion control unit, and drive control unit | |
| JP2020015124A (ja) | ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体 | |
| JP2016032326A (ja) | モータ制御装置、ロボット装置、モータ制御方法、プログラム及び記録媒体 | |
| JP2017056549A (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法 | |
| JP7068133B2 (ja) | 制御システム、制御方法、及び制御プログラム | |
| JP2016005296A (ja) | モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 | |
| JP4196400B2 (ja) | モータの制御装置及び制御方法 | |
| WO2018212307A1 (ja) | 減速機角度伝達誤差同定システム及び減速機角度伝達誤差同定方法 | |
| CN116209548A (zh) | 电流限制装置、机器人系统以及电流限制方法 | |
| JP2016221661A (ja) | ロボット制御方法、組立品の製造方法、ロボット装置、プログラム及び記録媒体 | |
| JP2021005918A (ja) | イナーシャの評価を行う制御装置及びイナーシャの評価方法 | |
| JPWO2019044237A1 (ja) | ロボット制御装置 | |
| JP4008207B2 (ja) | ロボット制御方法および制御装置 | |
| JP2020157459A (ja) | 制御方法およびロボットシステム | |
| EP3598248B1 (en) | Control system | |
| JP2008217405A (ja) | アクチュエータ制御装置およびアクチュエータ制御方法 |
