JP2019214105A - ロボット制御装置およびロボット制御方法 - Google Patents
ロボット制御装置およびロボット制御方法 Download PDFInfo
- Publication number
- JP2019214105A JP2019214105A JP2018113174A JP2018113174A JP2019214105A JP 2019214105 A JP2019214105 A JP 2019214105A JP 2018113174 A JP2018113174 A JP 2018113174A JP 2018113174 A JP2018113174 A JP 2018113174A JP 2019214105 A JP2019214105 A JP 2019214105A
- Authority
- JP
- Japan
- Prior art keywords
- robot arm
- robot
- speed
- parameter
- hand
- 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)
Abstract
【課題】パワーアシスト動作においてロボットアームの操作性を向上させる。【解決手段】ロボット制御装置300は、ロボットアームに作用する力と、粘性パラメータを含むインピーダンスパラメータとに基づいて、ロボットアームをインピーダンス制御し、ロボットアームにパワーアシスト動作を行わせるCPU301を備える。CPU301は、ロボットアームの手先の速度が第1速度では、粘性パラメータを第1粘性値に調整する。CPU301は、ロボットアームの手先の速度が第1速度よりも遅い第2速度では、粘性パラメータを第1粘性値よりも高い第2粘性値に調整する。【選択図】図2
Description
本発明は、ロボットアームにパワーアシスト動作を行わせる制御に関する。
人とロボットが協働することで、ロボットアームによる重量物の搬送や組立といったユーザにかかる負担を低減する、パワーアシストロボットが注目されている。パワーアシストロボットは、人との協調作業が可能であるため、工場内の組立ラインに留まらず、介助や生活補助等といった家庭内への展開も期待される。
パワーアシストロボットは、人がロボットアームに印加した力を検知し、検知した力に応じてロボットアームが動作するように、ロボットアームをインピーダンス制御する。インピーダンス制御では、慣性、粘性及び剛性のパラメータを含むインピーダンスパラメータを用いる。
特許文献1には、インピーダンスパラメータを用いてロボットアームをインピーダンス制御して、ロボットアームにパワーアシスト動作を行わせるものが記載されている。特許文献1に記載のロボット制御方法では、ロボットアームの手先の位置と、インピーダンスパラメータとの関係を示すマップを事前に作成しておく。例えば組立などの作業する位置のような高精度な位置決めが必要な位置では、粘性パラメータを高くしておき、搬送などの軽い力で移動させたい領域では、粘性パラメータを低く設定するなど、作業工程に応じてユーザがマップを事前に作成しておく。実際にロボットアームにパワーアシスト動作を行わせるときには、制御装置は、マップを参照しながらロボットアームの手先の現在位置に応じてインピーダンスパラメータを決定して、ロボットアームをインピーダンス制御する。
しかしながら、特許文献1に記載の方法では、ユーザが上述のマップを事前に作成しておく必要があった。このマップの作成作業は煩雑であり、ユーザに負担がかかるものであり、また、マップの作成に時間を要するものであった。更に、ロボットアームを用いた作業工程に変更が生じた場合にはマップを再作成する必要があり、工程の変更に柔軟に対応することができなかった。
そこで、本発明は、手先の位置とインピーダンスパラメータとを対応付けたマップを事前に作成しなくても、パワーアシスト動作においてロボットアームの操作性を向上させることを目的とする。
本発明者は、精密な作業が必要な位置、及び精密な作業が必要ではない位置において、ユーザがロボットアームをどのように操作するかを検討した。そして、精密な作業が必要な位置ではユーザはロボットアームを低速に操作し、精密な作業が必要ではない位置ではユーザはロボットアームを高速に操作することに着目した。
即ち、本発明のロボット制御装置は、ロボットアームに作用する力と、粘性パラメータを含むインピーダンスパラメータとに基づいて、前記ロボットアームをインピーダンス制御し、前記ロボットアームにパワーアシスト動作を行わせる制御部を備え、前記制御部は、前記ロボットアームの手先の速度が第1速度では、前記粘性パラメータを第1粘性値に調整し、前記ロボットアームの手先の速度が前記第1速度よりも遅い第2速度では、前記粘性パラメータを前記第1粘性値よりも高い第2粘性値に調整することを特徴とする。
本発明によれば、手先の位置とインピーダンスパラメータとを対応付けたマップを事前に作成しなくても、ロボットアームにパワーアシスト動作を行わせる際に、ロボットアームの操作性を向上させることができる。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、第1実施形態におけるロボットの概略構成を示す斜視図である。図1に示すロボット100は、生産ラインに配置され、物品の製造に用いられる。ロボット100は、重量物であるワークWを搬送するような力作業をアシストするなど人と協調して作業を行う機能(モード)と、教示データに従いマシン単独で作業を行う機能(モード)とを有する。
図1は、第1実施形態におけるロボットの概略構成を示す斜視図である。図1に示すロボット100は、生産ラインに配置され、物品の製造に用いられる。ロボット100は、重量物であるワークWを搬送するような力作業をアシストするなど人と協調して作業を行う機能(モード)と、教示データに従いマシン単独で作業を行う機能(モード)とを有する。
ロボット100は、多関節のロボットアーム200と、ロボットアーム200の動作を制御するロボット制御装置300と、ロボット制御装置300に教示データを送信する教示装置としての教示ペンダント400と、を備える。教示ペンダント400は、ユーザが操作するものであり、ロボットアーム200やロボット制御装置300の動作を指定するのに用いる。
ロボットアーム200は、アーム本体251と、アーム本体251の先端に取り付けられたエンドエフェクタとしてのハンド252と、を有する。以下、エンドエフェクタがハンド252である場合について説明するが、これに限定するものではなく、ツール等であってもよい。アーム本体251の基端は、台座150に固定されている。ハンド252は、部品やツール等のワークWを把持(保持)するものである。
アーム本体251は、複数の関節、例えば6つ関節(6軸)J1〜J6で連結された複数のリンク2100〜2106を有する。また、アーム本体251は、各関節J1〜J6を各関節軸A1〜A6まわりにそれぞれ回転駆動する複数(6つ)のサーボモータ201〜206を有している。本実施形態では、ロボットアーム200は、垂直多関節型のロボットアームである。アーム本体251は、基端側から先端側に向かって、リンク2100〜2106が順に直列に連結されて構成されている。
アーム本体251は、各関節が回転することにより、ロボットアーム200の手先、即ちハンド252を、可動範囲内の任意の位置姿勢に移動させることができる。ロボット100にパワーアシスト動作を行わせる際には、ユーザがハンド252又はアーム本体251を掴んでロボットアーム200を直接操作することで、ハンド252に把持されたワークWを、任意の箇所に移動させることができる。
ロボットアーム200の手先の位置及び姿勢は、アーム本体251の基端、即ち台座150を基準とする座標系Toで表現される。ロボットアーム200の手先には、座標系Teが設定されている。ここで、ロボットアーム200の手先とは、ハンド252が物体を把持していない場合には、ハンド252のことである。ハンド252が物体を把持している場合は、ハンド252と把持している物体を含めてロボットアーム200の手先という。つまり、ハンド252が物体を把持している状態であるか物体を把持していない状態であるかにかかわらず、アーム本体251の先端から先を手先という。
各サーボモータ201〜206は、各関節J1〜J6をそれぞれ駆動する電動モータ211〜216と、各電動モータ211〜216にそれぞれ接続されたセンサ部221〜226とを有している。各センサ部221〜226は、各関節J1〜J6の位置(角度)、本実施形態では、各電動モータ211〜216の回転位置に応じた信号を発生する位置センサ(例えばロータリエンコーダ)を有する。また、各センサ部221〜226は、各関節J1〜J6のトルクに応じた信号を発生するトルクセンサを有する。各サーボモータ201〜206は、減速機やベルト、ベアリング等の不図示の伝達機構を介して各関節J1〜J6で駆動されるリンクに接続されている。
ロボット制御装置300は、各サーボモータ201〜206の電動モータ211〜216の駆動を制御するサーボ制御部230を有する。サーボ制御部230は、各関節J1〜J6に対応する各トルク指令値に基づき、各関節J1〜J6のトルクがトルク指令値に追従するよう、各電動モータ211〜216に電流を出力し、各電動モータ211〜216の駆動を制御する。なお、第1実施形態では、サーボ制御部230は、ロボット制御装置300の筐体内部に配置されているが、これに限定するものではなく、ロボット制御装置300の筐体外部、例えばロボットアーム200の内部に配置されていてもよい。
次に、ロボット制御装置300について説明する。図2は、第1実施形態におけるロボットのロボット制御装置300の構成を示すブロック図である。ロボット制御装置300は、コンピュータで構成されており、制御部としてのCPU(Central Processing Unit)301を備えている。また、ロボット制御装置300は、記憶部として、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HDD(Hard Disk Drive)304を備えている。また、ロボット制御装置300は、記録ディスクドライブ305、各種のインタフェース(I/F)306〜309を備えている。
CPU301、ROM302、RAM303、HDD304、記録ディスクドライブ305、及びI/F306〜309は、互いに通信可能にバス310で接続されている。CPU301は、演算処理及び制御処理を行う。ROM302には、BIOS等の基本プログラムが格納されている。RAM303は、CPU301の演算処理結果等、各種データを一時的に記憶する記憶装置である。HDD304は、CPU301の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU301に、演算処理や制御処理を実行させるためのプログラム330を記録するものである。CPU301は、このHDD304に記録(格納)されたプログラム330に従って、後述するロボット制御方法の各工程を実行する。記録ディスクドライブ305は、記録ディスク331に記録された各種データやプログラム等を読み出すことができる。
教示ペンダント400は、I/F306に接続されている。CPU301は、I/F306及びバス310を介して教示ペンダント400からの教示データの入力を受ける。
サーボ制御部230は、I/F309に接続されている。CPU301は、サーボ制御部230、I/F309及びバス310を介して、サーボモータ201〜206に含まれるセンサ部221〜226から信号を取得する。また、CPU301は、各関節の指令を所定時間間隔でバス310及びI/F309を介してサーボ制御部230に出力する。サーボ制御部230は、指令に基づき、各サーボモータ201〜206に含まれる電動モータ211〜216を通電制御する。
I/F307には、モニタ321が接続されており、モニタ321は、CPU301の制御の下、各種画像を表示する。I/F308は、書き換え可能な不揮発性メモリや外付けHDD等の記憶部である外部記憶装置322が接続可能に構成されている。
なお、第1実施形態では、コンピュータ読み取り可能な記録媒体がHDD304であり、HDD304にプログラム330が格納される場合について説明するが、これに限定するものではない。プログラム330は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム330を供給するための記録媒体としては、図2に示すROM302,記録ディスク331、外部記憶装置322等を用いてもよい。具体的に例示すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、磁気テープ、不揮発性メモリ等を用いることができる。光ディスクは、例えばDVD−ROM、CD−ROM、CD−Rである。不揮発性メモリは、例えばUSBメモリ、メモリカード、ROMである。
図3は、第1実施形態におけるロボット100の制御系を示す制御ブロック図である。図2に示すCPU301は、プログラム330を実行することにより、図3に示すモード切換部502、力指令生成部503、位置指令生成部504、指令部510、手先状態演算部513、インピーダンスパラメータ設定部516として機能する。図2に示す外部記憶装置322又はHDD304等の記憶部、例えば外部記憶装置322には、図3に示す教示データ508、変換データ509、ロボットモデル519等、処理に用いるデータが格納されている。また、図2に示すサーボ制御部230は、図3に示すように複数(6つ)のモータ制御部531〜536を含んでいる。教示データ508は、例えばロボット言語で作成されており、教示点の情報や教示点間の補間方法などを含んでいる。
各センサ部221〜226は、各位置センサ551〜556と、各トルクセンサ541〜546とを有して構成される。各位置センサ551〜556は、ロータリエンコーダである。各位置センサ551〜556は、各関節J1〜J6に設けられ、各電動モータ211〜216の回転軸の回転位置(角度)θ1〜θ6に応じた信号(エンコーダ信号)を、各モータ制御部531〜536及び手先状態演算部513に出力する。
各角度θ1〜θ6の情報を不図示の減速機の減速比で補正したものが、各関節J1〜J6の角度q1〜q6の情報となる。この演算、及びこの演算とは逆の演算、即ち関節の角度からモータの角度への演算は、ロボット制御装置300のCPU301及びサーボ制御部230のうちいずれが行ってもよいが、本実施形態ではサーボ制御部230が行うものとする。なお、本実施形態では、各位置センサ551〜556が各電動モータの回転軸に設けられる場合について例示したが、これに限定するものではなく、各位置センサ551〜556が、例えば不図示の減速機の出力軸側に設けられていてもよい。この場合、各位置センサ551〜556は、直接、各関節J1〜J6の角度q1〜q6に応じた信号を出力することになるため、角度θ1〜θ6を角度q1〜q6に変換する演算は省略可能となる。
各トルクセンサ541〜546は、各関節J1〜J6に設けられ、各関節J1〜J6に生じるトルクτ1〜τ6に応じた信号(トルク信号)を、各モータ制御部531〜536及び手先状態演算部513に出力する。手先状態演算部513は、各トルクセンサ541〜546からの信号を、ロボットアーム200に作用する力(手先力)Fの情報として取得する。具体的には、手先状態演算部513は、各トルクセンサ541〜546からの信号を、ロボットアーム200に作用する力(手先力)Fの情報を求めるのに用いる。
教示ペンダント400は、ロボットアーム200の手先の位置の目標値である教示点を教示データ508に設定するのに用いる。教示点は、組立工程に合わせて複数存在する。教示点の一つは、例えば、重量物などのワークW(図1)を取得する位置の近傍に設定される。ロボットアーム200の手先がこの教示点に移動するまでのロボットアーム200の動作は、位置制御により行われる。
モード切換部502は、第1モードであるパワーアシスト動作モード(トルクベース力制御を行うモード)と、第2モードである再生動作モード(位置制御を行うモード)との2つのモードを有する。パワーアシスト動作モードは、トルクベース力制御でロボットアーム200を制御して、ロボットアーム200にパワーアシスト動作を行わせるモードである。再生動作モードは、教示データ508に従ってロボットアーム200を動作させるモードである。モード切換部502は、いずれかのモードに切り換えるよう、図2に示すプログラム330に従ってロボットアーム200の動作指示を生成する。
生成したロボットアーム200の動作指示がトルクベース力制御(パワーアシスト動作モード)の場合は、力指令生成部503へ動作指示を送る。生成したロボットアーム200の動作指示が位置制御(再生動作モード)の場合は、位置指令生成部504へ動作指示を送る。即ち、モード切換部502は、パワーアシスト動作モード又は再生動作モードを選択し、選択したモードでロボットアームを制御するように、力指令生成部503又は位置指令生成部504に、動作指示を送る。
力指令生成部503は、モード切換部502からの指示を受け、力制御部517へ力目標値Frefを出力する。本実施形態では、ロボットアーム200によりワークWの搬送や組立時のパワーアシストを実現することを目的としている。このことから、力目標値Frefは、パワーアシスト開始時、即ちロボットアーム200にワークWを保持させて行うインピーダンス制御開始時に、ロボットアーム200の手先に作用している力(手先力)Fに設定する。これにより、ロボットアーム200にワークWを保持させた初期状態の手先力Fを力目標値Frefとして力制御が実行される。つまり、ロボットアーム200により、パワーアシストが実現されている状態となる。
本実施形態においては、インピーダンス制御として、トルクベース力制御を実行する。インピーダンス制御は、ロボットアーム200に外力が印加されたときに生じる機械的なインピーダンスを目標値に近づけるための、ロボットの力制御手法の一つである。インピーダンス制御においては、ロボットアーム200に印加された力によりロボットアーム200の動作を制御するため、パワーアシストなどの人との協調作業をするのに適している。
インピーダンス制御が実行されている状態において、ワークWの搬送や組立を行うためには、設定されたインピーダンスパラメータに応じた力を、ロボットアーム200やロボットアーム200に保持されたワークWに印加すればよい。例えば、詳細は後述するが、インピーダンスパラメータの粘性パラメータ(粘性項)を低い値に設定した場合、ロボットアーム200には外部から軽い力を印加することで、ロボットアーム200を動作させることができる。このため、粘性パラメータを低い値に設定することは、ワークWの搬送等に適した設定となる。
一方、インピーダンスパラメータの粘性パラメータを高い値に設定した場合、ロボットアーム200を動作させるためには、相対的に大きな外力が必要となるが、ロボットアーム200を安定的に動作させることができる。このため、粘性パラメータを高い値に設定することは、ワークWの精密な位置決め、例えば組立等に適した設定となる。
位置指令生成部504は、モード切換部502からの指示により、教示データ508に基づき軌道データを生成し、軌道データの各点である位置目標値Prefを位置制御部518へ送信する。
手先状態演算部513は、手先力演算部514と手先位置演算部515とを含む。手先状態演算部513は、外部記憶装置322からロボットモデル519を取得する。また、手先状態演算部513は、各トルクセンサ541〜546からの各トルクτ1〜τ6に応じた信号を、サーボ制御部230から取得する。また、手先状態演算部513は、各位置センサ551〜556からの角度θ1〜θ6を変換した角度q1〜q6を示す信号を、サーボ制御部230から取得する。
手先力演算部514は、トルクτ1〜τ6の情報と、ロボットモデル519とを用いて、ロボットアーム200の手先力Fを求める。手先位置演算部515は、各関節の角度(位置)q1〜q6の情報と、ロボットモデル519とを用いて、ロボットの順運動学計算により、ロボットアーム200の手先の現在位置Pを求める。手先状態演算部513は、ロボットアーム200の手先力Fと現在位置Pとをインピーダンスパラメータ設定部516に出力する。
インピーダンスパラメータ設定部516は、手先状態演算部513から取得したロボットアーム200の手先力Fと現在位置Pとを用いて、インピーダンス制御に係るインピーダンスパラメータを逐次演算し、力制御部517へ設定する。
以下、本実施形態におけるインピーダンスパラメータの演算方法について説明する。インピーダンスパラメータは、剛性パラメータ(剛性項)Kおよび粘性パラメータ(粘性項)Dを含んでいる。インピーダンスパラメータ設定部516は、インピーダンスパラメータのうち、粘性パラメータDを逐次計算し、剛性パラメータKは、一定値とする。各パラメータK、Dは、それぞれ機械インピーダンスの剛性値、粘性値を表わし、それぞれ6×6の行列である。
本実施形態において、インピーダンスパラメータ設定部516は、粘性パラメータDを、以下の式(1)に従って演算する。
式(1)中、Vはロボットアーム200の現在位置Pから求まる手先の速度の値で6×1の行列である。V0はロボットアーム200の手先の速度の速度リミット値で6×1の行列である。αは比例係数で1×6の行列である。D0は粘性パラメータDの初期設定値で6×6の行列である。式(1)は、変換データ509として、外部記憶装置322に格納されている。インピーダンスパラメータ設定部516は、現在位置Pの時間変化、即ち一階微分により、手先の速度Vを求める。そして、インピーダンスパラメータ設定部516は、式(1)に従って、手先の速度Vから粘性パラメータDを求める。
手先の速度Vが速度リミット値V0に近づくに従って、粘性項Dは0に近づき速度が上がりやすい状態になる。そこで、式(1)に基づいて演算される粘性パラメータDが0近傍、またはD<0となる場合、粘性パラメータDを固定値Dfとして力制御部517へ出力する。なお、粘性パラメータDを逐次演算する方法は、これに限らない。
力制御部517は、インピーダンスパラメータ設定部516からインピーダンスパラメータを取得する。力制御部517は、力指令生成部503から力目標値Frefを取得する。力制御部517は、手先状態演算部513からロボットアーム200の手先力Fと手先の現在位置Pの情報を取得する。力制御部517は、外部記憶装置322からロボットモデル519を取得する。
力制御部517は、取得したインピーダンスパラメータ、及び手先力Fを用いて、ロボットアーム200をインピーダンス制御する。本実施形態では、力制御部517は、ロボットアーム200の手先に所望の機械インピーダンス(剛性、粘性、力)を持たせる各関節J1〜J6のトルク指令値τMref1〜τMref6を、以下の式(2)に従って算出する。なお、本実施形態では、演算式を簡単化するため、慣性項(慣性パラメータ)は省略している。
式(2)中、Gは重力負荷トルクベクトルであり6×1の行列、P0はインピーダンス制御を開始したときのロボットアーム200の手先の位置である。力制御部517は、重力負荷トルクベクトルGを、ロボットモデル519と各関節J1〜J6の位置及び速度に基づいて、公知の動力学計算手法であるニュートン・オイラー法で計算する。なお、動力学計算方法はラグランジュの定式化による導出方法であってもよく、これに限らない。
Jacは、アーム本体251の各関節J1〜J6の速度と、アーム本体251の基端に固定された座標系To基準で表現されたアーム本体251の手先の速度とを関連付ける6×6のヤコビ行列である。式(2)中、ヤコビ行列Jacの添え字Tは、行列の転置を表わしている。
力制御部517は、式(2)により求めた各関節J1〜J6に対するトルク指令値τMref1〜τMref6を、サーボ制御部230に出力する。
位置制御部518は、手先の位置目標値Prefとロボットモデル519を用いて、逆運動学計算により、各関節J1〜J6の角度指令値(位置指令値)qref1〜qref6を求め、各角度指令値qref1〜qref6をサーボ制御部230に出力する。
サーボ制御部230は、複数(本実施形態ではロボットアーム200が6関節であるので6つ)のモータ制御部531〜536を有する。各モータ制御部531〜536は、各トルク指令値τMref1〜τMref6又は各角度指令値qref1〜qref6を取得する。
各モータ制御部531〜536が、各トルク指令値τMref1〜τMref6を取得した場合について説明する。各モータ制御部531〜536は、各トルク値τ1〜τ6と各トルク指令値τMref1〜τMref6とのトルク偏差が小さくなるよう各電流Cur1〜Cur6を各電動モータ211〜216に通電する。
各モータ制御部531〜536が各角度指令値qref1〜qref6を取得した場合について説明する。各モータ制御部531〜536は、各角度指令値qref1〜qref6を、各電動モータ211〜216の目標である各角度指令値θref1〜θref6(不図示)に変換する。各モータ制御部531〜536は、各角度θ1〜θ6と各角度指令値θref1〜θref6との角度偏差が小さくなるよう各電流Cur1〜Cur6を各電動モータ211〜216に通電する。各電動モータ211〜216は、通電されることにより、各関節J1〜J6(リンク)を駆動する。
次に、ロボットアーム200のトルクベース力制御、即ちインピーダンス制御について説明する。図4は、第1実施形態におけるロボットアーム200をインピーダンス制御してロボットアーム200をパワーアシスト動作させる制御方法を示すフローチャートである。
まず、CPU301は、インピーダンス制御開始時のロボットアーム200の手先力Fを、力目標値Frefに設定する(S1)。
操作者は、ロボットアーム200を操作する(S2)。
CPU301(力制御部517)は、手先力Fと力目標値Frefとの偏差が小さくなるよう、インピーダンス制御を行い、各電動モータ211〜216に対するトルク指令値τMref1〜τMref6を算出する(S3)。
各モータ制御部531〜536は、各電動モータ211〜216の角度θ1〜θ6に基づいて、各トルク指令値τMref1〜τMref6を実現するよう通電制御する(S4)。
各電動モータ211〜216は、通電されることにより各関節J1〜J6に各トルクτ1〜τ6を発生させる(S5)。
各位置センサ551〜556は、各関節J1〜J6の各電動モータ211〜216の角度θ1〜θ6を検出する。各トルクセンサ541〜546は、各関節J1〜J6のトルクτ1〜τ6を検出する(S6)。サーボ制御部230は、各関節J1〜J6の各角度q1〜q6及び各関節J1〜J6の各トルクτ1〜τ6を、ロボット制御装置300のCPU301にフィードバックする。
CPU301(手先状態演算部513)は、ロボットモデル519、各関節J1〜J6の角度q1〜q6及び各関節J1〜J6のトルクτ1〜τ6に基づき、ロボットアーム200の手先の現在位置Pと手先力Fを演算する(S7)。即ち、CPU301は、関節J1〜J6のトルクτ1〜τ6を手先力Fに変換する。
CPU301(インピーダンスパラメータ設定部516)は、ロボットアーム200の手先の現在位置Pから、ロボットアーム200の動作に応じたインピーダンスパラメータを逐次演算する(S8)。駆動が終了していない間(S9:No)は、ステップS2〜S8を繰り返し、駆動が終了したら(S9:Yes)、CPU301は、インピーダンス制御を終了する。なお、図4に示すフローチャートの順番に限定するものではなく、他の順番でもトルクベース力制御は可能である。
上記フローに従って各電動モータ211〜216を駆動制御することで、ロボットアーム200の手先力Fが所望の力目標値Frefに倣うようにロボットアーム200を制御する。
本実施形態では、インピーダンスパラメータ設定部516は、インピーダンスパラメータのうち、粘性パラメータDを、操作者のロボットアーム200の手先の速度Vに応じて自動的に調整する。図5(a)は、ロボットアーム200の手先の速度Vと粘性パラメータDとの関係の例を模式的に示すグラフである。
インピーダンスパラメータ設定部516は、図5(a)に示すように、ロボットアーム200の手先の速度Vが第1速度V1では、粘性パラメータDを第1粘性値D1に調整する。インピーダンスパラメータ設定部516は、ロボットアーム200の手先の速度Vが第1速度V1よりも遅い第2速度V2では、粘性パラメータDを第1粘性値D1よりも高い第2粘性値D2に調整する。上述の式(1)により粘性パラメータDを求めると、粘性パラメータDは、図5(a)に示すように、速度Vの増加に対して直線的に減少する。本実施形態では、インピーダンスパラメータ設定部516は、速度Vが0であるときの粘性値を基準とし、速度Vが速くなるほど、粘性パラメータDを基準に対して低くする。ここで、上述したように、インピーダンスパラメータ設定部516は、粘性パラメータDの下限を固定値Df(>0)とし、粘性パラメータDが固定値Dfを下回らないように粘性パラメータDを調整する。
なお、粘性パラメータDを求めるにあたって、式(1)を用いる場合について説明したが、これに限定するものではない。例えば、予め速度Vと粘性パラメータDとを対応付けたテーブルデータを作成しておき、インピーダンスパラメータ設定部516が、テーブルデータに基づき、手先の速度Vに対応する粘性パラメータDを求めるようにしてもよい。
数式データやテーブルデータなどの変換データ509は、外部記憶装置322等の記憶部に予め記憶させておけばよい。したがって、ユーザはこの変換データ509を作成しなくてもよい。もちろん、変換データ509をユーザが作成又は編集できるようにしておいてもよい。
以上の説明では、粘性パラメータDが図5(a)に示すように速度Vの増加に対して直線的に減少する場合について説明したが、これに限定するものではない。図5(b)及び図5(c)は、ロボットアーム200の手先の速度Vと粘性パラメータDとの関係の他の例を模式的に示すグラフである。粘性パラメータDが、図5(b)に示すように、速度Vの増加に対して曲線的に減少するようにしてもよいし、図5(c)に示すように、速度Vの増加に対して不連続的(ステップ状)に減少するようにしてもよい。
以上のように、本実施形態では、インピーダンスパラメータ設定部516は、ロボットアーム200の手先の速度Vに応じて、インピーダンスパラメータの粘性パラメータDを逐次演算する。粘性パラメータDは、手先の速度Vが遅いほど、初期に設定した粘性値(速度0としたときの粘性値)に近い値となり、一方、手先の速度Vが速いほど、初期に設定した粘性値に対して十分に小さい値となる。
図6は、第1実施形態におけるロボットアームの手先の位置及び速度と、粘性パラメータとの関係を説明するための図である。図6においては、ロボットアーム200に保持させたワークWの搬送や組立を、インピーダンス制御を用いて行う際に、粘性パラメータDの調整の仕方について図示している。なお、図6には、ロボットアーム200の手先の並進方向のX軸方向、Y軸方向、Z軸方向に対する位置および姿勢(Px、Py、Pz、θx、θy、θz)のうち、代表として、X軸成分についてのみ図示する。即ち、図6には、ロボットアーム200の手先のX軸方向における位置Px及び速度Vx、並びに粘性パラメータDにおけるX軸成分である粘性パラメータDxについて図示している。
図6に示す区間Aは、ワークWを搬送する区間である。区間Aは、手先の位置Pxの変位量が大きく、速度Vxも速い。このように、搬送作業などの動作精度が求められない動作のときは、ユーザはロボットアーム200を速く動作させる傾向がある。このとき、粘性パラメータDxは、速度Vxが最も速くなる位置では、初期値として設定した値(1[Ns/m])に対して、30分の1程度の0.03[Ns/m]にまで減少している。このように、速度Vxが速いほど粘性パラメータDxが低くなるため、ユーザはロボットアーム200を軽い力で動作させることが可能となる。
図6に示す区間Bは、ロボットアーム200の手先がX軸方向に対して停止している区間である。手先の速度Vxの変化がゼロなので、粘性パラメータDxは高い状態(1[Ns/m])となっている。よって、X軸方向以外の方向にロボットアーム200の手先が動作している場合であっても、X軸方向に関しては、ロボットアーム200は安定な状態となっている。
図6に示す区間Cは、ワークWを組み付ける区間である。区間Cでは、手先の移動量が小さく、手先の速度Vxが遅い。組み付け作業などの精密作業においては、動作精度が求められており、このときは、ユーザはロボットアーム200をゆっくり動作させる傾向がある。
よって、本実施形態では、粘性パラメータDxを、区間Cにおいて速度Vxが最も速くなる位置においても、初期値として設定した値(1[Ns/m])に対して、90%程度の0.9[Ns/m]にまでしか変化していない。このことより、ユーザが手先の速度Vxを遅くなるようロボットアーム200を動作させているときには、ロボットアーム200を動作させる粘性が高まり、ロボットアーム200を安定して動作させることが可能となる。よって、ユーザは、ロボットアーム200の手先を精密に位置決めすることができる。
以上の説明では、ロボットアーム200の手先のX軸における位置Pxについて説明したが、他の方向成分についても同様である。即ち、ロボットアーム200の動作に応じて、ロボットアーム200の手先のX軸、Y軸、Z軸の位置および姿勢(Px、Py、Pz、θx、θy、θz)について、同様にインピーダンスパラメータを演算することができる。そのため、動作方向に関しては、動作速度に応じた粘性パラメータが演算されるため、適切なアシスト力を得ることができる。一方、動作させていない方向に関しては、動作速度が変化しないため粘性パラメータは高い状態であり、安定した状態である。つまり、動作方向にのみ適切なアシスト力が発生し、非動作方向に関しては安定な状態を保持するような、インピーダンス制御を実現することができる。
以上、第1実施形態によれば、ユーザが事前に、手先の位置とインピーダンスパラメータとを対応付けたマップを作成するような煩雑な作業を行う必要がなくなり、ユーザの負担が低減される。これにより、製造工程の変更に柔軟に対応することができる。そして、ワークWの搬送時のように手先の速度Vが速いときには、ロボットアーム200を小さな力で操作することが可能となる。また、ワークWを位置決めする時のように手先の速度Vが遅いときには、ロボットアーム200の手先の振動を抑制することができ、ロボットアーム200の手先の精密な位置決めが可能となる。このように、ロボットアーム200にパワーアシスト動作を行わせる際には、ロボットアーム200の操作性を向上させることができる。
また、上述の説明では、式(1)に示すように、手先の速度の演算値に比例係数を乗算しているが、一般的なPID制御のように、比例・積分・微分を組み合わせて演算してもよい。
また、手先の速度に応じて、粘性パラメータを調整する場合について説明したが、これに限定するものではない。インピーダンスパラメータは、粘性パラメータ、慣性パラメータ及び剛性パラメータを含んでいるが、インピーダンスパラメータ設定部516は、これらインピーダンスパラメータのうち、更に慣性パラメータ及び/又は剛性パラメータを調整してもよい。これにより、ロボットアームの操作性が更に向上する。
[第2実施形態]
次に、本発明の第2実施形態について説明する。以下、第2実施形態を説明するにあたり、第1実施形態と実質的に同一の機能を有する構成に関しては、同一の記号を付与し、説明を省略する。また、第2実施形態における粘性パラメータの求め方も第1実施形態と同様であるため、説明を省略する。
次に、本発明の第2実施形態について説明する。以下、第2実施形態を説明するにあたり、第1実施形態と実質的に同一の機能を有する構成に関しては、同一の記号を付与し、説明を省略する。また、第2実施形態における粘性パラメータの求め方も第1実施形態と同様であるため、説明を省略する。
第1実施形態においては、各関節に設けられたトルクセンサ541〜546を用いて、インピーダンス制御を実行した。第2実施形態では、トルクセンサ541〜546に代わって、ロボットアーム200の手先(例えばハンド252)に搭載した力センサを用いてインピーダンス制御を実行する。即ち、第1実施形態では、インピーダンス制御としてトルクベース力制御を行う場合について説明したが、第2実施形態では、インピーダンス制御として位置ベース力制御を行う場合について説明する。
図7は、第2実施形態におけるロボットの制御系を示す制御ブロック図である。第1実施形態との差異について説明する。力センサ253は、ハンド252にかかるX軸、Y軸、Z軸の各軸の力(並進力)と、各軸まわりのモーメント(回転力)を検出する。即ち、力センサ253は、ロボットアーム200の手先に作用する力(手先力)Fに応じた信号を、手先状態演算部513へ出力する。これにより、手先状態演算部513は、ロボットアーム200に作用する力(手先力)Fの情報として、ロボットアーム200の手先に設けられた力センサ253からの信号を取得する。手先状態演算部513、具体的には手先力演算部514は、力センサ253からの信号に基づき手先力Fを求める。手先位置演算部515は、第1実施形態と同様、ロボットアーム200の手先の現在位置Pを求める。
インピーダンスパラメータ設定部516は、手先状態演算部513から出力されるロボットアーム200の手先の現在位置Pから、位置ベース力制御によるインピーダンス制御に係るインピーダンスパラメータを逐次演算し、力制御部517へ出力する。力制御部517は、手先力F及びインピーダンスパラメータを用いてロボットアーム200の手先の位置目標値Prefを求め、位置制御部518へ出力する。位置制御部518は、力制御部517から得た手先の位置目標値Prefに基づいたインピーダンス制御を行う。
以上、第2実施形態によれば、第1実施形態と同様、ユーザが事前に、手先の位置とインピーダンスパラメータとを対応付けたマップを作成するような煩雑な作業を行う必要がなくなり、ユーザの負担が低減される。これにより、製造工程の変更に柔軟に対応することができる。そして、ワークWの搬送時のように手先の速度Vが速いときには、ロボットアーム200を小さな力で操作することが可能となる。また、ワークWを位置決めする時のように手先の速度Vが遅いときには、ロボットアーム200の手先の振動を抑制することができ、ロボットアーム200の手先の精密な位置決めが可能となる。このように、ロボットアーム200にパワーアシスト動作を行わせる際には、ロボットアーム200の操作性を向上させることができる。
本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されない。
上述の実施形態では、ロボットアーム200が垂直多関節のロボットアームの場合について説明したが、これに限定するものではない。ロボットアームが、例えば、水平多関節のロボットアーム、パラレルリンクのロボットアーム、直交ロボット等、種々のロボットアームであってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…ロボット、200…ロボットアーム、300…ロボット制御装置、301…CPU(制御部)
Claims (11)
- ロボットアームに作用する力と、粘性パラメータを含むインピーダンスパラメータとに基づいて、前記ロボットアームをインピーダンス制御し、前記ロボットアームにパワーアシスト動作を行わせる制御部を備え、
前記制御部は、
前記ロボットアームの手先の速度が第1速度では、前記粘性パラメータを第1粘性値に調整し、
前記ロボットアームの手先の速度が前記第1速度よりも遅い第2速度では、前記粘性パラメータを前記第1粘性値よりも高い第2粘性値に調整することを特徴とするロボット制御装置。 - 前記制御部は、前記ロボットアームの各関節に設けられた位置センサからの情報に基づいて、前記ロボットアームの手先の速度を求めることを特徴とする請求項1に記載のロボット制御装置。
- 前記制御部は、前記ロボットアームに作用する力の情報として、前記ロボットアームの各関節に設けられたトルクセンサからの信号を取得することを特徴とする請求項1又は2に記載のロボット制御装置。
- 前記制御部は、前記ロボットアームに作用する力の情報として、前記ロボットアームの手先に設けられた力センサからの信号を取得することを特徴とする請求項1又は2に記載のロボット制御装置。
- 前記制御部は、前記ロボットアームに前記パワーアシスト動作を行わせる第1モードと、教示データに従って前記ロボットアームを動作させる第2モードとを有し、前記第1モード又は前記第2モードにより前記ロボットアームを制御することを特徴とする請求項1乃至4のいずれか1項に記載のロボット制御装置。
- 前記インピーダンスパラメータは、慣性パラメータ及び剛性パラメータを含んでおり、
前記制御部は、前記ロボットアームの手先の速度に応じて、前記慣性パラメータ及び/又は前記剛性パラメータを調整することを特徴とする請求項1乃至5のいずれか1項に記載のロボット制御装置。 - 前記ロボットアームと、
請求項1乃至6のいずれか1項に記載のロボット制御装置と、を備えたロボット。 - 制御部が、ロボットアームに作用する力と、粘性パラメータを含むインピーダンスパラメータとに基づいて、前記ロボットアームをインピーダンス制御し、前記ロボットアームにパワーアシスト動作を行わせるロボット制御方法であって、
前記制御部が、前記ロボットアームの手先の速度が第1速度では、前記粘性パラメータを第1粘性値に調整し、
前記制御部が、前記ロボットアームの手先の速度が前記第1速度よりも遅い第2速度では、前記粘性パラメータを前記第1粘性値よりも高い第2粘性値に調整することを特徴とするロボット制御方法。 - 請求項8に記載のロボット制御方法により前記制御部が前記ロボットアームを制御して、物品を製造する物品の製造方法。
- コンピュータに請求項8に記載のロボット制御方法を実行させるためのプログラム。
- 請求項10に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018113174A JP2019214105A (ja) | 2018-06-13 | 2018-06-13 | ロボット制御装置およびロボット制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018113174A JP2019214105A (ja) | 2018-06-13 | 2018-06-13 | ロボット制御装置およびロボット制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019214105A true JP2019214105A (ja) | 2019-12-19 |
Family
ID=68918230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018113174A Pending JP2019214105A (ja) | 2018-06-13 | 2018-06-13 | ロボット制御装置およびロボット制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019214105A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021200743A1 (ja) * | 2020-04-02 | 2021-10-07 | ファナック株式会社 | ロボットの教示位置を修正するための装置、教示装置、ロボットシステム、教示位置修正方法、及びコンピュータプログラム |
-
2018
- 2018-06-13 JP JP2018113174A patent/JP2019214105A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021200743A1 (ja) * | 2020-04-02 | 2021-10-07 | ファナック株式会社 | ロボットの教示位置を修正するための装置、教示装置、ロボットシステム、教示位置修正方法、及びコンピュータプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10751874B2 (en) | Method of teaching robot and robotic arm control device | |
JP6648913B2 (ja) | 制御方法、ロボット装置、プログラム、記録媒体、物品の製造方法、及び駆動装置 | |
US8874263B2 (en) | Walking robot and control method thereof | |
JP6584102B2 (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法 | |
JP4947073B2 (ja) | ロボット装置及びその制御方法 | |
JP5916583B2 (ja) | 多関節ロボットのウィービング制御装置 | |
JP2006236031A (ja) | ロボット軌跡制御方法及び装置並びにロボット軌跡制御方法のプログラム | |
TW201722658A (zh) | 機器人之直接教示方法 | |
JP2018114607A (ja) | ロボット制御装置、ロボットシステム、ロボット制御方法、プログラム、記録媒体及び物品の製造方法 | |
JP2010524714A (ja) | 関節を制御する方法及びトルク速度変換装置 | |
JP2001525734A (ja) | 自動機械を直接指令するための方法及び装置 | |
JP6794194B2 (ja) | ロボット装置、制御方法、プログラム、記録媒体及び物品の製造方法 | |
JP2017124455A (ja) | ロボット装置、ロボット制御方法、プログラム及び記録媒体 | |
WO2018212307A1 (ja) | 減速機角度伝達誤差同定システム及び減速機角度伝達誤差同定方法 | |
JP2017209762A (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体及び物品の製造方法 | |
JP6652310B2 (ja) | ロボットシステム、ロボットアームの制御方法、プログラム、記録媒体、及び物品の製造方法 | |
JP2020015124A (ja) | ロボット制御方法、物品の製造方法、ロボット制御装置、ロボット、プログラム及び記録媒体 | |
JP6700679B2 (ja) | 制御方法、物品の製造方法、ロボット装置、制御プログラム及び記録媒体 | |
JP2019214105A (ja) | ロボット制御装置およびロボット制御方法 | |
JP2017056525A (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法 | |
JP2006059037A (ja) | 溶接ロボット制御装置 | |
US20200189102A1 (en) | Robot apparatus, robot system, control method of robot apparatus, product manufacturing method using robot apparatus, and storage medium | |
JP2013223895A (ja) | ロボット制御方法及びロボット制御装置 | |
US20210053238A1 (en) | Deflection amount estimating device, robot control device and method of estimating amount of deflection | |
JP2010036293A (ja) | 多関節ロボット |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200206 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200207 |