JP2022177607A - マニピュレータ - Google Patents
マニピュレータ Download PDFInfo
- Publication number
- JP2022177607A JP2022177607A JP2021083992A JP2021083992A JP2022177607A JP 2022177607 A JP2022177607 A JP 2022177607A JP 2021083992 A JP2021083992 A JP 2021083992A JP 2021083992 A JP2021083992 A JP 2021083992A JP 2022177607 A JP2022177607 A JP 2022177607A
- Authority
- JP
- Japan
- Prior art keywords
- vibration
- end effector
- arm
- actuator
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
【課題】残留振動を抑制しつつアクチュエータの駆動効率悪化を防止することができるマニピュレータを提供する。
【解決手段】アームと、アクチュエータ30と、位置センサ40と、加速度センサ50と、コントローラ60を備える。コントローラ60は、位置指令に基づいてアクチュエータ30を駆動して位置センサ40の出力値をフィードバックしつつエンドエフェクタを目標の位置に移動させるフィードバック制御を行うとともに加速度センサ50の出力値に基づいてエンドエフェクタの振動を抑制する振動抑制制御を行う。コントローラ60は、振動抑制制御の継続時間を設定する時間設定部70を有しており、時間設定部70はエンドエフェクタの振動周波数情報に応じて継続時間を決定する。
【選択図】図2
【解決手段】アームと、アクチュエータ30と、位置センサ40と、加速度センサ50と、コントローラ60を備える。コントローラ60は、位置指令に基づいてアクチュエータ30を駆動して位置センサ40の出力値をフィードバックしつつエンドエフェクタを目標の位置に移動させるフィードバック制御を行うとともに加速度センサ50の出力値に基づいてエンドエフェクタの振動を抑制する振動抑制制御を行う。コントローラ60は、振動抑制制御の継続時間を設定する時間設定部70を有しており、時間設定部70はエンドエフェクタの振動周波数情報に応じて継続時間を決定する。
【選択図】図2
Description
本発明は、マニピュレータに関するものである。
特許文献1に開示のロボットにおいては、角度センサ及び慣性センサとしての角速度センサを備える。制御指令値の角速度が0になって目的の停止位置に到達した時点から一定時間が経過すると、角速度情報を用いることなく制御指令値及び角度情報を用いた制御を実施する。
ところで、ロボットアームの手先の振動を抑制するために加速度(慣性)センサを用いて制御する場合に、動作停止指令から一定時間経過時に加速度センサを用いた振動抑制制御を終了すると、以下の課題がある。一定時間が残留振動収束時間よりも長いと、アクチュエータ駆動のために余分な動力を使うことになり、効率悪化を招く懸念がある。一方、一定時間が残留振動収束時間よりも短いと、振動を収束できない懸念がある。
上記課題を解決するためのマニピュレータは、リンクが関節を介して繋がり、基端がベース部材に固定され、先端に設けたエンドエフェクタが前記関節の動作により目標の位置に移動可能なアームと、前記関節を動作させて前記エンドエフェクタを目標の位置に移動させるためのアクチュエータと、前記アクチュエータの動作を検出する位置センサと、前記アームまたは前記エンドエフェクタのいずれかに設けられた加速度センサと、位置指令に基づいて前記アクチュエータを駆動して前記位置センサの出力値をフィードバックしつつ前記エンドエフェクタを目標の位置に移動させるフィードバック制御を行うとともに、前記加速度センサの出力値に基づいて前記エンドエフェクタの振動を抑制する振動抑制制御を行う制御部と、を備えるマニピュレータであって、前記制御部は、前記振動抑制制御の継続時間を設定する時間設定部を有しており、前記時間設定部は前記エンドエフェクタの振動周波数情報に応じて前記継続時間を決定することを要旨とする。
これによれば、制御部の時間設定部が、振動抑制制御の継続時間を設定する際に、エンドエフェクタの振動周波数情報に応じて継続時間を決定することにより、残留振動を抑制しつつアクチュエータの駆動効率悪化を防止することができる。
また、マニピュレータにおいて、前記振動周波数情報は、前記アームの姿勢情報であるとよい。
また、マニピュレータにおいて、前記振動周波数情報は、前記エンドエフェクタにかかる負荷情報であるとよい。
また、マニピュレータにおいて、前記振動周波数情報は、前記エンドエフェクタにかかる負荷情報であるとよい。
また、マニピュレータにおいて、前記振動周波数情報は、前記エンドエフェクタを目標の位置に移動させる際のフィードフォワード制御に用いるパラメータであるとよい。
また、マニピュレータにおいて、前記振動周波数情報は、前記加速度センサの検出値から求めた前記エンドエフェクタの振動周波数であるとよい。
また、マニピュレータにおいて、前記振動周波数情報は、前記加速度センサの検出値から求めた前記エンドエフェクタの振動周波数であるとよい。
本発明によれば、残留振動を抑制しつつアクチュエータの駆動効率悪化を防止することができる。
以下、本発明を具体化した一実施形態を図面に従って説明する。
図1、図2に示すように、マニピュレータ10は、アーム20と、関節を動作させるための複数のアクチュエータ30と、アクチュエータ30の動作を検出するための複数の位置センサ40と、加速度センサ50と、制御部としての複数のコントローラ60と、記憶部80と、を備える。図1において、水平方向をx,y方向で示すとともに、上下方向をz方向としている。
図1、図2に示すように、マニピュレータ10は、アーム20と、関節を動作させるための複数のアクチュエータ30と、アクチュエータ30の動作を検出するための複数の位置センサ40と、加速度センサ50と、制御部としての複数のコントローラ60と、記憶部80と、を備える。図1において、水平方向をx,y方向で示すとともに、上下方向をz方向としている。
図1に示すように、アーム20は、リンク21a,21b,21c,21d,21e,21fが関節22a,22b,22c,22d,22eを介して繋がっている。詳しくは、基端側の棒状のリンク21aの先端側には関節22aが設けられ、関節22aと関節22bとの間が棒状のリンク21bで連結されている。関節22bと関節22cとの間が棒状のリンク21cで連結されている。関節22cと関節22dとの間が棒状のリンク21dで連結されている。関節22dと関節22eとの間が棒状のリンク21eで連結されている。関節22eには先端側の棒状のリンク21fが繋がっている。
リンク21aの基端がベース部材24に固定されている。これにより、アーム20は、基端がベース部材24に固定されている。リンク21fの先端にはエンドエフェクタ(手先効果器)23が取り付けられている。これにより、アーム20は、先端に設けたエンドエフェクタ23が関節22a,22b,22c,22d,22eの動作により目標の位置に移動可能である。
関節(22a,22b,22c,22d,22e)毎に、アクチュエータ30、位置センサ40及びコントローラ60が設けられている。具体的には、関節22aに、アクチュエータ30a、位置センサ40a及びコントローラ60aが設けられている。関節22bに、アクチュエータ30b、位置センサ40b及びコントローラ60bが設けられている。関節22cに、アクチュエータ30c、位置センサ40c及びコントローラ60cが設けられている。関節22dに、アクチュエータ30d、位置センサ40d及びコントローラ60dが設けられている。関節22eに、アクチュエータ30e、位置センサ40e及びコントローラ60eが設けられている。図2においては、アクチュエータ30については2つのアクチュエータ30a,30eのみを示し、位置センサ40については2つの位置センサ40a,40eのみを示し、コントローラ60については2つのコントローラ60a,60eのみを示す。
アーム20の関節22a,22b,22c,22d,22eに設けられた各アクチュエータ30は、アーム20の関節22a,22b,22c,22d,22eを動作させてエンドエフェクタ23を目標の位置に移動させるためのものである。各アクチュエータ30は、例えば、関節モータで構成されている。エンドエフェクタ23は、例えば、把持機器であり、ワークWを把持して搬送できる。
各位置センサ40は、対応するアクチュエータ30の動作を検出する。各位置センサ40により、例えば、アクチュエータ30の動作としてモータの回転角を検出でき、これにより関節角度を検知することが可能となる。図1におけるx-z平面において関節角度θ1~θ5を例示している。
加速度センサ50は、エンドエフェクタ23に設けられている。加速度センサ50は、エンドエフェクタ23の振動を検出するためのものである。
各コントローラ60は、それぞれ、マイクロコンピュータで構成されている。マイクロコンピュータは、命令を解読しデータ処理を実行するCPU、プログラムやデータを保存するメモリ、外部のセンサ、対応するアクチュエータとのデータの送受信を制御する入出力部等から構成されている。
各コントローラ60は、それぞれ、マイクロコンピュータで構成されている。マイクロコンピュータは、命令を解読しデータ処理を実行するCPU、プログラムやデータを保存するメモリ、外部のセンサ、対応するアクチュエータとのデータの送受信を制御する入出力部等から構成されている。
図2に示すように、各コントローラ60には上位機器であるホストコンピュータ100が接続されている。ホストコンピュータ100から各コントローラ60に位置指令が送られてくる。なお、位置指令とは、ホストコンピュータ100から送られてくる位置指令そのものだけでなくフィルタを介した位置指令も含む。各コントローラ60には、対応するアクチュエータ30が接続されている。各コントローラ60は、対応するアクチュエータ30に指令を出してアーム20の関節22a,22b,22c,22d,22eを動作させてエンドエフェクタ23を目標の位置に移動させる。
各コントローラ60には、対応する位置センサ40が接続されている。各コントローラ60には、対応する位置センサ40の出力値が入力され、対応するアクチュエータ30の動作を検知することができる。加速度センサ50が各コントローラ60に接続されている。各コントローラ60には加速度センサ50の出力値が入力されてエンドエフェクタ23の振動を検知することができる。
各コントローラ60は、位置指令に基づいて、対応するアクチュエータ30を駆動して、対応する位置センサ40の出力値をフィードバックしつつエンドエフェクタ23を目標の位置に移動させるフィードバック制御を行う。各コントローラ60は、エンドエフェクタ23の振動を抑制すべく加速度センサ50の出力値に基づいて振動抑制制御を行う。
図3に示すように、各コントローラ60は、減算部61と減算部62と開閉部63と開閉制御部64と検出振動算出部65と振動抑制制御部66と位置制御部67と速度制御部68と速度推定部69を有する。また、本例では位置制御-速度制御のP-PIカスケード構造を示しているが、速度推定部や速度制御部を有さないPID制御やI-PD制御も同様の効果を期待できる。
位置指令であるアクチュエータへの駆動指令値が減算部61に入力される。位置センサ40の出力値が減算部61に入力される。減算部61において、位置指令(アクチュエータへの駆動指令値)と位置センサ40の出力値である実位置の差が出力される。
位置制御部67において、減算部61の出力が入力され、制御信号ωrefが出力される。
検出振動算出部65において、加速度センサ50の出力値である実加速度が入力され、姿勢に応じた座標変換処理がなされ、検出振動が出力される。ここで算出される検出振動は、振動抑制制御を行うアクチュエータの回転軸から見た接線方向の振動である。図1において、関節22c内のアクチュエータで振動抑制制御を実施する際の検出振動の方向は、関節22c内のアクチュエータの回転軸の接線方向となる。
検出振動算出部65において、加速度センサ50の出力値である実加速度が入力され、姿勢に応じた座標変換処理がなされ、検出振動が出力される。ここで算出される検出振動は、振動抑制制御を行うアクチュエータの回転軸から見た接線方向の振動である。図1において、関節22c内のアクチュエータで振動抑制制御を実施する際の検出振動の方向は、関節22c内のアクチュエータの回転軸の接線方向となる。
図3の振動抑制制御部66において、検出振動が入力され、制御信号ωaccが出力される。
速度推定部69において、位置センサ40の出力値が入力されて、アクチュエータないしはアームの速度ωmが出力される。
速度推定部69において、位置センサ40の出力値が入力されて、アクチュエータないしはアームの速度ωmが出力される。
減算部62において、制御信号ωrefと、制御信号ωaccと、速度ωmが入力される。減算部62において、制御信号ωrefに対する制御信号ωaccと、速度ωmの差が出力される。
減算部62の出力が速度制御部68に入力され、速度制御部68は駆動指令を出力する。
速度制御部68の出力がアクチュエータ(関節モータ)30に駆動指令として送られ、この駆動指令に基づいてアクチュエータ(関節モータ)30が駆動する。
速度制御部68の出力がアクチュエータ(関節モータ)30に駆動指令として送られ、この駆動指令に基づいてアクチュエータ(関節モータ)30が駆動する。
検出振動算出部65から振動抑制制御部66への信号伝達ライン上には開閉部63が設けられている。開閉部63は開閉制御部64により開閉される。開閉制御部64には、位置指令が入力されるとともに検出振動算出部65の出力値が入力される。開閉制御部64は、位置指令と検出振動算出部65の出力値に基づいて開閉部63を開閉する。
各コントローラ60は、アクチュエータへの駆動指令値あるいは位置センサ40の実測値から関節角度を検知する。コントローラ60同士は相互通信により各関節角度を検知する。各コントローラ60は、各関節角度からアーム20の姿勢情報(後述するアーム20の伸び量)を検知することができるようになっている。
図2に示すように、各コントローラ60は、振動抑制制御の継続時間Taccを設定する時間設定部70を有する。時間設定部70は、エンドエフェクタ23の振動周波数情報に応じて継続時間Taccを決定することができるようになっている。
振動周波数情報は、各関節角度から求められるアーム20の姿勢情報である。具体的には、アーム20の姿勢情報とは、アーム20の伸び量である。例えば図1がアーム20を比較的縮めた縮小状態であり、図4がアーム20を最大に伸ばした最大伸長状態である。図2の記憶部80には図5に示すマップが記憶されている。図5において縦軸にはアーム姿勢情報、すなわちアーム20の伸び量をとり、横軸には振動抑制制御の継続時間Taccをとっている。図5においてマップ特性線Lm1が設定されており、マップ特性線Lm1はアーム20の伸び量が増えるほど継続時間Taccが長くなる特性線である。コントローラ60は、図5のマップ(マップ特性線Lm1)を用いて、アーム姿勢情報(アーム20の伸び量)に対応する継続時間Taccを算出することができるようになっている。なお、アーム20の姿勢情報としては、アーム20の伸び量に限らず、エンドエフェクタ23の振動に影響する任意の姿勢情報を採用し得る。
図3の開閉制御部64の出力である開閉部63のオフ条件は、閉じた後の振動抑制制御の継続時間Taccであり、振動抑制制御の継続時間Taccの決定方法として、アーム20の姿勢情報を入力としたマップにより決定する。残留振動の周波数が低ければ収束までに時間がかかり、周波数が高ければ収束までの時間は短くなる。残留振動の周波数はアーム20の姿勢(アーム20の伸び量)に依存するため、これを元に加速度センサによる制振制御を終了するまでの時間を決定する。具体的には、アーム20が縮むほど残留振動の周波数が高くなるので、振動抑制制御の継続時間Taccが短くされる。一方、アーム20が伸びるほど残留振動の周波数が低くなるので、振動抑制制御の継続時間Taccが長くされる。
<作用>
次に、作用について説明する。
図6(a)には位置指令を示す。図6(b)には検出振動算出部65の出力値を示す。図6(c)には開閉部63の開閉、即ち、検出振動算出部65の出力値を制御に使用する、あるいは、不使用とする指令を示す。図6(d)には比較例における開閉部63の開閉、即ち、検出振動算出部65の出力値を制御に使用する、あるいは、不使用とする指令を示す。
次に、作用について説明する。
図6(a)には位置指令を示す。図6(b)には検出振動算出部65の出力値を示す。図6(c)には開閉部63の開閉、即ち、検出振動算出部65の出力値を制御に使用する、あるいは、不使用とする指令を示す。図6(d)には比較例における開閉部63の開閉、即ち、検出振動算出部65の出力値を制御に使用する、あるいは、不使用とする指令を示す。
図6(a)においてt1が動作開始タイミングであり、t2が動作停止タイミングである。
関節毎に設けられたコントローラ60のうちのいずれかのコントローラ60における時間設定部70は、図5のマップ(マップ特性線Lm1)を用いて、動作停止タイミングt2におけるアーム姿勢情報(アーム20の伸び量)に対応する継続時間Taccを算出する。よって、継続時間Taccは、アーム姿勢に応じて変わる変数である。
関節毎に設けられたコントローラ60のうちのいずれかのコントローラ60における時間設定部70は、図5のマップ(マップ特性線Lm1)を用いて、動作停止タイミングt2におけるアーム姿勢情報(アーム20の伸び量)に対応する継続時間Taccを算出する。よって、継続時間Taccは、アーム姿勢に応じて変わる変数である。
コントローラ60は、動作停止タイミングt2のタイミングで振動抑制制御を開始する。そして、動作停止タイミングt2から、継続時間Taccが経過したt3のタイミングにおいて振動抑制制御を終了する。
図6(d)に示す比較例においては、継続時間は固定値であり、例えば動作停止指令から一定時間経過時に加速度センサを用いた振動抑制制御を終了する。
アーム20の姿勢によって停止後の残留振動が収まるまでの時間が異なる。図6(d)に示す比較例のように残留振動の収束までに最も時間のかかる条件で一定時間(固定値)を決定した場合、その他の条件では残留振動が収まった後も加速度センサを用いた制振制御を実施することになる。そのため、アクチュエータ駆動のために余分なモータ電流を出力し、電力効率の悪化につながるおそれがある。
アーム20の姿勢によって停止後の残留振動が収まるまでの時間が異なる。図6(d)に示す比較例のように残留振動の収束までに最も時間のかかる条件で一定時間(固定値)を決定した場合、その他の条件では残留振動が収まった後も加速度センサを用いた制振制御を実施することになる。そのため、アクチュエータ駆動のために余分なモータ電流を出力し、電力効率の悪化につながるおそれがある。
本実施形態では例えば図1に示すようにアーム20を比較的縮めた状態において図6(c)に示すように、継続時間Taccは、アーム姿勢に応じて変わり、図6(d)の比較例よりも短くされる。そのため、電力効率の悪化を防止することができる。
アーム20の姿勢が図4に示すようにアーム20を最大に伸ばした状態である場合には、図7(a)、図7(b)、図7(c)のようになる。
図7(a)においてt1が動作開始タイミングであり、t2が動作停止タイミングである。
図7(a)においてt1が動作開始タイミングであり、t2が動作停止タイミングである。
関節毎に設けられたコントローラ60のうちのいずれかのコントローラ60における時間設定部70は、図5のマップ(マップ特性線Lm1)を用いて、アーム姿勢に対応する継続時間Taccを算出する。
コントローラ60は、図7(a)~図7(c)に示すようにt2のタイミングで振動抑制制御を開始する。そして、動作停止タイミングt2から、継続時間Taccが経過したt10のタイミングにおいて振動抑制制御を終了する。
図7(d)に示す比較例においては、図6(d)と同様に継続時間は固定値である。
図7(d)に示す比較例において、継続時間を決定する条件が残留振動の収束までに最も時間のかかる条件でなかった場合、動作条件によっては振動抑制制御終了(継続時間の経過)後、振動を収束できずに振動を制振しきれないおそれがある。
図7(d)に示す比較例において、継続時間を決定する条件が残留振動の収束までに最も時間のかかる条件でなかった場合、動作条件によっては振動抑制制御終了(継続時間の経過)後、振動を収束できずに振動を制振しきれないおそれがある。
図7(c)に示す実施形態においては、継続時間Taccは、アーム姿勢に応じて変わり、図7(d)の比較例よりも長くされる。そのため、停止時の残留振動を抑制することができる。
このようにして、図6(d)の比較例では、制振制御の終了が遅すぎる場合が生じ得るが、図6(c)の本実施形態では、制振完了後、速やかに加速度センサによる制振制御を終了するため、無駄なモータ電流を出力しない。これにより、電力効率悪化を防止できる。
また、図7(d)の比較例では、制振制御の終了が速すぎる場合においては振動を制振しきれないおそれがある。図7(c)の本実施形態では、制振完了まで加速度センサによる制振制御を行っているので、制振目標加速度範囲内への収束が速い。
よって、停止時の残留振動を抑制し、かつ、アクチュエータの駆動電力効率の悪化を防ぐことができる。
<実施形態の効果>
上記実施形態によれば、以下のような効果を得ることができる。
<実施形態の効果>
上記実施形態によれば、以下のような効果を得ることができる。
(1)マニピュレータ10の構成として、リンク21a~21fが関節22a~22eを介して繋がり、基端がベース部材24に固定され、先端に設けたエンドエフェクタ23が関節22a~22eの動作により目標の位置に移動可能なアーム20を備える。マニピュレータ10は、関節22a~22eを動作させてエンドエフェクタ23を目標の位置に移動させるためのアクチュエータ30を備える。マニピュレータ10は、アクチュエータ30の動作を検出する位置センサ40と、エンドエフェクタ23に設けられた加速度センサ50を備える。マニピュレータ10は、制御部としてのコントローラ60を備える。コントローラ60は位置指令に基づいてアクチュエータ30を駆動して位置センサ40の出力値をフィードバックしつつエンドエフェクタ23を目標の位置に移動させるフィードバック制御を行うとともに加速度センサ50の出力値に基づいてエンドエフェクタ23の振動を抑制する振動抑制制御を行う。コントローラ60は、振動抑制制御の継続時間Taccを設定する時間設定部70を有しており、時間設定部70はエンドエフェクタ23の振動周波数情報に応じて継続時間Taccを決定する。よって、コントローラ60の時間設定部70は、振動抑制制御の継続時間Taccを設定する際に、エンドエフェクタ23の振動周波数情報に応じて継続時間Taccを決定することにより、残留振動を抑制しつつアクチュエータの駆動効率悪化を防止することができる。
(2)振動周波数情報は、アーム20の姿勢情報であるので、実用的である。
実施形態は前記に限定されるものではなく、例えば、次のように具体化してもよい。
・振動周波数情報は、エンドエフェクタ23にかかる負荷情報であってもよい。具体的には、各コントローラ60はホストコンピュータ100との通信によりワークWの情報を取得して、エンドエフェクタ23にかかる負荷情報としてワーク質量mを検知する。記憶部80には図8に示すマップが記憶されている。図8において縦軸にはワーク質量mをとり、横軸には振動抑制制御の継続時間Taccをとっている。図8においてマップ特性線Lm2が設定されており、マップ特性線Lm2はワーク質量mが大きいほど継続時間Taccが長くなる特性線である。コントローラ60は、図8のマップ(マップ特性線Lm2)を用いて、ワーク質量mに対応する継続時間Taccを算出することができる。
実施形態は前記に限定されるものではなく、例えば、次のように具体化してもよい。
・振動周波数情報は、エンドエフェクタ23にかかる負荷情報であってもよい。具体的には、各コントローラ60はホストコンピュータ100との通信によりワークWの情報を取得して、エンドエフェクタ23にかかる負荷情報としてワーク質量mを検知する。記憶部80には図8に示すマップが記憶されている。図8において縦軸にはワーク質量mをとり、横軸には振動抑制制御の継続時間Taccをとっている。図8においてマップ特性線Lm2が設定されており、マップ特性線Lm2はワーク質量mが大きいほど継続時間Taccが長くなる特性線である。コントローラ60は、図8のマップ(マップ特性線Lm2)を用いて、ワーク質量mに対応する継続時間Taccを算出することができる。
振動抑制制御の継続時間Taccの決定方法として、エンドエフェクタ23にかかる負荷情報を入力としたマップにより、継続時間Taccを決定する。残留振動の周波数が低ければ収束までに時間がかかり、周波数が高ければ収束までの時間は短くなる。残留振動の周波数は手先の負荷であるエンドエフェクタ23にかかる負荷により決定されるため、これを元に制振制御を終了するまでの時間を決定する。エンドエフェクタ23にかかる負荷によって停止後の残留振動が収まるまでの時間が異なる。図6(d)に示す比較例のように残留振動の収束までに最も時間のかかる条件で一定時間(固定値)を決定した場合、その他の条件では残留振動が収まった後も加速度センサを用いた制振制御を実施することになる。そのため、余分なモータ電流を出力し、電力効率の悪化につながるおそれがある。本例においては、継続時間Taccは、エンドエフェクタ23にかかる負荷に応じて変わるため、図6(c)のように電力効率の悪化を防止することができる。
図7(d)に示す比較例のように継続時間を決定する条件が残留振動の収束までに最も時間のかかる条件でなかった場合、動作条件によっては制振制御終了(継続時間の経過)後、振動を制振しきれないおそれがある。本例においては継続時間Taccは、エンドエフェクタ23にかかる負荷に応じて変わる。そのため、図7(c)のように停止時の残留振動を抑制することができる。
このようにして、図6(d)の比較例では、制振制御の終了が遅すぎる場合が生じ得るが、図6(c)の本例では、制振完了後、速やかに加速度センサによる制振制御を終了するため、無駄なモータ電流を出力しない。これにより、電力効率悪化を防止できる。また、図7(d)の比較例では、制振制御の終了が速すぎる場合においては振動を制振しきれないおそれがある。図7(c)の本例では、制振完了まで制振制御を行っているので、制振目標加速度範囲内への収束が速い。よって、停止時の残留振動を抑制し、かつ、アクチュエータの駆動電力効率の悪化を防ぐことができる。
なお、振動周波数情報として、アーム20の姿勢及びエンドエフェクタ23にかかる負荷情報を用いて、継続時間Taccを決定してもよく、要は、振動周波数情報は、アーム20の姿勢及びエンドエフェクタ23にかかる負荷情報の少なくとも一方であればよい。具体的には、アーム20の姿勢及びエンドエフェクタ23にかかる負荷情報の少なくとも一方を入力としたマップにより継続時間Taccを決定する。
・上述したようにアーム20の姿勢、エンドエフェクタ23にかかる負荷情報に基づいたマップで振動抑制制御の継続時間を算出したが、エンドエフェクタ23における振動の周波数を推定して振動抑制制御の継続時間を算出してもよい。
予めエンドエフェクタ23における残留振動の周波数と振動抑制制御の継続時間Taccの関係をマップ化しておき、下記の[その1]または[その2]のように残留振動の周波数を推定する。
[その1]
振動周波数情報は、エンドエフェクタ23を目標の位置に移動させる際のフィードフォワード制御に用いるパラメータである。図9、図10を用いて具体的に説明する。
振動周波数情報は、エンドエフェクタ23を目標の位置に移動させる際のフィードフォワード制御に用いるパラメータである。図9、図10を用いて具体的に説明する。
図3に代わる図9において、コントローラ60は、フィードフォワード制御部90と加算部91を有する。フィードフォワード制御部90は、位置指令を入力する。フィードフォワード制御部90は、モデル式を用いて駆動指令を出力する。モデル式は、位置指令に応じてアーム20を動かそうとした場合にアーム20が理想の剛体であると仮定したときにおいて外乱が無い状態で必要トルクを求めるための式である。加算部91は、速度制御部68の出力である駆動指令と、フィードフォワード制御部90の出力である駆動指令とを加算して出力する。加算部91の出力がアクチュエータ(関節モータ)30に駆動指令として送られ、この駆動指令に基づいてアクチュエータ(関節モータ)30が駆動する。
ここで、フィードフォワード制御に使用されるモデル式の一例を、図10に示す。モデル式として、2慣性モデルを用いている。
2慣性モデルは、アームの関節の振動を物理モデルで表したものであり、特に、バネ定数、慣性モーメント、粘性係数を用いている。モデル式はモータの出力トルクから実際のアームの手先の位置までの物理的な材料力学の式であり、トルクから手先の位置までの式を、物理的に運動方程式を作って計算している。
2慣性モデルは、アームの関節の振動を物理モデルで表したものであり、特に、バネ定数、慣性モーメント、粘性係数を用いている。モデル式はモータの出力トルクから実際のアームの手先の位置までの物理的な材料力学の式であり、トルクから手先の位置までの式を、物理的に運動方程式を作って計算している。
図10において、θmがモータ角度、θlが負荷側角度、Acclが加速度、τmが実トルク、Irms*が電流指令値である。Jmがモータ慣性モーメント、Jlが負荷側慣性モーメント、Ngが減速比、K0がモータ軸受のバネ定数、D0がモータ軸受の粘性係数、K1がギアのバネ定数、D1がギアの粘性係数、Ktがトルク定数、L1がリンク長である。
このように、アームの制御には一般的に応答性向上のため、フィードフォワード制御が用いられる。フィードフォワード制御は、予め制御対象をモデル化してパラメータを記憶しておくことで、振動を抑制しつつ応答性を向上させることができる。
このフィードフォワード制御に用いているパラメータを元に、残留振動の周波数を推定する。例えば、下記式(1)により周波数f、即ち、共振周波数を算出する。
K1:ギアのバネ定数
Jm:モータ慣性モーメント
Jl:負荷側慣性モーメント
このようにして残留振動の周波数fを取得し、予めマップ化しておいた残留振動の周波数と振動抑制制御の継続時間Taccの関係を参照することで、振動抑制制御を終了するまでの継続時間を決定する。
Jm:モータ慣性モーメント
Jl:負荷側慣性モーメント
このようにして残留振動の周波数fを取得し、予めマップ化しておいた残留振動の周波数と振動抑制制御の継続時間Taccの関係を参照することで、振動抑制制御を終了するまでの継続時間を決定する。
このように、振動周波数情報は、エンドエフェクタ23を目標の位置に移動させる際のフィードフォワード制御に用いるパラメータであるギアのバネ定数K1、モータ慣性モーメントJm、負荷側慣性モーメントJlである。
[その2]
振動周波数情報は、加速度センサ50の検出値から求めたエンドエフェクタ23の振動周波数fである。
振動周波数情報は、加速度センサ50の検出値から求めたエンドエフェクタ23の振動周波数fである。
例えば、図11(a)、図11(b)に示すように、加速度センサ50による検出振動における振動の中心レベルとクロスするタイミング間の周期Tから振動周波数fを算出して、振動周波数fから継続時間Taccを決定してもよい。加速度センサの検出値を元に推定する際に、エンドエフェクタに設置されている加速度センサの検出値を記録し、残留振動の周波数を直接計測する。そして、残留振動の周波数を取得し、予めマップ化しておいた残留振動の周波数と振動抑制制御の継続時間Taccの関係を参照することで、振動抑制制御を終了するまでの継続時間を決定する。
検出振動の周波数を直接計算して周波数に基づいて継続時間Taccを求めることによるメリットについて言及する。
振動抑制制御の継続時間Taccを決定するために検出振動の振幅を求める場合においては、振幅の最小値と最大値を算出するが、この際、ノイズを検出していまい、例えば無駄な制振を行ってしまう可能性がある。これに対し、[その2]では、振幅を検出せずにクロスタイミング間の時間検出により振動周波数から継続時間を求めることによりノイズの影響を受けにくい。即ち、加速度センサ出力をそのままではなく周波数を計測して周波数に基づいて継続時間Taccを求めることにより振幅を求める際のデメリットを無くすることができる。
振動抑制制御の継続時間Taccを決定するために検出振動の振幅を求める場合においては、振幅の最小値と最大値を算出するが、この際、ノイズを検出していまい、例えば無駄な制振を行ってしまう可能性がある。これに対し、[その2]では、振幅を検出せずにクロスタイミング間の時間検出により振動周波数から継続時間を求めることによりノイズの影響を受けにくい。即ち、加速度センサ出力をそのままではなく周波数を計測して周波数に基づいて継続時間Taccを求めることにより振幅を求める際のデメリットを無くすることができる。
このようにして、[その1]または[その2]の手法を元に残留振動の周波数を取得し、予めマップ化しておいた残留振動の周波数と継続時間の関係を参照することで、振動抑制制御を終了するまでの時間を決定する。
広義には、振動周波数情報は、アームの姿勢及びエンドエフェクタにかかる負荷情報及びエンドエフェクタを目標の位置に移動させる際のフィードフォワード制御に用いるパラメータ及び加速度センサの検出値から求めた振動周波数の少なくとも一つであればよい。
・加速度センサ50は、エンドエフェクタ23に設けたが、加速度センサ50は、アーム20の任意の位置に設けられていてもよい。この場合は、アーム20の任意の位置における加速度からエンドエフェクタ23の加速度を推定する。
・振動周波数情報と継続時間Taccとの関係を示すマップを用いて振動抑制制御の継続時間Taccを決定したが、これに代わり関数式を用いてもよい。詳しくは、振動周波数情報と継続時間Taccとの関係を示す関係式を用いて振動抑制制御の継続時間Taccを決定してもよい。
10…マニピュレータ、20…アーム、21a,21b,21c,21d,21e,21f…リンク、22a,22b,22c,22d,22e…関節、23…エンドエフェクタ、24…ベース部材、30…アクチュエータ、40…位置センサ、50…加速度センサ、60…コントローラ、70…時間設定部。
Claims (5)
- リンクが関節を介して繋がり、基端がベース部材に固定され、先端に設けたエンドエフェクタが前記関節の動作により目標の位置に移動可能なアームと、
前記関節を動作させて前記エンドエフェクタを目標の位置に移動させるためのアクチュエータと、
前記アクチュエータの動作を検出する位置センサと、
前記アームまたは前記エンドエフェクタのいずれかに設けられた加速度センサと、
位置指令に基づいて前記アクチュエータを駆動して前記位置センサの出力値をフィードバックしつつ前記エンドエフェクタを目標の位置に移動させるフィードバック制御を行うとともに、前記加速度センサの出力値に基づいて前記エンドエフェクタの振動を抑制する振動抑制制御を行う制御部と、
を備えるマニピュレータであって、
前記制御部は、前記振動抑制制御の継続時間を設定する時間設定部を有しており、前記時間設定部は前記エンドエフェクタの振動周波数情報に応じて前記継続時間を決定する
ことを特徴とするマニピュレータ。 - 前記振動周波数情報は、前記アームの姿勢情報である
ことを特徴とする請求項1に記載のマニピュレータ。 - 前記振動周波数情報は、前記エンドエフェクタにかかる負荷情報である
ことを特徴とする請求項1に記載のマニピュレータ。 - 前記振動周波数情報は、前記エンドエフェクタを目標の位置に移動させる際のフィードフォワード制御に用いるパラメータである
ことを特徴とする請求項1に記載のマニピュレータ。 - 前記振動周波数情報は、前記加速度センサの検出値から求めた前記エンドエフェクタの振動周波数である
ことを特徴とする請求項1に記載のマニピュレータ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021083992A JP2022177607A (ja) | 2021-05-18 | 2021-05-18 | マニピュレータ |
PCT/JP2022/012503 WO2022244441A1 (ja) | 2021-05-18 | 2022-03-18 | マニピュレータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021083992A JP2022177607A (ja) | 2021-05-18 | 2021-05-18 | マニピュレータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022177607A true JP2022177607A (ja) | 2022-12-01 |
Family
ID=84141184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021083992A Pending JP2022177607A (ja) | 2021-05-18 | 2021-05-18 | マニピュレータ |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2022177607A (ja) |
WO (1) | WO2022244441A1 (ja) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6234788A (ja) * | 1985-08-02 | 1987-02-14 | 日立建機株式会社 | 柔構造作業機 |
JPH01173117A (ja) * | 1987-12-28 | 1989-07-07 | Mitsubishi Heavy Ind Ltd | 柔軟構造物の振動制御装置 |
JPH06138950A (ja) * | 1992-10-22 | 1994-05-20 | Toyoda Mach Works Ltd | フィードバック制御方式のロボット制御装置 |
JPH10235582A (ja) * | 1997-02-26 | 1998-09-08 | Yaskawa Electric Corp | ロボットのウィービング制御装置 |
EP2954986B1 (de) * | 2014-06-10 | 2020-05-06 | Siemens Aktiengesellschaft | Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems |
JP6512790B2 (ja) * | 2014-10-24 | 2019-05-15 | キヤノン株式会社 | ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法 |
JP6870433B2 (ja) * | 2017-03-31 | 2021-05-12 | セイコーエプソン株式会社 | 制御装置、およびロボットシステム |
-
2021
- 2021-05-18 JP JP2021083992A patent/JP2022177607A/ja active Pending
-
2022
- 2022-03-18 WO PCT/JP2022/012503 patent/WO2022244441A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022244441A1 (ja) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10486309B2 (en) | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component | |
US9393687B2 (en) | Method for programming an industrial robot and industrial robot | |
JP6717768B2 (ja) | 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法 | |
JP6706741B2 (ja) | ロボットの衝突検出方法 | |
CN110076773B (zh) | 机器人设备、制造物品的方法及电机驱动设备 | |
JP4319232B2 (ja) | パワーアシスト装置およびその制御方法 | |
JP6512790B2 (ja) | ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法 | |
JP7091422B2 (ja) | ロボット装置、物品の製造方法、ロボット装置の制御方法、プログラム、記録媒体、駆動装置、駆動装置の制御方法 | |
JP5231935B2 (ja) | ロボット制御装置 | |
JPWO2019087357A1 (ja) | キャリブレーション装置、キャリブレーション方法および制御装置 | |
JP6946057B2 (ja) | ロボットハンド、ロボットハンドの制御方法、ロボット装置 | |
US11141861B2 (en) | Method for operating a robot and robotic arm | |
JP7336215B2 (ja) | ロボットシステム、制御方法、物品の製造方法、プログラム、及び記録媒体 | |
CN113924192A (zh) | 用于估计机器人操作参数的方法和计算*** | |
JP2006281330A (ja) | ロボットシミュレーション装置 | |
JP6862604B2 (ja) | 垂直多関節ロボットの慣性パラメータ同定システム及び慣性パラメータ同定方法並びに垂直多関節ロボットの制御装置及び制御方法 | |
WO2022244441A1 (ja) | マニピュレータ | |
JP2007066001A (ja) | ロボットの制御装置 | |
US11890759B2 (en) | Robot control method | |
JP6697544B2 (ja) | 最適化装置及びそれを備えた垂直型多関節ロボット | |
JP7111498B2 (ja) | ロボットの制御装置およびロボットの制御方法 | |
JP7227018B2 (ja) | 学習制御装置、ロボット制御装置およびロボット | |
WO2022196231A1 (ja) | マニピュレータ | |
JP2002331479A (ja) | 産業用ロボットの制御方法 | |
CN113771039B (zh) | 用于估计机器人操作参数的方法和计算*** |