図面 (/)

技術 ロボット制御装置、ロボットおよびロボットシステム

出願人 セイコーエプソン株式会社
発明者 下平泰裕元吉正樹竹内馨五十嵐克司
出願日 2015年7月30日 (5年10ヶ月経過) 出願番号 2015-150428
公開日 2017年2月9日 (4年4ヶ月経過) 公開番号 2017-030068
状態 特許登録済
技術分野 マニプレータ
主要キーワード 能動インピーダンス 力覚センサー 動作制御コマンド 仮想質量 位置制御モード 仮想慣性 目標力 機械的インピーダンス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年2月9日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題

ロボットに対する力制御再現性を高める技術を提供する。

解決手段

ロボット制御装置は、マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置において、前記マニピュレーターの動作を制御する制御部は、前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを当該コマンドのパラメータに応じて切り換える。

概要

背景

ロボットの分野においては、マニュピレーターに加わる力に応じてマニピュレーターを制御する力制御が用いられている。たとえば、特許文献1の図2には、「Activate ForceControl;」コマンドと、「Deactivate ForceControl;」コマンドとによって、マニュピレーターに加わる力に応じてマニピュレーターを制御する力制御モードと、マニュピレーターに加わる力と無関係にマニピュレーターを制御する位置制御モードとの切換が行われるプログラムが記載されている。

概要

ロボットに対する力制御の再現性を高める技術を提供する。ロボット制御装置は、マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置において、前記マニピュレーターの動作を制御する制御部は、前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを当該コマンドのパラメータに応じて切り換える。

目的

本発明は、このような問題を解決するために創作されたものであって、ロボットに対する力制御の再現性を高める技術を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置において、前記マニピュレーターの動作を制御する制御部は、前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを当該コマンドのパラメータに応じて切り換える、ロボット制御装置。

請求項2

前記制御部は、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御する前記コマンドを実行するとき、前記力検出器をリセットするとともに、前記力検出器のリセットから所定時間経過後に、前記力検出器の出力に基づく前記マニピュレーターの動作制御を開始する、請求項1に記載のロボット制御装置。

請求項3

前記制御部は、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御する前記コマンドを実行するとき、前記力検出器の出力に基づく前記マニピュレーターの動作制御を当該コマンドに応じて終了する、請求項1に記載のロボット制御装置。

請求項4

マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置において、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するモードにおいて実行可能なコマンドと実行不能なコマンドとが予め決められている制御部を備える、ロボット制御装置。

請求項5

前記制御部は、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するとき、インピーダンス制御を実行する、請求項4に記載のロボット制御装置。

請求項6

マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置において、引数オブジェクト階層化されたコマンドを実行することにより、前記マニピュレーターの動作を制御する制御部を備える、ロボット制御装置。

請求項7

マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置において、基準座標系に対して定義された任意の座標系を引数とするコマンドを実行することにより、前記マニピュレーターの動作を制御する制御部を備える、ロボット制御装置。

請求項8

マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットであって、前記マニピュレーターを動作させるコマンドが実行されるとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかが当該コマンドのパラメータに応じて切り換えられる、ロボット。

請求項9

マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットと、前記マニピュレーターの動作を制御する制御部であって前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを当該コマンドのパラメータに応じて切り換える制御部を備えるロボット制御装置と、を備えるロボットシステム

技術分野

0001

本発明は、ロボット制御装置ロボットおよびロボットシステムに関する。

背景技術

0002

ロボットの分野においては、マニュピレーターに加わる力に応じてマニピュレーターを制御する力制御が用いられている。たとえば、特許文献1の図2には、「Activate ForceControl;」コマンドと、「Deactivate ForceControl;」コマンドとによって、マニュピレーターに加わる力に応じてマニピュレーターを制御する力制御モードと、マニュピレーターに加わる力と無関係にマニピュレーターを制御する位置制御モードとの切換が行われるプログラムが記載されている。

先行技術

0003

米国特許7340323号公報

発明が解決しようとする課題

0004

しかし、特許文献1に記載されているようにコマンドによって位置制御モードから力制御モードに切り換えた後に、加わる力に応じてマニピュレーターを動作させるコマンドを実行する場合、マニピュレーターの動作結果再現性が低くなるという問題がある。すなわち、水晶圧電効果を用いている場合など、力検出器によっては出力が時間に依存するため、力検出器のどの時間の出力に基づいてマニピュレーターを制御するかによって、動作結果が異なることになる。具体的には、位置制御モードから力制御モードに切り換わった時点における力検出器の出力を基準としてマニピュレーターに加わる力を検出すると、力制御モードに切り換わってからマニピュレーターを実際に動かすコマンドが実行されるまでの時間の違いにより、マニピュレーターの動作結果が異なることになる。

0005

本発明は、このような問題を解決するために創作されたものであって、ロボットに対する力制御の再現性を高める技術を提供することを目的とする。

課題を解決するための手段

0006

前記目的を達成するためのロボット制御装置は、マニピュレーターと、前記マニピュレーターに作用する力を検出する力検出器と、を備えるロボットを制御するロボット制御装置であって、前記マニピュレーターの動作を制御する制御部は、前記マニピュレーターを動作させるコマンドを実行するとき、前記力検出器の出力に基づいて前記マニピュレーターの動作を制御するか、前記力検出器の出力に基づかずに前記マニピュレーターの動作を制御するかを当該コマンドのパラメータに応じて切り換える。

0007

ここで「マニピュレーターを動作させるコマンド」は、それ自体でマニピュレーターを動作させるコマンドを意味し、設定、モードの切換といった、それ自体ではマニピュレーターを動作させることがないコマンドを含まない。すなわち例えば、本発明では、マニピュレーターを動作させるコマンドの引数やコマンドの本体自体によって、力検出器の出力に基づいてマニピュレーターの動作を制御するか否かが決定される。したがって本発明によると、力検出器の出力に基づいてマニピュレーターの動作を制御する場合には、マニピュレーターを実際に動かすコマンドが実行される時点を出力の基準とする力検出器の出力に基づいてマニピュレーターの動作を制御することができる。このため本発明によるとロボットに対する力制御の再現性を高めることができる。

0008

なお請求項に記載された各手段の機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、又はそれらの組み合わせにより実現される。また、これら各手段の機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。

図面の簡単な説明

0009

ロボットシステムの斜視図である。
ロボットシステムのブロック図である。
制御装置で実行される動作制御コマンドを示す表である。
力制御対応コマンドが実行される場合の処理順序を示すフローチャートである。
力覚センサーの出力を示す折れ線グラフである。
引数オブジェクト階層構造を説明するための図である。
引数オブジェクトの設定画面を示す画面構成図である。
プログラムコードの実施例と比較例である。

実施例

0010

以下、本発明の実施形態について添付図面を参照しながら説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。

0011

(1)ロボットシステムの構成
本発明の一実施例としてのロボットシステムは、図1に示すように、ロボット1と、エンドエフェクター2と、制御装置3と、教示装置4(ティーチングペンダント)と、を備えている。制御装置3は、本発明のロボット制御装置の構成例である。制御装置3は図示しないケーブルによりロボット1と通信可能に接続される。なお、制御装置3の構成要素がロボット1に備えられていても良い。制御装置3は、ロボット1に駆動電力を供給する電源部31とロボット1を制御するための制御部32とを備える。制御装置3と教示装置4とはケーブルで、または無線通信可能に接続される。教示装置4は、専用のコンピューターであってもよいし、ロボット1を教示するためのプログラムがインストールされた汎用のコンピューターであってもよい。例えばロボット1を教示するための専用装置であるティーチングペンダント5を教示装置4の代わりに用いても良い。さらに、制御装置3と教示装置4とは、図1に示すように別々の筐体を備えていてもよいし、一体に構成されていてもよい。

0012

ロボット1は、アームAに各種のエンドエフェクター2を装着して使用される単腕ロボットである。アームAは6つの関節J1〜J6を備える。関節J1〜J6によって6個のアーム部材A1〜A6が連結される。関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。関節J6には、ワークに対して把持や加工等を行うための各種のエンドエフェクター2が装着される。先端の関節J6の回転軸上の所定位置ツールセンターポイント(TCP)と表す。TCPの位置は各種のエンドエフェクター2の位置の基準となる。アームAとエンドエフェクター2とは、本発明のマニピュレーターの構成例である。

0013

関節J6には力覚センサーFSが備えられている。力覚センサーFSは、6軸の力検出器である。力覚センサーFSは、固有座標系であるセンサー座標系において互いに直交する3個の検出軸と平行な力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。なお、力覚センサーFSは本発明の力検出器の構成例であるが、関節J6以外の関節J1〜J5のいずれか1つ以上に力検出器としての力覚センサーを備えても良い。

0014

ロボット1が設置された空間を規定する座標系をロボット座標系というとき、ロボット座標系は、水平面上において互いに直交するX軸とY軸と、鉛直上向きを正方向とするZ軸とによって規定される3次元直交座標系である。Z軸における負の方向は概ね重力方向と一致する。またX軸周り回転角をRXで表し、Y軸周りの回転角をRYで表し、Z軸周りの回転角をRZで表す。X,Y,Z方向の位置により3次元空間における任意の位置を表現でき、RX,RY,RZ方向の回転角により3次元空間における任意の姿勢を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、トルクも意味し得ることとする。制御装置3は、アームAを駆動することによって、ロボット座標系においてTCPの位置を制御する。

0015

図2は、ロボットシステムのブロック図である。制御部32はロボット1の制御を行うための制御プログラムがインストールされたコンピューターである。制御部32は、プロセッサーやRAMやROMを備え、これらのハードウェア資源がプログラムと協働することによりロボット1を制御する。

0016

ロボット1は、図1に示した構成のほかに、アクチュエーターとしてのモーターM1〜M6と、センサーとしてのエンコーダーE1〜E6とを備える。アームAを制御することはモーターM1〜M6を制御することを意味する。モーターM1〜M6とエンコーダーE1〜E6とは、関節J1〜J6のそれぞれに対応して備えられており、エンコーダーE1〜E6はモーターM1〜M6の回転角度を検出する。制御装置3は、モーターM1〜M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1を記憶している。また、制御装置3は、ロボット1が行う作業の工程ごとに目標位置Stと目標力fStの少なくともいずれかをコマンドに基づいて記憶する。目標位置Stと目標力fStを引数(パラメーター)とするコマンドはロボット1が行う作業の工程ごとに設定される。

0017

制御装置3は、設定された目標位置と目標力とがTCPにて実現されるように、コマンドに基づいてアームAを制御する。目標力とは、アームAの動作に応じて力覚センサーFSが検出すべき力である。ここでSの文字は、ロボット座標系を規定する軸の方向(X,Y,Z,RX,RY,RZ)のなかのいずれか1個の方向を表すこととする。また、Sは、S方向の位置も表すこととする。例えば、S=Xの場合、ロボット座標系にて設定された目標位置のX方向成分がSt=Xtと表記され、目標力のX方向成分がfSt=fXtと表記される。

0018

制御装置3は、モーターM1〜M6の回転角度Daを取得すると、対応関係U1に基づいて、当該回転角度Daをロボット座標系におけるTCPの位置S(X,Y,Z,RX,RY,RZ)に変換する。また制御装置3は、TCPの位置Sと、力覚センサーFSの検出値とに基づいて、力覚センサーFSに現実に作用している作用力fSをロボット座標系において特定する。作用力fsの作用点は、TCPとは別に原点Oとして定義される。原点Oは、力覚センサーFSが力を検出している点に対応する。なお制御装置3は、ロボット座標系におけるTCPの位置Sごとに、力覚センサーFSのセンサー座標系における検出軸の方向を規定した対応関係U2を記憶している。従って、制御装置3は、ロボット座標系におけるTCPの位置Sと対応関係U2とに基づいて、ロボット座標系における作用力fSを特定できる。また、ロボットに作用するトルクは、作用力fSと、ツール接触点(エンドエフェクター2とワークの接触点)から力覚センサーFSまでの距離とから算出することができ、図示されないfsトルク成分として特定される。

0019

制御装置3は、作用力fSに対して重力補償を行う。重力補償とは、作用力fSから重力に起因する力やトルクの成分を除去することである。重力補償を行った作用力fSは、エンドエフェクター2に作用している重力以外の力と見なすことができる。

0020

本実施例のインピーダンス制御は、仮想機械的インピーダンスをモーターM1〜M6によって実現する能動インピーダンス制御である。制御装置3は、このようなインピーダンス制御を、ワークの嵌合作業、研磨作業など、エンドエフェクター2が対象物(ワーク)から力を受ける接触状態の工程で適用する。インピーダンス制御では、目標力を後述する運動方程式代入してモーターM1〜M6の回転角度を導出する。制御装置3がモーターM1〜M6を制御する信号は、PWM(Pulse Width Modulation)変調された信号である。運動方程式に基づいて目標力から回転角度を導出してモーターM1〜M6を制御するモードを力制御モードというものとする。また制御装置3は、エンドエフェクター2がワークから力を受けない非接触状態の工程では、目標位置から線演算で導出する回転角度でモーターM1〜M6を制御する。目標位置から線形演算で導出する回転角度でモーターM1〜M6を制御するモードを位置制御モードというものとする。また制御装置3は、目標位置から線形演算で導出する回転角度と目標力を運動方程式に代入して導出する回転角度とを例えば線型結合によって統合し、統合した回転角度でモーターM1〜M6を制御するハイブリッドモードでもロボット1を制御する。制御装置3は、位置制御モードと力制御モードとハイブリッドモードを力覚センサーFSまたはエンコーダーE1〜R6の検出値に基づいて自律的に切り替えることもできるし、コマンドに応じて位置制御モードと力制御モードとハイブリッドモードを切り替えることもできる。以上の構成より制御装置3は、エンドエフェクター2が目標の位置において目標の姿勢となり、かつ、エンドエフェクター2に目標の力とモーメントとが作用するようにアームAを駆動することができる。

0021

制御装置3は、目標力fStと作用力fSとをインピーダンス制御の運動方程式に代入することにより、力由来補正量ΔSを特定する。力由来補正量ΔSとは、TCPが機械的インピーダンスを受けた場合に、目標力fStとの力偏差ΔfS(t)を解消するために、TCPが移動すべき位置Sの大きさを意味する。下記の(1)式は、インピーダンス制御の運動方程式である。

0022

(1)式の左辺は、TCPの位置Sの2階微分値仮想慣性係数mを乗算した第1項と、TCPの位置Sの微分値仮想粘性係数dを乗算した第2項と、TCPの位置Sに仮想弾性係数kを乗算した第3項とによって構成される。(1)式の右辺は、目標力fStから現実の力fを減算した力偏差ΔfS(t)によって構成される。(1)式における微分とは、時間による微分を意味する。ロボット1が行う工程において、目標力fStとして一定値が設定される場合もあるし、目標力fStとして時間の関数が設定される場合もある。

0023

仮想慣性係数mはTCPが仮想的に有する質量を意味し、仮想粘性係数dはTCPが仮想的に受ける粘性抵抗を意味し、仮想弾性係数kはTCPが仮想的に受ける弾性力バネ定数を意味する。各係数m,d,kは方向ごとに異なる値に設定されてもよいし、方向に拘わらず共通の値に設定されてもよい。

0024

そして、制御装置3は、対応関係U1に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モーターM1〜M6の目標の回転角度である目標角度Dtに変換する。そして、制御装置3は、目標角度DtからモーターM1〜M6の現実の回転角度であるエンコーダーE1〜E6の出力Daを減算することにより、駆動位置偏差De(=Dt−Da)を算出する。そして、制御装置3は、駆動位置偏差Deに位置制御ゲインKpを乗算した値と、現実の回転角度Daの時間微分値である駆動速度との差である駆動速度偏差に、速度制御ゲインKvを乗算した値とを加算することにより、制御量Dcを導出する。なお、位置制御ゲインKpおよび速度制御ゲインKvは、比例成分だけでなく微分成分積分成分にかかる制御ゲインを含んでもよい。制御量Dcは、モーターM1〜M6のそれぞれについて特定される。以上説明した構成により、制御装置3は、目標力fStとに基づいてアームAを力制御モードで制御することができる。ハイブリッドモードでは、制御装置3は、目標位置Stに、力由来補正量ΔSを加算することにより動作位置(St+ΔS)を特定する。

0025

教示装置4には、制御装置3に目標位置Stと目標力fStとを引数とする実行プログラムを生成して制御装置3にロードするための教示プログラムがインストールされている。教示装置4は、ディスプレイ43やプロセッサーやRAMやROMを備え、これらのハードウェア資源が教示プログラムと協働して実行プログラムを生成する。

0026

(2)実行プログラム
実行プログラムは予め定められたプログラム言語によって記述され、翻訳プログラムにより中間言語を経て機械語プログラムに変換される。制御部32のCPUはクロックサイクルで機械語プログラムを実行する。翻訳プログラムは教示装置4で実行しても良いし、制御装置3で実行しても良い。実行プログラムのコマンドは本体と引数とから構成される。コマンドには、アームAとエンドエフェクター2を動作させる動作制御コマンド、エンコーダーやセンサーの検出値を読み出すモニターコマンド、各種の変数を設定する設定コマンド等が含まれる。なお、本明細書において、コマンドの実行は、当該コマンドが翻訳された機械語プログラムの実行と同義である。

0027

図3に動作制御コマンド(本体)の一例を示す。図3に示すように動作制御コマンドは、力制御モードでアームAを動作させることができる力制御対応コマンドと、力制御モードでアームAを動作させることができない位置制御コマンドとを含む。力制御対応コマンドでは、引数により力制御モードのオンを指定できる。当該引数により力制御モードのオンが指定されない場合には、位置制御モードで当該力制御対応コマンドが実行され、当該引数により力制御モードのオンが指定される場合には、当該力制御対応コマンドは力制御モードで実行される。また力制御対応コマンドは力制御モードにおいて実行可能であり、位置制御コマンドは力制御モードでは実行不能である。力制御モードにおいて位置制御コマンドが実行されることがないように、翻訳プログラムによる構文エラーチェックが実行される。さらに、力制御対応コマンドでは、引数により力制御モードの継続を指定できる。力制御モードで実行される力制御対応コマンドにおいて当該引数により力制御モードの継続が指定された場合、力制御モードは継続され、当該引数により力制御モードの継続が指定されない場合、当該力制御対応コマンドの実行完了までに力制御モードは終了する。すなわち力制御対応コマンドが力制御モードで実行されるとしても、引数により明示的に指定されない限り、力制御モードは当該力制御対応コマンドに応じて自律的に終了し、当該力制御対応コマンドの実行終了後においてまで力制御モードが継続することはない。なお図3において「CP」は移動方向を指定できるコマンドの分類、「PTP」は目標位置を指定できるコマンドの分類、「CP+PTP」は移動方向と目標位置を指定できるコマンドの分類である。

0028

ここで、引数により力制御モードのオンが指定され、かつ、力制御モードの継続が指定されていない「Move」コマンドが力制御モードでない状態において実行開始される場合を例にして、力制御対応コマンドの実行手順、すなわち制御部32の動作順序について図4を参照しながら説明する。

0029

まずはじめに制御部32は、力制御モードのオンを指定する引数があるか無いかを判定する(S102)。
力制御モードのオンを指定する引数がある場合、制御部32は、力覚センサーFSをリセットする(S112)。力覚センサーFSのリセットは、力覚センサーFSの出力が、このリセットタイミングでゼロとして検出されるように力覚センサーFS自体または制御部32が記憶するオフセット値を設定することである。

0030

続いて制御部32は、力制御モードに遷移してインピーダンス制御を実行し、アームAを動作させる(S114)。すなわち制御部32は、力覚センサーFSの出力に基づいてモーターM1〜M6の回転角度を制御する。ここで目標力は、力制御対応コマンドの引数として指定されていてもよいし、力制御対応コマンドより先に実行される設定コマンドで指定されていてもよい。位置制御モードから力制御モードへの切換は、例えば図2に示すΔSとStとを足し合わせる算術要素においてΔSの入力をオンにしてStの入力をオフ(ゼロ)にする操作によって実施される。

0031

続いて制御部32は、力制御モードを終了する(S116)。力制御モードから位置制御モードへの切換は、例えば図2に示すΔSとStとを足し合わせる算術要素においてΔSの入力をオフ(ゼロ)にしてStの入力をオンにする操作によって実施される。

0032

力制御モードのオンを指定する引数が無い場合、制御部32は位置制御モードにおいて位置制御を実行し、アームAを動作させる(S120)。すなわち制御部32は、目標位置から線形演算で導出する回転角度でモーターM1〜M6の回転角度を制御する。

0033

ところで水晶を圧電素子として用いる力覚センサーでは、力覚センサーに加わる力に変化が無くても、図5Aに示すように、時間の経過に伴って出力が大きくなる傾向にある。したがって、例えば図5Bに示す時間t0で力制御モードがオンになるとすると、同じ力が加わっているにもかかわらず、t0からt1が経過した時点で検出される力f1と、t0からt2が経過した時点で検出される力f2とが異なる結果となる。本実施例では、上述したように力制御対応コマンドの実行時点で力制御モードに遷移して力覚センサーFSがリセットされるため、力制御対応コマンドが実行される時点を出力の基準とする力覚センサーFSの出力に基づいてアームAの動作を制御することができる。このためアームAに対する力制御の再現性を高めることができる。例えば、動作制御コマンドに対して力覚センサーFSのリセットが同期しない場合、すなわち動作制御コマンドの実行に先行して力覚センサーFSがリセットされる場合、動作制御コマンドの実行が3msec程度(t2−t1)遅れることになる。力制御が10msec間隔で実行されるとすると、この3msecは力制御の間隔に対し大きな実行の遅れであり再現性を悪化させる。

0034

実行プログラムのコマンドの引数は階層化されたオブジェクト構造となっている。力制御コマンドに関連する引数のクラスを図6に示す。「Force Coordinate System Object」は、座標系の設定に用いられるクラスであって、FCSx(xは任意の整数)で定義することができる。「Force Control Object」は、力制御の対象となる座標軸等の設定に用いられるクラスであって、FCx(xは任意の整数)で定義することができる。「Force Trigger Object」は、分岐条件停止条件割り込みの設定に用いられるクラスであって、FTx(xは任意の整数)で定義することができる。「Force Monitor Object」は、力データの取得、ログ記録等の設定に用いられるクラスであって、FMx(xは任意の整数)で定義することができる。「Force Control Object」、「Force Trigger Object」および「Force Monitor Object」で指定される座標系は「Force Coordinate System Object」で定義された座標系となる。すなわち、「Force Control Object」、「Force Trigger Object」および「Force Monitor Object」は、上位層クラスの「Force Coordinate System Object」に従属する下位層クラスである。「Force Sensor Object」は、力覚センサーFSの制御と力覚センサーFSからの情報取得の設定に用いるクラスであって、FSx(xは任意の整数)で定義することができる。「Mass Properties Object」は、重心位置の設定に用いるクラスであって、MPx(xは任意の整数)で定義することができる。「Robot Object」は、力制御と関連したロボット1の情報を取得するための設定に用いるクラスであって、Robotx(xは任意の整数)で定義することができる。

0035

次に、このように階層化された引数の設定方法について説明する。図7Aは「Force Coordinate System Object」クラスの引数オブジェクトを設定する画面の構成例である。図7Aは、「ハンド面3先端」というラベルが付された「力覚座標4」(プログラムコードではFCS4と記述される引数オブジェクト)の原点のTCPを基準とするロボット座標系における相対的な位置と、TCPの姿勢(TCPに固定された座標系)を基準とする相対的な姿勢とを設定した状態を示している。ここで制御部32は、モーターM1〜M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1を記憶しているため、「Force Coordinate System Object」クラスの引数オブジェクトにおいてTCPに対する相対的な位置と姿勢を設定することにより、基準座標系に対して任意の座標系を定義することができる。

0036

図7Bは、「Force Control Object」クラスの引数オブジェクトを設定する画面の構成例である。図7Bは、「姿勢倣い」というラベルが付された「力制御2」(プログラムコードではFC2と記述される引数オブジェクト)の座標系と、力制御の有効軸と、インピーダンス制御の運動方程式の係数(仮想バネ係数、仮想粘性係数、仮想質量係数)とを設定した状態を示している。ここで座標系として「4」が選択されているため、図7Aの画面で設定された「力覚座標4」(FCS4)の座標系の各軸について、「有効」の項目において力制御のオン(True)とオフ(False)が設定される。すなわち、力制御が有効になる方向は、上位の「Force Coordinate System Object」クラスのオブジェクトの設定に依存する。図7Cは「Force Trigger Object」クラスの引数オブジェクトを設定する画面の構成例である。図7Cにおいても、「接触検知」というラベルが付された「力トリガー1」(プログラムコードではFT1と記述される引数オブジェクト)の座標系として「4」が選択されているため、図7Aの画面で設定された「力覚座標4」(FCS4)の座標系の各軸について処理条件が定められる。すなわち、停止条件の各変数が示す値やベクトルの方向は、上位の「Force Coordinate System Object」クラスのオブジェクトの設定に依存する。このように本実施例のコマンドの引数は階層化されているため、「Force Coordinate System Object」クラスのオブジェクトとして1つの座標系を設定すれば、その座標系を様々なコマンドに適用することができ、設定作業が容易になる。

0037

力制御対応コマンドを用いたプログラムコードの実施例を比較例とともに図8に示す。図8に示す実施例は、「FC1」という引数オブジェクトが6つの設定コマンド「Fset」で定義された後に、力制御対応コマンド「Move」が実行され、その後に「FC1」オブジェクトの変数の1つである「Fz_TargetForce」が設定コマンド「Fset」で変更されるプログラムコードである。

0038

図8に示す比較例では、コマンドの引数が階層化されておらず、力制御モードで用いられる全ての設定項目が「ForceControlSetting」コマンドにより一度に設定される。そして、カンマで区切られたそれぞれの引数の定義は、コマンド本体と引数の間に記述するカンマの数で決まる。したがって比較例のプログラムコードの意味を即座に理解することは困難である。これに対し、本発明の実施例では、力制御対応コマンドに関連する引数は、階層化されたオブジェクト毎に「Fset」コマンドにより設定されるため、プログラムコードの意味を解釈することも、プログラムコードを記述することもはるかに容易である。

0039

本実施例のコマンド「Move P1 FC1 CF」では、「Fset」コマンドにより設定された「FC1」オブジェクトの他に、図示しない設定コマンドにより設定された「P1」オブジェクトと、「CF」が引数として設定されている。ここで「P1」は、接触位置を指定する引数である。「CF」は、コマンドの実行終了後も力制御モードの継続を指定する引数である。コマンド「Move P1 FC1 CF」は、「Force Control Object」クラスの引数オブジェクト「FC1」が指定されており、目標位置が引数「P1」で指定されているため、コマンド「Move P1 FC1 CF」が実行されると、力覚センサーFSがリセットされ、力覚センサーFSの出力に基づくハイブリッドモードでアームAが制御される。また引数「CF」が指定されているため、コマンドの実行終了後も力制御モードが継続する。

0040

比較例では、「ForceControl On」コマンドの実行により、力覚センサーFSがリセットされ、力覚センサーFSの出力に基づいてアームAを制御可能な状態となる。続いて「Move P1」コマンドの実行により、力覚センサーFSの出力に基づいてアームAが制御される。これに対して、本実施例のコマンド「Move P1 FC1 CF」の実行が開始されてから力覚センサーFSがリセットされるまでの実時間は、対応する機械語プログラムが常に同じになるため、制御部32のクロック数によって予め定まる一定の時間となる。したがって上述したように、本実施例では力制御の再現性が保証される。

0041

(3)他の実施形態
本発明の技術的範囲は上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない限りにおいて変更を加え得ることは勿論である。例えば、上記実施例ではコマンドの引数で力制御モードのオンを指定できたが、コマンドの本体で力制御モードのオンを指定できてもよい。具体的にはコマンドの本体自体が、力制御モードをオンするものと、力制御モードをオンしないものとに分かれているプログラム言語をロボットシステムに実装しても良い。

0042

また力制御対応コマンドにより力覚センサーをリセットしてから力制御によりアームを動作させるまでの時間をタイマーで制御しても良い。すなわち、力制御対応コマンドの実行手順にタイマーのセットを組み込んでも良い。
また力検出器の出力に基づいてマニピュレーターの動作を制御する例としてインピーダンス制御を取り上げたが、運動方程式を用いずに、例えば力検出器の出力に対して線形な制御量でマニピュレーターの動作を制御しても良い。

0043

1…ロボット、2…エンドエフェクター、3…制御装置、4…教示装置、5…ティーチングペンダント、31…電源部、32…制御部、43…ディスプレイ、A…アーム、A1-A6…アーム部材、E1-E6…エンコーダー、FS…力覚センサー、J1-J6…関節、M1-M6…モーター

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ