IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

7168859ロボット制御装置、把持システムおよびロボットハンドの制御方法
<>
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図1
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図2
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図3
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図4
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図5
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図6
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図7
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図8
  • -ロボット制御装置、把持システムおよびロボットハンドの制御方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】ロボット制御装置、把持システムおよびロボットハンドの制御方法
(51)【国際特許分類】
   B25J 13/08 20060101AFI20221102BHJP
【FI】
B25J13/08 Z
【請求項の数】 8
(21)【出願番号】P 2019226994
(22)【出願日】2019-12-17
(65)【公開番号】P2021094641
(43)【公開日】2021-06-24
【審査請求日】2021-06-17
(73)【特許権者】
【識別番号】000005197
【氏名又は名称】株式会社不二越
(74)【代理人】
【識別番号】100156649
【弁理士】
【氏名又は名称】野原 淳史
(74)【代理人】
【識別番号】100158355
【弁理士】
【氏名又は名称】岡島 明子
(72)【発明者】
【氏名】見上 慧
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2015-229205(JP,A)
【文献】特開2018-069381(JP,A)
【文献】特開昭59-073288(JP,A)
【文献】特開2019-141987(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
ワークを把持する把持部を有するロボットハンドを備えたロボットを制御するロボット制御装置であって、
前記把持部が前記ワークに接触した後に前記ワークが変形する過程の複数の計測点において前記把持部で検出された把持力と前記把持部の位置から、前記ワークと前記把持部との接触位置を推定する接触位置推定部と、
前記接触位置推定部で推定した前記 接触位置に基づいて、前記把持部の低速駆動開始位置を算出する算出部と、
前記接触位置および前記算出部で算出した低速駆動開始位置を前記ワークのばらつきに合わせて更新する更新部と、
前記更新部で更新した更新後接触位置および更新後低速駆動開始位置に基づいて、前記把持部の速度パターンを適正化する適正化部と、
を備えるロボット制御装置。
【請求項2】
前記把持力を検出する把持力検出部および前記把持部の位置を検出する位置検出手段をさらに備える請求項1に記載のロボット制御装置。
【請求項3】
前記算出部は、前記ロボットハンドで過去に把持した前記ワークと前記把持部との複数の接触位置に基づいて、前記低速駆動開始位置を算出する請求項1に記載のロボット制御装置。
【請求項4】
請求項1からのいずれか一項に記載のロボット制御装置と、
前記ロボットハンドと、
前記ロボットハンドを所定の位置に移動させるロボットアームと、
を備える把持システム。
【請求項5】
ワークを把持する把持部を有するロボットハンドの制御方法であって、
前記把持部が前記ワークに接触した後に前記ワークが変形する過程の複数の計測点において前記把持部で検出された把持力と前記把持部の位置から、前記ワークと前記把持部との接触位置を推定する接触位置推定ステップと、
前記接触位置推定ステップで推定した前記 接触位置に基づいて、前記把持部の低速駆動開始位置を算出する算出ステップと、
前記接触位置および前記算出ステップで算出した低速駆動開始位置を前記ワークのばらつきに合わせて更新する更新ステップと、
前記更新ステップで更新した更新後接触位置および更新後低速駆動開始位置に基づいて、前記把持部の速度パターンを適正化する適正化ステップと、
を含むロボットハンドの制御方法。
【請求項6】
前記把持力を検出するとともに前記把持部の位置を検出する検出ステップをさらに含む請求項に記載のロボットハンドの制御方法。
【請求項7】
前記算出ステップは、前記ロボットハンドで過去に把持した前記ワークと前記把持部との複数の接触位置に基づいて、前記低速駆動開始位置を算出する請求項に記載のロボットハンドの制御方法。
【請求項8】
請求項からのいずれか一項に記載のロボットハンドの制御方法を実行させるためのプログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボット制御装置、把持システムおよびロボットハンドの制御方法に関し、より詳細には、ロボットハンドの速度パターンを制御するロボット制御装置、これを備えた把持システムおよびロボットハンドの制御方法に関する。
【背景技術】
【0002】
工場等の生産現場において、ロボットを用いて把持対象物であるワークを把持する際に、ロボットに備えられたロボットハンドでワークを確実に把持するためには、ロボットハンドの把持部の停止位置、移動速度など速度パターンを予め設定しなければならない。
【0003】
例えば、図8B図8Cおよび図8Dに示すように、ハンド本体部501と、平行リンク502と、把持部503と、を備えるロボットハンド500でワークWを把持することを考える。この場合、図8Aに示すように、把持部503を加減速させたあと、ワークWには低速で近づくような動作が考えられる。
【0004】
生産現場では、生産性を高める観点からワークWの把持は短時間で完了する必要がある。そのため図8Aに示す把持部503の低速駆動開始位置は、できるだけワークWに近い方がよい。しかし、近づけすぎるとワークWの大きさがばらついた際に大きな速度でワークWと把持部503が接触してしまい、ワークWを損傷させる可能性がある。そこで、従来から、ワークサイズのばらつきに合わせて速度パターンを更新する技術が提案されている。
【0005】
例えば、特許文献1には、モータおよびエンコーダの内蔵された本体部と、前記モータおよび前記エンコーダに加えて前記本体部に内蔵されたコントローラと、前記モータによりレールに沿って移動しワークを把持する一対の把持部材とを備え、前記コントローラは、前記モータを介して前記一対の把持部材の移動速度を加減速した後に予め設定された所定の低速走行開始位置から一定速度で移動させながら前記ワークを前記一対の把持部材により把持させ、そのとき前記エンコーダにより得られる前記把持部材の停止位置のばらつきを考慮して、前記低速走行開始位置を前記ワークの大きさに合わせて自動的に変更して更新することを特徴とする電動グリッパ装置が記載されている。
【先行技術文献】
【特許文献】
【0006】
【文献】特許第6200858号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に記載の技術では、ワークを把持したときの把持部材の停止位置から、次回の低速駆動の開始位置を変更するように速度パターンを更新している。そのため、ワークの形状が大きく変形し、図8Aの押込区間が発生するような場合は、把持部の停止位置が変形後の位置となる。その結果、次のワークとの接触前に低速駆動が開始されない可能性があるので、ワークを傷つけたり破損したりするおそれがあるという問題がある。
【0008】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、形状が変形するワークであっても、ワークのばらつきに合わせてロボットの速度パターンを自動更新することができるロボット制御装置を提供することにある。
【課題を解決するための手段】
【0009】
上記課題を解決するために本発明に係るロボット制御装置は、
ワークを把持する把持部を有するロボットハンドを備えたロボットを制御するロボット制御装置であって、
前記ワークと前記把持部との接触位置に基づいて、前記把持部の低速駆動開始位置を算出する算出部と、
前記接触位置および前記算出部で算出した低速駆動開始位置を前記ワークのばらつきに合わせて更新する更新部と、
前記更新部で更新した更新後接触位置および更新後低速駆動開始位置に基づいて、前記把持部の速度パターンを適正化する適正化部と、を備える。
【0010】
また、本発明に係る把持システムは、上記ロボット制御装置と、上記ロボットハンドと、上記ロボットハンドを所定の位置に移動させるロボットアームと、を備える。
【0011】
また、本発明に係るロボットハンドの制御方法は、ワークを把持する把持部を有するロボットハンドの制御方法であって、
前記ワークと前記把持部との接触位置に基づいて、前記把持部の低速駆動開始位置を算出する算出ステップと、
前記接触位置および前記算出ステップで算出した低速駆動開始位置を前記ワークのばらつきに合わせて更新する更新ステップと、
前記更新ステップで更新した更新後接触位置および更新後低速駆動開始位置に基づいて、前記把持部の速度パターンを適正化する適正化ステップと、を含む。
【発明の効果】
【0012】
本発明に係るロボット制御装置によれば、形状が変形するワークであっても、ワークのばらつきに合わせてロボットの速度パターンを自動更新することができる。なお、ここに記載された効果は、必ずしも限定されるものではなく、本明細書中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【0013】
図1】本発明の第1実施形態に係る把持システムの構成例を示す模式図である。
図2】本発明の第1実施形態に係るロボットハンドの内部構造例を示す模式図である。
図3】本発明の第1実施形態に係る把持システムの概略構成例を示すブロック図である。
図4】本発明の第1実施形態に係るロボット制御装置の機能構成を示すブロック図である。
図5】本発明の第1実施形態に係るロボットハンドの動作を示すフローチャートである。
図6】本発明の第1実施形態に係るロボットハンドとワークとの推定される接触位置を示すグラフである。
図7】本発明の第1実施形態に係るロボットハンドの更新前後の速度パターンを示すグラフである。
図8】従来のロボットハンドの速度パターンと把持動作を説明する図である。
図9】本発明の第2実施形態に係る把持システムの構成例を示す模式図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態について図面を参照しながら説明する。以下に説明する各実施形態は、本発明の代表的な実施形態の一例を示したものであり、これにより本発明の範囲が狭く解釈されることはない。また、以下の各実施形態の構成は、いずれも他の実施形態の構成と組み合わせることが可能である。
【0015】
<第1実施形態>
まず、図1を用いて、本発明の第1実施形態に係る把持システムの構成例について説明する。図1は、本実施形態に係る把持システム100の構成例を示す模式図である。
【0016】
図1に示すように、把持システム100は、一例として、ロボット本体101と、ロボット本体101に接続されるロボット制御装置102と、ロボット制御装置102へコマンド等を入力する入力装置103と、ロボット制御装置102に接続される上位制御システム104と、を備えている。
【0017】
ロボット本体101は、ベース部105と、ベース部105に接続されたロボットアーム106と、ロボットアーム106の先端に取り付けられているロボットハンド107と、を備えている。
【0018】
ロボットアーム106は、6軸垂直多関節型ロボットでアクチュエータ(電動モータ、油空圧アクチュエータ等)と、位置検出手段(エンコーダ、カメラ等)と、を具備している。ロボットアーム106は、ロボットハンド107を所定の位置に移動させることができる。ただし、本発明が適用されるロボットアームはこれに限定されない。例えば、6軸以外の垂直多関節型ロボットや、水平多関節型ロボットなどであってもよい。
【0019】
ロボットハンド107は、空気圧アクチュエータであるベーンモータによって駆動され、位置検出手段としてのエンコーダを備えている。またロボットハンド107は、把持力検出部として力センサを備えることができる。把持力は、圧力センサの値などロボットハンド107の状態量から推定しても良い。なお、ロボットハンド107は、小さな把持力を高い精度で制御可能とすることが望ましい。
【0020】
次に、図2を用いて、本実施形態に係るロボットハンド107の内部構造について説明する。図2は、本実施形態に係るロボットハンド107の内部構造例を示す模式図である。
【0021】
図1に示すように、ロボットハンド107は、ロボットアーム106に取り付けられている。ロボットハンド107は、ハンド本体部202と、ハンド本体部202の先端に取り付けられる第1把持部203および第2把持部204と、各把持部203および204とハンド本体部202とを連結する第1平行リンク205および第2平行リンク206と、を備えている。
【0022】
ロボットハンド107は、さらに、第1平行リンク205と第2平行リンク206との間の動力を伝達するギア機構である第1ギア207および第2ギア208と、第1平行リンク205とハンド本体部202とを連結し、図示していないアクチュエータの駆動力を第1平行リンク205に伝達する入力軸209と、を備えている。
【0023】
第1把持部203は、第1平行リンク205の一端に回転可能に接続され、第2把持部204は、第2平行リンク206の一端に回転可能に接続されている。第1把持部203と第2把持部204とは、ワークに接触する面が対向配置され、例えば、ワークの両側面からワークを把持することができる。
【0024】
第1平行リンク205および第2平行リンク206は、それぞれの他端が第1ギア207および第2ギア208を介してハンド本体部202と回転可能に接続されている。ロボットハンド107は、第1把持部203および第1平行リンク205が主動系の伝達機構であり、アクチュエータに連結されている入力軸209からアクチュエータの駆動力を伝達されている。
【0025】
アクチュエータから伝達された駆動力は、第1平行リンク205に接続された第1ギア207から、第1ギア207に連結されている第2ギア208を介して、主動系と対をなす従動系の伝達機構である第2平行リンク206および第2把持部204へ伝達される。これにより、1つのアクチュエータによって2つの平行リンク205および206が同期して駆動され、左右の把持部203および204が連動して動作することができる。
【0026】
次に、図3を用いて、本実施形態に係る把持システム100のシステム構成について説明する。図3は、本実施形態に係る把持システム100の概略構成例を示すブロック図である。
【0027】
図3に示すように、ロボット本体101は、ロボットアーム106およびロボットハンド107の他に、ワーク等を撮像する撮像装置であるカメラ装置301を備えている。
【0028】
ロボット制御装置102は、CPUと、信号の入出力を行う入出力部302と、RAMやROMを有する記憶部であるメモリ303と、を備えている。CPU、入出力部302およびメモリ303の各構成はバスを介して相互に信号を伝達可能に接続されている。RAMまたはROMは、ロボットハンド107の制御方法を実行させるためのプログラムを記録した、コンピュータで読み取り可能な記録媒体である。ロボット制御装置102は、各種プログラムを実行することによって、ロボット本体101およびロボットハンド107を制御し、各種の機能をロボット本体101およびロボットハンド107に実行させることができる。
【0029】
CPUは、演算処理装置として機能し、ROMやRAM、外部記憶装置等に格納された各種プログラムを読み出して実行する。ROMは、CPUが使用するプログラムや装置定数等を記憶する。RAMは、CPUが使用するプログラムやプログラム実行中に逐次変化する変数等を一次記憶する。
【0030】
入出力部302は、インターフェイスを介し外部機器や周辺機器とロボット制御装置102とを接続するため、通信装置、A/D変換器、D/A変換器、モータ駆動回路等を備えている。通信装置における具体的な通信手法としては、例えば、RS232C/485などのシリアル通信規格や、USB規格に対応したデータ通信であったり、一般的なネットワークプロトコルであるEtherNET(登録商標)や、産業用ネットワークプロトコルとして用いられるEtherCAT(登録商標)やEtherNet/IP(登録商標)等であったりしてもよい。
【0031】
また、ロボット制御装置102は、入出力部302を介してデータ格納用装置であるストレージ装置や記録媒体用リーダライタであるドライブ装置と接続した構成であってもよい。
【0032】
ロボットアーム106は、ロボットアーム106の位置検出手段であるアーム用エンコーダ304と、アクチュエータである電動モータ305と、を備えている。
【0033】
ロボットハンド107は、ロボットハンド107の位置検出手段であるハンド用エンコーダ306と、アクチュエータであるベーンモータ307と、を備えている。また、ロボットハンド107は、図示していないが把持力検出部として把持力推定器も備えている。
【0034】
アーム用エンコーダ304は、ロボットアーム106の回転位置を検出し、その回転位置を電気的信号に変換して入出力部302に出力する。また、ハンド用エンコーダ306は、第1平行リンク205および第2平行リンク206の回転位置を検出し、その回転位置を電気的信号に変換して入出力部302に出力する。
【0035】
ベーンモータ307は、コンプレッサなどの圧縮空気源308から圧送される空気を動力源としている。
【0036】
ロボット本体101は、さらに、圧縮空気をベーンモータ307へ供給するサーボ弁309と、サーボ弁309の圧力を検出する圧力センサ310と、を備えている。
【0037】
サーボ弁309は、圧縮空気源308からベーンモータ307の駆動に用いる圧縮空気の供給を受けるように構成されており、入出力部302からの入力値を受けてベーンモータ307の各ポートの圧力を調整することで駆動されている。
【0038】
各ポートの圧力は圧力センサ310によって検出される。圧力を電気的信号に変換して入出力部302に出力するように構成されている。
【0039】
入力装置103は、キーボードやマウス、タッチパネル、ボタン、スイッチ、レバー、ペダル、赤外線やその他の電波を利用したリモートコントロール手段、もしくはこれらを備えたパーソナルコンピュータ、ティーチングペンダント等のユーザが操作する操作手段を備えている。ユーザによる入力や設定が入力装置103を用いて行われる。なお、ロボットに各種の機能を実行させるプログラムを入力装置103で作成してもよい。プログラムは機械語などの低級言語、ロボット言語などの高級言語で記述されていてもよい。
【0040】
状態通知装置311は、ロボット制御装置102からロボット本体101の動作状態やワークの把持状態の情報を受信し表示することで、これらの情報をユーザに視覚的かつ直観的に認識させる。状態通知装置311は、液晶パネルやティーチングペンダント、点灯ランプなどの表示装置でもよいし、警告音や音声等によって情報を通知する通知装置でもよい。例えば、状態通知装置311は、接触位置が閾値を超えた場合に警告を発するように設定することができる。また、パーソナルコンピュータやティーチングペンダントの画面などが状態通知装置311を兼ねていても良く、入力や状態通知を行うアプリケーションを備えていてもよい。
【0041】
上位制御システム104は、例えば、シーケンサ(PLC)や監視制御システム(SCADA)、プロセスコンピュータ(プロコン)、パーソナルコンピュータ、各種サーバもしくはこれらの組み合わせからなり、ロボット制御装置102と有線または無線で接続されている。ロボット制御装置102を含む生産ラインを構成する各装置の動作状況に基づいて指示を出力して生産ラインを統括的に管理する。
【0042】
例えば、カメラ装置301による画像認識やIDタグ等の検出手段によりワークを特定し、把持動作前に把持パターン指示をロボット制御装置102に送信することで品目に応じた適切な把持パターンでロボットアーム106およびロボットハンド107を動作させることができる。
【0043】
また、ワークのサイズや把持完了までの時間、把持状態の情報などをロボット制御装置102から受信して収集することで、不良率やサイクルタイムの監視に用いることもできる。さらには、把持状態の情報などによって、ロボットアーム106をホームポジションに戻したり各装置をストップさせたりするなどの動作を行わせてもよい。
【0044】
図1では、ロボット制御装置102は一体のものとしているが、例えば、後述する機能構成毎やロボットアーム106用とロボットハンド107用で別個に制御装置を構成し、互いに有線または無線で接続してもよい。また、本実施形態ではロボット制御装置102をロボットアーム106およびロボットハンド107の外部に設けているが、これをロボットアーム106およびロボットハンド107の内部に設けてもよい。
【0045】
以上、本実施形態に係る概略構成の一例を示した。各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【0046】
次に、図4を用いて、本実施形態に係るロボット制御装置102の機能構成について説明する。図4は、本実施形態に係るロボット制御装置102の機能構成例を示すブロック図である。
【0047】
図4に示すように、ロボット制御装置102は、一例として、ワーク認識部401と、入出力処理部402と、目標値生成部403と、表示制御部404と、アーム制御部405と、ハンド制御部406と、を備える。
【0048】
ワーク認識部401は、入出力処理部402、目標値生成部403、表示制御部404、アーム制御部405およびハンド制御部406の各機能部と接続され、各機能部や外部からの入力等を受け各機能部に指示を出力する。
【0049】
入出力処理部402は、カメラ装置301やセンサ等から出力された信号を取得してフィルタリング等を行い、ロボット本体101およびその周辺環境の情報(例えば、ロボットハンド107の状態量を計算するのに必要な圧力センサ310やアーム用エンコーダ304およびハンド用エンコーダ306の値)としてアーム制御部405やハンド制御部406に出力する。また、入出力処理部402は、アーム制御部405やハンド制御部406等からの出力(例えば、サーボ弁309への入力値)をアクチュエータなど他のシステム構成要素に出力する。
【0050】
目標値生成部403は、ロボットアーム106およびロボットハンド107が事前に教示されたポイントを通過するよう目標軌道を生成したり、目的とする把持動作を実現するために時間ごとの位置と把持力の目標値を生成したりする。なお、カメラ装置301などによって取得した画像からワークの位置を認識し、目標軌道を自律的に生成してもよい。また、目標値生成部403は、算出部411と、更新部412と、適正化部413と、を備えている。
【0051】
算出部411は、ワークと把持部203および204との接触位置に基づいて、把持部203および204の低速駆動開始位置を算出する。また、算出部411は、ロボットハンド107で過去に把持したワークと把持部203および204との複数の接触位置に基づいて、低速駆動開始位置を算出することもできる。
【0052】
更新部412は、接触位置および算出部411で算出した低速駆動開始位置をワークのばらつきに合わせて更新する。
【0053】
適正化部413は、更新部412で更新した更新後接触位置および更新後低速駆動開始位置に基づいて、把持部203および204の速度パターン(各制御周期での速度指令値)を適正化する。
【0054】
表示制御部404は、ロボット本体101の動作フローや動作状態を表示するための画面を状態通知装置311に表示させる。
【0055】
アーム制御部405は、目標値生成部403で生成された目標軌道とセンサ情報に基づいてロボットアーム106を制御する。
【0056】
ハンド制御部406は、目標値生成部403で生成された目標軌道とセンサ情報に基づいてロボットハンド107を制御する。また、ハンド制御部406は、計測部414と、接触位置推定部415と、を備えている。
【0057】
計測部414は、ワークと把持部203および204との接触位置を計測する。一方、接触位置推定部415は、推定アルゴリズムを用いてワークと把持部203および204との接触位置を推定する。
【0058】
さらに本実施形態に係る把持システム100では、後述する低速駆動開始点および接触位置や把持動作の結果等をメモリ303に記憶するか、または上位制御システム104への送信などを行う。
【0059】
なお、これらの機能の一部又は全部をハードウェア回路、ASIC又はFPGA等の特定の用途向けに構築した専用集積回路で実現してもよい。さらに、本実施形態においてプログラムを実行させる計算機の数は特に限定されない。例えば、プログラムを、上位制御システム104等を含めた複数の計算機が互いに連携して実行してもよい。
【0060】
本実施形態においては一連の処理を実行するための各種プログラムが記憶された記憶装置を、ロボット制御装置102に組み込まれたメモリ303として説明しているが、これに限るものではない。本実施形態に係る把持システム100を実行するためのプログラムはコンピュータが読み取り可能であればロボット制御装置102とは別に、ユーザにプログラムを提供するために配布されるストレージ装置に記録されていてもよい。ストレージ装置は、例えば、磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。また、ネットワークからダウンロードされてインストールまたは更新されてもよい。
【0061】
また、ロボット制御装置102は専用のハードウェアを組み込んだ制御装置に限らず、各種プログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータであってもよい。
【0062】
次に、図5を用いて、本実施形態に係るロボットハンド107の動作について説明する。図5は、本実施形態に係るロボットハンド107の、把持動作開始から把持完了までの動作の例を示すフローチャートである。
【0063】
まず、ステップS1において、ワーク認識部401は、カメラ装置301や外部からの信号でワークの種類を認識したのちにステップS2の処理に進む。
【0064】
ステップS2において、目標値生成部403は、ステップS1で認識したワークに応じたロボットハンド107を動かす速度パターンを生成する。ここで、図5のフローチャートによる処理が2回目以降の場合、ステップS2は、適正化部413が、前回の処理の時に以下のステップS5で更新した更新後接触位置および更新後低速駆動開始位置に基づいて、把持部203および204の速度パターンを適正化する適正化ステップを含んでいる。
【0065】
ステップS3において、ハンド制御部406は、ステップS2で生成された速度パターンに従って把持部203および204の移動を開始する。把持動作では、図8Aのように、把持部203および204を加速させた後、所定速度で移動させ、低速駆動開始位置に近づくにつれ減速させる。低速駆動開始位置から接触するまでは低速で移動させることで、接触の際に把持部203および204がワークに与える衝撃を小さく抑制できる。
【0066】
またステップS3において、把持部203および204で力が検出された場合、把持部203および204はワークに接触しており、把持部203および204がワークを押し込み、ワークの形状が変形する過程であると予想される。本実施形態では、この過程で把持力と把持部203および204の変位を複数点計測した結果から算出する。把持力の検出は力センサを用いる方法や推定による方法がある。なお、カメラで接触位置を計測しても良いし、把持力が検出されたときの把持部203および204の位置を接触位置としても良い。
【0067】
また、ステップS3は、計測部414が、接触位置を計測する計測ステップを含んでいる。さらに、ステップS3は、接触位置推定415が、推定アルゴリズムを用いて接触位置を推定する接触位置推定ステップを含むことができる。
【0068】
ステップS4において、ハンド制御部406は、把持力が目標範囲に収まっていれば把持完了と判定する。把持完了と判定されない場合はステップS4の開始状態に戻り、把持動作を継続する。把持完了と判定された場合にステップS5の処理に進む。ステップS4において、ハンド制御部406は、エンコーダなどの位置検出手段によって、把持が完了したときの位置を停止点として計測する。
【0069】
ここで、ワークが本来の位置になかったり、ワークが意図しない姿勢で把持されたりした場合は、通常の搬送工程を中断して、ワークが適切に把持されていないことをユーザに通知するなどの処置を行うことが好ましい。例えば、一定時間経過後に把持完了状態にならない場合は、状態通知装置311を通じてユーザに異常発生を通知してもよい。また、ハンド制御部406は、接触位置およびワークの変形特性が前回と異なるワークを把持した時や、予め定めた基準値から大きく外れた場合は、異常が発生したと判断して状態通知装置311および上位制御システム104に異常を通知してもよい。
【0070】
ステップS5において、目標値生成部403は、今回把持に使った速度パターン用の値から次回把持に用いる速度パターン用の値に速度パターンのパラメータを更新する。ここで、速度パターンのパラメータは、低速運転開始位置および接触位置とすることができる。
【0071】
ステップS5は、算出部411が、ワークと把持部203および204との接触位置に基づいて、把持部203および204の低速駆動開始位置を算出する算出ステップを含んでいる。算出ステップでは、ロボットハンド107で過去に把持したワークと把持部203および204との複数の接触位置に基づいて、低速駆動開始位置を算出することもできる。
【0072】
また、ステップS5は、更新部412が、接触位置および算出ステップで算出した低速駆動開始位置をワークのばらつきに合わせて更新する更新ステップを含んでいる。さらに、図5のフローチャートによる処理が初回の処理の場合、ステップS5は、適正化部413が、ワークのばらつきに合わせて更新した更新後接触位置および更新後低速駆動開始位置に基づいて、把持部203および204の速度パターンを適正化する適正化ステップを含んでいる。
【0073】
ステップS6において、目標値生成部403は、ステップS5で更新した更新後停止点と更新後接触位置と更新後低速駆動開始位置、または図7のように更新した更新後速度パターンをメモリ303に記憶する。メモリ303への記憶が完了した後に、把持処理を終了する。
【0074】
以上のロボット制御装置102によるロボットハンド107の制御方法は、接触時の衝撃をより緩和する観点から、アドミッタンス制御などの位置と把持力を制御できる方式が望ましい。また、機構部分に弾性体を使って、把持力を制御することもできる。
【0075】
ここで、図6を用いて、把持部203および204の接触位置を把持力と把持部の変位を複数点計測した結果から算出する方法について説明する。例えば、接触位置は、推定アルゴリズムを用いて算出することができる。図6は、本実施形態に係るロボットハンド107とワークとの推定される接触位置を示すグラフである。
【0076】
柔らかいワークと接触した場合、接触直後の力は小さく誤差も大きい。本実施形態では、ワークを把持部203および204が押し込む過程の把持力と把持部203および204の変位から接触位置を推定する。例えば、図5のステップS3で計測した把持力と変位の複数の計測値から、以下の近似式(1)により接触位置を導出する。
【0077】
f=ax+b・・・式(1)
【0078】
ここで、図6に示すように、把持部203および204の現在位置を位置xとし、位置xでの把持力を把持力fとする。また、計測点1と計測点2との間の位置の変位をΔx(=x2-x1)とし、計測点1と計測点2との間の把持力の変化量をΔf(=f2-f1)とする。さらに、式(1)の一次近似した直線の傾きをa=Δf/Δxとし、式(1)のグラフの縦軸との切片をbとしている。
【0079】
本実施形態では、計測点1(x1,f1)および計測点2(x2,f2)を計測し、それぞれの計測した値を式(1)に代入して、傾きaおよび切片bの値を求める。そして、求めた値と把持力f=0を式(1)に代入して、この時の位置xを算出する。それを今回の推定接触位置として更新し、メモリ303に記憶する。なお、変形特性の傾きaを、あらかじめ予備実験により求めておき、ステップS3における計測点を1点にすることもできる。
【0080】
本実施形態では、把持力に対するワークの変形特性を線形と仮定しているため、図6では2点の計測を行い直線近似で演算しているが、計測点を3点として2次曲線近似とするなど高次の近似式を用いて推定を行ってもよい。また、ワークを把持する毎に接触位置だけでなく、近似式の係数を更新することができる。これにより動作開始後から外れ値などの影響を受けにくく安定した速度パターンを生成することが可能となる。
【0081】
次に、図7を用いて、速度パターンの生成方法およびその更新について説明する。図7は、ロボットハンド107の更新前後の速度パターンを示すグラフである。図7では、今回把持したワークをW、前回把持したワークをW´、更新した更新後接触位置をP1、更新した更新後低速駆動開始位置をP2としている。
【0082】
速度パターンは、台形速度パターンを平滑化してもよいし、時間のスプライン関数によって生成してもよい。また、加減速の割合は、同じでなくてもよい。例えば、把持部203および204がワークから遠くに位置している加速時は、可能な限り移動時間を短くするため低速駆動開始位置に到達する際の減速率より大きな加速率を与える。減速時はワークから近くなるため、確実に速度を制御するために減速率を小さく与えることもできる。
【0083】
減速を完了する点、すなわち更新後低速駆動開始位置は更新後接触位置に一定のマージン距離を加えて計算する。更新後低速駆動開始位置を求めるのに使用する接触位置は、今回の接触位置でもよいし、過去の接触位置も含めた平均値もしくは最大値としてもよい。本実施形態では、このような過去にロボットハンド107が把持した複数のワークの接触位置に基づいて速度パターンを更新することができる。
【0084】
なお、本実施形態では、ワークの外径を把持する外径把持に適用するようにした場合について述べたが、本発明はこれに限るものではなく、内径把持に適用するようにしてもよい。さらに、速度パターンもこれに合わせて生成することができる。
【0085】
図7に示すように、上記方法で生成した速度パターンを用いて、ロボットハンド107の速度パターンを更新する。更新前の速度パターンを表すグラフが破線12であり、更新後の速度パターンを表すグラフが実線13である。
【0086】
更新後の速度パターンでは、更新後低速駆動開始位置が、更新前よりもワークに対して遠い位置にある。したがって、更新後は更新前よりも位置のマージンがあるため、余裕をもってワークの把持作業を行うことができる。
【0087】
以上により、本実施形態に係るロボット制御装置102によれば、形状が変形する前のワークと把持部203および204との接触位置を算出して速度パターンを更新しているため、形状が変形するワークであっても、ワークのばらつきに合わせてロボット本体101の速度パターンを自動更新することができる。したがって、ロボット制御装置102によれば、タクトタイムを短縮しながら把持部203および204が高速駆動中に意図せずワークと衝突するリスクを低減しつつ、形状が変形しやすいワークを把持部203および204で確実に把持することができる。
【0088】
<第2実施形態>
次に、図9を用いて、本発明の第2実施形態に係る把持システムについて説明する。図9は、本実施形態に係る把持システム600の構成例を示す模式図である。本実施形態が第1実施形態と相違する点は、上位制御システムがデータを送受信するコントロールPCと、コントロールPCが受信したデータを保管するデータサーバと、で構成されている点である。本実施形態に係る把持システム600のその他の構成は、第1実施形態に係る把持システム100と同様である。
【0089】
図9に示すように、本実施形態に係る把持システム600は、ロボット本体101と、ロボット本体101に接続されるロボット制御装置102と、ロボット制御装置102へコマンド等を入力する入力装置103と、ロボット制御装置102に接続される上位制御システム601と、を備えている。
【0090】
ロボット本体101は、ベース部105と、ベース部105に接続されたロボットアーム106と、ロボットアーム106の先端に取り付けられているロボットハンド107と、を備えている。
【0091】
上位制御システム601は、ロボット制御装置102と通信接続されるコントロールPC602と、コントロールPC602と通信接続されるサーバPC603と、を備えている。
【0092】
コントロールPC602は、相互に接続された速度パターン生成部611と、データ収集部612と、ファイルバックアップ部613と、を有している。サーバPC603は、データベース614と、データベース614内のデータからグラフを生成するグラフ生成部615と、を有している。
【0093】
本実施形態では、ロボットアーム106を含めた速度パターン生成は上位制御システム601が行い、時系列データとしてロボット制御装置102に送信する(第1実施形態のステップS2)。
【0094】
コントロールPC602は、ワーク毎のサイズおよび接触位置や変形特性、などのデータを制御装置から受信し、データを元に速度パターンを更新する(第1実施形態のステップS5)。そして、受信したデータおよび速度パターンを記憶する(第1実施形態のステップS6)。
【0095】
さらにコントロールPC602は内部でのデータバックアップに加え、サーバPC603にデータを送信する。サーバPC603ではデータを保管・編集し、グラフなどの形で可視化する。インターネット回線を通じて、タブレット端末など持ち運び可能な無線通信可能な端末でグラフを表示して、システム動作を監視できるようにしても良い。
【0096】
本実施形態に係る把持システム600によれば、第1実施形態に係る把持システム100の効果に加えて、ワークの種類ごとにデータを持つことでデータ量が膨大になっても、上位制御システム601に用意されているデータサーバや大容量の記憶媒体にデータを大量に保存できるため、多品種に対応することができる。
【0097】
<第3実施形態>
次に、本発明の第3実施形態に係る把持システムについて説明する。本実施形態が第1実施形態および第2実施形態と相違する点は、第1の実施形態および第2の実施形態ではロボットハンドを駆動するアクチュエータを1つとしたが、各把持部が別個のアクチュエータによって独立に動作してもよい点である。本実施形態に係る把持システムの主な構成は、第1実施形態および第2実施形態と同様である。
【0098】
図5を用いて、本実施形態に係るロボットハンド107の動作について説明する。
【0099】
まず、ステップS1において、ワーク認識部401は、カメラ装置301や外部からの信号でワークの種類を認識したのちにステップS2の処理に進む。
【0100】
ステップS2において、は、速度パターン生成を2つの把持部それぞれについて行う。
【0101】
ステップS3において、2つの把持部で力を検出したのちに、把持力と把持部の変位を複数点計測する。片方がもう片方より先にワークに接触し、接触力によりワークが移動した場合は、正確な変形特性が得られないうえ、ワークを損傷させるおそれがある。よって先に接触した把持部は、もう片方の把持部が力を検出するまで、停止もしくは接触力を小さく抑制するよう制御する。
【0102】
ステップS4の把持完了判定は、それぞれの把持部で把持力が目標範囲に収まっていれば把持完了と判定する。
【0103】
ステップS5のパラメータ更新も2つの把持部それぞれについて行う。
【0104】
ステップS6において、目標値生成部403は、ステップS5で更新した更新後接触位置と更新後低速駆動開始位置、または図7のように更新した更新後速度パターンをメモリ303に記憶する。メモリ303への記憶が完了した後に、把持処理を終了する。
【0105】
本実施形態に係る把持システムによれば、第1実施形態および第2実施形態と同様の効果を奏することができる。さらに、各把持部が独立に動作することでロボットハンドの中心とワークの中心がずれていても適切に把持することができる。
【0106】
本実施形態に係る把持システムは、ロボットハンド107の自由度が増えても基本的な動作は同様であり、特に限定されるものではない。また、1つの自由度で複数の関節が連動する構成であっても問題なく適用できる。
【0107】
以上、本実施形態に係る把持システムについて詳述してきたが、本発明はこれらの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【産業上の利用可能性】
【0108】
本発明は、例えば、生産工場などで把持対象物を把持するロボットハンドを取り付けたロボットに適用される技術に関するものであり、産業上の利用可能性を有するものである。
【符号の説明】
【0109】
100、600 把持システム
101 ロボット本体
102 ロボット制御装置
103 入力装置
104、601 上位制御システム
105 ベース部
106 ロボットアーム
107、500 ロボットハンド
202、501 ハンド本体部
203 第1把持部
204 第2把持部
205 第1平行リンク
206 第2平行リンク
207 第1ギア
208 第2ギア
209 入力軸
301 カメラ装置
302 入出力部
303 メモリ
304、306 エンコーダ
305 電動モータ
307 ベーンモータ
308 圧縮空気源
309 サーボ弁
310 圧力センサ
311 状態通知装置
401 ワーク認識部
402 入出力処理部
403 目標値生成部
404 表示制御部
405 アーム制御部
406 ハンド制御部
411 算出部
412 更新部
413 適正化部
414 計測部
415 接触位置推定部
502 平行リンク
503 把持部
602 コントロールPC
603 サーバPC
611 速度パターン生成部
612 データ収集部
613 ファイルバックアップ部
614 データベース
615 グラフ生成部
図1
図2
図3
図4
図5
図6
図7
図8
図9